coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
spansion.c File Reference
#include <commonlib/helpers.h>
#include <spi_flash.h>
#include <spi-generic.h>
#include "spi_flash_internal.h"
Include dependency graph for spansion.c:

Go to the source code of this file.

Macros

#define CMD_S25FLXX_READ   0x03 /* Read Data Bytes */
 
#define CMD_S25FLXX_FAST_READ   0x0b /* Read Data Bytes at Higher Speed */
 
#define CMD_S25FLXX_READID   0x90 /* Read Manufacture ID and Device ID */
 
#define CMD_S25FLXX_WREN   0x06 /* Write Enable */
 
#define CMD_S25FLXX_WRDI   0x04 /* Write Disable */
 
#define CMD_S25FLXX_RDSR   0x05 /* Read Status Register */
 
#define CMD_S25FLXX_WRSR   0x01 /* Write Status Register */
 
#define CMD_S25FLXX_PP   0x02 /* Page Program */
 
#define CMD_S25FLXX_SE   0xd8 /* Sector Erase */
 
#define CMD_S25FLXX_BE   0xc7 /* Bulk Erase */
 
#define CMD_S25FLXX_DP   0xb9 /* Deep Power-down */
 
#define CMD_S25FLXX_RES   0xab /* Release from DP, and Read Signature */
 
#define SPSN_ID_S25FL008A   0x0213
 
#define SPSN_ID_S25FL016A   0x0214
 
#define SPSN_ID_S25FL032A   0x0215
 
#define SPSN_ID_S25FL064A   0x0216
 
#define SPSN_ID_S25FL128S   0x0219
 
#define SPSN_ID_S25FL128P   0x2018
 
#define SPSN_ID_S25FL208K   0x4014
 
#define SPSN_ID_S25FL116K   0x4015
 
#define SPSN_ID_S25FL132K   0x4016
 
#define SPSN_ID_S25FL164K   0x4017
 
#define SPSN_EXT_ID_S25FL128P_256KB   0x0300
 
#define SPSN_EXT_ID_S25FL128P_64KB   0x0301
 
#define SPSN_EXT_ID_S25FL032P   0x4d00
 
#define SPSN_EXT_ID_S25FLXXS_64KB   0x4d01
 

Variables

static const struct spi_flash_part_id flash_table_ext []
 
static const struct spi_flash_part_id flash_table_256k_sector []
 
static const struct spi_flash_part_id flash_table []
 
const struct spi_flash_vendor_info spi_flash_spansion_ext1_vi
 
const struct spi_flash_vendor_info spi_flash_spansion_ext2_vi
 
const struct spi_flash_vendor_info spi_flash_spansion_vi
 

Macro Definition Documentation

◆ CMD_S25FLXX_BE

#define CMD_S25FLXX_BE   0xc7 /* Bulk Erase */

Definition at line 19 of file spansion.c.

◆ CMD_S25FLXX_DP

#define CMD_S25FLXX_DP   0xb9 /* Deep Power-down */

Definition at line 20 of file spansion.c.

◆ CMD_S25FLXX_FAST_READ

#define CMD_S25FLXX_FAST_READ   0x0b /* Read Data Bytes at Higher Speed */

Definition at line 11 of file spansion.c.

◆ CMD_S25FLXX_PP

#define CMD_S25FLXX_PP   0x02 /* Page Program */

Definition at line 17 of file spansion.c.

◆ CMD_S25FLXX_RDSR

#define CMD_S25FLXX_RDSR   0x05 /* Read Status Register */

Definition at line 15 of file spansion.c.

◆ CMD_S25FLXX_READ

#define CMD_S25FLXX_READ   0x03 /* Read Data Bytes */

Definition at line 10 of file spansion.c.

◆ CMD_S25FLXX_READID

#define CMD_S25FLXX_READID   0x90 /* Read Manufacture ID and Device ID */

Definition at line 12 of file spansion.c.

◆ CMD_S25FLXX_RES

#define CMD_S25FLXX_RES   0xab /* Release from DP, and Read Signature */

Definition at line 21 of file spansion.c.

◆ CMD_S25FLXX_SE

#define CMD_S25FLXX_SE   0xd8 /* Sector Erase */

Definition at line 18 of file spansion.c.

◆ CMD_S25FLXX_WRDI

#define CMD_S25FLXX_WRDI   0x04 /* Write Disable */

Definition at line 14 of file spansion.c.

◆ CMD_S25FLXX_WREN

#define CMD_S25FLXX_WREN   0x06 /* Write Enable */

Definition at line 13 of file spansion.c.

◆ CMD_S25FLXX_WRSR

#define CMD_S25FLXX_WRSR   0x01 /* Write Status Register */

Definition at line 16 of file spansion.c.

◆ SPSN_EXT_ID_S25FL032P

#define SPSN_EXT_ID_S25FL032P   0x4d00

Definition at line 35 of file spansion.c.

