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.
工具与软件:
尊敬的 (+) Bin Liu 的个人资料- Bin Liu - TI E2E 支持论坛
我想知道具体而言、我对这些 AM64x v 9.2 Linux SDK gadget.c 或.h 文件的以下描述是否正确
- 1)*dwc3/gadget。{c & h}-这些将不会在 AM6442中使用、因为 Cadence cdns3 USB 控制器仅用于 AM64x 中?
- 2)*cdns3/*gadget.{c & h}-这些应该与 AM6442 USB 设备小工具一起使用
- 3)*/usr/include/linux/usb/raw_gadget.{c & h}可以按照原有的 docs.kernel.org/.../raw-gadget.html 使用 ,但仅用于开发?
- 4)*/ musb_gadget。{c & h}-这些仅供 USB 主机驱动程序用于 USB OTG 外设?
- 5)*/ cdnsp-gadget。{c & h}-这些仅供用于驱动 USB 双角色设备(DRD)外设的 USB 主机使用?
- 6)**/usb/gadget/legacy/tcm_usb_gadget.c -这是用于一个传统的 USB 大容量存储设备小工具?
我要提问的 Linux-RT 树中的清单已随附
Jim、您好!
- 1)* dwc3/gadget。{c & h}-这些不会在 AM6442中使用、因为 Cadence cdns3 USB 控制器仅在 AM64x 中使用?
正确。
- 2)* cdns3/*gadget。{c & h}-这些都应该与 AM6442 USB 设备小工具一起使用
正确。 (这些是用于 USB 小工具/设备/外设模式的 AM6442 USB 控制器驱动程序。)
-3)*/usr/include/linux/usb/raw_gadget.{c & h}可以根据旧版 docs.kernel.org/.../raw-gadget.html 使用 、但只能用于开发?
不确定。 我从未涉及过这些文件。
[报价 userid="576793" url="~/support/processors-group/processors/f/processors-forum/1398773/am6442-am64x-linux-v9-2-sdk---please-clarify-certain-gadget-files-in-release ]- 4)*/ musb_gadget。{c & h}-这些只能由 USB 主机驱动程序用于 USB OTG 外设?不在 AM64x 上使用。 这用于 MUSB 控制器、例如在 AM335x 上使用。
[报价 userid="576793" url="~/support/processors-group/processors/f/processors-forum/1398773/am6442-am64x-linux-v9-2-sdk---please-clarify-certain-gadget-files-in-release ]-5)*/ cdnsp-gadget。{c & h}-这些只能由驱动 USB 双角色设备(DRD)外设的 USB 主机使用?不在 AM64x 上使用。 我想这适用于 CDN-P USB 控制器、没有任何 TI 处理器使用此控制器。
- 6)*/usb/gadget/legacy/tcm_usb_gadget.c -由传统 USB 大容量存储设备小工具使用?
不熟悉此小工具驱动程序。 第二行显示"基于目标的 USB-Gadget"、但我不确定"目标"是什么。 我通常对传统的 USB 大容量存储小工具使用 mass_storage.c。
纸槽:
非常有价值的反馈、它可以帮助我选择用于小工具部署的内容!
我想建议使用这些 USB 伪影 AM6442 Linux SDK v10 (在 Linux 6.6基础上)以下内容
1) 1)如果 AM64x 中没有 DWC3 USB 控制器、请从分布中删除(除非存在依赖项)。
2)保持,因为 这些是 USB 小工具支持需要
3) 3)必须有一段关于 TI 为什么在产品中保留了这些内容的历史-如果仍需要在构建中、您可以查看(建议 Nishanth Menon、Vignesh Raghavendra、Roger Quadros)吗? 根据我包括的超链接 URL:
"原始小工具目前是一个严格的调试功能,不应该在生产中使用。 改用 GadgetFS。
使用 CONFIG_USB_RAW_GADGET 启用。"
4) 4)如果此 MUSB 控制器不在 AM64x 中 、请 从发行版中删除(除非存在依赖项)。 (很旧)
5) 5) 当 TI 许可 cdns3 USB 控制器 IP 时、其中包含了参考。 想知道是否存在任何依赖关系? 值得一看
6) 6)良好反馈-我打赌、我标记的许多剩余.c 文件可能是从整体6.1发行版中转移过来的、不适用于 AM64x。
如果他们在将不适用的小工具纳入 AM64x Linux SDK 之前筛选出不适用的小工具源、会很有帮助、否则像我这样的人会想知道"为什么我需要这些小工具"、这样可以减少混淆。
如果 A53上的 AM64x Linux 不支持旧的 TI USB 小工具或主机控制器、请尽力指示客户不要使用这些小工具。 或许在 AM64X Academy 中的 Linux 和 USB 下。 {请注意、MCU+SDK 团队还应检查是否还有旧的工件}
中的内容
吉姆
纸槽:
在5) 我已经追溯了在 cdns3-gadget,c 上的包含树的相互依赖;有需要包含 CDN 2. -trace.h、它本身包括 cdnsp-gadget.h 和 cdnsp-debug.h --因此 cdns3-gadget*在 cdnsp* 和 CDN 上存在相互依赖关系 2. *。
Jim、您好!
[报价用户 id="576793" url="~/support/processors-group/processors/f/processors-forum/1398773/am6442-am64x-linux-v9-2-sdk---please-clarify-certain-gadget-files-in-release/5353400 #5353400"]1)如果 AM64x 中没有 DWC3 USB 控制器、请从发行版中删除(除非有依赖项)。上游内核对所有 TI K3处理器使用单个内核 defconfig、因此 SDK 不会对每个 K3器件进行自定义构建。 但我们可以改进的一点是记录每个 USB 控制器需要哪些 Kconfig 选项。
[报价 userid="576793" url="~/support/processors-group/processors/f/processors-forum/1398773/am6442-am64x-linux-v9-2-sdk---please-clarify-certain-gadget-files-in-release/5353400 #5353400"]3) 3)必须有一段关于 TI 为什么在产品中保留了这些内容的历史-如果仍需要在构建中、您可以查看(建议 Nishanth Menon、Vignesh Raghavendra、Roger Quadros)吗? 根据我包括的超链接 URL:
"原始小工具目前是一个严格的调试功能,不应该在生产中使用。 改用 GadgetFS。
使用 CONFIG_USB_RAW_GADGET 启用。"
[报价]如上所述、SDK 内核是使用 arch/arm64/configs/defconfig 以及 kernel/configs/ti_arm64_prune.config 构建的。它不会自定义非 TI SoC 相关选项。
[报价 userid="576793" url="~/support/processors-group/processors/f/processors-forum/1398773/am6442-am64x-linux-v9-2-sdk---please-clarify-certain-gadget-files-in-release/5353400 #5353400"]4)如果此 MUSB 控制器不在 AM64x 中 、请 从发行版中删除(除非有依赖项)。 (旧)是的、在任何 K3器件上均未使用 MUSB 控制器。 应该禁用它的驱动器。 我将向软件开发团队提交请求单。
如果他们在将不适用的小工具源纳入 AM64x Linux SDK 之前筛选出这些源、将会很有帮助、否则像我这样的人就会想知道"为什么需要这些小工具"、从而减少混淆。
嗯、USB 小工具驱动程序不依赖于 USB 控制器。 有人可能仍希望在 TI 处理器上使用 tcm_usb_gadget。
如果 A53上的 AM64X Linux 不支持旧的 TI USB 小工具或主机控制器、请尽力指示客户不要使用这些工具。 [报价]感谢您的反馈、我们将在文档中澄清这一点。
[/quote]on 5) 我已经追溯了 cdns3-gadget,c 上包含树的相互依赖关系;需要包含 CDN 2. -trace.h、它本身包括 cdnsp-gadget.h 和 cdnsp-debug.h --因此 cdns3-gadget*在 cdnsp* 和 CDN 上存在相互依赖关系 2. *。 [报价]请详细说明。 我不听从您的消息。
bin:我查看了 cdns3-gadget,c 源代码-并跟踪了#include 条目。 当您单步执行生成的下游.h 文件及其#include 时,我看到 cdnsp-gadget.h 和 cdnsp-debug.h 都在 include 的层次结构 中;因此,在我最初的问题5) cdnsp-gadget.{c & h }上,我们可以推断 Cadence cdns3*源代码对构建中存在的 Cadence cdnsp*源代码有依赖性。
我想您已经确定了 AM64x Linux 10.1 SDK 版本(因为10.0今天刚刚发布)和 AM64x Linux Academy 更新的操作、因此如果您同意、我们可以认为此问题已解决。
谢谢
吉姆
Jim、您好!
我通常不会查看*。[ch]文件级别中的依赖项、而是关注 Kconfig 选项。 因为*.[ch]文件的包含/排除由.config 中的 Kconfig 选项控制。
我们将更新文档以说明每个器件(AM64x、AM62x、AM62Ax、AM62Px……)需要哪些 Kconfig 选项。