Skip to content
Jonathan Neuschäfer edited this page Mar 13, 2021 · 10 revisions

SPI and SPI-flash access are implemented in the Flash Interface Unit (FIU).

Although NPCM750's SPI controller is also called FIU, it uses an incompatible register layout.

Registers

FIU has the following registers at 0xc8000000:

offset type name description
0x00 u8 FIU_CFG FIU configuration
0x01 u8 BURST_CFG Burst configuration
0x02 u8 RESP_CFG FIU response configuration
0x03 u8 CFBB_PROT Core firmware boot block protection
0x04 u16 FWIN1_LOW Flash Access Windows 1, low limit
0x06 u16 FWIN1_HIGH Flash Access Windows 1, high limit
0x08 u16 FWIN2_LOW Flash Access Windows 2, low limit
0x0a u16 FWIN2_HIGH Flash Access Windows 2, high limit
0x0c u16 FWIN3_LOW Flash Access Windows 3, low limit
0x0e u16 FWIN3_HIGH Flash Access Windows 3, high limit
0x10 u8 PROT_LOCK Protection lock
0x11 u8 PROT_CLEAR Protection and lock clear
0x14 u8 SPI_FL_CFG SPI flash configuration
0x16 u8 UMA_CODE UMA code byte
0x17 u8 UMA_AB0 UMA Address Byte 0
0x18 u8 UMA_AB1 UMA Address Byte 1
0x19 u8 UMA_AB2 UMA Address Byte 2
0x1a u8 UMA_DB0 UMA Data Byte 0
0x1b u8 UMA_DB1 UMA Data Byte 1
0x1c u8 UMA_DB2 UMA Data Byte 2
0x1d u8 UMA_DB3 UMA Data Byte 3
0x1e u8 UMA_CTS UMA control and status
0x1f u8 UMA_ECTS UMA extended control and status

FIU_CFG - FIU configuration

This 8-bit field contains the size of the flash (in units of 512KiB).

BURST_CFG - Burst configuration

bits description
5:4 write burst
3:2 read burst

RESP_CFG - FIU response configuration

bits description
1 INT_EN
0 IAD_EN

FWIN* - Flash Access Window configuration

Three windows into the flash can be configured:

window MMIO address
1 ?
2 ?
3 ?

The flash access windows are configured through FWINx_LOW and FWINx_HIGH, in units of 4096 bytes.

References

Clone this wiki locally