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

am335x gpmc cs基地址问题

在dts里的配置为

ranges<1 0 0x09000000 0x01000000>

reg   <1 0 0x01000000>

if ((ret = (gpmc_cs_request(GPMC_CS, SZ_4M, (unsigned long *)&mem_base))) < 0){
printk(KERN_ERR "Failed request for GPMC mem for usrp_e ret is %d.\n",ret);
return -1;
}
printk("Got CS1, address = %lx\n", mem_base);

if (!request_mem_region(mem_base, SZ_4M, "mem_fpga")) {
printk(KERN_ERR "Request_mem_region failed.\n");
gpmc_cs_free(GPMC_CS);
return -1;
}

大神们 现在问题是无论怎么设置dts里的rangesprintk打印出的 Got CS1,address的值始终是0,这个值不应该是0x09000000吗,问题可能出在哪啊

Steven Liu1:

你写的那段代码是在Linux kernel里面的吧?做了ioremap了么,没做的话可能是逻辑地址,并非实际的物理地址。

JUN HU:

回复 Steven Liu1:

      这边跑android 4.03系统,在board-xxx.c里头配置过PIN脚。NOR flash,异步读写通讯,配置的基地址是32M,内存大小是16M, gpmc_cs_request后能获取到地址,但是ioremap后writew写地址却没有任何数据输出。请教下这个可能的原因是什么?

赞(0)
未经允许不得转载:TI中文支持网 » am335x gpmc cs基地址问题
分享到: 更多 (0)