imx8mm change console

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx8mm change console

3,359 Views
zhengguang_yang
Contributor II

Hello

I'm using imx8mm, Yocto 3.0

I want to change console from UART 2 -> UART 4. I changed it both in u-boot and kernel, but there is no log information output in the uboot stage.

The changes are as follows

uboot dts:

@@ -13,8 +13,8 @@
compatible = "fsl,imx8mm-evk", "fsl,imx8mm";

chosen {
- bootargs = "console=ttymxc1,115200 earlycon=ec_imx6q,0x30890000,115200";
- stdout-path = &uart2;
+ bootargs = "console=ttymxc3,115200 earlycon=ec_imx6q,0x30A60000,115200";
+ stdout-path = &uart4;
};

leds {
@@ -356,6 +356,12 @@
status = "okay";
};

+&uart4 { /* console */
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_uart4>;
+ status = "okay";
+};
+
&usbotg1 {
status = "okay";
extcon = <&ptn5110>;
@@ -542,6 +548,13 @@
>;
};

+ pinctrl_uart4: uart4grp {
+ fsl,pins = <
+ MX8MM_IOMUXC_UART4_RXD_UART4_DCE_RX 0x140
+ MX8MM_IOMUXC_UART4_TXD_UART4_DCE_TX 0x140
+ >;
+ };
+
pinctrl_usdhc2_gpio: usdhc2grpgpio {
fsl,pins = <
MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12 0x1c4

 

board/freescale/

@@ -23,8 +23,8 @@ DECLARE_GLOBAL_DATA_PTR;
#define WDOG_PAD_CTRL (PAD_CTL_DSE6 | PAD_CTL_ODE | PAD_CTL_PUE | PAD_CTL_PE)

static iomux_v3_cfg_t const uart_pads[] = {
- IMX8MM_PAD_SAI3_TXC_UART2_TX | MUX_PAD_CTRL(UART_PAD_CTRL),
- IMX8MM_PAD_SAI3_TXFS_UART2_RX | MUX_PAD_CTRL(UART_PAD_CTRL),
+ IMX8MM_PAD_UART4_TXD_UART4_TX | MUX_PAD_CTRL(UART_PAD_CTRL),
+ IMX8MM_PAD_UART4_RXD_UART4_RX | MUX_PAD_CTRL(UART_PAD_CTRL),
};

 

include/configs

@@ -107,8 +107,8 @@
"fdt_addr=0x43000000\0" \
"fdt_high=0xffffffffffffffff\0" \
"mtdparts=" MFG_NAND_PARTITION "\0" \
- "console=ttymxc1,115200 earlycon=ec_imx6q,0x30890000,115200\0" \
- "bootargs=console=ttymxc1,115200 earlycon=ec_imx6q,0x30890000,115200 ubi.mtd=nandrootfs " \
+ "console=ttymxc3,115200 earlycon=ec_imx6q,0x30A60000,115200\0" \
+ "bootargs=console=ttymxc3,115200 earlycon=ec_imx6q,0x30A60000,115200 ubi.mtd=nandrootfs " \
"root=ubi0:nandrootfs rootfstype=ubifs " \
MFG_NAND_PARTITION \
"\0" \
@@ -123,7 +123,7 @@
"script=boot.scr\0" \
"image=Image\0" \
"splashimage=0x50000000\0" \
- "console=ttymxc1,115200\0" \
+ "console=ttymxc3,115200\0" \
"fdt_addr=0x43000000\0" \
"fdt_high=0xffffffffffffffff\0" \
"boot_fit=no\0" \

@@ -221,7 +221,7 @@
#define CONFIG_SYS_MEMTEST_START PHYS_SDRAM
#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + (PHYS_SDRAM_SIZE >> 1))

-#define CONFIG_MXC_UART_BASE UART2_BASE_ADDR
+#define CONFIG_MXC_UART_BASE UART4_BASE_ADDR

/* Monitor Command Prompt */
#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "

 

Kernel dts:

@@ -36,7 +36,7 @@
};

chosen {
- stdout-path = &uart2;
+ stdout-path = &uart4;
};

After modification as above, neither uboot nor kernel has information output.

However, if the following changes remain unchanged in uboot, there is no information output in uboot, but there is information output in kernel

uboot include/configs

#define CONFIG_MXC_UART_BASE UART2_BASE_ADDR

Labels (1)
0 Kudos
Reply
5 Replies

