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.

[参考译文] TDA4AH-Q1:TDA4AH-Q1:从 MAIN_SYSCLK0 生成 UFSHI_HCLK_CLK

Guru**** 2846770 points

Other Parts Discussed in Thread: TDA4AH-Q1

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1624591/tda4ah-q1-tda4ah-q1-ufshci_hclk_clk-generation-from-main_sysclk0

器件型号: TDA4AH-Q1

您好:

我们正在开发基于 TDA4AH-Q1 的定制电路板、目前正在使用 25MHz 基准振荡器启动 UFS 接口。

在查看 TRM 时、我们正在尝试更好地了解如何生成 UFSHI_HCLK_CLK 时钟。

从表 5-35(时钟映射)可以看出 UFSHCI_HCLK_CLK 源自 MAIN_SYSCLK0、分频器为 2。
image.png

根据我们的理解、MAIN_SYSCLK0 由 PLLCTRL0 模块生成、最终源自 25MHz 基准时钟(请参阅 TDA4AH TRM 中的图 5-16)。

image.png

 

我们有以下问题:

  1. 在该时钟路径中、如何实际生成 UFSHI_HCLK_CLK?
  2. 该时钟是否可以进行任何配置(源,分频器等)、或者是否固定?
  3. TI 能否提供有关 Jacinto 器件中集成的 Cadence UFSHCI IP 的更多信息?
  4. 特别是、是否有介绍 MPHY 寄存器映射的文档? 我们无法在公共 TRM 中找到这些寄存器。

如有任何其他文件或指导、将不胜感激。

