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.

335x在dts中关于gpmc的配置



我们的板子上会用到gpmc的4个片选,我在3.14内核的dts中配置了gpmc的range,如下:

ranges = <0 0 0x08000000 0x04000000 
1 0 0x04000000 0x04000000 
2 0 0x0c000000 0x04000000 
3 0 0x10000000 0x04000000>;

片选0是nandflash,另外的是一些外设和fpga,但我在程序中去访问片选1的0x4000_0000这个地址,发现片选1没有被拉低(其他几个片选也是一样的情况),我看了片选1几个寄存器的值,如下:

[ 3.007982] gpmc cs1[1] reg val: 0x78601000
[ 3.012445] gpmc cs1[2] reg val: 0x000a1400
[ 3.016841] gpmc cs1[3] reg val: 0x22010110
[ 3.021263] gpmc cs1[4] reg val: 0x08036a13
[ 3.025658] gpmc cs1[5] reg val: 0x00091116
[ 3.030051] gpmc cs1[6] reg val: 0x80000000
[ 3.034471] gpmc cs1[7] reg val: 0x00000c44

对照了寄存器7的值,配置的地址应该是对的,但访问没有出片选信号,我很疑惑,TI的工程师能否帮忙解答一下,感激不尽!