3,302 Views
WillisMao
Contributor I

Hello, I want user login of uart4 too, how to change it? Thank you.

0 Kudos
Reply

3,339 Views
Rita_Wang
NXP TechSupport
NXP TechSupport

You can try to refer to this, this is on the i.MX8MN, the method is the same.

=========================================

The A53 Debug Console Changing consists in several major updates like: RDC settings, Pinmux, Clocks and Ecosystem Updates.

Current example uses Linux L5.4.70_2.3.0.

U-boot Updates: 

- DTS Updates

diff --git a/arch/arm/dts/imx8mn-ddr4-evk-u-boot.dtsi b/arch/arm/dts/imx8mn-ddr4-evk-u-boot.dtsi
index 612fd24..9027f89 100644
--- a/arch/arm/dts/imx8mn-ddr4-evk-u-boot.dtsi
+++ b/arch/arm/dts/imx8mn-ddr4-evk-u-boot.dtsi
@@ -75,7 +75,7 @@
        u-boot,dm-spl;
 };

-&pinctrl_uart2 {
+&pinctrl_uart4 {
        u-boot,dm-spl;
 };

@@ -160,4 +160,4 @@
        /delete-property/ assigned-clocks;
        /delete-property/ assigned-clock-parents;
        /delete-property/ assigned-clock-rates;
-};
\ No newline at end of file
+};
diff --git a/arch/arm/dts/imx8mn-ddr4-evk.dts b/arch/arm/dts/imx8mn-ddr4-evk.dts
index 3469c21..e291447 100644
--- a/arch/arm/dts/imx8mn-ddr4-evk.dts
+++ b/arch/arm/dts/imx8mn-ddr4-evk.dts
@@ -13,8 +13,8 @@
        compatible = "fsl,imx8mn-ddr4-evk", "fsl,imx8mn";

        chosen {
-               bootargs = "console=ttymxc1,115200 earlycon=ec_imx6q,0x30890000,115200";
-               stdout-path = &uart2;
+               bootargs = "console=ttymxc3,115200 earlycon=ec_imx6q,0x30A60000,115200";
+               stdout-path = &uart4;
        };

        reg_usdhc2_vmmc: regulator-usdhc2 {
@@ -158,10 +158,10 @@
                >;
        };

-       pinctrl_uart2: uart2grp {
+       pinctrl_uart4: uart4grp {
                fsl,pins = <
-                       MX8MN_IOMUXC_UART2_RXD_UART2_DCE_RX     0x140
-                       MX8MN_IOMUXC_UART2_TXD_UART2_DCE_TX     0x140
+                       MX8MN_IOMUXC_UART4_RXD_UART4_DCE_RX     0x140
+                       MX8MN_IOMUXC_UART4_TXD_UART4_DCE_TX     0x140
                >;
        };

@@ -524,9 +524,9 @@
        status = "okay";
 };

-&uart2 { /* console */
+&uart4 { /* console */
        pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_uart2>;
+       pinctrl-0 = <&pinctrl_uart4>;
        status = "okay";
 };

diff --git a/arch/arm/dts/imx8mn-evk.dts b/arch/arm/dts/imx8mn-evk.dts
index 617c273..ede9d55 100644
--- a/arch/arm/dts/imx8mn-evk.dts
+++ b/arch/arm/dts/imx8mn-evk.dts
@@ -13,8 +13,8 @@
        compatible = "fsl,imx8mn-evk", "fsl,imx8mn";

        chosen {
-               bootargs = "console=ttymxc1,115200 earlycon=ec_imx6q,0x30890000,115200";
-               stdout-path = &uart2;
+               bootargs = "console=ttymxc3,115200 earlycon=ec_imx6q,0x30A60000,115200";
+               stdout-path = &uart4;
        };

        reg_usdhc2_vmmc: regulator-usdhc2 {
@@ -155,10 +155,10 @@
                        >;
                };

-               pinctrl_uart2: uart1grp {
+               pinctrl_uart4: uart3grp {
                        fsl,pins = <
-                               MX8MN_IOMUXC_UART2_RXD_UART2_DCE_RX     0x140
-                               MX8MN_IOMUXC_UART2_TXD_UART2_DCE_TX     0x140
+                               MX8MN_IOMUXC_UART4_RXD_UART4_DCE_RX     0x140
+                               MX8MN_IOMUXC_UART4_TXD_UART4_DCE_TX     0x140
                        >;
                };

@@ -548,9 +548,9 @@
        status = "okay";
 };

-&uart2 { /* console */
+&uart4 { /* console */
        pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_uart2>;
+       pinctrl-0 = <&pinctrl_uart4>;
        status = "okay";
 };
 
- Board Section Updates:

diff --git a/board/freescale/imx8mn_evk/imx8mn_evk.c b/board/freescale/imx8mn_evk/imx8mn_evk.c
index 71d99b3..3cfd2a0 100644
--- a/board/freescale/imx8mn_evk/imx8mn_evk.c
+++ b/board/freescale/imx8mn_evk/imx8mn_evk.c
@@ -24,8 +24,8 @@ DECLARE_GLOBAL_DATA_PTR;
 #define WDOG_PAD_CTRL  (PAD_CTL_DSE6 | PAD_CTL_ODE | PAD_CTL_PUE | PAD_CTL_PE)

 static iomux_v3_cfg_t const uart_pads[] = {
-       IMX8MN_PAD_UART2_RXD__UART2_DCE_RX | MUX_PAD_CTRL(UART_PAD_CTRL),
-       IMX8MN_PAD_UART2_TXD__UART2_DCE_TX | MUX_PAD_CTRL(UART_PAD_CTRL),
+       IMX8MN_PAD_UART4_RXD__UART4_DCE_RX | MUX_PAD_CTRL(UART_PAD_CTRL),
+       IMX8MN_PAD_UART4_TXD__UART4_DCE_TX | MUX_PAD_CTRL(UART_PAD_CTRL),
 };

 static iomux_v3_cfg_t const wdog_pads[] = {
@@ -75,7 +75,7 @@ int board_early_init_f(void)

        imx_iomux_v3_setup_multiple_pads(uart_pads, ARRAY_SIZE(uart_pads));

-       init_uart_clk(1);
+       init_uart_clk(3);

 #ifdef CONFIG_NAND_MXS
        setup_gpmi_nand(); /* SPL will call the board_early_init_f */
        
- Configuration Updates:

diff --git a/include/configs/imx8mn_evk.h b/include/configs/imx8mn_evk.h
index 7db5792..e7b64a7 100644
--- a/include/configs/imx8mn_evk.h
+++ b/include/configs/imx8mn_evk.h
@@ -110,7 +110,7 @@
        "script=boot.scr\0" \
        "image=Image\0" \
        "splashimage=0x50000000\0" \
-       "console=ttymxc1,115200\0" \
+       "console=ttymxc3,115200\0" \
        "fdt_addr=0x43000000\0"                 \
        "fdt_high=0xffffffffffffffff\0"         \
        "boot_fit=no\0" \
@@ -208,7 +208,7 @@
 #define CONFIG_SYS_MEMTEST_START       0x60000000
 #define CONFIG_SYS_MEMTEST_END      (CONFIG_SYS_MEMTEST_START + (PHYS_SDRAM_SIZE >> 2))

-#define CONFIG_MXC_UART_BASE           UART2_BASE_ADDR
+#define CONFIG_MXC_UART_BASE           UART4_BASE_ADDR

 /* Monitor Command Prompt */
 #define CONFIG_SYS_PROMPT_HUSH_PS2     "> "
 
ATF Updates:

- RDC Settings and UART Base address Update:

diff --git a/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c b/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c
index 841ec5a..6ebe48a 100644
--- a/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c
+++ b/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c
@@ -57,7 +57,7 @@ static const struct imx_rdc_cfg rdc[] = {
        RDC_MDAn(RDC_MDA_M7, DID1),

        /* peripherals domain permission */
-       RDC_PDAPn(RDC_PDAP_UART4, D1R | D1W),
+       RDC_PDAPn(RDC_PDAP_UART4, D0R | D0W),
        RDC_PDAPn(RDC_PDAP_UART2, D0R | D0W),

        /* memory region */
diff --git a/plat/imx/imx8m/imx8mn/include/platform_def.h b/plat/imx/imx8m/imx8mn/include/platform_def.h
index 967afbb..d252e7e 100644
--- a/plat/imx/imx8m/imx8mn/include/platform_def.h
+++ b/plat/imx/imx8m/imx8mn/include/platform_def.h
@@ -51,7 +51,7 @@

 #define HAB_RVT_BASE                   U(0x00000900) /* HAB_RVT for i.MX8MM */

-#define IMX_BOOT_UART_BASE             U(0x30890000)
+#define IMX_BOOT_UART_BASE             U(0x30A60000)
 #define IMX_BOOT_UART_CLK_IN_HZ                24000000 /* Select 24MHz oscillator */

 #define PLAT_CRASH_UART_BASE           IMX_BOOT_UART_BASE
 
Linux Kernel DTS Updates:

diff --git a/arch/arm64/boot/dts/freescale/imx8mn-evk.dts b/arch/arm64/boot/dts/freescale/imx8mn-evk.dts
index 8c736e0..c4ca49e 100644
--- a/arch/arm64/boot/dts/freescale/imx8mn-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mn-evk.dts
@@ -22,8 +22,8 @@
        compatible = "fsl,imx8mn-evk", "fsl,imx8mn";

        chosen {
-               bootargs = "console=ttymxc1,115200 earlycon=ec_imx6q,0x30890000,115200";
-               stdout-path = &uart2;
+               bootargs = "console=ttymxc1,115200 earlycon=ec_imx6q,0x30A60000,115200";
+               stdout-path = &uart4;
        };

        leds {
@@ -360,6 +360,14 @@
                        >;
                };

+               pinctrl_uart4: uart4grp {
+                       fsl,pins = <
+                               MX8MN_IOMUXC_UART4_RXD_UART4_DCE_RX     0x140
+                               MX8MN_IOMUXC_UART4_TXD_UART4_DCE_TX     0x140
+                       >;
+               };
+
+
                pinctrl_typec1: typec1grp {
                        fsl,pins = <
                                MX8MN_IOMUXC_SD1_STROBE_GPIO2_IO11              0x159
@@ -935,7 +943,7 @@
        status = "okay";
 };

-&uart2 { /* console */
+&uart2 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_uart2>;
        status = "okay";
@@ -950,6 +958,12 @@
        status = "okay";
 };

+&uart4 { /* console */
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart4>;
+       status = "okay";
+};
+
 &usdhc1 {
        #address-cells = <1>;
        #size-cells = <0>;

0 Kudos
Reply

3,028 Views
AdrienBr
Contributor I

Hi @Rita_Wang ,

I have a similar issue on IM8MN, I want to use the UART2 in debug and add the UART4 for UART communication in 3v3 voltage with CTS and RTS.

So I want to use the ECSPI2_MISO, MOSI, SS0 and SCLK for the output.

Refer to the suggested changes, I modify you patch this way:

I do no correctly update the lines because I'm using the ddr3l version with 5.10.35 kernel.

diff --git a/arch/arm/dts/imx8mn-ddr4-evk-u-boot.dtsi b/arch/arm/dts/imx8mn-ddr4-evk-u-boot.dtsi
index 612fd24..9027f89 100644
--- a/arch/arm/dts/imx8mn-ddr4-evk-u-boot.dtsi
+++ b/arch/arm/dts/imx8mn-ddr4-evk-u-boot.dtsi
@@ -75,7 +75,7 @@
u-boot,dm-spl;
};

+&pinctrl_uart4 {
+u-boot,dm-spl;
};
// Should I delete the clocks or add new for ECSPI2 ?
@@ -160,4 +160,4 @@
/delete-property/ assigned-clocks;
/delete-property/ assigned-clock-parents;
/delete-property/ assigned-clock-rates;
-};
\ No newline at end of file
+};
diff --git a/arch/arm/dts/imx8mn-ddr4-evk.dts b/arch/arm/dts/imx8mn-ddr4-evk.dts
index 3469c21..e291447 100644
--- a/arch/arm/dts/imx8mn-ddr4-evk.dts
+++ b/arch/arm/dts/imx8mn-ddr4-evk.dts
@@ -13,8 +13,8 @@
compatible = "fsl,imx8mn-ddr4-evk", "fsl,imx8mn";

chosen {
- bootargs = "console=ttymxc1,115200 earlycon=ec_imx6q,0x30890000,115200";
- stdout-path = &uart2;
+ bootargs = "console=ttymxc3,115200 earlycon=ec_imx6q,0x30A60000,115200";
+ stdout-path = &uart4;
};

reg_usdhc2_vmmc: regulator-usdhc2 {
@@ -158,10 +158,10 @@
>;
};

+ pinctrl_uart4: uart4grp {
fsl,pins = <

+ MX8MN_IOMUXC_ECSPI2_SCLK_UART4_DCE_RX 0x0x1916
+ MX8MN_IOMUXC_ECSPI2_MOSI_UART4_DCE_TX 0x0x1916
+ MX8MN_IOMUXC_ECSPI2_SS0_UART4_DCE_RTS_B 0x0x1916
+ MX8MN_IOMUXC_ECSPI2_MISO_UART4_DCE_CTS_B 0x0x1916
>;
};

@@ -524,9 +524,9 @@
status = "okay";
};

+&uart4 { /* COM UART*/
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_uart4>;
+ status = "okay";
};

diff --git a/arch/arm/dts/imx8mn-evk.dts b/arch/arm/dts/imx8mn-evk.dts
index 617c273..ede9d55 100644
--- a/arch/arm/dts/imx8mn-evk.dts
+++ b/arch/arm/dts/imx8mn-evk.dts
@@ -13,8 +13,8 @@
compatible = "fsl,imx8mn-evk", "fsl,imx8mn";

chosen {
- bootargs = "console=ttymxc1,115200 earlycon=ec_imx6q,0x30890000,115200";
- stdout-path = &uart2;
+ bootargs = "console=ttymxc3,115200 earlycon=ec_imx6q,0x30A60000,115200";
+ stdout-path = &uart4;
};

reg_usdhc2_vmmc: regulator-usdhc2 {
@@ -155,10 +155,10 @@
>;
};


+ pinctrl_uart4: uart3grp {
fsl,pins = <
+ MX8MN_IOMUXC_ECSPI2_SCLK_UART4_DCE_RX 0x0x1916
+ MX8MN_IOMUXC_ECSPI2_MOSI_UART4_DCE_TX 0x0x1916
+ MX8MN_IOMUXC_ECSPI2_SS0_UART4_DCE_RTS_B 0x0x1916
+ MX8MN_IOMUXC_ECSPI2_MISO_UART4_DCE_CTS_B 0x0x1916
>;
};

@@ -548,9 +548,9 @@
status = "okay";
};

