TI中文支持网
TI专业的中文技术问题搜集分享网站

AM335X GPMC 地址数据总线复用问题

使用AM3354的GPMC总线异步方式与FPGA进行通信,用的是linux 4.4代码。

在设备树中已配置了相关引脚的复用方式。(部分引脚与NAND FLASH复用,未在此列出)

            0x20 (PIN_INPUT_PULLUP | MUX_MODE0)    /* gpmc_ad8.gpmc_ad8 */
            0x24 (PIN_INPUT_PULLUP | MUX_MODE0)    /* gpmc_ad9.gpmc_ad9 */
            0x28 (PIN_INPUT_PULLUP | MUX_MODE0)    /* gpmc_ad10.gpmc_ad10 */
            0x2c (PIN_INPUT_PULLUP | MUX_MODE0)    /* gpmc_ad11.gpmc_ad11 */
            0x30 (PIN_INPUT_PULLUP | MUX_MODE0)    /* gpmc_ad12.gpmc_ad12 */
            0x34 (PIN_INPUT_PULLUP | MUX_MODE0)    /* gpmc_ad13.gpmc_ad13 */
            0x38 (PIN_INPUT_PULLUP | MUX_MODE0)    /* gpmc_ad14.gpmc_ad14 */
            0x3c (PIN_INPUT_PULLUP | MUX_MODE0)    /* gpmc_ad15.gpmc_ad15 */
            0x84 (PIN_OUTPUT | MUX_MODE0)        /* gpmc_csn2.gpmc_csn2 */

在设备树中已设置异步方式,16位数据,address-data复用及相关的时序:

fpga@2,2 {
        reg = <2 0 0x400>;
        compatible = "fpga-dpram";
        bank-width = <2>; /* 16 bit mode */
        
        gpmc,mux-add-data = <2>; /* address-data multiplexing */
        gpmc,cs-on-ns = <0>;
        gpmc,cs-rd-off-ns = <60>;
        gpmc,cs-wr-off-ns = <60>;
        gpmc,adv-on-ns = <0>;
        gpmc,adv-rd-off-ns = <20>;
        gpmc,adv-wr-off-ns = <20>;
        gpmc,we-on-ns = <20>;
        gpmc,we-off-ns = <50>;
        gpmc,oe-on-ns = <20>;
        gpmc,oe-off-ns = <50>;
        gpmc,rd-cycle-ns = <60>;
        gpmc,wr-cycle-ns = <60>;
    };

另外将FPGA的分区设置为CS2,地址设置为0x0A00_0000, 16M。

在linux下编写了一个测试程序,将0xff写到偏移地址4H处,使用逻辑分析仪抓取波形如下:

从波形上看,只能将地址数据(0x04)发送出去,并没有正确的发送数据(0xff)。

希望能够得到解答。

zhongchen zhao:

问题已经解决。

在设备树中漏写了一项时序配置导致的。

Jian Zhou:

回复 zhongchen zhao:

是哪个时序配置?

jian sun2:

回复 zhongchen zhao:

请教个问题,

我和你使用方式一样,是直接在dts文件中添加设备节点就可以了么,还是要增加对应的驱动呢。

不太明白步骤。

另外时序问题是怎么解决的,能不能将完整的dts的配置发出来。

期待你的回复,谢谢!

chen wang6:

回复 jian sun2:

您好,楼主。请问下问题解决了吗?最近我也在接触GPMC与FPGA通信问题,可否给点经验

qingzhu wei:

回复 chen wang6:

一起交流下吗?

Yonghui Chang:

回复 zhongchen zhao:

请问您有没有写篇博客啥的,想向您请教下,刚好也在做这方面

mines:

回复 zhongchen zhao:

和楼主采用同样的方式,之前是3.8内核调试已经可以用了。现在换成4.4的部分问题想与您交流下,关键点可有偿咨询;QQ:1805385182

赞(0)
未经允许不得转载:TI中文支持网 » AM335X GPMC 地址数据总线复用问题
分享到: 更多 (0)