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 5813f995ceSFlorian Fainelli tristate "Broadcom STB DPFE driver" 5913f995ceSFlorian Fainelli default 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 69*a4be90ffSFlorian Fainelliconfig BRCMSTB_MEMC 70*a4be90ffSFlorian Fainelli tristate "Broadcom STB MEMC driver" 71*a4be90ffSFlorian Fainelli default ARCH_BRCMSTB 72*a4be90ffSFlorian Fainelli depends on ARCH_BRCMSTB || COMPILE_TEST 73*a4be90ffSFlorian Fainelli help 74*a4be90ffSFlorian Fainelli This driver provides a way to configure the Broadcom STB memory 75*a4be90ffSFlorian Fainelli controller and specifically control the Self Refresh Power Down 76*a4be90ffSFlorian Fainelli (SRPD) inactivity timeout. 77*a4be90ffSFlorian Fainelli 7883ca8b3eSSerge Seminconfig BT1_L2_CTL 7983ca8b3eSSerge Semin bool "Baikal-T1 CM2 L2-RAM Cache Control Block" 8083ca8b3eSSerge Semin depends on MIPS_BAIKAL_T1 || COMPILE_TEST 8183ca8b3eSSerge Semin select MFD_SYSCON 8283ca8b3eSSerge Semin help 8383ca8b3eSSerge Semin Baikal-T1 CPU is based on the MIPS P5600 Warrior IP-core. The CPU 8483ca8b3eSSerge Semin resides Coherency Manager v2 with embedded 1MB L2-cache. It's 8583ca8b3eSSerge Semin possible to tune the L2 cache performance up by setting the data, 8683ca8b3eSSerge Semin tags and way-select latencies of RAM access. This driver provides a 8783ca8b3eSSerge Semin dt properties-based and sysfs interface for it. 8883ca8b3eSSerge Semin 895a7c8154SIvan Khoronzhukconfig TI_AEMIF 905a7c8154SIvan Khoronzhuk tristate "Texas Instruments AEMIF driver" 91ea0c0ad6SKrzysztof Kozlowski depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST 92ea0c0ad6SKrzysztof Kozlowski depends on OF 935a7c8154SIvan Khoronzhuk help 945a7c8154SIvan Khoronzhuk This driver is for the AEMIF module available in Texas Instruments 955a7c8154SIvan Khoronzhuk SoCs. AEMIF stands for Asynchronous External Memory Interface and 965a7c8154SIvan Khoronzhuk is intended to provide a glue-less interface to a variety of 975a7c8154SIvan Khoronzhuk asynchronuous memory devices like ASRAM, NOR and NAND memory. A total 985a7c8154SIvan Khoronzhuk of 256M bytes of any of these memories can be accessed at a given 995a7c8154SIvan Khoronzhuk time via four chip selects with 64M byte access per chip select. 1005a7c8154SIvan Khoronzhuk 1017ec94453SAneesh Vconfig TI_EMIF 1027ec94453SAneesh V tristate "Texas Instruments EMIF driver" 103ea0c0ad6SKrzysztof Kozlowski depends on ARCH_OMAP2PLUS || COMPILE_TEST 1047ec94453SAneesh V select DDR 1057ec94453SAneesh V help 1067ec94453SAneesh V This driver is for the EMIF module available in Texas Instruments 1077ec94453SAneesh V SoCs. EMIF is an SDRAM controller that, based on its revision, 1087ec94453SAneesh V supports one or more of DDR2, DDR3, and LPDDR2 SDRAM protocols. 1097ec94453SAneesh V This driver takes care of only LPDDR2 memories presently. The 1107ec94453SAneesh V functions of the driver includes re-configuring AC timing 1117ec94453SAneesh V parameters and other settings during frequency, voltage and 1127ec94453SAneesh V temperature changes 1137ec94453SAneesh V 11418640193STony Lindgrenconfig OMAP_GPMC 115854fd920SRoger Quadros tristate "Texas Instruments OMAP SoC GPMC driver" 11626cb1d2fSKrzysztof Kozlowski depends on OF_ADDRESS 11767c7fc6cSGeert Uytterhoeven depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST 118d2d00862SRoger Quadros select GPIOLIB 11918640193STony Lindgren help 12018640193STony Lindgren This driver is for the General Purpose Memory Controller (GPMC) 12118640193STony Lindgren present on Texas Instruments SoCs (e.g. OMAP2+). GPMC allows 12218640193STony Lindgren interfacing to a variety of asynchronous as well as synchronous 12318640193STony Lindgren memory drives like NOR, NAND, OneNAND, SRAM. 12418640193STony Lindgren 12563aa945bSTony Lindgrenconfig OMAP_GPMC_DEBUG 126be59b619STony Lindgren bool "Enable GPMC debug output and skip reset of GPMC during init" 12763aa945bSTony Lindgren depends on OMAP_GPMC 12863aa945bSTony Lindgren help 12963aa945bSTony Lindgren Enables verbose debugging mostly to decode the bootloader provided 130be59b619STony Lindgren timings. To preserve the bootloader provided timings, the reset 131be59b619STony Lindgren of GPMC is skipped during init. Enable this during development to 132be59b619STony Lindgren configure devices connected to the GPMC bus. 133be59b619STony Lindgren 134be59b619STony Lindgren NOTE: In addition to matching the register setup with the bootloader 135be59b619STony Lindgren you also need to match the GPMC FCLK frequency used by the 136be59b619STony Lindgren bootloader or else the GPMC timings won't be identical with the 137be59b619STony Lindgren bootloader timings. 13863aa945bSTony Lindgren 1398428e5adSDave Gerlachconfig TI_EMIF_SRAM 1408428e5adSDave Gerlach tristate "Texas Instruments EMIF SRAM driver" 141d77d22d7SArnd Bergmann depends on SOC_AM33XX || SOC_AM43XX || (ARM && CPU_V7 && COMPILE_TEST) 142ea0c0ad6SKrzysztof Kozlowski depends on SRAM 1438428e5adSDave Gerlach help 1448428e5adSDave Gerlach This driver is for the EMIF module available on Texas Instruments 1458428e5adSDave Gerlach AM33XX and AM43XX SoCs and is required for PM. Certain parts of 1468428e5adSDave Gerlach the EMIF PM code must run from on-chip SRAM late in the suspend 1478428e5adSDave Gerlach sequence so this driver provides several relocatable PM functions 1488428e5adSDave Gerlach for the SoC PM code to use. 1498428e5adSDave Gerlach 150477dfdccSXu Yilunconfig FPGA_DFL_EMIF 151477dfdccSXu Yilun tristate "FPGA DFL EMIF Driver" 152477dfdccSXu Yilun depends on FPGA_DFL && HAS_IOMEM 153477dfdccSXu Yilun help 154477dfdccSXu Yilun This driver is for the EMIF private feature implemented under 155477dfdccSXu Yilun FPGA Device Feature List (DFL) framework. It is used to expose 156477dfdccSXu Yilun memory interface status information as well as memory clearing 157477dfdccSXu Yilun control. 158477dfdccSXu Yilun 1593edad321SEzequiel Garciaconfig MVEBU_DEVBUS 1603edad321SEzequiel Garcia bool "Marvell EBU Device Bus Controller" 161ea0c0ad6SKrzysztof Kozlowski default y if PLAT_ORION 162ea0c0ad6SKrzysztof Kozlowski depends on PLAT_ORION || COMPILE_TEST 163ea0c0ad6SKrzysztof Kozlowski depends on OF 1643edad321SEzequiel Garcia help 1653edad321SEzequiel Garcia This driver is for the Device Bus controller available in some 1663edad321SEzequiel Garcia Marvell EBU SoCs such as Discovery (mv78xx0), Orion (88f5xxx) and 1673edad321SEzequiel Garcia Armada 370 and Armada XP. This controller allows to handle flash 1683edad321SEzequiel Garcia devices such as NOR, NAND, SRAM, and FPGA. 1693edad321SEzequiel Garcia 17054afbec0SScott Woodconfig FSL_CORENET_CF 17154afbec0SScott Wood tristate "Freescale CoreNet Error Reporting" 172ea0c0ad6SKrzysztof Kozlowski depends on FSL_SOC_BOOKE || COMPILE_TEST 17354afbec0SScott Wood help 17454afbec0SScott Wood Say Y for reporting of errors from the Freescale CoreNet 17554afbec0SScott Wood Coherency Fabric. Errors reported include accesses to 17654afbec0SScott Wood physical addresses that mapped by no local access window 17754afbec0SScott Wood (LAW) or an invalid LAW, as well as bad cache state that 17854afbec0SScott Wood represents a coherency violation. 17954afbec0SScott Wood 18042d87b18SPaul Gortmakerconfig FSL_IFC 181ea0c0ad6SKrzysztof Kozlowski bool "Freescale IFC driver" if COMPILE_TEST 182b30a2bd4SBoris Brezillon depends on FSL_SOC || ARCH_LAYERSCAPE || SOC_LS1021A || COMPILE_TEST 183b30a2bd4SBoris Brezillon depends on HAS_IOMEM 18442d87b18SPaul Gortmaker 185911a8882SAlex Smithconfig JZ4780_NEMC 186911a8882SAlex Smith bool "Ingenic JZ4780 SoC NEMC driver" 18794b3a02cSPaul Cercueil depends on MIPS || COMPILE_TEST 18816909c81SAnders Roxell depends on HAS_IOMEM && OF 189911a8882SAlex Smith help 190911a8882SAlex Smith This driver is for the NAND/External Memory Controller (NEMC) in 191911a8882SAlex Smith the Ingenic JZ4780. This controller is used to handle external 192911a8882SAlex Smith memory devices such as NAND and SRAM. 193911a8882SAlex Smith 194cc8bbe1aSYong Wuconfig MTK_SMI 19550fc8d92SYong Wu tristate "MediaTek SoC Memory Controller driver" if COMPILE_TEST 196cc8bbe1aSYong Wu depends on ARCH_MEDIATEK || COMPILE_TEST 197cc8bbe1aSYong Wu help 198cc8bbe1aSYong Wu This driver is for the Memory Controller module in MediaTek SoCs, 199cc8bbe1aSYong Wu mainly help enable/disable iommu and control the power domain and 200cc8bbe1aSYong Wu clocks for each local arbiter. 201cc8bbe1aSYong Wu 20262a8a739SBartosz Golaszewskiconfig DA8XX_DDRCTL 20362a8a739SBartosz Golaszewski bool "Texas Instruments da8xx DDR2/mDDR driver" 204ea0c0ad6SKrzysztof Kozlowski depends on ARCH_DAVINCI_DA8XX || COMPILE_TEST 20562a8a739SBartosz Golaszewski help 20662a8a739SBartosz Golaszewski This driver is for the DDR2/mDDR Memory Controller present on 20762a8a739SBartosz Golaszewski Texas Instruments da8xx SoCs. It's used to tweak various memory 20862a8a739SBartosz Golaszewski controller configuration options. 20962a8a739SBartosz Golaszewski 210fee10bd2SNaga Sureshkumar Relliconfig PL353_SMC 211fee10bd2SNaga Sureshkumar Relli tristate "ARM PL35X Static Memory Controller(SMC) driver" 212ea0c0ad6SKrzysztof Kozlowski default y if ARM 2135445a0c0SKrzysztof Kozlowski depends on ARM || COMPILE_TEST 2145445a0c0SKrzysztof Kozlowski depends on ARM_AMBA 215fee10bd2SNaga Sureshkumar Relli help 216fee10bd2SNaga Sureshkumar Relli This driver is for the ARM PL351/PL353 Static Memory 217fee10bd2SNaga Sureshkumar Relli Controller(SMC) module. 218fee10bd2SNaga Sureshkumar Relli 219ca7d8b98SSergei Shtylyovconfig RENESAS_RPCIF 220ca7d8b98SSergei Shtylyov tristate "Renesas RPC-IF driver" 221ea0c0ad6SKrzysztof Kozlowski depends on ARCH_RENESAS || COMPILE_TEST 222ca7d8b98SSergei Shtylyov select REGMAP_MMIO 2234a26df8eSGeert Uytterhoeven select RESET_CONTROLLER 224ca7d8b98SSergei Shtylyov help 225409f9fe9SAdam Ford This supports Renesas R-Car Gen3 or RZ/G2 RPC-IF which provides 226409f9fe9SAdam Ford either SPI host or HyperFlash. You'll have to select individual 227409f9fe9SAdam Ford components under the corresponding menu. 228ca7d8b98SSergei Shtylyov 22966b8173aSChristophe Kerelloconfig STM32_FMC2_EBI 23066b8173aSChristophe Kerello tristate "Support for FMC2 External Bus Interface on STM32MP SoCs" 23166b8173aSChristophe Kerello depends on MACH_STM32MP157 || COMPILE_TEST 23266b8173aSChristophe Kerello select MFD_SYSCON 23366b8173aSChristophe Kerello help 23466b8173aSChristophe Kerello Select this option to enable the STM32 FMC2 External Bus Interface 23566b8173aSChristophe Kerello controller. This driver configures the transactions with external 23666b8173aSChristophe Kerello devices (like SRAM, ethernet adapters, FPGAs, LCD displays, ...) on 23766b8173aSChristophe Kerello SOCs containing the FMC2 External Bus Interface. 23866b8173aSChristophe Kerello 239a8aabb91SPankaj Dubeysource "drivers/memory/samsung/Kconfig" 24089184651SThierry Redingsource "drivers/memory/tegra/Kconfig" 24189184651SThierry Reding 2427ec94453SAneesh Vendif 243