mirror of
				https://review.coreboot.org/flashrom.git
				synced 2025-11-04 15:10:39 +01:00 
			
		
		
		
	flashchips: Add Support for XMC XM25QU512C/XM25QU512D
Add initial support for the SPI flash chip XM25QU512C/XM25QU512D Datasheet link: https://www.xmcwh.com/uploads/808/XM25QU512C_V1.6.pdf Tested with ch341a programmer: probe, read, write, erase Change-Id: I251c66b5d3b4fc94242c2c9d6b7c0f03c1bd7d0b Signed-off-by: Kan Sun <ssunkkan@gmail.com> Reviewed-on: https://review.coreboot.org/c/flashrom/+/83243 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
This commit is contained in:
		
				
					committed by
					
						
						Anastasia Klimchuk
					
				
			
			
				
	
			
			
			
						parent
						
							1865ac28a3
						
					
				
				
					commit
					ff656e08e5
				
			
							
								
								
									
										48
									
								
								flashchips.c
									
									
									
									
									
								
							
							
						
						
									
										48
									
								
								flashchips.c
									
									
									
									
									
								
							@@ -22594,6 +22594,54 @@ const struct flashchip flashchips[] = {
 | 
			
		||||
		.voltage	= {2700, 3600},
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{
 | 
			
		||||
		.vendor		= "XMC",
 | 
			
		||||
		.name		= "XM25QU512C/XM25QU512D",
 | 
			
		||||
		.bustype	= BUS_SPI,
 | 
			
		||||
		.manufacture_id	= ST_ID,
 | 
			
		||||
		.model_id	= XMC_XM25QU512C,
 | 
			
		||||
		.total_size	= 64 * 1024,
 | 
			
		||||
		.page_size	= 256,
 | 
			
		||||
		/* supports SFDP */
 | 
			
		||||
		/* OTP: 1024B total, 256B reserved; read 0x48; write 0x42, erase 0x44, read ID 0x4B */
 | 
			
		||||
		/* FOUR_BYTE_ADDR: supports 4-bytes addressing mode */
 | 
			
		||||
		.feature_bits	= FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_4BA_ENTER_WREN
 | 
			
		||||
			| FEATURE_4BA_EAR_C5C8 | FEATURE_4BA_READ | FEATURE_4BA_FAST_READ,
 | 
			
		||||
		.tested		= TEST_OK_PREW,
 | 
			
		||||
		.probe		= PROBE_SPI_RDID,
 | 
			
		||||
		.probe_timing	= TIMING_ZERO,
 | 
			
		||||
		.block_erasers	=
 | 
			
		||||
		{
 | 
			
		||||
			{
 | 
			
		||||
				.eraseblocks = { {4 * 1024, 16384} },
 | 
			
		||||
				.block_erase = SPI_BLOCK_ERASE_21,
 | 
			
		||||
			}, {
 | 
			
		||||
				.eraseblocks = { {4 * 1024, 16384} },
 | 
			
		||||
				.block_erase = SPI_BLOCK_ERASE_20,
 | 
			
		||||
			}, {
 | 
			
		||||
				.eraseblocks = { {32 * 1024, 2048} },
 | 
			
		||||
				.block_erase = SPI_BLOCK_ERASE_52,
 | 
			
		||||
			}, {
 | 
			
		||||
				.eraseblocks = { {64 * 1024, 1024} },
 | 
			
		||||
				.block_erase = SPI_BLOCK_ERASE_DC,
 | 
			
		||||
			}, {
 | 
			
		||||
				.eraseblocks = { {64 * 1024, 1024} },
 | 
			
		||||
				.block_erase = SPI_BLOCK_ERASE_D8,
 | 
			
		||||
			}, {
 | 
			
		||||
				.eraseblocks = { {64 * 1024 * 1024, 1} },
 | 
			
		||||
				.block_erase = SPI_BLOCK_ERASE_60,
 | 
			
		||||
			}, {
 | 
			
		||||
				.eraseblocks = { {64 * 1024 * 1024, 1} },
 | 
			
		||||
				.block_erase = SPI_BLOCK_ERASE_C7,
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		.printlock	= SPI_PRETTYPRINT_STATUS_REGISTER_PLAIN, /* TODO: improve */
 | 
			
		||||
		.unlock		= SPI_DISABLE_BLOCKPROTECT,
 | 
			
		||||
		.write		= SPI_CHIP_WRITE256,
 | 
			
		||||
		.read		= SPI_CHIP_READ,
 | 
			
		||||
		.voltage	= {1650, 1950},
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{
 | 
			
		||||
		.vendor		= "XTX Technology Limited",
 | 
			
		||||
		.name		= "XT25F02E",
 | 
			
		||||
 
 | 
			
		||||
@@ -859,6 +859,7 @@
 | 
			
		||||
#define XMC_XM25QU256C		0x4119	/* Same as XM25QU256D */
 | 
			
		||||
#define XMC_XM25RU256C		0x4419
 | 
			
		||||
#define XMC_XM25QH512C		0x4020	/* Same as XM25QH512D */
 | 
			
		||||
#define XMC_XM25QU512C		0x4120	/* Same as XM25QU512D */
 | 
			
		||||
#define ST_M25PX80		0x7114
 | 
			
		||||
#define ST_M25PX16		0x7115
 | 
			
		||||
#define ST_M25PX32		0x7116
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user