<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[合众恒跃：T536-F-EVM LBC 读 FPGA 一直 DMA RX timeout]]></title><description><![CDATA[<p dir="auto">大家好，我在测试 T536-F-EVM 板载 FPGA 的 LBC 通信，遇到 DMA 读超时问题，想确认设备树和 LBC 时序配置是否正确。</p>
<p dir="auto">环境</p>
<ul>
<li>开发板：T536-F-EVM</li>
<li>SoC：T536，4 核 A55 + E907</li>
<li>SDK：tina_t536_v1.1</li>
<li>内核：linux-5.10-origin</li>
<li>板级配置：HZ-T536-F_EVM</li>
<li>FPGA 固件：fpga_top_3.sfc</li>
<li>MD5：6333f10097dfaf3c415bc51f2e5ac241</li>
</ul>
<p dir="auto">现象</p>
<p dir="auto">官方 Linux 固件下测试 lbc_dma_demo，LBC 初始化就失败。</p>
<p dir="auto">我重新编译修改后的镜像后，LBC 可以 probe 和初始化，但读 FPGA 寄存器仍然 DMA RX timeout。</p>
<p dir="auto">启动日志：</p>
<p dir="auto">sunxi-lbc 2810000.lbc-controller: local bus driver probe, version 1.0.5<br />
sunxi-lbc 2810000.lbc-controller: start addr 0x10000000 , size 0x8000000<br />
sunxi-lbc 2810000.lbc-controller: lbc-io-vol 1800000<br />
sunxi-lbc 2810000.lbc-controller: dma alloc coherent done<br />
sunxi-lbc 2810000.lbc-controller: local bus driver probe ok ...</p>
<p dir="auto">读测试：</p>
<p dir="auto">./lbc_dma_reg_read 0x0 0x4 0x1c</p>
<p dir="auto">结果：</p>
<p dir="auto">[0x0000] read failed: ret=-1 errno=Bad address<br />
[0x0004] read failed: ret=-1 errno=Bad address<br />
[0x001c] read failed: ret=-1 errno=Bad address</p>
<p dir="auto">dmesg：</p>
<p dir="auto">file dma rx start: CCR=0x84030250 CSR=0x00001004 IRPR=0x00000040 IODLR=0x00000100 AR=0x00000000 STATUS=0x00000000 FSM=0x00000000<br />
file dma rx timeout: CCR=0x84030250 CSR=0x00001004 IRPR=0x00000040 IODLR=0x00000100 AR=0x00000000 STATUS=0x00000001 FSM=0x00020000<br />
sunxi_lbc_read[1247]: dma rx time out</p>
<p dir="auto">已做修改</p>
<ul>
<li>FPGA reset 改为 PB6 / GPIO38，由 hzhy-fpga-load 控制，避免和 LBC 驱动抢 GPIO。</li>
<li>LBC 驱动里在 read 前明确设置 LBC_READ，write 前设置 LBC_WRITE。</li>
<li>测试过 PG9 direct-gpio 读方向高低电平，现象不变。</li>
</ul>
<p dir="auto">补充</p>
<p dir="auto">DMA 写测试可以返回成功：</p>
<p dir="auto">./lbc_dma_reg_write 0x14 0x00000001</p>
<p dir="auto">[0x0014] wrote bytes 01 00 00 00 value=0x00000001 driver_ret=0</p>
<p dir="auto">因此看起来 LBC 不是完全不工作，主要是读方向等不到 FPGA 的 READY 或返回数据。</p>
<p dir="auto">想请教：</p>
<ol>
<li>T536-F-EVM 板载 FPGA 的 LBC 设备树是否和全志手册有差异？</li>
<li>PG9 direct-gpio 在这个板子上读写极性应该怎么配置？</li>
<li>官方 Linux 固件下 lbc_dma_demo 初始化失败，是否说明默认 DTS/驱动没有适配 T536-F-EVM 板载 FPGA？</li>
</ol>
]]></description><link>https://bbs.aw-ol.com/topic/7043/合众恒跃-t536-f-evm-lbc-读-fpga-一直-dma-rx-timeout</link><generator>RSS for Node</generator><lastBuildDate>Tue, 23 Jun 2026 17:12:02 GMT</lastBuildDate><atom:link href="https://bbs.aw-ol.com/topic/7043.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 18 Jun 2026 07:49:29 GMT</pubDate><ttl>60</ttl></channel></rss>