+&uart4 { /* console */
+pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_uart4>;
+status = "okay";
};

- Board Section Updates:

diff --git a/board/freescale/imx8mn_evk/imx8mn_evk.c b/board/freescale/imx8mn_evk/imx8mn_evk.c
index 71d99b3..3cfd2a0 100644
--- a/board/freescale/imx8mn_evk/imx8mn_evk.c
+++ b/board/freescale/imx8mn_evk/imx8mn_evk.c
@@ -24,8 +24,8 @@ DECLARE_GLOBAL_DATA_PTR;
#define WDOG_PAD_CTRL (PAD_CTL_DSE6 | PAD_CTL_ODE | PAD_CTL_PUE | PAD_CTL_PE)

static iomux_v3_cfg_t const uart_pads[] = {
+ IMX8MN_PAD_ECSPI2_SCLK__UART4_DCE_RX | MUX_PAD_CTRL(UART_PAD_CTRL),
+ IMX8MN_PAD_ECSPI2_MOSI__UART4_DCE_TX | MUX_PAD_CTRL(UART_PAD_CTRL),
+ IMX8MN_PAD_ECSPI2_SS0__UART4_DCE_RTS_B | MUX_PAD_CTRL(UART_PAD_CTRL),
+ IMX8MN_PAD_ECSPI2_MISO__UART4_DCE_CTS_B | MUX_PAD_CTRL(UART_PAD_CTRL),
};

