Also I think you need to release the CSCON line (MFRConfigSel=1) after you write the initialization values and before you try to read them back.
From the DS.
The new value of the register is effective from the rising edge of CSCON.
When writing more than one register successively, it is not compulsory to toggle CSCON back high between two write sequences. The bytes are alternatively considered as address and value. In this instance, all new values will become effective on rising edge of CSCON.
Bookmarks