
Konstantin Kletschke wrote:
Only after manual "protect off x:y-z" I can erase something.
That is the idea. It is supposed to work this way as far as I understand. Don't change this behavior...
Before I could _nothing_ write to the chip. Well, I could but nothing happened. Kinda hardware locked.
If you have not done already, I think you should enable hardware (real) flash protection (CFG_FLASH_PROTECTION) in your board config file.
Upon boot do you see all sectors reported (RO) if you use flinfo command?
If not, you should look at the initialization of flash_info[].protect[] within flash_get_size() which is called from flash_init().
If this array is not initialized properly, U-Boot might attempt to erase a locked sector/block incorrectly instead of bailing out nicely. I think "saveenv" would have trouble as well. If this is the case, perhaps, FLASH_OFFSET_PROTECT and FLASH_STATUS_PROTECT is not appropriate for your type of flash and you should work on a solution for this instead.
Regards, Tolunay