我一直在尝试获取为 TI Sitara am335xevm 评估板创建的驱动程序。 我们删除了评估板设置附带的大多数电路板堆栈。 几个电路板模块之后、我们连接到 FPGA 评估板。
我的器件已启动并正在运行、我们有写入"工作"、但是读取访问不会为器件生成任何 GPMC 时钟或其他引脚活动。 我们希望至少看到总线上的地址被驱动。
我已将 GPMC 时钟引脚正确设置为启用输入。 这似乎是最常见的问题,但并没有向我们提出。 我们没有在 EVM 板上使用 GPMC_clk 引脚、我们有引脚多路复用器将 CSN1引脚配置为时钟(AM335X_CTRL_PADCONF_GPMC_CSN1)。 寄存器值为0x00000021。
芯片选择区域0
GPMC 配置0_1:0x79001201
GPMC 配置0_2:0x00141400
GPMC 配置0_3:0x00060604
GPMC 配置0_4:0x120c140a
GPMC 配置0_5:0x02121a14
GPMC 配置0_6:0x900a0000
GPMC 配置0_7:0x00000848
我已将其中的一些设置分解为允许我即时更改它们的命令 不用担心代码会清除配置 reg7的启用位、然后在进行任何更改后进行设置:
csOnTime:0
csWrOffTime:20
csRdOffTime:20
AdvOnTime:4
高级偏移时间:6
advRdOffTime:6
AdvExtraDelay:0
oeOnTime:12
很特别的酒店:0
oOffTime:20
weOnTime:12
特外代尔:0
WeOffTime:18
wrCyclTime:26
wrAccessTime:16
读周期时间:20
读访问时间:18
pgBurstAccess:2.
c2cDly:0
c2cSameCS:0
c2cDiffCS:0
总线收费时间:0
wrDataOnADMux:10
RD_ACC_TYPE:1
RD_TYPE:1
GPMC_DEV_pg_len:2
我不认为这是违反 GPMC FSM 时序的行为、我已经介绍了该系列器件上 GPMC 的时序规则。
我发现另一个奇怪的现象是、虽然我们的器件在附加的器件页面长度字段中配置了16个"字"访问、但我们只得到8个字的突发。 正如这里的另一个线程中所指出的、CPU 只能进行8个字的访问、EDMA 是获取16个字的唯一方法。 因此、对于 GPMC FSM、器件页长度字段似乎更多地是一个建议、而不是一个规则。 也许这是读写和写建议的规则?
请提出任何建议。