Tool/software: Linux
Hi,
We are struggling to communicate with FPGA/NVSRAM interface via GPMC due to multiple issues and clearing one by one with your team support via forum.
We are able to read FPGA/NVSRAM but filled with random values which are not expected.
Observations for FPGA interface:
================================
root@am57xx-evm:~# devmem2 0x12000784 w
/dev/mem opened.
Memory mapped at address 0xb6f07000.
Read at address 0x12000784 (0xb6f07784): 0xA330A330
root@am57xx-evm:~# devmem2 0x12000784 w 0xaaaaaaaa
/dev/mem opened.
Memory mapped at address 0xb6f2b000.
Read at address 0x12000784 (0xb6f2b784): 0xA330A330
Write at address 0x12000784 (0xb6f2b784): 0xAAAAAAAA, readback 0xAAAAAAAA
I tried to read 0x12000784 location and it is filled with 0xA330A330(remaining FPGA locations are also filled with same value: 0XA330A330). Tried to write 0xaaaaaaaa to same location 0x12000784 and able to read same value.
My Question:
1. What might be the reason for all FPGA locations filled with 0XA330A330? is FPGA not properly programmed? or timing configurations are not proper to read FPGA registers? If timings are not proper please share us the way to calculate timing parameters used to filled with device tree properties for GPMC.
Observations for NVSRAM interface:
================================
root@am57xx-evm:~# devmem2 0x13500000 w
/dev/mem opened.
Memory mapped at address 0xb6f19000.
Read at address 0x13500000 (0xb6f19000): 0x30303030
root@am57xx-evm:~# devmem2 0x13500000 w 0X55555555
/dev/mem opened.
Memory mapped at address 0xb6f9c000.
Read at address 0x13500000 (0xb6f9c000): 0x30303030
Write at address 0x13500000 (0xb6f9c000): 0x55555555, readback 0x55555555
root@am57xx-evm:~#
After power OFF and ON controller,
root@am57xx-evm:~# devmem2 0x13500000 w
/dev/mem opened.
Memory mapped at address 0xb6f88000.
Read at address 0x13500000 (0xb6f88000): 0x30303030
root@am57xx-evm:~#
I tried to read 0x13500000 location and it is filled with 0x30303030(remaining NVSRAM locations are also filled with same value: 0X30303030). Tried to write 0x55555555 to same location 0x13500000 and able to read same value but after power OFF and ON controller not able to get 0x55555555 and saw same random value 0x30303030.
My Question:
1. What might be the reason for all NVSRAM locations filled with 0X30303030? Are we really writing into NVSRAM region? Are timing configurations proper to read/write NVSRAM ? If not proper please share us the way to calculate timing parameters used to filled with device tree properties for GPMC.
Note: Tried to contact FPGA/NVSRAM device provider for timing parameters and they suggested us to go through their device manual. We didn't find any values suitable to fill device tree gpmc timing parameters.
www.microsemi.com/.../130708-proasic-sup-u-plus-u-sup-flash-family-fpgas-datasheet..
www.cypress.com/.../download...
Best Regards,
Narayanan