mirror of
				https://github.com/esp8266/Arduino.git
				synced 2025-11-03 14:33:37 +03:00 
			
		
		
		
	* Move the spi vendor list from Esp.h to its own header in eboot. * Fix ifdef issue with spi_vendors.h * Add initFlashQuirks() for any chip specific flash initialization. Called from user_init(). * namespace experimental for initFlashQuirks() * Slow down flash access during eboot firmware copy Part 1 - still some work to do * Slow down flash access during eboot firmware copy on XMC chips Part 2 - Identify the chip type. Note: there may still be issues with the access speed change. This is very much experimental. * Commit eboot.elf Co-authored-by: Develo <deveyes@gmail.com> Co-authored-by: Earle F. Philhower, III <earlephilhower@yahoo.com>
		
			
				
	
	
		
			64 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 spi_vendors.h - Vendor IDs for SPI chips
 | 
						|
 Copyright (c) 2019 Mike Nix. All rights reserved.
 | 
						|
 This file is part of the esp8266 core for Arduino environment.
 | 
						|
 | 
						|
 This library is free software; you can redistribute it and/or
 | 
						|
 modify it under the terms of the GNU Lesser General Public
 | 
						|
 License as published by the Free Software Foundation; either
 | 
						|
 version 2.1 of the License, or (at your option) any later version.
 | 
						|
 | 
						|
 This library is distributed in the hope that it will be useful,
 | 
						|
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
						|
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | 
						|
 Lesser General Public License for more details.
 | 
						|
 | 
						|
 You should have received a copy of the GNU Lesser General Public
 | 
						|
 License along with this library; if not, write to the Free Software
 | 
						|
 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef __SPI_VENDORS_H__
 | 
						|
#define __SPI_VENDORS_H__
 | 
						|
 | 
						|
// Vendor IDs taken from Flashrom project
 | 
						|
// https://review.coreboot.org/cgit/flashrom.git/tree/flashchips.h?h=1.0.x
 | 
						|
// Moved here from ../../cores/esp8266/Esp.h
 | 
						|
typedef enum {
 | 
						|
    SPI_FLASH_VENDOR_ALLIANCE    = 0x52,    /* Alliance Semiconductor */
 | 
						|
    SPI_FLASH_VENDOR_AMD         = 0x01,    /* AMD */
 | 
						|
    SPI_FLASH_VENDOR_AMIC        = 0x37,    /* AMIC */
 | 
						|
    SPI_FLASH_VENDOR_ATMEL       = 0x1F,    /* Atmel (now used by Adesto) */
 | 
						|
    SPI_FLASH_VENDOR_BRIGHT      = 0xAD,    /* Bright Microelectronics */
 | 
						|
    SPI_FLASH_VENDOR_CATALYST    = 0x31,    /* Catalyst */
 | 
						|
    SPI_FLASH_VENDOR_EON         = 0x1C,    /* EON Silicon Devices, missing 0x7F prefix */
 | 
						|
    SPI_FLASH_VENDOR_ESMT        = 0x8C,    /* Elite Semiconductor Memory Technology (ESMT) / EFST Elite Flash Storage */
 | 
						|
    SPI_FLASH_VENDOR_EXCEL       = 0x4A,    /* ESI, missing 0x7F prefix */
 | 
						|
    SPI_FLASH_VENDOR_FIDELIX     = 0xF8,    /* Fidelix */
 | 
						|
    SPI_FLASH_VENDOR_FUJITSU     = 0x04,    /* Fujitsu */
 | 
						|
    SPI_FLASH_VENDOR_GIGADEVICE  = 0xC8,    /* GigaDevice */
 | 
						|
    SPI_FLASH_VENDOR_HYUNDAI     = 0xAD,    /* Hyundai */
 | 
						|
    SPI_FLASH_VENDOR_INTEL       = 0x89,    /* Intel */
 | 
						|
    SPI_FLASH_VENDOR_ISSI        = 0xD5,    /* ISSI Integrated Silicon Solutions, see also PMC. */
 | 
						|
    SPI_FLASH_VENDOR_MACRONIX    = 0xC2,    /* Macronix (MX) */
 | 
						|
    SPI_FLASH_VENDOR_NANTRONICS  = 0xD5,    /* Nantronics, missing prefix */
 | 
						|
    SPI_FLASH_VENDOR_PMC         = 0x9D,    /* PMC, missing 0x7F prefix */
 | 
						|
    SPI_FLASH_VENDOR_PUYA        = 0x85,    /* Puya semiconductor (shanghai) co. ltd */
 | 
						|
    SPI_FLASH_VENDOR_SANYO       = 0x62,    /* Sanyo */
 | 
						|
    SPI_FLASH_VENDOR_SHARP       = 0xB0,    /* Sharp */
 | 
						|
    SPI_FLASH_VENDOR_SPANSION    = 0x01,    /* Spansion, same ID as AMD */
 | 
						|
    SPI_FLASH_VENDOR_SST         = 0xBF,    /* SST */
 | 
						|
    SPI_FLASH_VENDOR_ST          = 0x20,    /* ST / SGS/Thomson / Numonyx (later acquired by Micron) */
 | 
						|
    SPI_FLASH_VENDOR_SYNCMOS_MVC = 0x40,    /* SyncMOS (SM) and Mosel Vitelic Corporation (MVC) */
 | 
						|
    SPI_FLASH_VENDOR_TENX        = 0x5E,    /* Tenx Technologies */
 | 
						|
    SPI_FLASH_VENDOR_TI          = 0x97,    /* Texas Instruments */
 | 
						|
    SPI_FLASH_VENDOR_TI_OLD      = 0x01,    /* TI chips from last century */
 | 
						|
    SPI_FLASH_VENDOR_WINBOND     = 0xDA,    /* Winbond */
 | 
						|
    SPI_FLASH_VENDOR_WINBOND_NEX = 0xEF,    /* Winbond (ex Nexcom) serial flashes */
 | 
						|
    SPI_FLASH_VENDOR_XMC         = 0x20,    /* Wuhan Xinxin Semiconductor Manufacturing Corp */
 | 
						|
 | 
						|
    SPI_FLASH_VENDOR_UNKNOWN     = 0xFF
 | 
						|
} SPI_FLASH_VENDOR_t;
 | 
						|
 | 
						|
#endif // __SPI_VENDORS_H__
 |