我有SAMA5D27-SOM1-EK1板。它具有3个LED(红色连接到PA10引脚,绿色连接到PB1引脚,蓝色连接到PA31引脚)和 4个按钮,其中之一是用户按钮(PB4),其连接到PIO PA29,并且可选地连接到PIOBU1。
这是我的Linux内核的设备树文件的链接: https://github.com/torvalds/linux/blob/master/arch/arm/boot/dts/at91-sama5d27_som1_ek.dts
您可以找到描述LED和用户按钮的部分:
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_led_gpio_default>;
status = "okay"; /* Conflict with pwm0. */
red {
label = "red";
gpios = <&pioA PIN_PA10 GPIO_ACTIVE_HIGH>;
};
green {
label = "green";
gpios = <&pioA PIN_PB1 GPIO_ACTIVE_HIGH>;
};
blue {
label = "blue";
gpios = <&pioA PIN_PA31 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
};
gpio_keys {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_key_gpio_default>;
pb4 {
label = "USER";
gpios = <&pioA PIN_PA29 GPIO_ACTIVE_LOW>;
linux,code = <0x104>;
wakeup-source;
};
我想用按钮控制三个led之一:当我按下按钮时,它点亮 我的问题是:如何使用用户按钮控制三个LED中的任何LED?如何为此修改设备树文件?