dtb overlay测试
原始的设备树结构:
pi@raspberrypi:~ $ ls /proc/device-tree
'#address-cells' compatible leds reserved-memory __symbols__
aliases cpus memory@0 scb system
arm-pmu emmc2bus memreserve sd_io_1v8_reg thermal-zones
axi fixedregulator_3v3 model sd_vcc_reg timer
chosen fixedregulator_5v0 name serial-number v3dbus
clk-108M gpu __overrides__ '#size-cells'
clocks interrupt-parent phy soc
测试节点设备树:
/dts-v1/;
/plugin/;
/ {
fragment@0 {
target-path = "/";
__overlay__ {
dt_overlay_test {
compatible = "led_type_a";
};
};
};
};
将上述设备树编译为dtbo后,进行如下操作:
pi@raspberrypi:/sys/kernel/config/device-tree/overlays $ sudo mkdir test
pi@raspberrypi:/sys/kernel/config/device-tree/overlays $ ls
test
pi@raspberrypi:/sys/kernel/config/device-tree/overlays $ cd test/
pi@raspberrypi:/sys/kernel/config/device-tree/overlays/test $ ls
dtbo path status
pi@raspberrypi:/sys/kernel/config/device-tree/overlays/test $ sudo cp ~/work/dt_overlay_test.dtbo ./dtbo
pi@raspberrypi:/sys/kernel/config/device-tree/overlays/test $ cat status
applied
添加测试节点后:
pi@raspberrypi:~/work $ ls /proc/device-tree/ '#address-cells' compatible interrupt-parent phy soc
aliases cpus leds reserved-memory __symbols__
arm-pmu dt_overlay_test memory@0 scb system
axi emmc2bus memreserve sd_io_1v8_reg thermal-zones
chosen fixedregulator_3v3 model sd_vcc_reg timer
clk-108M fixedregulator_5v0 name serial-number v3dbus
clocks gpu __overrides__ '#size-cells'