转自 http://blog.youkuaiyun.com/kris_fei/article/details/50883969
platform: IMX6Q
os: Android 5.1kernel: 3.14.52
1. 增加dts文件
2. mach type匹配
保证device tree中的值和mach desc结构中的值有相同的一个,
本质上就是匹配里面的compatible属性值是否一致,
否则kernel因为匹配不成功而开机失败。
本例使用imx6平台,对应的dts文件是:
kernel_imx/arch/arm/boot/dts/ecovacsimx6q-sabresd.dts
对应的mach desc结构在:
kernel_imx/arch/arm/mach-imx/mach-imx6q.c
3. 修改uart
板子和参考方案的uart不一样,需要修改,参考uart1增加uart2的配置。
kernel_imx/arch/arm/boot/dts/ecovacsimx6qdl-sabresd.dtsi
fsl,pins的解释位于
kernel_imx/Documentation/devicetree/bindings/pinctrl/fsl,imx6q-pinctrl.txt
GPIO的宏定义位于:
kernel_imx/arch/arm/boot/dts/imx6q-pinfunc.h
4. 检查和调试
编译时lunch选项要选择imx6系列的,确保ecovacsimx6q-sabresd.dts
和mach-imx6q.c 有被编译进去。
如果开机kernel没有log,那么可以通过jtag或者reset之后在
u-boot阶段dump kernel log的方法分析原因出在哪里了。

本文介绍如何为特定的IMX6Q平台定制Android设备树,包括新增dts文件、进行machtype匹配以及修改串口配置等步骤,并提供调试建议。
1731

被折叠的 条评论
为什么被折叠?



