I.MX6 dts 在哪里、怎么编译

时间:2021-01-10 09:26:04
/************************************************************************
* I.MX6 DTS 在哪里、怎么编译
* 说明:
* 看一下Android 5.1的内核的DTS在哪里,如何编译,之前没处理过DTS版本
* 的内核。
*
* 2017-4-5 深圳 南山平山村 曾剑锋
**********************************************************************
*/

一、参考文档:
1. [i.MX] 修改了dts之后,如何重新进行编译呢?
http:
//bbs.21ic.com/icview-983946-1-1.html

二、DTS在哪里:
1. 查看kernel中dts目录的Makefile:
cat kernel_imx
/arch/arm/boot/dts/Makefile
...
dtb
-$(CONFIG_ARCH_MXC) += \
...
imx6dl
-cubox-i.dtb \
imx6dl
-hummingboard.dtb \
imx6dl
-sabreauto.dtb \
imx6dl
-sabreauto-flexcan1.dtb \
imx6dl
-sabreauto-ecspi.dtb \
imx6dl
-sabreauto-gpmi-weim.dtb \
imx6dl
-sabresd.dtb \
imx6dl
-sabresd-btwifi.dtb \
imx6dl
-sabresd-enetirq.dtb \
imx6dl
-sabresd-ldo.dtb \
imx6dl
-sabresd-pf200.dtb \
imx6dl
-sabresd-hdcp.dtb \
imx6dl
-wandboard.dtb \
...
...
2. 查看目录情况
zengjf@zengjf
-ubuntu:~/myandroid/myandroid/kernel_imx/arch/arm/boot/dts$ ls imx6dl*dtb
imx6dl
-cubox-i.dtb
imx6dl
-hummingboard.dtb
imx6dl
-sabreauto.dtb
imx6dl
-sabreauto-flexcan1.dtb
imx6dl
-sabreauto-ecspi.dtb
imx6dl
-sabreauto-gpmi-weim.dtb
imx6dl
-sabresd.dtb
imx6dl
-sabresd-btwifi.dtb
imx6dl
-sabresd-enetirq.dtb
imx6dl
-sabresd-ldo.dtb
imx6dl
-sabresd-pf200.dtb
imx6dl
-sabresd-hdcp.dtb
imx6dl
-wandboard.dtb

三、编译方法:
1. 在make指令中加上dtbs,编译所有的dtb,如下:
make ARCH
=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs
2. 单独编译一份dtb:
make ARCH
=arm CROSS_COMPILE=arm-linux-gnueabihf- imx6dl-sabresd.dtb

四、注意事项:
1. 编译内核不一定需要编译dts;
2. 编译dts貌似就会编译内核;
3. dts和内核是两回事,内核会解析编译后的dtb文件;