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.

am1707/omapl137的EMIFA寄存器在驱动程序中读写得到0

如果要设置TI的管脚复用控制寄存器PINMUX,需要先进入管理模式(准确的说是设置SYSCFG模块的大部分寄存器都需要进去管理模式,这里提到的PINMUX,KIKC,REVID都属于这个模块),然后写固定数字到KIKC0R,KIKC1R(裸机操作时读到的值也是0),然后对pinmux进行设置。
我写裸机代码的时候确实是这样操作的,而写驱动的时候,我遇到如下情况:
1 不知道如何进入管理模式(驱动本身就在管理模式中?)
2 PINMUX寄存器可以进行设置,可以正常读取REVID(无需对KIKC写操作)
3 EMIFA接口(相当于SMC)的寄存器读写都是得到0
我对寄存器操作的方式如下:
//EMA_D[1..0]
          pinmux13 = ioremap(PINMUX13,4);
          writel((readl(pinmux13) & ~(0xf << 28)) | (0x1 << 28),pinmux13);
          writel((readl(pinmux13) & ~(0xf << 24)) | (0x1 << 24),pinmux13);
谢谢!