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.

[参考译文] TDA4APE-Q1:TDA4APE:将 MAIN_uart9 配置为控制台会导致 tiboot3 引导失败

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1651471/tda4ape-q1-tda4ape-configuring-main_uart9-as-console-causes-tiboot3-boot-failure

器件型号: TDA4APE-Q1

尊敬的专家:

我们正在开发基于 TDA4APE 的电路板、我使用的是 SDK V11.01。

在我们的硬件设计中、不会导出 MAIN_uart8、这是原始 SDK 中的默认控制台、因此我们应该使用 MAIN_uart9。 因此、我正在尝试将 MAIN_uart9 配置为默认控制台、您可以参阅 dts.diff 来了解我对 uboot 代码的 DTS 文件所做的修改。

但是在进行此修改后、main_uart9 上没有日志打印、更重要的是、tiboot3 似乎会挂起、因为在 DFU  模式下执行 dfu-util -R -a bootloader -D tiboot3.bin 来刷写 tiboot3 器件后、我无法再识别我的 PC 上的 DFU 器件、因此我无法继续刷写 tispl.bin 或 u-boot.img。

同时、我尝试了其他方法。 如果我继续在 tiboot3.bin 中使用 MAIN_uart8、但对 tispl.bin 和 u-boot.img(附加相同的修改)使用 MAIN_uart9、则 SOC 可以通过在 MAIN_uart9 上正确打印 A72-SPL 和 A72-uBoot 日志正常引导、但在 tiboot3 (R5-SPL) 阶段不会打印。  

我的修改中是否缺少任何内容?

此致。

DTS.DIFF 

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

    尊敬的 Mian:

    您是否还可以将这些更改添加 到以下文件、然后重新编译 uboot 并使用更新 tiboot3.bin?

    CLK-data.c 文件位于 /arch/arm/mach-k3/r5/j784s4 中

    diff --git a/arch/arm/mach-k3/r5/j784s4/clk-data.c b/arch/arm/mach-k3/r5/j784s4/clk-data.c
    index ce111377..01f356e5 100644
    --- a/arch/arm/mach-k3/r5/j784s4/clk-data.c
    +++ b/arch/arm/mach-k3/r5/j784s4/clk-data.c
    @@ -418,6 +418,7 @@ static const struct clk_data clk_list[] = {
            CLK_DIV("usart_programmable_clock_divider_out8", "hsdiv4_16fft_main_1_hsdivout0_clk", 0x1081e0, 0, 2, 0, 0),
            CLK_DIV("k3_pll_ctrl_wrap_main_0_chip_div24_clk_clk", "k3_pll_ctrl_wrap_main_0_sysclkout_clk", 0x41011c, 0, 5, 0, 0),
            CLK_DIV("k3_pll_ctrl_wrap_wkup_0_chip_div24_clk_clk", "k3_pll_ctrl_wrap_wkup_0_sysclkout_clk", 0x4201011c, 0, 5, 0, 0),
    +       CLK_DIV("usart_programmable_clock_divider_out9", "hsdiv4_16fft_main_1_hsdivout0_clk", 0x1081e4, 0, 2, 0, 0),
     };
     
     static const struct dev_clk soc_dev_clk_data[] = {
    @@ -646,6 +647,8 @@ static const struct dev_clk soc_dev_clk_data[] = {
            DEV_CLK(404, 57, "pcie_g3x4_128_main_1_pcie_lane3_txclk"),
            DEV_CLK(404, 81, "usb3p0ss_16ffc_main_0_pipe_txclk"),
            DEV_CLK(404, 129, "board_0_tck_out"),
    +       DEV_CLK(396, 0, "usart_programmable_clock_divider_out9"),
    +       DEV_CLK(396, 3, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
     };
     
    

    /arch/arm/mach-k3/r5/j784s4 中提供了 dev-data.c 文件

    diff --git a/arch/arm/mach-k3/r5/j784s4/dev-data.c b/arch/arm/mach-k3/r5/j784s4/dev-data.c
    index 19ac1986..c2966fe4 100644
    --- a/arch/arm/mach-k3/r5/j784s4/dev-data.c
    +++ b/arch/arm/mach-k3/r5/j784s4/dev-data.c
    @@ -54,6 +54,7 @@ static struct ti_lpsc soc_lpsc_list[] = {
            [22] = PSC_LPSC(81, &soc_psc_list[2], &soc_pd_list[7], &soc_lpsc_list[20]),
            [23] = PSC_LPSC(120, &soc_psc_list[2], &soc_pd_list[8], &soc_lpsc_list[24]),
            [24] = PSC_LPSC(121, &soc_psc_list[2], &soc_pd_list[8], NULL),
    +       [25] = PSC_LPSC(78, &soc_psc_list[2], &soc_pd_list[4], NULL),
     };
     
     static struct ti_dev soc_dev_list[] = {
    @@ -91,6 +92,7 @@ static struct ti_dev soc_dev_list[] = {
            PSC_DEV(203, &soc_lpsc_list[22]),
            PSC_DEV(133, &soc_lpsc_list[23]),
            PSC_DEV(193, &soc_lpsc_list[24]),
    +       PSC_DEV(396, &soc_lpsc_list[25]),
     };
     
     const struct ti_k3_pd_platdata j784s4_pd_platdata = {
    

    此致

    Gokul Praveen