xref: /rk3399_rockchip-uboot/drivers/mtd/spi/Kconfig (revision be1ae0c9cd7b14d0efa96e64a59f8f0ee667e287)
1810fd696SJagan Tekimenu "SPI Flash Support"
2810fd696SJagan Teki
3f94a1bedSSimon Glassconfig DM_SPI_FLASH
4f94a1bedSSimon Glass	bool "Enable Driver Model for SPI flash"
5b3d023b4SMasahiro Yamada	depends on DM && DM_SPI
6f94a1bedSSimon Glass	help
7f94a1bedSSimon Glass	  Enable driver model for SPI flash. This SPI flash interface
8f94a1bedSSimon Glass	  (spi_flash_probe(), spi_flash_write(), etc.) is then
9f94a1bedSSimon Glass	  implemented by the SPI flash uclass. There is one standard
10f94a1bedSSimon Glass	  SPI flash driver which knows how to probe most chips
11f94a1bedSSimon Glass	  supported by U-Boot. The uclass interface is defined in
12f94a1bedSSimon Glass	  include/spi_flash.h, but is currently fully compatible
13f94a1bedSSimon Glass	  with the old interface to avoid confusion and duplication
14f94a1bedSSimon Glass	  during the transition parent. SPI and SPI flash must be
15f94a1bedSSimon Glass	  enabled together (it is not possible to use driver model
16f94a1bedSSimon Glass	  for one and not the other).
17949dd81bSSimon Glass
18949dd81bSSimon Glassconfig SPI_FLASH_SANDBOX
19949dd81bSSimon Glass	bool "Support sandbox SPI flash device"
20949dd81bSSimon Glass	depends on SANDBOX && DM_SPI_FLASH
21949dd81bSSimon Glass	help
22949dd81bSSimon Glass	  Since sandbox cannot access real devices, an emulation mechanism is
23949dd81bSSimon Glass	  provided instead. Drivers can be connected up to the sandbox SPI
24949dd81bSSimon Glass	  bus (see CONFIG_SANDBOX_SPI) and SPI traffic will be routed to this
25949dd81bSSimon Glass	  device. Typically the contents of the emulated SPI flash device is
26949dd81bSSimon Glass	  stored in a file on the host filesystem.
27810fd696SJagan Teki
282ce7e2b6SJagan Tekiconfig SPI_FLASH
2965555e9eSJagan Teki	bool "SPI Flash Core Interface support"
30f2313133SVignesh R	select SPI_MEM
312ce7e2b6SJagan Teki	help
3265555e9eSJagan Teki	  Enable the SPI flash Core support. This will include basic
332ce7e2b6SJagan Teki	  standard support for things like probing, read / write, and
342ce7e2b6SJagan Teki	  erasing through cmd_sf interface.
352ce7e2b6SJagan Teki
362ce7e2b6SJagan Teki	  If unsure, say N
372ce7e2b6SJagan Teki
38ee9b3572SPatrick Delaunayconfig SF_DEFAULT_BUS
39ee9b3572SPatrick Delaunay	int "SPI Flash default bus identifier"
40ee9b3572SPatrick Delaunay	depends on SPI_FLASH || DM_SPI_FLASH
41ee9b3572SPatrick Delaunay	default 0
42ee9b3572SPatrick Delaunay	help
43ee9b3572SPatrick Delaunay	  The default bus may be provided by the platform
44ee9b3572SPatrick Delaunay	  to handle the common case when only a single serial
45ee9b3572SPatrick Delaunay	  flash is present on the system.
46ee9b3572SPatrick Delaunay
47ee9b3572SPatrick Delaunayconfig SF_DEFAULT_CS
48ee9b3572SPatrick Delaunay	int "SPI Flash default Chip-select"
49ee9b3572SPatrick Delaunay	depends on SPI_FLASH || DM_SPI_FLASH
50ee9b3572SPatrick Delaunay	default 0
51ee9b3572SPatrick Delaunay	help
52ee9b3572SPatrick Delaunay	  The default chip select may be provided by the platform
53ee9b3572SPatrick Delaunay	  to handle the common case when only a single serial
54ee9b3572SPatrick Delaunay	  flash is present on the system.
55ee9b3572SPatrick Delaunay
56ee9b3572SPatrick Delaunayconfig SF_DEFAULT_MODE
57ee9b3572SPatrick Delaunay	hex "SPI Flash default mode (see include/spi.h)"
58ee9b3572SPatrick Delaunay	depends on SPI_FLASH || DM_SPI_FLASH
59ee9b3572SPatrick Delaunay	default 3
60ee9b3572SPatrick Delaunay	help
61ee9b3572SPatrick Delaunay	  The default mode may be provided by the platform
62ee9b3572SPatrick Delaunay	  to handle the common case when only a single serial
63ee9b3572SPatrick Delaunay	  flash is present on the system.
64ee9b3572SPatrick Delaunay	  Not used for boot with device tree; the SPI driver reads
65ee9b3572SPatrick Delaunay	  speed and mode from platdata values computed from
66ee9b3572SPatrick Delaunay	  available node.
67ee9b3572SPatrick Delaunay
68ee9b3572SPatrick Delaunayconfig SF_DEFAULT_SPEED
69ee9b3572SPatrick Delaunay	int "SPI Flash default speed in Hz"
70ee9b3572SPatrick Delaunay	depends on SPI_FLASH || DM_SPI_FLASH
71ee9b3572SPatrick Delaunay	default 1000000
72ee9b3572SPatrick Delaunay	help
73ee9b3572SPatrick Delaunay	  The default speed may be provided by the platform
74ee9b3572SPatrick Delaunay	  to handle the common case when only a single serial
75ee9b3572SPatrick Delaunay	  flash is present on the system.
76ee9b3572SPatrick Delaunay	  Not used for boot with device tree; the SPI driver reads
77ee9b3572SPatrick Delaunay	  speed and mode from platdata values computed from
78ee9b3572SPatrick Delaunay	  available node.
79ee9b3572SPatrick Delaunay
802359fc6fSVignesh Rif SPI_FLASH
812359fc6fSVignesh R
822359fc6fSVignesh Rconfig SPI_FLASH_SFDP_SUPPORT
832359fc6fSVignesh R	bool "SFDP table parsing support for SPI NOR flashes"
842359fc6fSVignesh R	depends on !SPI_FLASH_BAR
852359fc6fSVignesh R	help
862359fc6fSVignesh R	 Enable support for parsing and auto discovery of parameters for
872359fc6fSVignesh R	 SPI NOR flashes using Serial Flash Discoverable Parameters (SFDP)
882359fc6fSVignesh R	 tables as per JESD216 standard.
892359fc6fSVignesh R
9084d31b3bSJagan Tekiconfig SPI_FLASH_BAR
9184d31b3bSJagan Teki	bool "SPI flash Bank/Extended address register support"
9284d31b3bSJagan Teki	help
9384d31b3bSJagan Teki	  Enable the SPI flash Bank/Extended address register support.
9484d31b3bSJagan Teki	  Bank/Extended address registers are used to access the flash
9584d31b3bSJagan Teki	  which has size > 16MiB in 3-byte addressing.
9684d31b3bSJagan Teki
97988390b8SMike Looijmansconfig SF_DUAL_FLASH
98988390b8SMike Looijmans	bool "SPI DUAL flash memory support"
99988390b8SMike Looijmans	help
100988390b8SMike Looijmans	  Enable this option to support two flash memories connected to a single
101988390b8SMike Looijmans	  controller. Currently Xilinx Zynq qspi supports this.
102988390b8SMike Looijmans
103d5af9231SNikita Kiryanovconfig SPI_FLASH_ATMEL
104d5af9231SNikita Kiryanov	bool "Atmel SPI flash support"
105d5af9231SNikita Kiryanov	help
106d5af9231SNikita Kiryanov	  Add support for various Atmel SPI flash chips (AT45xxx and AT25xxx)
107d5af9231SNikita Kiryanov
108d5af9231SNikita Kiryanovconfig SPI_FLASH_EON
109d5af9231SNikita Kiryanov	bool "EON SPI flash support"
110d5af9231SNikita Kiryanov	help
111d5af9231SNikita Kiryanov	  Add support for various EON SPI flash chips (EN25xxx)
112d5af9231SNikita Kiryanov
113d5af9231SNikita Kiryanovconfig SPI_FLASH_GIGADEVICE
114d5af9231SNikita Kiryanov	bool "GigaDevice SPI flash support"
115d5af9231SNikita Kiryanov	help
116d5af9231SNikita Kiryanov	  Add support for various GigaDevice SPI flash chips (GD25xxx)
117d5af9231SNikita Kiryanov
1180d229d10SMichal Simekconfig SPI_FLASH_ISSI
1190d229d10SMichal Simek	bool "ISSI SPI flash support"
1200d229d10SMichal Simek	help
1210d229d10SMichal Simek	  Add support for various ISSI SPI flash chips (ISxxx)
1220d229d10SMichal Simek
123d5af9231SNikita Kiryanovconfig SPI_FLASH_MACRONIX
124d5af9231SNikita Kiryanov	bool "Macronix SPI flash support"
125d5af9231SNikita Kiryanov	help
126d5af9231SNikita Kiryanov	  Add support for various Macronix SPI flash chips (MX25Lxxx)
127d5af9231SNikita Kiryanov
128d5af9231SNikita Kiryanovconfig SPI_FLASH_SPANSION
129d5af9231SNikita Kiryanov	bool "Spansion SPI flash support"
130d5af9231SNikita Kiryanov	help
131d5af9231SNikita Kiryanov	  Add support for various Spansion SPI flash chips (S25FLxxx)
132d5af9231SNikita Kiryanov
133d5af9231SNikita Kiryanovconfig SPI_FLASH_STMICRO
134d5af9231SNikita Kiryanov	bool "STMicro SPI flash support"
135d5af9231SNikita Kiryanov	help
136d5af9231SNikita Kiryanov	  Add support for various STMicro SPI flash chips (M25Pxxx and N25Qxxx)
137d5af9231SNikita Kiryanov
138d5af9231SNikita Kiryanovconfig SPI_FLASH_SST
139d5af9231SNikita Kiryanov	bool "SST SPI flash support"
140d5af9231SNikita Kiryanov	help
141d5af9231SNikita Kiryanov	  Add support for various SST SPI flash chips (SST25xxx)
142d5af9231SNikita Kiryanov
143d5af9231SNikita Kiryanovconfig SPI_FLASH_WINBOND
144d5af9231SNikita Kiryanov	bool "Winbond SPI flash support"
145d5af9231SNikita Kiryanov	help
146d5af9231SNikita Kiryanov	  Add support for various Winbond SPI flash chips (W25xxx)
147d5af9231SNikita Kiryanov
148008a0f12SStefan Roeseconfig SPI_FLASH_XMC
149008a0f12SStefan Roese	bool "XMC SPI flash support"
150008a0f12SStefan Roese	help
151008a0f12SStefan Roese	  Add support for various XMC (Wuhan Xinxin Semiconductor
152008a0f12SStefan Roese	  Manufacturing Corp.) SPI flash chips (XM25xxx)
153008a0f12SStefan Roese
1545ce8a834SChris Morganconfig SPI_FLASH_XTX
1555ce8a834SChris Morgan	bool "XTX SPI flash support"
1565ce8a834SChris Morgan	help
1575ce8a834SChris Morgan	  Add support for various XTX (XTX Technology Limited)
1585ce8a834SChris Morgan	  SPI flash chips (XT25xxx).
1595ce8a834SChris Morgan
16031d4a7d0SJon Linconfig SPI_FLASH_PUYA
16131d4a7d0SJon Lin	bool "PUYA SPI flash support"
16231d4a7d0SJon Lin	help
16331d4a7d0SJon Lin	  Add support for various PUYA (PUYA Semiconductor (Shangehai) Co., Ltd)
16431d4a7d0SJon Lin	  SPI flash chips (P25Qxxx and PS25Qxxxx).
16531d4a7d0SJon Lin
166f7830e5fSJon Linconfig SPI_FLASH_FMSH
167f7830e5fSJon Lin	bool "FMSH SPI flash support"
168f7830e5fSJon Lin	help
169f7830e5fSJon Lin	  Add support for various FMSH (FUDAN MICRO (Shangehai) Co., Ltd)
170f7830e5fSJon Lin	  SPI flash chips (FM25Qxxx).
171f7830e5fSJon Lin
1724955bc0cSJon Linconfig SPI_FLASH_DOSILICON
1734955bc0cSJon Lin	bool "DOSILICON SPI flash support"
1744955bc0cSJon Lin	help
1754955bc0cSJon Lin	  Add support for various DOSILICON (Dosilicon Co., Ltd)
1764955bc0cSJon Lin	  SPI flash chips (FM25Qxxx and FM25Mxxx).
1774955bc0cSJon Lin
178e9db02a2SJon Linconfig SPI_FLASH_BOYA
179e9db02a2SJon Lin	bool "BOYA SPI flash support"
180e9db02a2SJon Lin	help
1811f301960SJon Lin	  Add support for various BOYA (BOYA Co., Ltd)
182e9db02a2SJon Lin	  SPI flash chips (BY25Qxxxx).
183e9db02a2SJon Lin
184*be1ae0c9SJon Linconfig SPI_FLASH_ZBIT
185*be1ae0c9SJon Lin	bool "ZBIT SPI flash support"
186*be1ae0c9SJon Lin	help
187*be1ae0c9SJon Lin	  Add support for various ZBIT (ZBIT Co., Ltd)
188*be1ae0c9SJon Lin	  SPI flash chips (ZB25Qxxxx).
189*be1ae0c9SJon Lin
1901f301960SJon Linconfig SPI_FLASH_NORMEM
1911f301960SJon Lin	bool "NORMEM SPI flash support"
1921f301960SJon Lin	help
1931f301960SJon Lin	  Add support for various NORMEM (NORMEM Co., Ltd)
1941f301960SJon Lin	  SPI flash chips (NM25Qxxxx).
1951f301960SJon Lin
196d5af9231SNikita Kiryanovendif
197d5af9231SNikita Kiryanov
1980a026554SMarek Vasutconfig SPI_FLASH_USE_4K_SECTORS
1990a026554SMarek Vasut	bool "Use small 4096 B erase sectors"
2000a026554SMarek Vasut	depends on SPI_FLASH
2010a026554SMarek Vasut	default y
2020a026554SMarek Vasut	help
2030a026554SMarek Vasut	  Many flash memories support erasing small (4096 B) sectors. Depending
2040a026554SMarek Vasut	  on the usage this feature may provide performance gain in comparison
2050a026554SMarek Vasut	  to erasing whole blocks (32/64 KiB).
2060a026554SMarek Vasut	  Changing a small part of the flash's contents is usually faster with
2070a026554SMarek Vasut	  small sectors. On the other hand erasing should be faster when using
2080a026554SMarek Vasut	  64 KiB block instead of 16 × 4 KiB sectors.
2090a026554SMarek Vasut
2100a026554SMarek Vasut	  Please note that some tools/drivers/filesystems may not work with
2110a026554SMarek Vasut	  4096 B erase size (e.g. UBIFS requires 15 KiB as a minimum).
2120a026554SMarek Vasut
213cd9accdcSJagan Tekiconfig SPI_FLASH_DATAFLASH
214cd9accdcSJagan Teki	bool "AT45xxx DataFlash support"
215cd9accdcSJagan Teki	depends on SPI_FLASH && DM_SPI_FLASH
216cd9accdcSJagan Teki	help
217cd9accdcSJagan Teki	  Enable the access for SPI-flash-based AT45xxx DataFlash chips.
218cd9accdcSJagan Teki	  DataFlash is a kind of SPI flash. Most AT45 chips have two buffers
219cd9accdcSJagan Teki	  in each chip, which may be used for double buffered I/O; but this
220cd9accdcSJagan Teki	  driver doesn't (yet) use these for any kind of i/o overlap or prefetching.
221cd9accdcSJagan Teki
222cd9accdcSJagan Teki	  Sometimes DataFlash is packaged in MMC-format cards, although the
223cd9accdcSJagan Teki	  MMC stack can't (yet?) distinguish between MMC and DataFlash
224cd9accdcSJagan Teki	  protocols during enumeration.
225cd9accdcSJagan Teki
226cd9accdcSJagan Teki	  If unsure, say N
227cd9accdcSJagan Teki
2287678dd93SJagan Tekiconfig SPI_FLASH_MTD
2297678dd93SJagan Teki	bool "SPI Flash MTD support"
2307aed44d5SKever Yang	depends on SPI_FLASH && MTD_BLK
2317678dd93SJagan Teki	help
2327678dd93SJagan Teki          Enable the MTD support for spi flash layer, this adapter is for
2337678dd93SJagan Teki	  translating mtd_read/mtd_write commands into spi_flash_read/write
2347678dd93SJagan Teki	  commands. It is not intended to use it within sf_cmd or the SPI
2357678dd93SJagan Teki	  flash subsystem. Such an adapter is needed for subsystems like
2367678dd93SJagan Teki	  UBI which can only operate on top of the MTD layer.
2377678dd93SJagan Teki
2387678dd93SJagan Teki	  If unsure, say N
2397678dd93SJagan Teki
2404d93a585SFrieder Schrempfconfig SPL_SPI_FLASH_MTD
2414d93a585SFrieder Schrempf	bool "SPI flash MTD support for SPL"
2424d93a585SFrieder Schrempf	depends on SPI_FLASH
2434d93a585SFrieder Schrempf	help
2444d93a585SFrieder Schrempf          Enable the MTD support for the SPI flash layer in SPL.
2454d93a585SFrieder Schrempf
2464d93a585SFrieder Schrempf	  If unsure, say N
2474d93a585SFrieder Schrempf
2482cf66459SJon Linconfig SPI_FLASH_AUTO_MERGE
2492cf66459SJon Lin	bool "SPI flash auto merge two flash in one"
2502cf66459SJon Lin	default n
2512cf66459SJon Lin	depends on SPI_FLASH
2522cf66459SJon Lin	help
2532cf66459SJon Lin          Enable the auto merge the two SPI flash in one.
2542cf66459SJon Lin
2552cf66459SJon Lin	  If unsure, say N
2562cf66459SJon Lin
257810fd696SJagan Tekiendmenu # menu "SPI Flash Support"
258