mxc: ocotp fix hole in shadow registers
authorPeng Fan <Peng.Fan@freescale.com>
Wed, 26 Aug 2015 07:40:47 +0000 (15:40 +0800)
committerStefano Babic <sbabic@denx.de>
Wed, 2 Sep 2015 13:39:51 +0000 (15:39 +0200)
commit7296a023580f3cf1e386d6924b226bc1f4db2217
treef0cb7d5ef6e0defdd64b23c80534a1a01a925dc3
parent9b6f0fb42d44a7fa2a0c6653b4d389cb9f2042f0
mxc: ocotp fix hole in shadow registers

There is a hole in shadow registers address map of size 0x100
between bank 5 and bank 6 on iMX6QP, iMX6DQ, iMX6SDL, iMX6SX and iMX6UL.
Bank 5 ends at 0x6F0 and Bank 6 starts at 0x800. When reading the fuses,
we should account for this hole in address space.

Similar hole exists between bank 14 and bank 15 of size
0x80 on iMX6QP, iMX6DQ, iMX6SDL and iMX6SX.
Note: iMX6SL has only 0-7 banks and there is no hole.
Note: iMX6UL doesn't have this one.

When reading, we use register offset, so need to account for holes
to get the correct address.
When writing, we use bank/word index, there is no need to account
for holes, always use bank/word index from fuse map.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
arch/arm/include/asm/arch-mx6/imx-regs.h
drivers/misc/mxc_ocotp.c