2417355_zh-CN

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2417355_zh-CN

2417355_zh-CN

[lf_v2026.04]uboot-imx 补丁修复了 fsl_lpspi 中的多块传输问题

你好,

在 i.MX93 上使用 lf_v2025.04 的 uboot-imx 中,通过 fsl_lpspi 进行 SPI 传输
当一个完整的 FIFO 块紧跟在另一个块之后时,例如使用 SPI TPM 时,就会发生故障:

=> tpm2 获取功能 0x6 0x100 $loadaddr 20
lpspi_xfer_single:接收超时!

根本原因:spi_xfer_single() 在每个块之后都会额外排队一个 TCR。
该命令占用 TX FIFO 条目,并且只有在延迟一段时间后才会加载。
如果下一个数据块在此之前开始,则一个数据字将不被接受。
RX 循环会一直等待直到超时。

附件中的系列补丁修复了这个问题(也适用于 lf_v2026.04):

将 FSR TXCOUNT/RXCOUNT 掩码加宽 1/3(适用于 FIFO 更深的器件)
2/3 修复多块传输(实际修复)
3/3 将 spi_xfer_single() 改为静态函数(功能无变化)

在带有 SPI TPM 2.0(GPIO 片选)的 i.MX93 板上进行了测试。
注意:新代码最终仅在片选信号被复用为 GPIO 时才会取消置位。
但我们并未对此进行全面核实。

如果能将此功能纳入未来的 uboot-imx 版本中就太好了。

谢谢,并致以最诚挚的问候!
第谷·基希纳
--
emlix GmbH
总部:德国哥廷根市,柏林大街12号,邮编37073
电话:+49 (0)551 30664-0,电子邮件:[email protected]
哥廷根地方法院,登记号 HR B 3160
董事总经理:Heike Jordan、Uwe Kracke 博士
增值税号:DE 205 198 055
柏林办事处:Panoramastr.德国柏林 10178 号 1 号
波恩办事处:Bachstr.德国波恩 53115 6 号
慕尼黑办事处:Am Knie 16, 81241 München, 德国
http://www.emlix.com

emlix——您的嵌入式Linux合作伙伴


PS:
@xiaoningwang似乎是原作者,或许您可以看看。

タグ(1)
評価なし
バージョン履歴
最終更新日:
木曜日
更新者: