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.

[参考译文] TDA4VM:有关早期 SPL 中的配置时钟资源的问题

Guru**** 2466550 points
Other Parts Discussed in Thread: TDA4VM

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1425596/tda4vm-question-about-config-clock-resource-on-early-spl

器件型号:TDA4VM

工具与软件:

您好、TI

现在 我研究有关 SPL 的代码、发现 arch\arm\mach-k3\j721e\clk-data.c 可以配置电路板时钟资源。

如果用户希望在加载 sysfw sci 之前尽早使用资源、关于编程该文件有一些用户指南来添加其他资源?

例如:

CLK_MUX ("mcu_clkout_mux_out0"、mcu_clkout_mux_out0_paraments、2、0x40f08010、0、 1、0)、

如何解释此代码? 关于 资源名称\父级组\地址的参数如何获取和设置?

谢谢

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

    许先生、您好!

    目前没有编程指南。 也就是说、您尝试打开的模块/时钟是什么?
    我可以向内部团队核实这一点。

    -基尔西

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

    您好、

    我要打开使用时钟资源的 ID 274设备 mcuspi0

    谢谢

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

    许先生、您好!

    Sciclient_pmSetModuleState()

    您能否通过 U-Boot 代替 R5 SPL 尝试这样做? 我们没有 MCU_MCSPI0的 dev-data clk-data、因此请求也没有。

    -基尔西

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

    您好、

     Sciclient_pmSetModuleState()是否可在 sysfw 未加载的 SPL 阶段使用?

    我希望在200ms 内尽早从上电开始在 SPL 级控制一些 SPI 器件。

    有什么方法可以达到目标?

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

     在右 MCU RTOS 端使用的 Sciclient_pmSetModuleState ()?我们需要在 SPL uboot 端进行编码、在 SPL 中、mcu1_0加载太晚

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

    许先生、您好!

    是的、这是在 R5 SPL 之后。 我将在相关模块中介绍 dev_data clk_data。 我将在下周早些时候回来。 我们目前还没有 READY 示例。

    此致、

    基尔西  

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

    感谢您的支持、我将等待您的回复,在 SPL 成功使用此资源现在对我们很重要

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

    我尚未从内部团队获得有关这方面的反馈。 我会随时向您通报最新情况。

    -基尔西

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

    您好!

    有更新吗?

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

    我还没有收到反馈。 我下周就回来。 感谢您的耐心。

    -基尔西

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

    您好、Xu、

    我们对此没有任何反馈。 这仍然需要吗?

    - Keetrhy

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

    是的、需要它、它对我们很重要

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

    是否有任何更新?

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

    许先生、您好!

    我要打开使用时钟资源的 id 274设备 mcuspi0

    我相信 MCU_MCSPI0已可访问。 我有机会在使用最新的10.1 SDK 的电路板上进行尝试。

    md 40300000 1
    40300000: 40301a0b                             ..0@
    => 
    40300004: 00000009                             ....
    => 
    40300008: 00000000                             ....
    => 
    4030000c: 00000000                             ....
    => 
    40300010: 00000008                             ....
    => 
    40300014: 00000000                             ....
    => 
    40300018: 00000000                             ....
    => 
    4030001c: 00000000                             ....
    => 
    40300020: 00000000                             ....
    => 
    40300024: 00000000                             ....
    => 
    40300028: 00000000                             ....
    => 
    4030002c: 00000000                             ....
    => 
    40300030: 00000000                             ....
    => 
    40300034: 00000000                             ....
    => 
    40300038: 00000000                             ....
    => 
    4030003c: 00000000                             ....
    => 
    40300040: 00000000                             ....
    => 
    40300044: 00000000                             ....
    => 
    40300048: 00000000                             ....
    => 
    4030004c: 00000000                             ....
    => 
    40300050: 00000000                             ....
    => 
    40300054: 00000000                             ....
    => 
    40300058: 00000000                             ....
    => 
    4030005c: 00000000                             ....
    => 
    40300060: 00000000                             ....
    => 
    40300064: 00000000                             ....
    => 
    40300068: 00000000                             ....
    => 
    4030006c: 00000000                             ....
    => 
    40300070: 00000000                             ....
    => 
    40300074: 00000000                             ....
    => 
    40300078: 00000000                             ....
    => 
    4030007c: 00000000            

    寄存器空间已可访问。 您可以尝试在 R5 SPL 级访问相同的 API。 应该可以访问该文件。

    -基尔西

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

    您好!

    这意味着我们需要10.1SDK 吗? 现在我们使用0801 uboot 和0900 sysfw

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

    许先生、您好!

    您是否可以尝试从您的二进制版本访问上述寄存器并进行检查?

    此致、

    基尔西  

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

    好的、我们  稍后会尝试提供反馈

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

    => MD 40300000 1 40300000:40301a0b ..0@=> 40300004:00000009… => 40300008:00000000… => 4030000c:00000000… => 40300010:00000004… => 40300014:00000000… => 40300018:00000000… => 4030001c:00000000… => 40300020:00000000… => 40300024:00000000… => 40300028:00000000… => 4030002c:00000000… => 40300030:00000000… => 40300034:00000000… => 40300038:00000000… => 4030003c:00000000… => 40300040:00000000… => 40300044:00000000… => 40300048:00000000… => 4030004c:00000000… => 40300050:00000000… => 40300054:00000000… => 40300058:00000000… => 4030005c:00000000… => 40300060:00000000… => 40300064:00000000… => 40300068:00000000… => 4030006c:00000000… => 40300070:00000000… => 40300074:00000000… => 40300078:00000000… => 4030007c:00000000… => 40300080:00000000…

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

    这是我们的寄存器转储

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

    许先生、您好!

    这在您的情况下也是相同的。 您就能够访问寄存器。 然后、您可以尝试通过 R5 SPL 对它们进行编程、并检查是否能够这样做?

    -基尔西

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

    什么可以编程? 不理解、可以访问寄存器意味着资源可以访问、但如何在  arch\arm\mach-k3\j721e\clk-data.c 中配置 ?

    这是我的原始问题

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

    访问这些寄存器需要 dev-data clk-data。 如果您能够访问寄存器、则可能不需要这样做。
    我想您希望在 R5 SPL 上启用 MCU_MCSPI0。 这不是最终目标吗?

    -基尔西

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

    我们要启用 SPI 驱动器 SPL 中的驱动 PMIC 芯片、需要配置 SPI 资源提供驱动器、这是最终目标

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们要启用 SPI 驱动程序 SPL 中的驱动器 PMIC 芯片、需要配置 SPI 资源提供驱动程序、

    U-Boot SPL 中不支持此模式。 您要查找的实例已计时并启用。 因此您必须对上述寄存器进行编程。
    总之、需要 clk/dev-data 来打开模块、对于这个特定的实例、它已经打开。 希望我很清楚。

    -基尔西

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

    我来说明一下、转储寄存器阶段正常 uboot 资源没问题、由 sysfw 配置、但为时太晚、我们希望在256ms 内通电时使用 SPI 总线、在此阶段 sysfw 未加载 资源而未加载配置就绪、我们发现在 SPL 的早期阶段可使用代码 arch\arm\mach-k3\j721e\clk_clk.c 来获取资源配置 spik_data。 希望我能解释清楚

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

    许先生、您好!

    我与团队内部合作。 我获取了数据、但尚未启用。 我可以看到、在 R5 SPL 处访问寄存器导致挂起。
    那么、一旦它正常工作、我就会给您回复。

    -基尔西

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

    好、等待您的反馈

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

    许先生、您好!

    您是否可以尝试对 clk/dev/dev 数据使用下面的 diff:

    diff --git a/arch/arm/mach-k3/r5/j721e/clk-data.c b/arch/arm/mach-k3/r5/j721e/clk-data.c
    index bb7f61901b4..5a6e86949e1 100644
    --- a/arch/arm/mach-k3/r5/j721e/clk-data.c
    +++ b/arch/arm/mach-k3/r5/j721e/clk-data.c
    @@ -518,6 +518,7 @@ static const struct clk_data clk_list[] = {
     	CLK_FIXED_RATE("ddr32ss_16ffc_ew_dv_wrap_main_0_ddrss_io_ck_n", 0, 0),
     	CLK_FIXED_RATE("emmc8ss_16ffc_main_0_emmcss_io_clk", 0, 0),
     	CLK_FIXED_RATE("emmcsd4ss_main_0_emmcsdss_io_clk_o", 0, 0),
    +	CLK_FIXED_RATE("spi_mcu_0_io_clkspio_clk", 0, 0),
     	CLK_DIV_DEFFREQ("hsdiv4_16fft_main_1_hsdivout0_clk", "pllfrac2_ssmod_16fft_main_1_foutvcop_clk", 0x681080, 0, 7, 0, 0, 192000000),
     	CLK_DIV("hsdiv4_16fft_main_1_hsdivout2_clk", "pllfrac2_ssmod_16fft_main_1_foutvcop_clk", 0x681088, 0, 7, 0, 0),
     	CLK_DIV("hsdiv4_16fft_mcu_1_hsdivout1_clk", "pllfrac2_ssmod_16fft_mcu_1_foutvcop_clk", 0x40d01084, 0, 7, 0, 0),
    @@ -779,6 +780,9 @@ static const struct dev_clk soc_dev_clk_data[] = {
     	DEV_CLK(289, 17, "board_0_hfosc1_clk_out"),
     	DEV_CLK(289, 18, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
     	DEV_CLK(289, 19, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
    +	DEV_CLK(157, 14, "spi_mcu_0_io_clkspio_clk"),
    +	DEV_CLK(274, 0, "k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk"),
    +	DEV_CLK(274, 1, "hsdiv4_16fft_mcu_2_hsdivout0_clk"),
     };
     
     const struct ti_k3_clk_platdata j721e_clk_platdata = {
    diff --git a/arch/arm/mach-k3/r5/j721e/dev-data.c b/arch/arm/mach-k3/r5/j721e/dev-data.c
    index b0adb1857be..ab5cb6785c3 100644
    --- a/arch/arm/mach-k3/r5/j721e/dev-data.c
    +++ b/arch/arm/mach-k3/r5/j721e/dev-data.c
    @@ -67,6 +67,7 @@ static struct ti_dev soc_dev_list[] = {
     	PSC_DEV(103, &soc_lpsc_list[13]),
     	PSC_DEV(104, &soc_lpsc_list[14]),
     	PSC_DEV(102, &soc_lpsc_list[15]),
    +	PSC_DEV(274, &soc_lpsc_list[11]),
     };
     

    我尝试在 R5 SPL 中访问

    diff --git a/arch/arm/mach-k3/j721e_init.c b/arch/arm/mach-k3/j721e_init.c
    index dedef505441..bbff8caf5e6 100644
    --- a/arch/arm/mach-k3/j721e_init.c
    +++ b/arch/arm/mach-k3/j721e_init.c
    @@ -358,6 +358,10 @@ void board_init_f(ulong dummy)
     		setup_navss_nb();
     
     	setup_qos();
    +	printf("Just before accessing MCU_MCSPI regs\n");
    +	u32 debug;
    +	debug = readl(0x40300000);
    +	printf("The value of reg 0 is 0x%x\n", debug);
     }

    U-Boot SPL2024.04-脏(2025年1月23日- 14:44:00 +0530)

    SYSFW ABI:4.0 (固件版本0x000a '10.1.6 - v10.01.06 (Fiery Fox)')

    就在访问 MCU_MCSPI 寄存器之前

    寄存器0的值为0x40301a0b

    尝试从 DFU 引导

    -基尔西

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

    您好、Keerthy

      实际上,我们想在 arch/arm/mach-k3/j721e_init.c 中的 spl_early_init ()之后立即使用 MCU_MCSPI0 ,这是否可能?我可以在哪里先使用 MCU_SPI0 ?

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

    您好!

    有。 请尝试从那里阅读并检查。 在 spl_early_init 之后添加打印。

    -基尔西

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

    您好、Keerthy

    似乎在  spl_early_init 之后控制台尚未就绪。 添加打印件后、串行端口没有输出

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

    您是否有调试器? 您可以附加和读取寄存器值。  

    我尝试在 R5 SPL
    中访问

    请尝试添加上面添加的位置并对寄存器进行编程。

    谢谢!  

    基尔西  

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

    可以、但我们没有相关的配置文件。  您能提供给我们吗

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

    您好!

    这是一个启用寄存器访问的请求。 可以参考驱动程序来了解需要配置哪些寄存器。

    我们使用驱动程序、因此没有任何此类配置。 此处的申请是为了提前启用寄存器访问、这已启用。

    -基尔西  

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

    、你好

    我需要的是用于通过 JTAG 端口调试 TDA4VM 的配置文件、这是一个 CMM 类型文件。  是否可以提供此类型的文件?

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

    如果您安装 CCS 并选择 j7200作为 SOC、那么它将具有连接内核所需的所有配置。 我不明白我们为什么需要。
    启用打印后、R5 SPL 即可用于读取/写入任何值。

    -基尔西

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

    嗨、Keerthy

    以下是在 SPL 中使用 mcu_stpi0的不同之处

    diff --git a/arch/arm/dts/k3-j721e-r5-common-proc-board.dts b/arch/arm/dts/k3-j721e-r5-common-proc-board.dts
    索引5d898d3b45..49eb4f8d85 100644
    ---a/arch/arm/dts/k3-j721e-r5-common-proc-board.dts
    ++ b/arch/arm/dts/k3-j721e-r5-common-proc-board.dts
    @@-13、6 + 13、7 @@μ s
    别名{
    remoteproc0 =&sysctrler;
    remoteproc1 =&a72_0;
    + SPI2 =&MCU_spi0;
    };

    选择了{
    @@-157、6 @@ 158、16 μ s
    J721E_WKUP_IOPAD (0x38、PIN_INPUT、0)/*(A23) MCU_OSPI1_LBCLKO */
    >;
    };
    +
    + mcu_spi0_pins_default:mcu_spi0_pins_default{
    + u-boot、dm-spl;
    + pinctrl-single、pins =<
    + J721E_WKUP_IOPAD (0x90、PIN_OUTPUT、0)/*(E27) MCU_SPI0_CLK */
    + J721E_WKUP_IOPAD (0x94、PIN_OUTPUT、0)/*(E24) MCU_SPI0_D0 */
    + J721E_WKUP_IOPAD (0x98、PIN_INPUT、0)/*(E28) MCU_SPI0_D1 */
    + J721E_WKUP_IOPAD (0x9C、PIN_OUTPUT、0)/*(E25) MCU_SPI0_CS0 */
    +>;
    +};
    };

    &main_pmx0{
    @@-476、3 @@ 487、22 μ F
    &wkup_i2c0{
    /delete-property/power-domain;
    };
    +
    +&CBUS_MCU_WAKEUP{
    +状态="正常";
    + u-boot、dm-spl;
    + MCU_spi0:spi@40300000{
    + u-boot、dm-spl;
    + Compatible ="ti、omap4-mcspi";
    + reg =<0x00 0x040300000 0x00 0x400>;
    +中断= ;
    +#address-cells =<1>;
    +#size-cells =<0>;
    +电源域=<&K3_PDS 274 TI_SCI_PD_Exclusive>;
    +时钟=<&K3_CLKS 274 0>;
    +状态="正常";
    + pinctrl-names ="默认值";
    + pinctrl-0 =<&MCU_spi0_pins_default>;
    + ti,windir-d0-out-D1-in;
    +};
    +};
    diff -- git a/arch/arm/mach-k3/j721e/clk-data.c b/arch/arm/mach-k3/j721e/clk-data.c
    索引5540c7af62..1b8a4f6591 100644
    ---a/arch/arm/mach-k3/j721e/clk-data.c
    ++ b/arch/arm/mach-k3/j721e/clk-data.c
    @@-513,6+513,7 @@静态常量结构 clk_data clk_list[]={
    CLK_FIXED_RATE ("ddr32ss_16ffc_ew_dv_wrap_main_0_ddrss_io_ck_n"、0、0)、
    clk_fixed_rate ("emmc8ss_16ffc_main_0_emmcss_io_clk"、0、0)、
    CLK_FIXED_RATE ("emmcsd4ss_main_0_emmcsdss_io_clk_o"、0、0)、
    + CLK_FIXED_RATE ("SPI_MCU_0_IO_clkspio_clk"、0、0)、
    CLK_DIV_DEFFREQ ("hsdiv4_16fft_main_1_hsdivout0_clk"、"pllfrac2_ssod_16fft_main_1_foutvcop_clk"、0x681080、0、7、 0192000000)、
    CLK_DIV ("hsdiv4_16fft_main_1_hsdivout2_clk"、"pllfrac2_ssod_16fft_main_1_foutvcop_clk"、0x681088、0、7、 0)、
    CLK_DIV ("hsdiv4_16fft_mcu_1_hsdivout1_clk"、"pllfrac2_ssod_16fft_mcu_1_foutvcop_clk"、0x40d01084、0、7、 0)、
    @@-771、12 +772、15 @@静态常量结构 DEV_clk soc_dev_clk_data[]={
    DEV_CLK (289、17、"board_0_hfosc1_clk_out")、
    DEV_CLK (289、18、"k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk")、
    DEV_CLK (289、19、"k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk")、
    + DEV_CLK (157、14、"SPI_MCU_0_io_clkspio_clk")、
    + dev_clk (274、0、"k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk")、
    + dev_clk (274、1、"hsdiv4_16fft_mcu_2_hsdivout0_clk")、
    };

    const 结构 ti_k3_clk_platdata j721e_clk_platdata ={
    clk_list = clk_list、
    -.clk_list_cnt = 156,
    +.clk_list_cnt = 157、
    .soc_dev_clk_data = soc_dev_clk_data、
    -.soc_dev_clk_data_cnt = 171
    +.soc_dev_clk_data_cnt = 174;
    };

    diff -- git a/arch/arm/mach-k3/j721e/dev-data.c b/arch/arm/mach-k3/j721e/dev-data.c
    Index 32a8aed55a..cadf17a6e4 100644.
    --- a/arch/arm/mach-k3/j721e/dev-data.c
    ++ b/arch/arm/mach-k3/j721e/dev-data.c
    @@-61、6 + 61、7 @@静态结构 ti_dev soc_dev_list[]={
    PSC_DEV (103、&soc_lpsc_list[13])、
    PSC_DEV (104、&soc_lpsc_list[14])、
    PSC_DEV (102、&soc_lpsc_list[15])、
    + psc_dev (274、&soc_lpsc_list[11])、
    };

    const 结构 ti_k3_pd_platdata j721e_pd_platdata ={
    @@-71、6 +72、6 @@常量结构 ti_k3_pd_platdata j721e_pd_platdata ={
    .NUM_PSC = 2、
    .NUM_PD = 5、
    .num_lpsc = 16、
    -.num_devs = 22,
    +.num_devs = 23、
    };

    diff -- git a/arch/arm/mach-k3/j721e_init.c b/arch/arm/mach-k3/j721e_init.c
    Index ae1fb94dd1..70a261f6a9 100644.
    ---a/arch/arm/mach-k3/j721e_init.c
    ++ b/arch/arm/mach-k3/j721e_init.c
    @@-218、7 +218、17 @@ void board_init_f (ulong dummy)

    /*提前初始化 DM */
    SPL_EARLY_INIT ();
    -
    + u32调试;
    + debug = readl (0x40300000);
    + printf ("\n");
    + ret = ucclass_find_device_by_seq (uclass_spi、2、true、&dev);
    + IF (ret)
    + panic ("找不到 SPI2!\n");
    +/*结构 udevice *总线;
    + ret = uclass_get_device_by_seq (UCLASS_SPI、2、&B);
    + IF (ret)
    + panic ("获取 SPI2失败!\n");
    +*/
    #ifdef CONFIG_K3_LOAD_SYSFW
    /*
    *处理 serial0又称为 MCU_UART0模块的 pinctrl 并继续
    @@-259、6 +269、7 @@ void board_init_f (ulong dummy)

    /*准备控制台输出*/
    preloader_console_init();
    + printf ("xiuqi:0x%x\n"、debug);

    /*加载 sysfw 后立即禁用 ROM 配置的防火墙*/
    #ifdef CONFIG_TI_SECURE_DEVICE
    diff --git a/configs/pecu_r5_defconfig b/configs/pecu_r5_defconfig
    Index 5c7fba370c..d45a740b06 100644
    ——a/configs/pecu_r5_defconfig
    ++ b/configs/pecu_r5_defconfig
    @@-162、3 +162、4 @@ CONFIG_FS_EXT4=y
    CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
    CONFIG_LIB_RATIO=y
    CONFIG_SPL_LIB_Rational = y
    +CONFIG_OMAP3_SPI=y

    我在  spl_early_init ()之后读取寄存器、并在 preloader_console_init ()之后打印它、串行端口输出如下所示

    但是、一旦我 在 uclass_find_device_by_seq 、spl 后添加 uclass_get_device_by_seq、就会卡住、从而不会有来自 串行端口的输出

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

    我认为您需要添加寄存器写入序列来直接对模块进行编程。 您是否尝试获得 SPI 驱动器探针?

    此致、  

    基尔西