AnsweredAssumed Answered

Why SRAM of NAND FCM can't be modified on P1010?

Question asked by Ming SJ on Apr 15, 2016
Latest reply on Apr 21, 2016 by Ming SJ



We have a P1010RDB and our own PCB design which is very similar to the P1010RDB.


The processor on P1010RDB is P1010E(rev1.0), our board is P1010(rev2.1) whick has no E(security)

We have checked the Processor version register (PVR) and system version register (SVR) in u-boot:


=> md ffee00a0

ffee00a0: 80212151 80f90010 00000010 00000000    .!!Q............

ffee00b0: 00000000 00000000 00000000 00000000    ................

Our board

=> md ffee00a0

ffee00a0: 80212152 80f10020 00000010 00000000    .!!R... ........

ffee00b0: 00000000 00000000 00000000 00000000    ................


Because u-boot cann’t detect the nand chip on our board,we tried many ways to solve the problem,finally we find maybe something is wrong with the SRAM buffer used by NAND FCM.The datasheet says:“Read and write accesses to IFC banks controlled by NAND FCM do not access attached NAND flash EEPROMs directly. Rather, these accesses read and write the buffer RAM (a single, shared 16-KB space internal to the IFC and mapped by the base address of

every NAND FCM bank).” With codewarrior and usb tap,we find we can modified the sram buffer on P1010RDB,but we cannt do this on our board because the sram is all zero.


Here is our step:

1 codewarrior version(evaluation)

- CodeWarrior for Power Architecture

          Version: 10.5.0

          Build Id:150709

2 create a new bareboard project,select board P1010RDB.

3 change nothing.

4 build the project.

5 connect the USB TAP to P1010RDB,start debug,the program stop at the main entrypoint.

6 check the memory 0xEFA00000( sram buffer) in the memory view,the data are random.We can modify addr 0x0(DDR) and 0xEFA000000(SRAM):

7 use the same project with our board,we find the memory 0xEFA00000( sram buffer) is filled all zero,and we can modify addr 0x0(DDR) , we cann’t modify 0xEFA00000(SRAM).


We also create a new project which select board P1010RDB-PB,but all is the same.


We are sure the NAND chip is not relevant,because after we modified the P1010RDB-PB_init_core.tcl and make CS2 to NAND FCM( nothing is conned to CS2 on P1010RDB and our board),all is the same.


We rechecked the datasheet and didn’t find some useful information. So,What can we do next? Maybe there is some difference between P1010 and P1010E? Maybe we missed some important step?


If you have any ideas please help us, and thanks!