xref: /openbmc/u-boot/drivers/mtd/spi/Kconfig (revision 24b56e2b)
1menu "SPI Flash Support"
2
3config DM_SPI_FLASH
4	bool "Enable Driver Model for SPI flash"
5	depends on DM && DM_SPI
6	help
7	  Enable driver model for SPI flash. This SPI flash interface
8	  (spi_flash_probe(), spi_flash_write(), etc.) is then
9	  implemented by the SPI flash uclass. There is one standard
10	  SPI flash driver which knows how to probe most chips
11	  supported by U-Boot. The uclass interface is defined in
12	  include/spi_flash.h, but is currently fully compatible
13	  with the old interface to avoid confusion and duplication
14	  during the transition parent. SPI and SPI flash must be
15	  enabled together (it is not possible to use driver model
16	  for one and not the other).
17
18config SPI_FLASH_SANDBOX
19	bool "Support sandbox SPI flash device"
20	depends on SANDBOX && DM_SPI_FLASH
21	help
22	  Since sandbox cannot access real devices, an emulation mechanism is
23	  provided instead. Drivers can be connected up to the sandbox SPI
24	  bus (see CONFIG_SANDBOX_SPI) and SPI traffic will be routed to this
25	  device. Typically the contents of the emulated SPI flash device is
26	  stored in a file on the host filesystem.
27
28config SPI_FLASH
29	bool "Legacy SPI Flash Interface support"
30	depends on SPI
31	select SPI_MEM
32	help
33	  Enable the legacy SPI flash support. This will include basic
34	  standard support for things like probing, read / write, and
35	  erasing through cmd_sf interface.
36
37	  If unsure, say N
38
39if SPI_FLASH
40
41config SPI_FLASH_SFDP_SUPPORT
42	bool "SFDP table parsing support for SPI NOR flashes"
43	depends on !SPI_FLASH_BAR
44	help
45	 Enable support for parsing and auto discovery of parameters for
46	 SPI NOR flashes using Serial Flash Discoverable Parameters (SFDP)
47	 tables as per JESD216 standard.
48
49config SPI_FLASH_BAR
50	bool "SPI flash Bank/Extended address register support"
51	help
52	  Enable the SPI flash Bank/Extended address register support.
53	  Bank/Extended address registers are used to access the flash
54	  which has size > 16MiB in 3-byte addressing.
55
56config SF_DUAL_FLASH
57	bool "SPI DUAL flash memory support"
58	help
59	  Enable this option to support two flash memories connected to a single
60	  controller. Currently Xilinx Zynq qspi supports this.
61
62config SPI_FLASH_ATMEL
63	bool "Atmel SPI flash support"
64	help
65	  Add support for various Atmel SPI flash chips (AT45xxx and AT25xxx)
66
67config SPI_FLASH_EON
68	bool "EON SPI flash support"
69	help
70	  Add support for various EON SPI flash chips (EN25xxx)
71
72config SPI_FLASH_GIGADEVICE
73	bool "GigaDevice SPI flash support"
74	help
75	  Add support for various GigaDevice SPI flash chips (GD25xxx)
76
77config SPI_FLASH_ISSI
78	bool "ISSI SPI flash support"
79	help
80	  Add support for various ISSI SPI flash chips (ISxxx)
81
82config SPI_FLASH_MACRONIX
83	bool "Macronix SPI flash support"
84	help
85	  Add support for various Macronix SPI flash chips (MX25Lxxx)
86
87config SPI_FLASH_SPANSION
88	bool "Spansion SPI flash support"
89	help
90	  Add support for various Spansion SPI flash chips (S25FLxxx)
91
92config SPI_FLASH_STMICRO
93	bool "STMicro SPI flash support"
94	help
95	  Add support for various STMicro SPI flash chips (M25Pxxx and N25Qxxx)
96
97config SPI_FLASH_SST
98	bool "SST SPI flash support"
99	help
100	  Add support for various SST SPI flash chips (SST25xxx)
101
102config SPI_FLASH_WINBOND
103	bool "Winbond SPI flash support"
104	help
105	  Add support for various Winbond SPI flash chips (W25xxx)
106
107config SPI_FLASH_XMC
108	bool "XMC SPI flash support"
109	help
110	  Add support for various XMC (Wuhan Xinxin Semiconductor
111	  Manufacturing Corp.) SPI flash chips (XM25xxx)
112
113endif
114
115config SPI_FLASH_USE_4K_SECTORS
116	bool "Use small 4096 B erase sectors"
117	depends on SPI_FLASH
118	default y
119	help
120	  Many flash memories support erasing small (4096 B) sectors. Depending
121	  on the usage this feature may provide performance gain in comparison
122	  to erasing whole blocks (32/64 KiB).
123	  Changing a small part of the flash's contents is usually faster with
124	  small sectors. On the other hand erasing should be faster when using
125	  64 KiB block instead of 16 × 4 KiB sectors.
126
127	  Please note that some tools/drivers/filesystems may not work with
128	  4096 B erase size (e.g. UBIFS requires 15 KiB as a minimum).
129
130config SPI_FLASH_DATAFLASH
131	bool "AT45xxx DataFlash support"
132	depends on SPI_FLASH && DM_SPI_FLASH
133	help
134	  Enable the access for SPI-flash-based AT45xxx DataFlash chips.
135	  DataFlash is a kind of SPI flash. Most AT45 chips have two buffers
136	  in each chip, which may be used for double buffered I/O; but this
137	  driver doesn't (yet) use these for any kind of i/o overlap or prefetching.
138
139	  Sometimes DataFlash is packaged in MMC-format cards, although the
140	  MMC stack can't (yet?) distinguish between MMC and DataFlash
141	  protocols during enumeration.
142
143	  If unsure, say N
144
145config SPI_FLASH_MTD
146	bool "SPI Flash MTD support"
147	depends on SPI_FLASH
148	help
149          Enable the MTD support for spi flash layer, this adapter is for
150	  translating mtd_read/mtd_write commands into spi_flash_read/write
151	  commands. It is not intended to use it within sf_cmd or the SPI
152	  flash subsystem. Such an adapter is needed for subsystems like
153	  UBI which can only operate on top of the MTD layer.
154
155	  If unsure, say N
156
157endmenu # menu "SPI Flash Support"
158