嵌入式Linux:Nanopo内核构建-Led支持-sys/class/Led为空



我正在为volumio构建基于nikkov git文件的nanopi neo-air内核。构建工作良好,图像也在nanopi上运行良好。但是,绿色状态指示灯不工作,并且在sys/class/led下触发功能不可用(它是空的(

HW:纳米颗粒空气,Armv7

makefile生成的
  • .config看起来不错:

CONFIG_NEW_LEDS=y

CONFIG_LEDS_CLASS=y

CONFIG_LEDS_GPIO=y

CONFIG_LEDS_TRIGGERS=y

CONFIG_LEDS_TRIGGER_TIMER=y

CONFIG_LEDS_TRIGGER_ONSHOT=y

CONFIG_LEDS_TRIGGER_HEADBET=y

CONFIG_LEDS_TRIGGER_CPU=y

CONFIG_LEDS_TRIGGER_GPIO=y

CONFIG_LEDS_TRIGGER_DEFAULT_ON=y

  • volumio@volumio:~$cat/lib/modules/$(uname-r(/modules.builtin显示驱动程序已预先内置在nanopi上:

内核/驱动程序/led触发器/led触发器.ko

kernel/drivers/leds/trigger/ledtrig-oneshot.ko

kernel/drivers/leds/trigger/ledtrig-heartbeat.ko

内核/驱动程序/led触发器/led触发器-gpio.ko

kernel/drivers/leds/trigger/ledtrig-default-on.ko

  • 使用的Dtsi文件包含LEDS 的信息

    led{compatible="兼容";gpio led";;pinctrl names="默认";;pinctrl-0=<amp;led _ npi>lt&led r_npi>;

    status {
    label = "nanopi:blue:status";
    gpios = <&pio 0 10 GPIO_ACTIVE_HIGH>;
    linux,default-trigger = "heartbeat";
    };
    pwr {
    label = "nanopi:green:pwr";
    gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>;
    default-state = "on";
    };
    pwr_en {
    label = "nanopi:none:pwr_en";
    gpios = <&pio 0 0 GPIO_ACTIVE_HIGH>;
    default-state = "on";
    };
    };
    
  • 但在sys/class/leds下找不到任何文件——它通常应该在那里——这可以解释内核启动时绿色状态LED不进行心跳。

由于某些原因,这些文件没有正确放置。

知道这里发生了什么吗?

感谢

这个问题现在已经解决了。Friendlyam提供的Suni8-dtsi文件在尝试将uart0和led分配到同一引脚时出现问题。一旦解决了所有问题。

最新更新