xref: /linux/drivers/memory/Kconfig (revision 409f9fe9db242cb15994feacfb5035d9ef586c67)
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
33e81b6abeSAlexandre Belloniconfig ATMEL_SDRAMC
34e81b6abeSAlexandre Belloni	bool "Atmel (Multi-port DDR-)SDRAM Controller"
35ea0c0ad6SKrzysztof Kozlowski	default y if ARCH_AT91
36ea0c0ad6SKrzysztof Kozlowski	depends on ARCH_AT91 || COMPILE_TEST
37ea0c0ad6SKrzysztof Kozlowski	depends on OF
38e81b6abeSAlexandre Belloni	help
39e81b6abeSAlexandre Belloni	  This driver is for Atmel SDRAM Controller or Atmel Multi-port
40e81b6abeSAlexandre Belloni	  DDR-SDRAM Controller available on Atmel AT91SAM9 and SAMA5 SoCs.
41e81b6abeSAlexandre Belloni	  Starting with the at91sam9g45, this controller supports SDR, DDR and
42e81b6abeSAlexandre Belloni	  LP-DDR memories.
43e81b6abeSAlexandre Belloni
446a4ec4cdSBoris Brezillonconfig ATMEL_EBI
456a4ec4cdSBoris Brezillon	bool "Atmel EBI driver"
46ea0c0ad6SKrzysztof Kozlowski	default y if ARCH_AT91
47ea0c0ad6SKrzysztof Kozlowski	depends on ARCH_AT91 || COMPILE_TEST
48ea0c0ad6SKrzysztof Kozlowski	depends on OF
496a4ec4cdSBoris Brezillon	select MFD_SYSCON
508eb8c7d8SBoris Brezillon	select MFD_ATMEL_SMC
516a4ec4cdSBoris Brezillon	help
526a4ec4cdSBoris Brezillon	  Driver for Atmel EBI controller.
536a4ec4cdSBoris Brezillon	  Used to configure the EBI (external bus interface) when the device-
546a4ec4cdSBoris Brezillon	  tree is used. This bus supports NANDs, external ethernet controller,
556a4ec4cdSBoris Brezillon	  SRAMs, ATA devices, etc.
566a4ec4cdSBoris Brezillon
57904ffa81SKrzysztof Kozlowskiconfig BRCMSTB_DPFE
58904ffa81SKrzysztof Kozlowski	bool "Broadcom STB DPFE driver" if COMPILE_TEST
59904ffa81SKrzysztof Kozlowski	default y if ARCH_BRCMSTB
60904ffa81SKrzysztof Kozlowski	depends on ARCH_BRCMSTB || COMPILE_TEST
61904ffa81SKrzysztof Kozlowski	help
62904ffa81SKrzysztof Kozlowski	  This driver provides access to the DPFE interface of Broadcom
63904ffa81SKrzysztof Kozlowski	  STB SoCs. The firmware running on the DCPU inside the DDR PHY can
64904ffa81SKrzysztof Kozlowski	  provide current information about the system's RAM, for instance
65904ffa81SKrzysztof Kozlowski	  the DRAM refresh rate. This can be used as an indirect indicator
66904ffa81SKrzysztof Kozlowski	  for the DRAM's temperature. Slower refresh rate means cooler RAM,
67904ffa81SKrzysztof Kozlowski	  higher refresh rate means hotter RAM.
68904ffa81SKrzysztof Kozlowski
6983ca8b3eSSerge Seminconfig BT1_L2_CTL
7083ca8b3eSSerge Semin	bool "Baikal-T1 CM2 L2-RAM Cache Control Block"
7183ca8b3eSSerge Semin	depends on MIPS_BAIKAL_T1 || COMPILE_TEST
7283ca8b3eSSerge Semin	select MFD_SYSCON
7383ca8b3eSSerge Semin	help
7483ca8b3eSSerge Semin	  Baikal-T1 CPU is based on the MIPS P5600 Warrior IP-core. The CPU
7583ca8b3eSSerge Semin	  resides Coherency Manager v2 with embedded 1MB L2-cache. It's
7683ca8b3eSSerge Semin	  possible to tune the L2 cache performance up by setting the data,
7783ca8b3eSSerge Semin	  tags and way-select latencies of RAM access. This driver provides a
7883ca8b3eSSerge Semin	  dt properties-based and sysfs interface for it.
7983ca8b3eSSerge Semin
805a7c8154SIvan Khoronzhukconfig TI_AEMIF
815a7c8154SIvan Khoronzhuk	tristate "Texas Instruments AEMIF driver"
82ea0c0ad6SKrzysztof Kozlowski	depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST
83ea0c0ad6SKrzysztof Kozlowski	depends on OF
845a7c8154SIvan Khoronzhuk	help
855a7c8154SIvan Khoronzhuk	  This driver is for the AEMIF module available in Texas Instruments
865a7c8154SIvan Khoronzhuk	  SoCs. AEMIF stands for Asynchronous External Memory Interface and
875a7c8154SIvan Khoronzhuk	  is intended to provide a glue-less interface to a variety of
885a7c8154SIvan Khoronzhuk	  asynchronuous memory devices like ASRAM, NOR and NAND memory. A total
895a7c8154SIvan Khoronzhuk	  of 256M bytes of any of these memories can be accessed at a given
905a7c8154SIvan Khoronzhuk	  time via four chip selects with 64M byte access per chip select.
915a7c8154SIvan Khoronzhuk
927ec94453SAneesh Vconfig TI_EMIF
937ec94453SAneesh V	tristate "Texas Instruments EMIF driver"
94ea0c0ad6SKrzysztof Kozlowski	depends on ARCH_OMAP2PLUS || COMPILE_TEST
957ec94453SAneesh V	select DDR
967ec94453SAneesh V	help
977ec94453SAneesh V	  This driver is for the EMIF module available in Texas Instruments
987ec94453SAneesh V	  SoCs. EMIF is an SDRAM controller that, based on its revision,
997ec94453SAneesh V	  supports one or more of DDR2, DDR3, and LPDDR2 SDRAM protocols.
1007ec94453SAneesh V	  This driver takes care of only LPDDR2 memories presently. The
1017ec94453SAneesh V	  functions of the driver includes re-configuring AC timing
1027ec94453SAneesh V	  parameters and other settings during frequency, voltage and
1037ec94453SAneesh V	  temperature changes
1047ec94453SAneesh V
10518640193STony Lindgrenconfig OMAP_GPMC
106ea0c0ad6SKrzysztof Kozlowski	bool "Texas Instruments OMAP SoC GPMC driver" if COMPILE_TEST
10726cb1d2fSKrzysztof Kozlowski	depends on OF_ADDRESS
108d2d00862SRoger Quadros	select GPIOLIB
10918640193STony Lindgren	help
11018640193STony Lindgren	  This driver is for the General Purpose Memory Controller (GPMC)
11118640193STony Lindgren	  present on Texas Instruments SoCs (e.g. OMAP2+). GPMC allows
11218640193STony Lindgren	  interfacing to a variety of asynchronous as well as synchronous
11318640193STony Lindgren	  memory drives like NOR, NAND, OneNAND, SRAM.
11418640193STony Lindgren
11563aa945bSTony Lindgrenconfig OMAP_GPMC_DEBUG
116be59b619STony Lindgren	bool "Enable GPMC debug output and skip reset of GPMC during init"
11763aa945bSTony Lindgren	depends on OMAP_GPMC
11863aa945bSTony Lindgren	help
11963aa945bSTony Lindgren	  Enables verbose debugging mostly to decode the bootloader provided
120be59b619STony Lindgren	  timings. To preserve the bootloader provided timings, the reset
121be59b619STony Lindgren	  of GPMC is skipped during init. Enable this during development to
122be59b619STony Lindgren	  configure devices connected to the GPMC bus.
123be59b619STony Lindgren
124be59b619STony Lindgren	  NOTE: In addition to matching the register setup with the bootloader
125be59b619STony Lindgren	  you also need to match the GPMC FCLK frequency used by the
126be59b619STony Lindgren	  bootloader or else the GPMC timings won't be identical with the
127be59b619STony Lindgren	  bootloader timings.
12863aa945bSTony Lindgren
1298428e5adSDave Gerlachconfig TI_EMIF_SRAM
1308428e5adSDave Gerlach	tristate "Texas Instruments EMIF SRAM driver"
131d77d22d7SArnd Bergmann	depends on SOC_AM33XX || SOC_AM43XX || (ARM && CPU_V7 && COMPILE_TEST)
132ea0c0ad6SKrzysztof Kozlowski	depends on SRAM
1338428e5adSDave Gerlach	help
1348428e5adSDave Gerlach	  This driver is for the EMIF module available on Texas Instruments
1358428e5adSDave Gerlach	  AM33XX and AM43XX SoCs and is required for PM. Certain parts of
1368428e5adSDave Gerlach	  the EMIF PM code must run from on-chip SRAM late in the suspend
1378428e5adSDave Gerlach	  sequence so this driver provides several relocatable PM functions
1388428e5adSDave Gerlach	  for the SoC PM code to use.
1398428e5adSDave Gerlach
1403edad321SEzequiel Garciaconfig MVEBU_DEVBUS
1413edad321SEzequiel Garcia	bool "Marvell EBU Device Bus Controller"
142ea0c0ad6SKrzysztof Kozlowski	default y if PLAT_ORION
143ea0c0ad6SKrzysztof Kozlowski	depends on PLAT_ORION || COMPILE_TEST
144ea0c0ad6SKrzysztof Kozlowski	depends on OF
1453edad321SEzequiel Garcia	help
1463edad321SEzequiel Garcia	  This driver is for the Device Bus controller available in some
1473edad321SEzequiel Garcia	  Marvell EBU SoCs such as Discovery (mv78xx0), Orion (88f5xxx) and
1483edad321SEzequiel Garcia	  Armada 370 and Armada XP. This controller allows to handle flash
1493edad321SEzequiel Garcia	  devices such as NOR, NAND, SRAM, and FPGA.
1503edad321SEzequiel Garcia
15154afbec0SScott Woodconfig FSL_CORENET_CF
15254afbec0SScott Wood	tristate "Freescale CoreNet Error Reporting"
153ea0c0ad6SKrzysztof Kozlowski	depends on FSL_SOC_BOOKE || COMPILE_TEST
15454afbec0SScott Wood	help
15554afbec0SScott Wood	  Say Y for reporting of errors from the Freescale CoreNet
15654afbec0SScott Wood	  Coherency Fabric.  Errors reported include accesses to
15754afbec0SScott Wood	  physical addresses that mapped by no local access window
15854afbec0SScott Wood	  (LAW) or an invalid LAW, as well as bad cache state that
15954afbec0SScott Wood	  represents a coherency violation.
16054afbec0SScott Wood
16142d87b18SPaul Gortmakerconfig FSL_IFC
162ea0c0ad6SKrzysztof Kozlowski	bool "Freescale IFC driver" if COMPILE_TEST
163b30a2bd4SBoris Brezillon	depends on FSL_SOC || ARCH_LAYERSCAPE || SOC_LS1021A || COMPILE_TEST
164b30a2bd4SBoris Brezillon	depends on HAS_IOMEM
16542d87b18SPaul Gortmaker
166911a8882SAlex Smithconfig JZ4780_NEMC
167911a8882SAlex Smith	bool "Ingenic JZ4780 SoC NEMC driver"
16894b3a02cSPaul Cercueil	depends on MIPS || COMPILE_TEST
16916909c81SAnders Roxell	depends on HAS_IOMEM && OF
170911a8882SAlex Smith	help
171911a8882SAlex Smith	  This driver is for the NAND/External Memory Controller (NEMC) in
172911a8882SAlex Smith	  the Ingenic JZ4780. This controller is used to handle external
173911a8882SAlex Smith	  memory devices such as NAND and SRAM.
174911a8882SAlex Smith
175cc8bbe1aSYong Wuconfig MTK_SMI
176ea0c0ad6SKrzysztof Kozlowski	bool "Mediatek SoC Memory Controller driver" if COMPILE_TEST
177cc8bbe1aSYong Wu	depends on ARCH_MEDIATEK || COMPILE_TEST
178cc8bbe1aSYong Wu	help
179cc8bbe1aSYong Wu	  This driver is for the Memory Controller module in MediaTek SoCs,
180cc8bbe1aSYong Wu	  mainly help enable/disable iommu and control the power domain and
181cc8bbe1aSYong Wu	  clocks for each local arbiter.
182cc8bbe1aSYong Wu
18362a8a739SBartosz Golaszewskiconfig DA8XX_DDRCTL
18462a8a739SBartosz Golaszewski	bool "Texas Instruments da8xx DDR2/mDDR driver"
185ea0c0ad6SKrzysztof Kozlowski	depends on ARCH_DAVINCI_DA8XX || COMPILE_TEST
18662a8a739SBartosz Golaszewski	help
18762a8a739SBartosz Golaszewski	  This driver is for the DDR2/mDDR Memory Controller present on
18862a8a739SBartosz Golaszewski	  Texas Instruments da8xx SoCs. It's used to tweak various memory
18962a8a739SBartosz Golaszewski	  controller configuration options.
19062a8a739SBartosz Golaszewski
191fee10bd2SNaga Sureshkumar Relliconfig PL353_SMC
192fee10bd2SNaga Sureshkumar Relli	tristate "ARM PL35X Static Memory Controller(SMC) driver"
193ea0c0ad6SKrzysztof Kozlowski	default y if ARM
1945445a0c0SKrzysztof Kozlowski	depends on ARM || COMPILE_TEST
1955445a0c0SKrzysztof Kozlowski	depends on ARM_AMBA
196fee10bd2SNaga Sureshkumar Relli	help
197fee10bd2SNaga Sureshkumar Relli	  This driver is for the ARM PL351/PL353 Static Memory
198fee10bd2SNaga Sureshkumar Relli	  Controller(SMC) module.
199fee10bd2SNaga Sureshkumar Relli
200ca7d8b98SSergei Shtylyovconfig RENESAS_RPCIF
201ca7d8b98SSergei Shtylyov	tristate "Renesas RPC-IF driver"
202ea0c0ad6SKrzysztof Kozlowski	depends on ARCH_RENESAS || COMPILE_TEST
203ca7d8b98SSergei Shtylyov	select REGMAP_MMIO
204ca7d8b98SSergei Shtylyov	help
205*409f9fe9SAdam Ford	  This supports Renesas R-Car Gen3 or RZ/G2 RPC-IF which provides
206*409f9fe9SAdam Ford	  either SPI host or HyperFlash. You'll have to select individual
207*409f9fe9SAdam Ford	  components under the corresponding menu.
208ca7d8b98SSergei Shtylyov
20966b8173aSChristophe Kerelloconfig STM32_FMC2_EBI
21066b8173aSChristophe Kerello	tristate "Support for FMC2 External Bus Interface on STM32MP SoCs"
21166b8173aSChristophe Kerello	depends on MACH_STM32MP157 || COMPILE_TEST
21266b8173aSChristophe Kerello	select MFD_SYSCON
21366b8173aSChristophe Kerello	help
21466b8173aSChristophe Kerello	  Select this option to enable the STM32 FMC2 External Bus Interface
21566b8173aSChristophe Kerello	  controller. This driver configures the transactions with external
21666b8173aSChristophe Kerello	  devices (like SRAM, ethernet adapters, FPGAs, LCD displays, ...) on
21766b8173aSChristophe Kerello	  SOCs containing the FMC2 External Bus Interface.
21866b8173aSChristophe Kerello
219a8aabb91SPankaj Dubeysource "drivers/memory/samsung/Kconfig"
22089184651SThierry Redingsource "drivers/memory/tegra/Kconfig"
22189184651SThierry Reding
2227ec94453SAneesh Vendif
223