1. 程式人生 > >imx6q yocto修改device tree中uart管腳配置

imx6q yocto修改device tree中uart管腳配置

因自己做的板子上把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燒錄即可。