xref: /linux/drivers/memory/Kconfig (revision 0fc8f6200d2313278fbf4539bbab74677c685531)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
27ec94453SAneesh V#
37ec94453SAneesh V# Memory devices
47ec94453SAneesh V#
57ec94453SAneesh V
67ec94453SAneesh Vmenuconfig MEMORY
77ec94453SAneesh V	bool "Memory Controller drivers"
82664a075SKrzysztof Kozlowski	help
92664a075SKrzysztof Kozlowski	  This option allows to enable specific memory controller drivers,
102664a075SKrzysztof Kozlowski	  useful mostly on embedded systems.  These could be controllers
112664a075SKrzysztof Kozlowski	  for DRAM (SDR, DDR), ROM, SRAM and others.  The drivers features
122664a075SKrzysztof Kozlowski	  vary from memory tuning and frequency scaling to enabling
132664a075SKrzysztof Kozlowski	  access to attached peripherals through memory bus.
147ec94453SAneesh V
157ec94453SAneesh Vif MEMORY
167ec94453SAneesh V
177b43b8fdSMasahiro Yamadaconfig DDR
187b43b8fdSMasahiro Yamada	bool
197b43b8fdSMasahiro Yamada	help
207b43b8fdSMasahiro Yamada	  Data from JEDEC specs for DDR SDRAM memories,
217b43b8fdSMasahiro Yamada	  particularly the AC timing parameters and addressing
227b43b8fdSMasahiro Yamada	  information. This data is useful for drivers handling
237b43b8fdSMasahiro Yamada	  DDR SDRAM controllers.
247b43b8fdSMasahiro Yamada
2517c50b70SJoachim Eastwoodconfig ARM_PL172_MPMC
2617c50b70SJoachim Eastwood	tristate "ARM PL172 MPMC driver"
2717c50b70SJoachim Eastwood	depends on ARM_AMBA && OF
2817c50b70SJoachim Eastwood	help
2917c50b70SJoachim Eastwood	  This selects the ARM PrimeCell PL172 MultiPort Memory Controller.
3017c50b70SJoachim Eastwood	  If you have an embedded system with an AMBA bus and a PL172
3117c50b70SJoachim Eastwood	  controller, say Y or M here.
3217c50b70SJoachim Eastwood
336a4ec4cdSBoris Brezillonconfig ATMEL_EBI
346a4ec4cdSBoris Brezillon	bool "Atmel EBI driver"
350c16b8fdSKrzysztof Kozlowski	default ARCH_AT91
36ea0c0ad6SKrzysztof Kozlowski	depends on ARCH_AT91 || COMPILE_TEST
37ea0c0ad6SKrzysztof Kozlowski	depends on OF
386a4ec4cdSBoris Brezillon	select MFD_SYSCON
398eb8c7d8SBoris Brezillon	select MFD_ATMEL_SMC
406a4ec4cdSBoris Brezillon	help
416a4ec4cdSBoris Brezillon	  Driver for Atmel EBI controller.
426a4ec4cdSBoris Brezillon	  Used to configure the EBI (external bus interface) when the device-
436a4ec4cdSBoris Brezillon	  tree is used. This bus supports NANDs, external ethernet controller,
446a4ec4cdSBoris Brezillon	  SRAMs, ATA devices, etc.
456a4ec4cdSBoris Brezillon
46904ffa81SKrzysztof Kozlowskiconfig BRCMSTB_DPFE
4713f995ceSFlorian Fainelli	tristate "Broadcom STB DPFE driver"
4813f995ceSFlorian Fainelli	default ARCH_BRCMSTB
49904ffa81SKrzysztof Kozlowski	depends on ARCH_BRCMSTB || COMPILE_TEST
50904ffa81SKrzysztof Kozlowski	help
51904ffa81SKrzysztof Kozlowski	  This driver provides access to the DPFE interface of Broadcom
52904ffa81SKrzysztof Kozlowski	  STB SoCs. The firmware running on the DCPU inside the DDR PHY can
53904ffa81SKrzysztof Kozlowski	  provide current information about the system's RAM, for instance
54904ffa81SKrzysztof Kozlowski	  the DRAM refresh rate. This can be used as an indirect indicator
55904ffa81SKrzysztof Kozlowski	  for the DRAM's temperature. Slower refresh rate means cooler RAM,
56904ffa81SKrzysztof Kozlowski	  higher refresh rate means hotter RAM.
57904ffa81SKrzysztof Kozlowski
58a4be90ffSFlorian Fainelliconfig BRCMSTB_MEMC
59a4be90ffSFlorian Fainelli	tristate "Broadcom STB MEMC driver"
60a4be90ffSFlorian Fainelli	default ARCH_BRCMSTB
61a4be90ffSFlorian Fainelli	depends on ARCH_BRCMSTB || COMPILE_TEST
62a4be90ffSFlorian Fainelli	help
63a4be90ffSFlorian Fainelli	  This driver provides a way to configure the Broadcom STB memory
64a4be90ffSFlorian Fainelli	  controller and specifically control the Self Refresh Power Down
65a4be90ffSFlorian Fainelli	  (SRPD) inactivity timeout.
66a4be90ffSFlorian Fainelli
675a7c8154SIvan Khoronzhukconfig TI_AEMIF
685a7c8154SIvan Khoronzhuk	tristate "Texas Instruments AEMIF driver"
69ea0c0ad6SKrzysztof Kozlowski	depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST
70ea0c0ad6SKrzysztof Kozlowski	depends on OF
715a7c8154SIvan Khoronzhuk	help
725a7c8154SIvan Khoronzhuk	  This driver is for the AEMIF module available in Texas Instruments
735a7c8154SIvan Khoronzhuk	  SoCs. AEMIF stands for Asynchronous External Memory Interface and
745a7c8154SIvan Khoronzhuk	  is intended to provide a glue-less interface to a variety of
755a7c8154SIvan Khoronzhuk	  asynchronuous memory devices like ASRAM, NOR and NAND memory. A total
765a7c8154SIvan Khoronzhuk	  of 256M bytes of any of these memories can be accessed at a given
775a7c8154SIvan Khoronzhuk	  time via four chip selects with 64M byte access per chip select.
785a7c8154SIvan Khoronzhuk
797ec94453SAneesh Vconfig TI_EMIF
807ec94453SAneesh V	tristate "Texas Instruments EMIF driver"
81ea0c0ad6SKrzysztof Kozlowski	depends on ARCH_OMAP2PLUS || COMPILE_TEST
827ec94453SAneesh V	select DDR
837ec94453SAneesh V	help
847ec94453SAneesh V	  This driver is for the EMIF module available in Texas Instruments
857ec94453SAneesh V	  SoCs. EMIF is an SDRAM controller that, based on its revision,
867ec94453SAneesh V	  supports one or more of DDR2, DDR3, and LPDDR2 SDRAM protocols.
877ec94453SAneesh V	  This driver takes care of only LPDDR2 memories presently. The
887ec94453SAneesh V	  functions of the driver includes re-configuring AC timing
897ec94453SAneesh V	  parameters and other settings during frequency, voltage and
907ec94453SAneesh V	  temperature changes
917ec94453SAneesh V
9218640193STony Lindgrenconfig OMAP_GPMC
93854fd920SRoger Quadros	tristate "Texas Instruments OMAP SoC GPMC driver"
9426cb1d2fSKrzysztof Kozlowski	depends on OF_ADDRESS
9567c7fc6cSGeert Uytterhoeven	depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
96d2d00862SRoger Quadros	select GPIOLIB
9718640193STony Lindgren	help
9818640193STony Lindgren	  This driver is for the General Purpose Memory Controller (GPMC)
9918640193STony Lindgren	  present on Texas Instruments SoCs (e.g. OMAP2+). GPMC allows
10018640193STony Lindgren	  interfacing to a variety of asynchronous as well as synchronous
10118640193STony Lindgren	  memory drives like NOR, NAND, OneNAND, SRAM.
10218640193STony Lindgren
10363aa945bSTony Lindgrenconfig OMAP_GPMC_DEBUG
104be59b619STony Lindgren	bool "Enable GPMC debug output and skip reset of GPMC during init"
10563aa945bSTony Lindgren	depends on OMAP_GPMC
10663aa945bSTony Lindgren	help
10763aa945bSTony Lindgren	  Enables verbose debugging mostly to decode the bootloader provided
108be59b619STony Lindgren	  timings. To preserve the bootloader provided timings, the reset
109be59b619STony Lindgren	  of GPMC is skipped during init. Enable this during development to
110be59b619STony Lindgren	  configure devices connected to the GPMC bus.
111be59b619STony Lindgren
112be59b619STony Lindgren	  NOTE: In addition to matching the register setup with the bootloader
113be59b619STony Lindgren	  you also need to match the GPMC FCLK frequency used by the
114be59b619STony Lindgren	  bootloader or else the GPMC timings won't be identical with the
115be59b619STony Lindgren	  bootloader timings.
11663aa945bSTony Lindgren
1178428e5adSDave Gerlachconfig TI_EMIF_SRAM
1188428e5adSDave Gerlach	tristate "Texas Instruments EMIF SRAM driver"
119d77d22d7SArnd Bergmann	depends on SOC_AM33XX || SOC_AM43XX || (ARM && CPU_V7 && COMPILE_TEST)
120ea0c0ad6SKrzysztof Kozlowski	depends on SRAM
1218428e5adSDave Gerlach	help
1228428e5adSDave Gerlach	  This driver is for the EMIF module available on Texas Instruments
1238428e5adSDave Gerlach	  AM33XX and AM43XX SoCs and is required for PM. Certain parts of
1248428e5adSDave Gerlach	  the EMIF PM code must run from on-chip SRAM late in the suspend
1258428e5adSDave Gerlach	  sequence so this driver provides several relocatable PM functions
1268428e5adSDave Gerlach	  for the SoC PM code to use.
1278428e5adSDave Gerlach
128477dfdccSXu Yilunconfig FPGA_DFL_EMIF
129477dfdccSXu Yilun	tristate "FPGA DFL EMIF Driver"
130477dfdccSXu Yilun	depends on FPGA_DFL && HAS_IOMEM
131477dfdccSXu Yilun	help
132477dfdccSXu Yilun	  This driver is for the EMIF private feature implemented under
133477dfdccSXu Yilun	  FPGA Device Feature List (DFL) framework. It is used to expose
134477dfdccSXu Yilun	  memory interface status information as well as memory clearing
135477dfdccSXu Yilun	  control.
136477dfdccSXu Yilun
1373edad321SEzequiel Garciaconfig MVEBU_DEVBUS
1383edad321SEzequiel Garcia	bool "Marvell EBU Device Bus Controller"
1390c16b8fdSKrzysztof Kozlowski	default PLAT_ORION
140ea0c0ad6SKrzysztof Kozlowski	depends on PLAT_ORION || COMPILE_TEST
141ea0c0ad6SKrzysztof Kozlowski	depends on OF
1423edad321SEzequiel Garcia	help
1433edad321SEzequiel Garcia	  This driver is for the Device Bus controller available in some
1443edad321SEzequiel Garcia	  Marvell EBU SoCs such as Discovery (mv78xx0), Orion (88f5xxx) and
1453edad321SEzequiel Garcia	  Armada 370 and Armada XP. This controller allows to handle flash
1463edad321SEzequiel Garcia	  devices such as NOR, NAND, SRAM, and FPGA.
1473edad321SEzequiel Garcia
14854afbec0SScott Woodconfig FSL_CORENET_CF
14954afbec0SScott Wood	tristate "Freescale CoreNet Error Reporting"
150ea0c0ad6SKrzysztof Kozlowski	depends on FSL_SOC_BOOKE || COMPILE_TEST
15154afbec0SScott Wood	help
15254afbec0SScott Wood	  Say Y for reporting of errors from the Freescale CoreNet
15354afbec0SScott Wood	  Coherency Fabric.  Errors reported include accesses to
15454afbec0SScott Wood	  physical addresses that mapped by no local access window
15554afbec0SScott Wood	  (LAW) or an invalid LAW, as well as bad cache state that
15654afbec0SScott Wood	  represents a coherency violation.
15754afbec0SScott Wood
15842d87b18SPaul Gortmakerconfig FSL_IFC
1599ba0cae3SEsben Haabendal	bool "Freescale IFC driver"
160b30a2bd4SBoris Brezillon	depends on FSL_SOC || ARCH_LAYERSCAPE || SOC_LS1021A || COMPILE_TEST
161b30a2bd4SBoris Brezillon	depends on HAS_IOMEM
16242d87b18SPaul Gortmaker
163911a8882SAlex Smithconfig JZ4780_NEMC
164911a8882SAlex Smith	bool "Ingenic JZ4780 SoC NEMC driver"
16594b3a02cSPaul Cercueil	depends on MIPS || COMPILE_TEST
16616909c81SAnders Roxell	depends on HAS_IOMEM && OF
167911a8882SAlex Smith	help
168911a8882SAlex Smith	  This driver is for the NAND/External Memory Controller (NEMC) in
169911a8882SAlex Smith	  the Ingenic JZ4780. This controller is used to handle external
170911a8882SAlex Smith	  memory devices such as NAND and SRAM.
171911a8882SAlex Smith
172cc8bbe1aSYong Wuconfig MTK_SMI
17350fc8d92SYong Wu	tristate "MediaTek SoC Memory Controller driver" if COMPILE_TEST
174cc8bbe1aSYong Wu	depends on ARCH_MEDIATEK || COMPILE_TEST
175cc8bbe1aSYong Wu	help
176cc8bbe1aSYong Wu	  This driver is for the Memory Controller module in MediaTek SoCs,
177cc8bbe1aSYong Wu	  mainly help enable/disable iommu and control the power domain and
178cc8bbe1aSYong Wu	  clocks for each local arbiter.
179cc8bbe1aSYong Wu
18062a8a739SBartosz Golaszewskiconfig DA8XX_DDRCTL
18162a8a739SBartosz Golaszewski	bool "Texas Instruments da8xx DDR2/mDDR driver"
182ea0c0ad6SKrzysztof Kozlowski	depends on ARCH_DAVINCI_DA8XX || COMPILE_TEST
18362a8a739SBartosz Golaszewski	help
18462a8a739SBartosz Golaszewski	  This driver is for the DDR2/mDDR Memory Controller present on
18562a8a739SBartosz Golaszewski	  Texas Instruments da8xx SoCs. It's used to tweak various memory
18662a8a739SBartosz Golaszewski	  controller configuration options.
18762a8a739SBartosz Golaszewski
188fee10bd2SNaga Sureshkumar Relliconfig PL353_SMC
189fee10bd2SNaga Sureshkumar Relli	tristate "ARM PL35X Static Memory Controller(SMC) driver"
1900c16b8fdSKrzysztof Kozlowski	default ARM
1915445a0c0SKrzysztof Kozlowski	depends on ARM || COMPILE_TEST
1925445a0c0SKrzysztof Kozlowski	depends on ARM_AMBA
193fee10bd2SNaga Sureshkumar Relli	help
194fee10bd2SNaga Sureshkumar Relli	  This driver is for the ARM PL351/PL353 Static Memory
195fee10bd2SNaga Sureshkumar Relli	  Controller(SMC) module.
196fee10bd2SNaga Sureshkumar Relli
197ca7d8b98SSergei Shtylyovconfig RENESAS_RPCIF
198ca7d8b98SSergei Shtylyov	tristate "Renesas RPC-IF driver"
199ea0c0ad6SKrzysztof Kozlowski	depends on ARCH_RENESAS || COMPILE_TEST
200ca7d8b98SSergei Shtylyov	select REGMAP_MMIO
2014a26df8eSGeert Uytterhoeven	select RESET_CONTROLLER
202ca7d8b98SSergei Shtylyov	help
203409f9fe9SAdam Ford	  This supports Renesas R-Car Gen3 or RZ/G2 RPC-IF which provides
204409f9fe9SAdam Ford	  either SPI host or HyperFlash. You'll have to select individual
205409f9fe9SAdam Ford	  components under the corresponding menu.
206ca7d8b98SSergei Shtylyov
20766b8173aSChristophe Kerelloconfig STM32_FMC2_EBI
20866b8173aSChristophe Kerello	tristate "Support for FMC2 External Bus Interface on STM32MP SoCs"
20920c082a2SChristophe Kerello	depends on ARCH_STM32 || COMPILE_TEST
21066b8173aSChristophe Kerello	select MFD_SYSCON
21166b8173aSChristophe Kerello	help
21266b8173aSChristophe Kerello	  Select this option to enable the STM32 FMC2 External Bus Interface
21366b8173aSChristophe Kerello	  controller. This driver configures the transactions with external
21466b8173aSChristophe Kerello	  devices (like SRAM, ethernet adapters, FPGAs, LCD displays, ...) on
21566b8173aSChristophe Kerello	  SOCs containing the FMC2 External Bus Interface.
21666b8173aSChristophe Kerello
217*8181d061SPatrice Chotardconfig STM32_OMM
218*8181d061SPatrice Chotard	tristate "STM32 Octo Memory Manager"
219*8181d061SPatrice Chotard	depends on SPI_STM32_OSPI || COMPILE_TEST
220*8181d061SPatrice Chotard	help
221*8181d061SPatrice Chotard	  This driver manages the muxing between the 2 OSPI busses and
222*8181d061SPatrice Chotard	  the 2 output ports. There are 4 possible muxing configurations:
223*8181d061SPatrice Chotard	  - direct mode (no multiplexing): OSPI1 output is on port 1 and OSPI2
224*8181d061SPatrice Chotard	       output is on port 2
225*8181d061SPatrice Chotard	  - OSPI1 and OSPI2 are multiplexed over the same output port 1
226*8181d061SPatrice Chotard	  - swapped mode (no multiplexing), OSPI1 output is on port 2,
227*8181d061SPatrice Chotard	       OSPI2 output is on port 1
228*8181d061SPatrice Chotard	  - OSPI1 and OSPI2 are multiplexed over the same output port 2
229*8181d061SPatrice Chotard	  It also manages :
230*8181d061SPatrice Chotard	    - the split of the memory area shared between the 2 OSPI instances.
231*8181d061SPatrice Chotard	    - chip select selection override.
232*8181d061SPatrice Chotard	    - the time between 2 transactions in multiplexed mode.
233*8181d061SPatrice Chotard
234a8aabb91SPankaj Dubeysource "drivers/memory/samsung/Kconfig"
23589184651SThierry Redingsource "drivers/memory/tegra/Kconfig"
23689184651SThierry Reding
2377ec94453SAneesh Vendif
238