[U-Boot] flash_real_protect() and CFI_CMDSET_AMD_STANDARD

Timur Tabi timur at freescale.com
Fri May 14 21:17:44 CEST 2010


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.

-- 
Timur Tabi
Linux kernel developer at Freescale


More information about the U-Boot mailing list