设备树(DTS)的引入减少了内核为支持新硬件而需要的改变,提高代码重用,使得单个内核镜像能支持多个系统。
DTS作为U-Boot 和Linux 内核之间的动态接口,能够有效减少重复配置,共享于U-Boot 和Linux之间。本文将简单介绍U-Boot使用DTS控制LED的例子:
1.在kernel/arch/arm/boot/dts/rk3288-box.dts中添加LED配置:
------------------- kernel/arch/arm/boot/dts/rk3288-box.dts -------------------
index e102714..80928ba 100755
@@ -137,6 +136,16 @@
rockchip,remote_wakeup;
rockchip,usb_irq_wakeup;
};
+
+ leds {
+ compatible = "gpio-leds";
+ power {
+ label = "tchip:blue:power";
+ default-state = "on";
+ gpios = ;
+ };
+ };
};
&gmac {
以上是linux标准的GPIO-LED配置,直接配置上内核就可使用LED。
2.修改U-Boot,以支持读取DTS配置并操作LED灯,修改u-boot/bo