[U-Boot] flash_real_protect() and CFI_CMDSET_AMD_STANDARD

I'm trying to add support for AMD manufacturer ID to flash_real_protect(). The code currently does this:
case CFI_CMDSET_AMD_EXTENDED: case CFI_CMDSET_AMD_STANDARD: /* U-Boot only checks the first byte */ if (info->manufacturer_id == (uchar)ATM_MANUFACT) { ... } break;
Unfortunately, I don't really understand CFI programming that well, but from my research, it appears to me that AMD chips that implement the AMD standard command set will work with this code:
case CFI_CMDSET_INTEL_PROG_REGIONS: case CFI_CMDSET_INTEL_STANDARD: case CFI_CMDSET_INTEL_EXTENDED: flash_write_cmd (info, sector, 0, FLASH_CMD_CLEAR_STATUS); flash_write_cmd (info, sector, 0, FLASH_CMD_PROTECT); if (prot) flash_write_cmd (info, sector, 0, FLASH_CMD_PROTECT_SET); else flash_write_cmd (info, sector, 0, FLASH_CMD_PROTECT_CLEAR); break;
So I don't understand the need for Rafael Campos' patch:
http://lists.denx.de/pipermail/u-boot/2008-July/037419.html
It looks as if Rafael removed support for hardware flash protection from all AMD standard/extended flash chips that are not made by Atmel.

Hi Timur,
On Friday 14 May 2010 21:17:44 Timur Tabi wrote:
I'm trying to add support for AMD manufacturer ID to flash_real_protect(). The code currently does this:
case CFI_CMDSET_AMD_EXTENDED: case CFI_CMDSET_AMD_STANDARD: /* U-Boot only checks the first byte */ if (info->manufacturer_id == (uchar)ATM_MANUFACT) { ... } break;
Unfortunately, I don't really understand CFI programming that well, but from my research, it appears to me that AMD chips that implement the AMD standard command set will work with this code:
case CFI_CMDSET_INTEL_PROG_REGIONS: case CFI_CMDSET_INTEL_STANDARD: case CFI_CMDSET_INTEL_EXTENDED: flash_write_cmd (info, sector, 0, FLASH_CMD_CLEAR_STATUS); flash_write_cmd (info, sector, 0, FLASH_CMD_PROTECT); if (prot) flash_write_cmd (info, sector, 0, FLASH_CMD_PROTECT_SET); else flash_write_cmd (info, sector, 0, FLASH_CMD_PROTECT_CLEAR); break;
Yes, you might be correct here. I have to admit that I never used CONFIG_SYS_FLASH_PROTECTION on AMD/Spansion type FLASH chips though.
So I don't understand the need for Rafael Campos' patch:
http://lists.denx.de/pipermail/u-boot/2008-July/037419.html
It looks as if Rafael removed support for hardware flash protection from all AMD standard/extended flash chips that are not made by Atmel.
Yes, it definitely looks that way. I have missed this. Thanks for looking into this. It would be great if you could send a patch fixing this.
Thanks.
Cheers, Stefan
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office@denx.de
participants (2)
-
Stefan Roese
-
Timur Tabi