static iomux_v3_cfg_t const wdog_pads[] = {
@@ -75,7 +75,7 @@ int board_early_init_f(void)

imx_iomux_v3_setup_multiple_pads(uart_pads, ARRAY_SIZE(uart_pads));

- init_uart_clk(1);
+ init_uart_clk(3);

#ifdef CONFIG_NAND_MXS
setup_gpmi_nand(); /* SPL will call the board_early_init_f */

- Configuration Updates:

diff --git a/include/configs/imx8mn_evk.h b/include/configs/imx8mn_evk.h
index 7db5792..e7b64a7 100644
--- a/include/configs/imx8mn_evk.h
+++ b/include/configs/imx8mn_evk.h
@@ -110,7 +110,7 @@
"script=boot.scr\0" \
"image=Image\0" \
"splashimage=0x50000000\0" \
- "console=ttymxc1,115200\0" \
+ "console=ttymxc3,115200\0" \
"fdt_addr=0x43000000\0" \
"fdt_high=0xffffffffffffffff\0" \
"boot_fit=no\0" \
@@ -208,7 +208,7 @@
#define CONFIG_SYS_MEMTEST_START 0x60000000
#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + (PHYS_SDRAM_SIZE >> 2))

-#define CONFIG_MXC_UART_BASE UART2_BASE_ADDR
+#define CONFIG_MXC_UART_BASE UART4_BASE_ADDR

/* Monitor Command Prompt */
#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "

ATF Updates:

- RDC Settings and UART Base address Update:

diff --git a/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c b/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c
index 841ec5a..6ebe48a 100644
--- a/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c
+++ b/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c
@@ -57,7 +57,7 @@ static const struct imx_rdc_cfg rdc[] = {
RDC_MDAn(RDC_MDA_M7, DID1),

/* peripherals domain permission */
- RDC_PDAPn(RDC_PDAP_UART4, D1R | D1W),
+ RDC_PDAPn(RDC_PDAP_UART4, D0R | D0W),
RDC_PDAPn(RDC_PDAP_UART2, D0R | D0W),

/* memory region */
diff --git a/plat/imx/imx8m/imx8mn/include/platform_def.h b/plat/imx/imx8m/imx8mn/include/platform_def.h
index 967afbb..d252e7e 100644
--- a/plat/imx/imx8m/imx8mn/include/platform_def.h
+++ b/plat/imx/imx8m/imx8mn/include/platform_def.h
@@ -51,7 +51,7 @@

#define HAB_RVT_BASE U(0x00000900) /* HAB_RVT for i.MX8MM */

// I don't know what is doing with the IMX_BOOT_UART_BASE, should I change it ?

-#define IMX_BOOT_UART_BASE U(0x30890000)
+#define IMX_BOOT_UART_BASE U(0x30A60000)
#define IMX_BOOT_UART_CLK_IN_HZ 24000000 /* Select 24MHz oscillator */

#define PLAT_CRASH_UART_BASE IMX_BOOT_UART_BASE

Linux Kernel DTS Updates:

diff --git a/arch/arm64/boot/dts/freescale/imx8mn-evk.dts b/arch/arm64/boot/dts/freescale/imx8mn-evk.dts
index 8c736e0..c4ca49e 100644
--- a/arch/arm64/boot/dts/freescale/imx8mn-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mn-evk.dts
@@ -22,8 +22,8 @@
compatible = "fsl,imx8mn-evk", "fsl,imx8mn";

chosen {
- bootargs = "console=ttymxc1,115200 earlycon=ec_imx6q,0x30890000,115200";
- stdout-path = &uart2;
+ bootargs = "console=ttymxc1,115200 earlycon=ec_imx6q,0x30A60000,115200";
+ stdout-path = &uart4;
};

leds {
@@ -360,6 +360,14 @@
>;
};

+ pinctrl_uart4: uart4grp {
+ fsl,pins = <
+ MX8MN_IOMUXC_ECSPI2_SCLK_UART4_DCE_RX 0x0x1916
+ MX8MN_IOMUXC_ECSPI2_MOSI_UART4_DCE_TX 0x0x1916
+ MX8MN_IOMUXC_ECSPI2_SS0_UART4_DCE_RTS_B 0x0x1916
+ MX8MN_IOMUXC_ECSPI2_MISO_UART4_DCE_CTS_B 0x0x1916
+ >;
+ };
+
+
pinctrl_typec1: typec1grp {
fsl,pins = <
MX8MN_IOMUXC_SD1_STROBE_GPIO2_IO11 0x159
@@ -935,7 +943,7 @@
status = "okay";
};

-&uart2 { /* console */
+&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart2>;
status = "okay";
@@ -950,6 +958,12 @@
status = "okay";
};

+&uart4 { /* UART flow control HW*/
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_uart4>;
+ status = "okay";
+};
+
&usdhc1 {
#address-cells = <1>;
#size-cells = <0>;


This should works for you ? Am I missing some config ?

Thanks,

Adrien

0 Kudos
Reply

3,330 Views
zhengguang_yang
Contributor II

Thank you very much. It works.

0 Kudos
Reply

3,328 Views
Rita_Wang
NXP TechSupport
NXP TechSupport

You are welcome. Good news it works.

 

0 Kudos
Reply