此致、

 

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

    尊敬的 Abdelhakim Daoudi,

    在此时钟路径中实际如何生成 UFSHI_HCLK_CLK?

     UFSHI_HCLK_CLK 在 MAIN_SYSCLK0 进行二分频后生成。  此图中并未显示。

    该时钟是否有任何可能的配置(源,分频器等)、或者是否已修复?

    是固定的。

    TI 能否提供有关 Jacinto 器件中集成的 Cadence UFSHCI IP 的更多信息?

    TRM 包含我们能够公开共享的所有信息。

    具体而言、是否有描述 MPHY 寄存器映射的文档? 我们无法在公共 TRM 中找到这些寄存器。

    您指的是哪些寄存器? 我在 J784S4_UFS020250116.xlsx 的 243_UFS0 部分中看到了许多 Registers_Public_ MPHY 寄存器。

    此致、
    Jared

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

    您好 Jared McArthur 

    感谢您的回答。

    在我们的定制设计中、我们已验证 MPHY 参考时钟输入 (UFSHI_MCLK_CLK) 是否配置正确。

    时钟从在 19.2MHz 处配置的 MAIN_PLL1_HSDIV6 进行多路复用。

    此配置已在硬件级别验证、因为时钟是在 J7 引脚 UFS_REF_CLK 上输出的、在其中我们测量 19.2MHz、它是 UFS 规范定义的有效基准时钟频率之一 (JEDEC JESD220C、请参阅表 6-5)。


    MPHY 参考时钟频率也在软件中一致地配置:

    • MPHYCFG_MISC[REFCLK_FREQ_SEL]= 19.2MHz
    • UFS_SYSCFG_SS_CFG_CTRL[MPHY_REFCLK_FREQ_SEL]= 19.2MHz

    采用以下配置:

    • LS 模式在 25Mbit/s 下正常工作、在 Gear3、2 通道、慢速自动模式下。
    • 但是、HS 模式对 Gear1、Gear2 或 Gear3 不起作用。

    在第一次 UIC/UPIU 事务时、链路崩溃。

    在使用示波器探测高速通道时、我们观察到 HS-Gear3 中的位速率永远不会达到预期的 5.8 Gbit/s。
    相反、测得的比特率约为 4 Gbit/s

    为了进一步研究该问题、我们开始分析 UFS 包装器中的多个 MPHY 状态和调试寄存器。

    但是、我们无法找到描述以下寄存器字段含义和值的详细文档:

    • UFS_P2A_WRAP_CFG_VBP_UFSHCI_MPHYSTAT_XCFGO1
    • UFS_P2A_WRAP_CFG_VBP_UFSHCI_MPHYSTAT_XCFGO2
    • UFS_P2A_WRAP_CFG_VBP_UFSHCI_MPHYSTAT_XCFGO3
    • UFS_P2A_WRAP_CFG_VBP_UFSHCI_MPHYSTAT_XCFGO4
    • UFS_P2A_WRAP_CFG_VBP_UFSHCI_MPHYSTAT_XCFGO5
    • UFS_P2A_WRAP_CFG_VBP_UFSHCI_MPHYSTAT_XCFGO6
    • UFS_P2A_WRAP_CFG_VBP_UFSHCI_MPHYSTAT_XCFGO7
    • UFS_P2A_WRAP_CFG_VBP_UFSHCI_MPHYSTAT_XCFGO8
    • UFS_P2A_WRAP_CFG_VBP_UFSHCI_MPHYSTAT_XCFGO9
    • UFS_P2A_WRAP_CFG_VBP_UFSHIC_MPHY_DEBUG_OUT
    • UFS_P2A_WRAP_CFG_VBP_UFSHIC_MPHY_BIST
    • UFS_P2A_WRAP_CFG_VBP_UFSHIC_MPHY_SF
    • UFS_P2A_WRAP_CFG_VBP_UFSHCI_MPHYSTAT
    • UFS_P2A_WRAP_CFG_VBP_UFSHCI_MPHY_MMIO_A

    784S4_COM 中提供的详细信息级别 Registers_Public_非常有限20250808.xlsx。

    您能否提供这些寄存器的详细文档(位域说明和预期值)?

    这将有助于我们了解尝试切换到 HS 模式时的 MPHY 内部状态、因为当前链路在第一个 UIC/UPIU 事务期间崩溃、测得的比特率保持在 4 Gbit/s 左右、而不是预期的 5.8 Gbit/s

    此致、

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

    尊敬的 Abdelhakim Daoudi,

    您使用的是什么驱动程序? 对于 Linux 驱动程序和 Toshiba 器件 (THGAF8G8T23BAIL)、HS_GEAR3 似乎可以正常工作而没有问题:

    root@j784s4-evm:~# cat /sys/devices/platform/bus@100000/4e80000.ufs-wrapper/4e84000.ufs/power_info/gear
    HS_GEAR3

    [报价 userid=“601413" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1624591/tda4ah-q1-tda4ah-q1-ufshci_hclk_clk-generation-from-main_sysclk0/6265079

    您能否提供这些寄存器的详细文档(位域说明和预期值)?

    [/报价]

    我没有有关这些寄存器的更详细的文档。

    这些是 EVM 上的值:

    root@j784s4-evm:~# rwmem 0x04E85104-0x04E8513C
    0x4e85104 (+0x0) = 0xb7618788 
    0x4e85108 (+0x4) = 0x355271cc 
    0x4e8510c (+0x8) = 0x4c554ddf 
    0x4e85110 (+0xc) = 0x135d351e 
    0x4e85114 (+0x10) = 0xe4c5585f 
    0x4e85118 (+0x14) = 0xf5375371 
    0x4e8511c (+0x18) = 0x1f4cb595 
    0x4e85120 (+0x1c) = 0xe0139d41 
    0x4e85124 (+0x20) = 0x00000059 
    0x4e85128 (+0x24) = 0x021c8069 
    0x4e8512c (+0x28) = 0x00000000 
    0x4e85130 (+0x2c) = 0x00000000 
    0x4e85134 (+0x30) = 0x00000000 
    0x4e85138 (+0x34) = 0x00000000

    此致、
    Jared

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

    您好 Jared McArthur 

    感谢您的答复。

    在我们的示例中、我们使用符合 UFS v3.1 规范的不同 UFS 器件。

    您认为 TDA4AH-Q1 上的 UFS 控制器无法与 UFS 3.1 器件一起正常运行的任何原因吗? 根据我们的理解、控制器应与早期版本保持向后兼容、但我们希望您能就此作出确认。

    此外、在将控制器与 UFS 3.1 器件连接时、我们应该了解哪些特定的配置要求或已知限制?

    感谢您的支持。

    此致、

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

    尊敬的 Abdelhakim Daoudi,

    我看不到控制器无法正常运行的原因。

    您使用什么驱动程序来测试设备? 这是在 Linux 还是 U-Boot 中? Linux 的功能更完善、因此问题应该更少/没有问题。

    此致、
    Jared

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

    您好 Jared McArthur 

    我们目前正在使用按照 JEDEC JESD220C 规范开发的裸机 UFS 驱动器、该驱动器可与 UFS v3.1 器件连接。

    我们的当前配置如下:

    • 接口上的基准时钟:26MHz(在硬件上验证)
    • 在 2 档双通道 HS 速率系列 B 中实现额定操作
    • 在此配置中、通信是稳定且正常运行的

    但是、当尝试切换到档位 3(双车道,HS-RATE 系列 B)时、甚至在修改超出 HS-Gear 设置的其他配置参数时、我们始终观察到:

    • 定期链接重置
    • M-PHY 和 UIC 层错误
    • 与设备的通信中断

    已检查并确认提供给器件的参考时钟正确且稳定、因此问题似乎不是由 REFCLK 路径引起的。

    鉴于 JESD220 v2.1 中 Gear 3 是可选的、但 UFS v3.1 器件本身也支持、我们想知道主机端是否需要额外的 PHY 级调优才能成功在 Gear 3 中运行。

    更具体地说:

    • 是否需要在主机上配置特定的 M-PHY 属性或校准参数以支持 Gear 3 操作?
    • 在该平台上从档位 2 移至档位 3 时、是否需要任何线路自适应、均衡或微调?

    非常希望为在 TDA4AH 上实现稳定的 3 档运行提供任何指导或建议设置。

    谢谢你。

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

    尊敬的 Abdelhakim Daoudi,

    [报价 userid=“601413" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1624591/tda4ah-q1-tda4ah-q1-ufshci_hclk_clk-generation-from-main_sysclk0/6303334

    我们目前正在使用按照 JEDEC JESD220C 规范开发的裸机 UFS 驱动器、该驱动器可与 UFS v3.1 器件连接。

    [/报价]

    您能否先使用 Linux 驱动程序来测试您的器件?

    我想看看该设备是否有问题、或者是否是裸机驱动程序的问题。

    此致、
    Jared