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