Hi, all:
Eventually we were able to bring the imx6d (MCIMX6D5) silicon on our module. One more thing which needs your kind clarification: why the Recovery mode is required for register read thru JTAG? More details follow below.
We found that we have to set the imx6 SoC to "recovery mode" thru its hardware strapping when we attempt to bring the chip up with GDB over the JTAG ICE. Without setting the SoC to Recovery mode in its hardware strapping, we will only be able to write the registers; any read access to the registers leads to errors.
Here is an example of GDB session thru JTAG, where the imx6 SoC in Recover mode so we can read/write the registers (see last line below):
(gdb) source rom5420b1.gdb
Resetting target
Sleep 1000ms
Writing 0x00000030 @ address 0x020BC000
...
Writing 0x000000FB @ address 0x020C4060
Writing register (F0 = 0x000000D3)
Writing register (SP = 0x0093FF20)
Writing register (PC = 0x17800000)
(gdb) x /wx 0x10000000
0x10000000: 0x00000042
If imx6 is not in Recovery mode, we will always get read errors like this:
(gdb) x /wx 0x10000000
0x10000000: (FAILED)