Am 20.06.2011 01:13 schrieb Michael Karcher:
The currently unreferenced function in sharplhf00l04.c does a standard FWH block protection reset (writes 0 to the protection register) and a standard FWH block erase.
The locking blocks of the FWH block lock cover 128KB areas, and thats the only thing page_size is used for in the functions referenced in the LHF00L04 entry.
My datasheet talks about 8 kB sectors and 64 kB blocks in "Figure 3. Memory Map", but "Table 8. FWH Flash Registers Configuration Map" only mentions registers for the 8 kB sectors in the top 64 kB block explicitly. "Table 8" also mentions "XX002H Whole Block Lock Register" as generic placeholder, and AFAICS those two X mean you have one block lock register for each of the 15 bottom 64 kB blocks and one for each of the 8 top 8 kB sectors. That also means the 82802ab unlocking as is can't be used.
I was unable to find any 128 kB reference in my datasheet, so I'm going to Nack that part.
Finally, this adds a comment that there are non-volatile (flash memory) lock bits for 8 sectors in the last 64KB. They are write-only and clearable at once. Readback seems unsupported.
I have a slightly different interpretation of the datasheet (see above), so I'm not sure how to proceed.
Signed-off-by: Michael Karcher email@example.com
Killing sharplhf00l04.c is a good thing, though, so that part is Acked-by: Carl-Daniel Hailfinger firstname.lastname@example.org