This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM6442: Change boot console to main_uart5 from main_uart0

Part Number: AM6442
Other Parts Discussed in Thread: TMDS64EVM

Tool/software:

Hi,

I am trying to change the u-boot console from main-uart0 to main-uart3 with TMDS64EVM, but fails so far.

I've read this topic, https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1240439/am625-changing-u-boot-console-from-uart0-to-uart4/4714870#4714870, and the situation, no clock definition for main_uart3, seams to be same. 

Our custom board's boot console is to be main_uart5 or main_uart6, but, currently I am developing u-boot for our board with TMDS64EVM and SDK10.00.

Could you please advise how to fix this problem?

  • Hi,

    I am working with our sw dev team to get the config data and will update here once I have it.

  • Hi,

    The AM64x has different software architecture than that on AM62x, so those clock definition mentioned in the referred e2e thread is not required for AM64x to enable different UART in U-Boot.

    The following U-Boot patch is an example on SDK10.0 for switching U-Boot console from main_uart0 to main_uart3. Please use it as an reference for changing U-Boot console to main_uart5 or main_uart6.

    diff --git a/arch/arm/dts/k3-am642-evm.dts b/arch/arm/dts/k3-am642-evm.dts
    index 50e80436b068..4942244055ef 100644
    --- a/arch/arm/dts/k3-am642-evm.dts
    +++ b/arch/arm/dts/k3-am642-evm.dts
    @@ -18,7 +18,7 @@
            model = "Texas Instruments AM642 EVM";
     
            chosen {
    -               stdout-path = &main_uart0;
    +               stdout-path = &main_uart3;
            };
     
            aliases {
    @@ -318,10 +318,16 @@
                    >;
            };
     
    +       main_uart3_pins_default: main_uart3-default-pins {
    +               bootph-all;
    +               pinctrl-single,pins = <
    +                       AM64X_IOPAD(0x0248, PIN_INPUT, 4) /* (D16) UART1_CTSn.UART3_RXD */
    +                       AM64X_IOPAD(0x024c, PIN_OUTPUT, 4) /* (E16) UART1_RTSn.UART3_TXD */
    +               >;
    +       };
    +
            main_uart1_pins_default: main-uart1-default-pins {
                    pinctrl-single,pins = <
    -                       AM64X_IOPAD(0x0248, PIN_INPUT, 0)               /* (D16) UART1_CTSn */
    -                       AM64X_IOPAD(0x024c, PIN_OUTPUT, 0)              /* (E16) UART1_RTSn */
                            AM64X_IOPAD(0x0240, PIN_INPUT, 0)               /* (E15) UART1_RXD */
                            AM64X_IOPAD(0x0244, PIN_OUTPUT, 0)              /* (E14) UART1_TXD */
                    >;
    @@ -503,6 +509,13 @@
            pinctrl-0 = <&main_uart1_pins_default>;
     };
     
    +&main_uart3 {
    +       bootph-all;
    +       status = "okay";
    +       pinctrl-names = "default";
    +       pinctrl-0 = <&main_uart3_pins_default>;
    +};
    +
     &main_i2c0 {
            bootph-all;
            status = "okay";
    diff --git a/arch/arm/dts/k3-am642-r5-evm.dts b/arch/arm/dts/k3-am642-r5-evm.dts
    index 548cfce8f991..507696c841b1 100644
    --- a/arch/arm/dts/k3-am642-r5-evm.dts
    +++ b/arch/arm/dts/k3-am642-r5-evm.dts
    @@ -143,7 +143,7 @@
      * Delete clock/power-domain properties to avoid
      * UART init failure
      */
    -&main_uart0 {
    +&main_uart3 {
            /delete-property/ power-domains;
            /delete-property/ clocks;
            /delete-property/ clock-names;

  • Hi Bin,

    Thank you for your response.

    I have already editted k3-am642-evm.dts file as your patch, but I did'nt modify k3-am642-r5-evm.dts.

    Boot console moved to main-uart3 successfully on TMDS64EVM with your patch.

    Thank you.