I am revising the linux kernel based on Nexus 9, of which the chipset is 64-bit Tegra K1.
I am trying to use EMC_MRW to write the mode register MR16.
The format of EMC_MRW is shown as following.
31:30 /Chip selection, 0x2 for dev0, 0x1 for dev1
27 /USE_MRW_EXT_CNT (0=select between SHORT/LONG; 1=select between EXT1/EXT2)
26 /USE_MRW_LONG_CNT (0=short,1=long)
23:16 /Register address (0x10 for MR16)
7:0 /Data to be written
Based on the above format, I tried to write MR16 with 0x401000ff, which means write to the dev0, with address of MR16, and the writing data is 0xff. However, the value of register does not change. Before I wrote, the value is 0x1b, and the value remains 0x1b after the writing.
Do you have any idea what might be the reason, please? Is it possible that the register MR16 is not activated in the chipset?
Thanks a lot!