imx6q yocto修改device tree中uart管脚配置
2016-12-29 18:57
676 查看
因自己做的板子上把SD3_DAT6和SD3_DAT7复用成uart1的调试口,公版代码里是用于usdhc3,需修改device tree中的管脚配置,方法如下:
1、修改arch/arm/boot/dts/imx6qdl-sabresd.dtsi(此文件作为头文件被imx6q-sabresd.dts包含):
在&iomuxc子结点的pinctrl_uart1: uart1grp中,修改pin脚定义(pin脚名可在kernel代码中imx6q-pinfunc.h查找):
将MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA、MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA
改为:MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA、MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA
同时将子结点pinctrl_usdhc3: usdhc3grp中的MX6QDL_PAD_SD3_DAT6__SD3_DATA6、MX6QDL_PAD_SD3_DAT7__SD3_DATA7屏蔽掉,否则会有io申请失败的报错。
2、在imx6qdl-sabresd.dtsi后面会调用到:
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1>;
status = "okay";
};
3、编译device tree:
$make imx6q-sabresd.dtb
将生成的imx6q-sabresd.dtb烧录即可。
1、修改arch/arm/boot/dts/imx6qdl-sabresd.dtsi(此文件作为头文件被imx6q-sabresd.dts包含):
在&iomuxc子结点的pinctrl_uart1: uart1grp中,修改pin脚定义(pin脚名可在kernel代码中imx6q-pinfunc.h查找):
将MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA、MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA
改为:MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA、MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA
同时将子结点pinctrl_usdhc3: usdhc3grp中的MX6QDL_PAD_SD3_DAT6__SD3_DATA6、MX6QDL_PAD_SD3_DAT7__SD3_DATA7屏蔽掉,否则会有io申请失败的报错。
2、在imx6qdl-sabresd.dtsi后面会调用到:
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1>;
status = "okay";
};
3、编译device tree:
$make imx6q-sabresd.dtb
将生成的imx6q-sabresd.dtb烧录即可。
相关文章推荐
- MPC8313的device tree修改经验
- ARM Linux 3.x 的设备树(Device Tree)之DTB、DTS
- Device Tree说明
- (DT系列二)device tree的书写规范
- ARM Linux 3.x的设备树(Device Tree)
- zynq虐我千百遍——第2篇 Linaro之devicetree
- Linux and the Device Tree
- device tree usage
- Linux ARM Device Tree
- android 7.0 DevicePolicyManager的修改
- Device Tree(二):基本概念
- Linux 3.10 ARM Device Tree 的初始化
- java递归实例(二)---递归读取并修改Tree结构
- android机顶盒开发之修改设备Model,Device name
- ARM Linux 3.x的设备树(Device Tree)
- ARM Linux 3.x的设备树(Device Tree)
- 修改CentOs7 上Docker默认文件系统DeviceMapper为OverlayFS
- 翻译:A Tutorial on the Device Tree (Zynq) -- Part III
- android MSM 上DeviceTree简介
- linux下devicetree中惯用的of函数