在Linux内核中使用DEVICE-TREE文件控制SAMA5D27-SOM1-EK1板LED

时间:2019-08-20 16:41:44

标签: linux arm embedded-linux yocto device-tree

我有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?如何为此修改设备树文件?

0 个答案:

没有答案