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.

[参考译文] TDA4VL-Q1:如何在 TDA4VL EVM 上启用 USB 3.0

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

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1282997/tda4vl-q1-how-to-enable-usb-3-0-on-tda4vl-evm

器件型号:TDA4VL-Q1
主题中讨论的其他器件:TDA4VL、TDA4VM

您好!

USB SSD 连接到 TDA4VL EVM 上的 type c 端口、但在 USB 2.0中工作。

TDA4VL 上"lsusb -t"的输出

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 480M

但 TDA4VM 上 使用了 USB3.0、使用相同的 SSD 和相同类型的 C 电缆

/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 2: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M

如何在 TDA4VL EVM 上启用 USB 3.0?

如果 lsusb 输出有"/:总线02.端口1:dev 1,Class=root_hub,Driver=xhci-Hcd/1p,5000m",已为 USB 3.0启用 SERDES?

此致、

威尔逊

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

    您好,威尔逊  

    在中、USB 针对2.0进行了 配置、因为串行器/解串器针对 EDP 和 PCI 进行了配置、并且 一次只能支持两种协议。

    如果您要启用 EDP+USB、可以查看以下补丁 https://git.ti.com/cgit/ti-linux-kernel/ti-upstream-tools/tree/arch/arm64/boot/dts/ti/k3-j721s2-usb3.dtso?h=ti-linux-5.10.y

    此致
    迪瓦卡尔

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

    尊敬的 Diwakar:

    无法使用 USB3 DTB 检测到 SSD。 USB 模式为 DRD (SW3.3:0 SW3.4:1)

    lsusb 仅显示集线器。

    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

    SSD 检测可通过"k3-j721s2-vision-apps.dtbo"完成。

    在使用"k3-j721s2-vision-apps.dtbo k3-j721s2-USB3.dtbo"时、lsusb 没有输出。

    此致、

    威尔逊。

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

    您好, 威尔逊

    您正在使用哪个 SDK 版本?

    SSD 检测可通过"k3-j721s2-vision-apps.dtbo"完成。

    [/报价]

    在哪种模式下检测超高速或高速?

    我在8.6 SDK 上进行了测试、采用了建议的更改、并且可以看到 SSD 在 USB 3.0中被检测到

    此致
    迪瓦卡尔

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

    你好,迪瓦克拉

    我使用的是08.06.00.10_j721s2、状态如下。

    • 无覆盖: 无 SSD 检测
    • k3-j721s2-vision-apps.dtbo :检测到 SSD 但使用2.0
    • k3-j721s2-USB3.dtbo :没有 SSD 检测

    您能否共享 k3-j721s2-USB3.dtbo 文件?  

    此致、

    威尔逊

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

    Wilson 您好、

    一旦 Diwakar 本周晚些时候度假回来,他就会解决这个问题。

    此致

    苏曼

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

    您好, 威尔逊

    我在 k3-j721s2-common-proc-board.dts 中添加了更改。

    连接了我使用的 DTB

     e2e.ti.com/.../k3_2D00_j721s2_2D00_common_2D00_proc_2D00_board.dtb

    此致
    迪瓦卡尔

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

    你好,Diwakar

    感谢您的分享。

    SSD 在 USB 3.0与你的 DTB 工作!!!

    您能否共享修改过的 DTS 文件并尝试叠加文件?

     在某些情况下、我需要切换到 PCIe 来使用 NVMe SSD。

    谢谢。此致、

    威尔逊。

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

    您好,威尔逊  

    您能否共享修改过的 DTS 文件并尝试叠加文件?

    [/报价]

    当镀层与镀层脱离时、  

    这是我在本次演示中  

    e2e.ti.com/.../k3_2D00_j721s2_2D00_common_2D00_proc_2D00_board.dts

    此致
    迪瓦卡尔

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

    你好,Diwakar

    每当我运行 SSD 写测试应用程序时、该应用程序挂起时会出现以下内核消息。
    测试代码已附加。

    e2e.ti.com/.../6371.main.cpp

    [  291.069205] Unable to handle kernel paging request at virtual address 00000000b0600028
    [  291.077174] Mem abort info:
    [  291.080008]   ESR = 0x96000005
    [  291.083092]   EC = 0x25: DABT (current EL), IL = 32 bits
    [  291.088429]   SET = 0, FnV = 0
    [  291.091492]   EA = 0, S1PTW = 0
    [  291.094623] Data abort info:
    [  291.097506]   ISV = 0, ISS = 0x00000005
    [  291.101379]   CM = 0, WnR = 0
    [  291.104346] user pgtable: 4k pages, 48-bit VAs, pgdp=000000088716f000
    [  291.110773] [00000000b0600028] pgd=000000089410c003, p4d=000000089410c003, pud=0000000000000000
    [  291.119462] Internal error: Oops: 96000005 [#1] PREEMPT SMP
    [  291.125016] Modules linked in: xt_conntrack xt_MASQUERADE xt_addrtype iptable_filter iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c ip_tables x_tables br_netfilter bridge stp llc overlay xfrm_user xfrm_algo md5 ecb aes_neon_bs aes_neon_blk des_generic libdes cbc cdc_ether usbnet r8152 usb_storage usbhid bluetooth ecdh_generic ecc rfkill xhci_plat_hcd xhci_hcd rpmsg_char cdns3 udc_core roles usbcore usb_common cdns_csi2rx v4l2_fwnode ti_am335x_adc kfifo_buf crct10dif_ce phy_can_transceiver ti_k3_r5_remoteproc wave5 sa2ul j721e_csi2rx pvrsrvkm(O) v4l2_mem2mem ti_am335x_tscadc sha512_generic cdns_mhdp8546 videobuf2_dma_contig ti_k3_dsp_remoteproc authenc videobuf2_memops videobuf2_v4l2 virtio_rpmsg_bus cdns3_ti videobuf2_common cdns_dphy m_can_platform cdns_dsi m_can ti_sn65dsi86 can_dev optee_rng rng_core sch_fq_codel rpmsg_kdrv_switch fuse cryptodev(O) ipv6
    [  291.202995] CPU: 0 PID: 69 Comm: kworker/0:1H Tainted: G           O      5.10.162-g76b3e88d56 #1
    [  291.211842] Hardware name: Texas Instruments J721S2 EVM (DT)
    [  291.217495] Workqueue: kblockd blk_mq_run_work_fn
    [  291.222187] pstate: 20000005 (nzCv daif -PAN -UAO -TCO BTYPE=--)
    [  291.228179] pc : __blk_rq_map_sg+0x168/0x500
    [  291.232433] lr : __blk_rq_map_sg+0xd4/0x500
    [  291.236600] sp : ffff800011e139a0
    [  291.239900] x29: ffff800011e139a0 x28: ffff000807106598
    [  291.245196] x27: 0000000000000000 x26: ffff800011e13a90
    [  291.250493] x25: 0000000000000009 x24: 00000000b0600000
    [  291.255789] x23: ffff000807106300 x22: 0000000000000000
    [  291.261086] x21: 0000000000000000 x20: ffff000801c33dc0
    [  291.266382] x19: 0000000000001000 x18: 000000001944ac82
    [  291.271678] x17: 0000000029369975 x16: 00000000a0a996af
    [  291.276974] x15: 000002b5cebe55c2 x14: 00000000ffffffff
    [  291.282270] x13: 0000000bffffffff x12: 0000000000000001
    [  291.287566] x11: fffffe002c0f8d80 x10: 0000000000002000
    [  291.292863] x9 : ffff00003343bf78 x8 : ffff000809ea0000
    [  291.298159] x7 : 0000000000000001 x6 : 000000000000003f
    [  291.303455] x5 : ffff000809e9efe0 x4 : ffff00003343bf78
    [  291.308751] x3 : ffff800011e13a90 x2 : 0000000000000000
    [  291.314047] x1 : fffffe002c0f8d80 x0 : 0000000000000000
    [  291.319344] Call trace:
    [  291.321781]  __blk_rq_map_sg+0x168/0x500
    [  291.325692]  scsi_alloc_sgtables+0x80/0x2f0
    [  291.329864]  sd_init_command+0x150/0xa80
    [  291.333771]  scsi_queue_rq+0x274/0x828
    [  291.337506]  blk_mq_dispatch_rq_list+0x104/0x778
    [  291.342108]  blk_mq_do_dispatch_sched+0x280/0x2d8
    [  291.346795]  __blk_mq_sched_dispatch_requests+0x11c/0x1a0
    [  291.352177]  blk_mq_sched_dispatch_requests+0x38/0x78
    [  291.357211]  __blk_mq_run_hw_queue+0xac/0x128
    [  291.361550]  blk_mq_run_work_fn+0x20/0x30
    [  291.365548]  process_one_work+0x1a0/0x328
    [  291.369542]  worker_thread+0x4c/0x420
    [  291.373189]  kthread+0x140/0x160
    [  291.376405]  ret_from_fork+0x10/0x34
    [  291.379968] Code: 9a8b0021 f9004fe1 f9400318 b4001ad8 (29455716)
    [  291.386046] ---[ end trace ba2810956f680ff6 ]---

    此致、

    威尔逊。

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

    您好,威尔逊  

    由于该主题与启用 USB3.0相关、且上述问题与标题有偏差、因此请针对

    并提及用例等细节。

    此致
    迪瓦卡尔

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

    你好,Diwakar

    我将发表另一篇文章。 让我们重点讨论 USB 3.0。

    我将尝试你明天分享的 dtb 代码。

    此致、

    威尔逊。

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

    我将尝试你明天分享的 dtb 代码。

    [/报价]

    当然  

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

    尊敬的 Diwakar:

    我找到了覆盖功能不起作用的原因。 根据 https://elinux.org/Device_Tree_Source_Undocumented ,重叠中不支持"delete-propertie"。

    此致、

    威尔逊

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

    您好,威尔逊  

    我找到为什么重叠不起作用的原因。 根据 https://elinux.org/Device_Tree_Source_Undocumented ,重叠中不支持"delete-property"。

    好知道,如果你没有任何其他问题上的上述主题,我们可以关闭这个线程。

    此致
    迪瓦卡尔

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

    好的、请关闭窗口。