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.

[参考译文] AM67A:如何在 UBoot 中将控制台更改为 wkup_uart

Guru**** 2587365 points
Other Parts Discussed in Thread: AM67A, TDA4VM

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1570091/am67a-how-to-change-console-to-wkup_uart-in-uboot

器件型号:AM67A
Thread: TDA4VM 中讨论的其他器件

工具/软件:

作为标题、如何在 uboot 中将控制台更改为 wkup_uart。 客户电路板设计为 wukup_UART 作为控制台。

最新的 Linux SDK11.x

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Tony:

    我没有 AM67A EVM 可供测试、但您能尝试使用以下 U-Boot 补丁将控制台切换到 wkup_uart 吗?

    diff --git a/dts/上游 src /arm64/ti/k3-j722s-evm.dts b/dts/上游/arm64/ti/k3-j722s-evm.dts src
    索引 e362bfbb6556..67348a0ab9c0 100644
    -- A/dts/上游/arm64/ti/k3-j722s-evm.dts src
    ++ b/dts/上游/arm64/ti/k3-j722s-evm.dts src
    @@–26,7 +26,7 @@
        };
     
        选择了{
    -         stdout-path =&MAIN_uart0;
    +         stdout-path =&wkup_uart0;
        };
     
        内存@80000000{
    @@–539、7 +539、7 @@
        /* WKUP UART0 由设备管理器固件使用*/
        pinctrl-names =“default";“;
        pinctrl-0 =<&wkup_uart0_pins_default>;
    -    状态=“保留“;
    +    状态=“正常“;
        全部引导;
     };

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Bin:

    Linux 控制台的这些更改似乎是一样的、客户在 Linux 中进行了相同的更改、并且 wkup_uart 已经输出了 Linux 日志。

    对 UBoot 进行以下更改后、wkup_UART 的 UBoot 阶段没有输出。

    diff --git a/arch/arm/dts/k3-j722s-evm-u-boot.dtsi b/arch/arm/dts/k3-j722s-evm-u-boot.dtsi
    index b18240eb..8eee890c 100644
    --- a/arch/arm/dts/k3-j722s-evm-u-boot.dtsi
    +++ b/arch/arm/dts/k3-j722s-evm-u-boot.dtsi
    @@ -8,7 +8,7 @@
     
     / {
     	chosen {
    -		stdout-path = "serial2:115200n8";
    +		stdout-path = "serial0:115200n8";
     		tick-timer = &main_timer0;
     	};
     };
    diff --git a/board/ti/j722s/j722s.env b/board/ti/j722s/j722s.env
    index 4cc66e8d..5456f9f3 100644
    --- a/board/ti/j722s/j722s.env
    +++ b/board/ti/j722s/j722s.env
    @@ -7,8 +7,8 @@
     #endif
     
     name_kern=Image
    -console=ttyS2,115200n8
    -args_all=setenv optargs ${optargs} earlycon=ns16550a,mmio32,0x02800000
    +console=ttyS0,115200n8
    +args_all=setenv optargs ${optargs} earlycon=ns16550a,mmio32,0x2b300000
     	${mtdparts}
     run_kern=booti ${loadaddr} ${rd_spec} ${fdtaddr}

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Tony:

    在下面更改为 uboot、在 uboot 阶段 wkup_uart 没有输出。

    您是否要测试 AM67A EVM? 您是否仍在 MAIN_uart2 上看到 U-Boot 日志、或者 MAIN_uart2 上未打印任何内容?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Bin:

    我 DID 比较测试总结:

    #1。 默认映像引导日志:

    #2. 仅更改 U-Boot dts:没有来自任一 UART 的任何日志。

    #3.  同时将 uboot dts 和 j722s.env 更改为:没有来自任一 UART 的任何日志。  

    #4. 仅更改 j722s.env 文件:main_uart0 输出日志、直到启动内核、其余日志从 wkup_uart 输出、如下所示:

    //WKUP_UART0:
    Sciserver Testapp Built On: Mar 19 2025 10:50:19
    Sciserver Version: 11.0.0-REL.MCUSDK.11.00.00.05+
    RM_PM_HAL Version: v11.00.09
    Starting Sciserver..... PASSED
    [IPC RPMSG ECHO] Version: REL.MCUSDK.09.00.00.16 (Mar 19 2025 10:50:35):
    [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [    0.000000] Linux version 6.12.17-ti-00773-gcdcaeac783e3-dirty (oe-user@oe-host) (aarch64-oe-linux-gcc (GCC) 13.3.0, GNU ld (GNU Binutils) 2.42.0.20240723) #1 SMP PREEMPT Thu Apr  3 17:42:36 UTC 2025
    [    0.000000] KASLR disabled due to lack of seed
    [    0.000000] Machine model: Texas Instruments J722S EVM
    [    0.000000] earlycon: ns16550a0 at MMIO32 0x000000002b300000 (options '')
    [    0.000000] printk: legacy bootconsole [ns16550a0] enabled
    [    0.000000] efi: UEFI not found.
    [    0.000000] OF: reserved mem: 0x000000009e800000..0x000000009fffffff (24576 KiB) nomap non-reusable optee@9e800000
    [    0.000000] OF: reserved mem: 0x0000000080000000..0x000000008007ffff (512 KiB) nomap non-reusable tfa@80000000

    //MAIN_UART0:
    lure. This will fail on Security Enforcing(HS-SE) devices
    Load Remote Processor 4 with data@addr=0x82000000 11804840 bytes: Success!
    22256128 bytes read in 229 ms (92.7 MiB/s)
    79529 bytes read in 4 ms (19 MiB/s)
    Working FDT set to 88000000
    6490 bytes read in 3 ms (2.1 MiB/s)
    ## Flattened Device Tree blob at 88000000
       Booting using the fdt blob at 0x88000000
    Working FDT set to 88000000
       Loading Device Tree to 000000008fee9000, end 000000008fffffff ... OK
    Working FDT set to 8fee9000
     
    Starting kernel ...

    由于 wkup_UART 有 dm 日志输出、因此应默认在固件中启用 wkup_UART、 是否应在固件中禁用并更新固件(TIDM-)?

    查找此常见问题解答:  【常见问题解答】J721S2XSOMXEVM:在 SPL 中为引导日志启用其他 UART? 

    它是位复数、J721 是 TDA4VM、我不确定它是否适用于 J722/AM67A、

    它编译 ATF/BL31 和 ATF/BL32、不明白为什么。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Tony:

    要完全切换控制台 UART、还必须修补和重新编译 BL31 和 BL32。 但首先、我们需要确保 U-Boot 本身可以切换控制台 UART。

    除了上面的第一个补丁、请同时应用以下 U-Boot、看看这是否可以使 U-Boot 在 WKUP UART 上打印其消息。

    diff -git a/arch/arm/dts/k3-j722s-r5-evm.dts b/arch/arm/dts/k3-j722s-r5-evm.dts
    索引 d797e954f97a..b3161282ba60 100644
    /arch/arm/dts/k3-j722s-r5-evm.dts
    ++ b/arch/arm/dts/k3-j722s-r5-evm.dts
    @@–79、6 + 79、9 @@μ s
     
     /* WKUP UART0 用于 DM 固件日志*/
     &wkup_uart0{
    +     /delete-property/power-domains;
    +     /delete-property/clocks;
    +     /delete-property/时钟名称;
        状态=“正常“;
     };

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Bin:

    仍然两个 UART 端口没有任何响应。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、感谢您的测试。 我将等待另一个 UART 线程上的更新。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    跟踪此处的另一个线程并关闭这个线程。

     关于:J722SXH01EVM:J722S EVM:为 SPL 中的引导日志启用 WKUP_UART