◆ SPSN_EXT_ID_S25FL128P_256KB

#define SPSN_EXT_ID_S25FL128P_256KB   0x0300

Definition at line 33 of file spansion.c.

◆ SPSN_EXT_ID_S25FL128P_64KB

#define SPSN_EXT_ID_S25FL128P_64KB   0x0301

Definition at line 34 of file spansion.c.

◆ SPSN_EXT_ID_S25FLXXS_64KB

#define SPSN_EXT_ID_S25FLXXS_64KB   0x4d01

Definition at line 36 of file spansion.c.

◆ SPSN_ID_S25FL008A

#define SPSN_ID_S25FL008A   0x0213

Definition at line 23 of file spansion.c.

◆ SPSN_ID_S25FL016A

#define SPSN_ID_S25FL016A   0x0214

Definition at line 24 of file spansion.c.

◆ SPSN_ID_S25FL032A

#define SPSN_ID_S25FL032A   0x0215

Definition at line 25 of file spansion.c.

◆ SPSN_ID_S25FL064A

#define SPSN_ID_S25FL064A   0x0216

Definition at line 26 of file spansion.c.

◆ SPSN_ID_S25FL116K

#define SPSN_ID_S25FL116K   0x4015

Definition at line 30 of file spansion.c.

◆ SPSN_ID_S25FL128P

#define SPSN_ID_S25FL128P   0x2018

Definition at line 28 of file spansion.c.

◆ SPSN_ID_S25FL128S

#define SPSN_ID_S25FL128S   0x0219

Definition at line 27 of file spansion.c.

◆ SPSN_ID_S25FL132K

#define SPSN_ID_S25FL132K   0x4016

Definition at line 31 of file spansion.c.

◆ SPSN_ID_S25FL164K

#define SPSN_ID_S25FL164K   0x4017

Definition at line 32 of file spansion.c.

◆ SPSN_ID_S25FL208K

#define SPSN_ID_S25FL208K   0x4014

Definition at line 29 of file spansion.c.

Variable Documentation

◆ flash_table

const struct spi_flash_part_id flash_table[]
static
Initial value:
= {
{
.nr_sectors_shift = 4,
},
{
.nr_sectors_shift = 5,
},
{
.nr_sectors_shift = 6,
},
{
.nr_sectors_shift = 7,
},
}
#define SPSN_ID_S25FL164K
Definition: spansion.c:32
#define SPSN_ID_S25FL116K
Definition: spansion.c:30
#define SPSN_ID_S25FL132K
Definition: spansion.c:31
#define SPSN_ID_S25FL208K
Definition: spansion.c:29

Definition at line 1 of file spansion.c.

◆ flash_table_256k_sector

const struct spi_flash_part_id flash_table_256k_sector[]
static
Initial value:
= {
{
.nr_sectors_shift = 6,
},
}
#define SPSN_ID_S25FL128P
Definition: spansion.c:28
#define SPSN_EXT_ID_S25FL128P_256KB
Definition: spansion.c:33

Definition at line 1 of file spansion.c.

◆ flash_table_ext

const struct spi_flash_part_id flash_table_ext[]
static

Definition at line 1 of file spansion.c.

◆ spi_flash_spansion_ext1_vi

const struct spi_flash_vendor_info spi_flash_spansion_ext1_vi
Initial value:
= {
.page_size_shift = 8,
.sector_size_kib_shift = 6,
.match_id_mask[0] = 0xffff,
.match_id_mask[1] = 0xffff,
.nr_part_ids = ARRAY_SIZE(flash_table_ext),
}
#define ARRAY_SIZE(a)
Definition: helpers.h:12
static const struct spi_flash_part_id flash_table_ext[]
Definition: spansion.c:38
#define VENDOR_ID_SPANSION
Definition: spi-generic.h:24
const struct spi_flash_ops_descriptor spi_flash_pp_0xd8_sector_desc
Definition: spi_flash.c:806

Definition at line 1 of file spansion.c.

◆ spi_flash_spansion_ext2_vi

const struct spi_flash_vendor_info spi_flash_spansion_ext2_vi
Initial value:
= {
.page_size_shift = 8,
.sector_size_kib_shift = 8,
.match_id_mask[0] = 0xffff,
.match_id_mask[1] = 0xffff,
}
static const struct spi_flash_part_id flash_table_256k_sector[]
Definition: spansion.c:85

Definition at line 1 of file spansion.c.

◆ spi_flash_spansion_vi

const struct spi_flash_vendor_info spi_flash_spansion_vi
Initial value:
= {
.page_size_shift = 8,
.sector_size_kib_shift = 6,
.match_id_mask[0] = 0xffff,
.ids = flash_table,
.nr_part_ids = ARRAY_SIZE(flash_table),
}
static const struct spi_flash_part_id flash_table[]
Definition: spansion.c:94

Definition at line 1 of file spansion.c.