
On Tuesday, April 23, 2013 10:17:38 PM, Benoît Thébaudeau wrote:
IIM:
- Homogenize prg_p naming (the reference manuals are not always
self-consistent for that).
- Add missing SCSx and bank registers.
- Fix the number of banks on i.MX53.
OCOTP:
- Rename iim to ocotp in order to avoid confusion.
- Rename fuse_data to read_fuse_data, and sticky to sw_sticky, according to
the reference manual.
- Merge the existing spinoff gp1 fuse definition on i.MX6.
- Fix the number of banks on i.MX6.
Signed-off-by: Benoît Thébaudeau benoit.thebaudeau@advansee.com
FYI, I have build- and runtime-tested this series on i.MX25/35/51/6, and build-tested it on mpc512x.
Note that the original OCOTP driver from Freescale has several bugs in the function setting the timing register: - It sets tRELAX to 15.2 ns although it should be > 16.2 ns (for 66-MHz IPG clock). - It uses DEF_RELAX instead of relax to set strobe_prog/read, i.e. it mixes ns with IPG clock cycles. The result is tPGM = 10.6 µs instead of 10 µs (but 9 µs < tPGM < 11 µs is still satisfied), and tRD = 636 ns > 36 ns. So just by chance, this does not break the hardware behavior. - It unexpectedly clears the WAIT bit-field, which has a non-zero reset value.
Best regards, Benoît