coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
flash_controller_common.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef __SOC_MEDIATEK_COMMON_FLASH_CONTROLLER_COMMON_H__
4 #define __SOC_MEDIATEK_COMMON_FLASH_CONTROLLER_COMMON_H__
5 
6 #include <spi-generic.h>
7 #include <stdint.h>
8 #include <soc/addressmap.h>
9 
10 enum {
17 
18  /* NOR flash controller commands */
21  SFLASH_PRG_CMD = 1 << 2,
24  SFLASH_AUTOINC = 1 << 7,
25  /* NOR flash commands */
29  /* DMA commands */
33  /* Dual mode */
35  SFLASH_1_1_2_READ = 0x3b
36 };
37 
38 /* register Offset */
39 struct mtk_nor_regs {
44  u32 radr[3];
47  u32 shreg[10];
48  u32 cfg[2];
50  u32 status[5];
68  u32 delsel[3];
69  u32 reserved[397];
75 };
76 check_member(mtk_nor_regs, fdma_end_dadr, 0x724);
77 
78 int mtk_spi_flash_probe(const struct spi_slave *spi, struct spi_flash *flash);
79 
80 #endif /* __SOC_MEDIATEK_COMMON_FLASH_CONTROLLER_COMMON_H__ */
check_member(mtk_nor_regs, fdma_end_dadr, 0x724)
@ SFLASH_READSTATUS
@ SFLASH_AUTOINC
@ SFLASH_WRITESTATUS
@ SFLASH_OP_WREN
@ SFLASHNAME_LENGTH
@ SFLASH_UNPROTECTED
@ SFLASH_DMA_ALIGN
@ SFLASH_COMMAND_ENABLE
@ SFLASH_PRG_CMD
@ SFLASH_DMA_TRIGGER
@ SECTOR_ERASE_CMD
@ SFLASH_READ_DUAL_EN
@ SFLASH_DMA_SW_RESET
@ SFLASH_WRBUF_SIZE
@ SFLASH_RD_TRIGGER
@ SFLASH_1_1_2_READ
@ SFLASH_DMA_WDLE_EN
@ SFLASH_POLLINGREG_US
@ SFLASH_WR_TRIGGER
@ SFLASH_WRITE_IN_PROGRESS
int mtk_spi_flash_probe(const struct spi_slave *spi, struct spi_flash *flash)
uint32_t u32
Definition: stdint.h:51