上篇介紹了有關NavQPlus 平台如何做映像檔的編譯步驟。這回來說明在NavQPlus 的平台上如何更改紅框AUX 的腳位為GPIO LED 的funciton。

在線路中AUX 是腳位定義為UART4_TXD_DBG
預計將J12-1(UART_TXD_DGB)及j12-2(UART4_RXD_DBG)改為GPIO funciton。
步驟1: 參考 \linux-imx\arch\arm64\boot\dts\freescale\imx8mp-pinfunc.h 有關UART4_TXD PAD的pin control 定義。
在imx8mp-navq.dts devcice tree 中修改。因原本這二支PAD 是做為I2C6 做使用。所以要先將相關的code 刪除或移除。
//&i2c6 {//&i2c6 {// clock-frequency = <400000>;
// pinctrl-names = "default";
// pinctrl-0 = <&pinctrl_i2c6>;
// status = "okay";
//};
...........
// pinctrl_i2c6: i2c6grp {
// fsl,pins = <
//MX8MP_IOMUXC_UART4_RXD__I2C6_SCL 0x400001c3
//MX8MP_IOMUXC_UART4_TXD__I2C6_SDA 0x400001c3
// >;
// };
步驟2: 在imx8mp-navq.dts 增加如下code 到limx8mp-navq.dts 中 leds 的status節點後,再添加G28, G29 Led功能節點,及pinctrl_gpio_led 中添加在 PAD UART4_TXD及UART4_RTXD 在pinctrl.h 中gpio function 定義名稱。
default-state = "on"; // LED GREEN
};
/* Add code*/
G28 {
label = "g28";gpios = <&gpio5 28 GPIO_ACTIVE_HIGH>;
default-state = "on";
};
G29 {
label = "g29";
gpios = <&gpio5 29 GPIO_ACTIVE_HIGH>;
default-state = "on";
}; /*end Add code */
pinctrl_gpio_led: gpioledgrp {
fsl,pins = <
MX8MP_IOMUXC_NAND_READY_B__GPIO3_IO16 0x19
MX8MP_IOMUXC_UART4_RXD__GPIO5_IO28 0x16 /* add code*/
MX8MP_IOMUXC_UART4_TXD__GPIO5_IO29 0x16 /*add code*/
>;
};
步驟3: 參考上篇大大通的NavQPlus編譯步驟,編譯出.wic image 後燒到SD Card. 透過SD card 開機。使用 sudo su 命令進到root 權限。 路徑指定到/sys/class/leds/g28/ 或/sys/class/leds/g29/ 的目錄下。
使用cat brightness , echo 0 > brightness ,echo 1 > brightness 指令。就可以查看及更改狀態。
評論
psychesnet
11 個月前