Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 #
0003 # Memory devices
0004 #
0005 
0006 menuconfig MEMORY
0007         bool "Memory Controller drivers"
0008         help
0009           This option allows to enable specific memory controller drivers,
0010           useful mostly on embedded systems.  These could be controllers
0011           for DRAM (SDR, DDR), ROM, SRAM and others.  The drivers features
0012           vary from memory tuning and frequency scaling to enabling
0013           access to attached peripherals through memory bus.
0014 
0015 if MEMORY
0016 
0017 config DDR
0018         bool
0019         help
0020           Data from JEDEC specs for DDR SDRAM memories,
0021           particularly the AC timing parameters and addressing
0022           information. This data is useful for drivers handling
0023           DDR SDRAM controllers.
0024 
0025 config ARM_PL172_MPMC
0026         tristate "ARM PL172 MPMC driver"
0027         depends on ARM_AMBA && OF
0028         help
0029           This selects the ARM PrimeCell PL172 MultiPort Memory Controller.
0030           If you have an embedded system with an AMBA bus and a PL172
0031           controller, say Y or M here.
0032 
0033 config ATMEL_SDRAMC
0034         bool "Atmel (Multi-port DDR-)SDRAM Controller"
0035         default y if ARCH_AT91
0036         depends on ARCH_AT91 || COMPILE_TEST
0037         depends on OF
0038         help
0039           This driver is for Atmel SDRAM Controller or Atmel Multi-port
0040           DDR-SDRAM Controller available on Atmel AT91SAM9 and SAMA5 SoCs.
0041           Starting with the at91sam9g45, this controller supports SDR, DDR and
0042           LP-DDR memories.
0043 
0044 config ATMEL_EBI
0045         bool "Atmel EBI driver"
0046         default y if ARCH_AT91
0047         depends on ARCH_AT91 || COMPILE_TEST
0048         depends on OF
0049         select MFD_SYSCON
0050         select MFD_ATMEL_SMC
0051         help
0052           Driver for Atmel EBI controller.
0053           Used to configure the EBI (external bus interface) when the device-
0054           tree is used. This bus supports NANDs, external ethernet controller,
0055           SRAMs, ATA devices, etc.
0056 
0057 config BRCMSTB_DPFE
0058         tristate "Broadcom STB DPFE driver"
0059         default ARCH_BRCMSTB
0060         depends on ARCH_BRCMSTB || COMPILE_TEST
0061         help
0062           This driver provides access to the DPFE interface of Broadcom
0063           STB SoCs. The firmware running on the DCPU inside the DDR PHY can
0064           provide current information about the system's RAM, for instance
0065           the DRAM refresh rate. This can be used as an indirect indicator
0066           for the DRAM's temperature. Slower refresh rate means cooler RAM,
0067           higher refresh rate means hotter RAM.
0068 
0069 config BT1_L2_CTL
0070         bool "Baikal-T1 CM2 L2-RAM Cache Control Block"
0071         depends on MIPS_BAIKAL_T1 || COMPILE_TEST
0072         select MFD_SYSCON
0073         help
0074           Baikal-T1 CPU is based on the MIPS P5600 Warrior IP-core. The CPU
0075           resides Coherency Manager v2 with embedded 1MB L2-cache. It's
0076           possible to tune the L2 cache performance up by setting the data,
0077           tags and way-select latencies of RAM access. This driver provides a
0078           dt properties-based and sysfs interface for it.
0079 
0080 config TI_AEMIF
0081         tristate "Texas Instruments AEMIF driver"
0082         depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST
0083         depends on OF
0084         help
0085           This driver is for the AEMIF module available in Texas Instruments
0086           SoCs. AEMIF stands for Asynchronous External Memory Interface and
0087           is intended to provide a glue-less interface to a variety of
0088           asynchronuous memory devices like ASRAM, NOR and NAND memory. A total
0089           of 256M bytes of any of these memories can be accessed at a given
0090           time via four chip selects with 64M byte access per chip select.
0091 
0092 config TI_EMIF
0093         tristate "Texas Instruments EMIF driver"
0094         depends on ARCH_OMAP2PLUS || COMPILE_TEST
0095         select DDR
0096         help
0097           This driver is for the EMIF module available in Texas Instruments
0098           SoCs. EMIF is an SDRAM controller that, based on its revision,
0099           supports one or more of DDR2, DDR3, and LPDDR2 SDRAM protocols.
0100           This driver takes care of only LPDDR2 memories presently. The
0101           functions of the driver includes re-configuring AC timing
0102           parameters and other settings during frequency, voltage and
0103           temperature changes
0104 
0105 config OMAP_GPMC
0106         tristate "Texas Instruments OMAP SoC GPMC driver"
0107         depends on OF_ADDRESS
0108         depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
0109         select GPIOLIB
0110         help
0111           This driver is for the General Purpose Memory Controller (GPMC)
0112           present on Texas Instruments SoCs (e.g. OMAP2+). GPMC allows
0113           interfacing to a variety of asynchronous as well as synchronous
0114           memory drives like NOR, NAND, OneNAND, SRAM.
0115 
0116 config OMAP_GPMC_DEBUG
0117         bool "Enable GPMC debug output and skip reset of GPMC during init"
0118         depends on OMAP_GPMC
0119         help
0120           Enables verbose debugging mostly to decode the bootloader provided
0121           timings. To preserve the bootloader provided timings, the reset
0122           of GPMC is skipped during init. Enable this during development to
0123           configure devices connected to the GPMC bus.
0124 
0125           NOTE: In addition to matching the register setup with the bootloader
0126           you also need to match the GPMC FCLK frequency used by the
0127           bootloader or else the GPMC timings won't be identical with the
0128           bootloader timings.
0129 
0130 config TI_EMIF_SRAM
0131         tristate "Texas Instruments EMIF SRAM driver"
0132         depends on SOC_AM33XX || SOC_AM43XX || (ARM && CPU_V7 && COMPILE_TEST)
0133         depends on SRAM
0134         help
0135           This driver is for the EMIF module available on Texas Instruments
0136           AM33XX and AM43XX SoCs and is required for PM. Certain parts of
0137           the EMIF PM code must run from on-chip SRAM late in the suspend
0138           sequence so this driver provides several relocatable PM functions
0139           for the SoC PM code to use.
0140 
0141 config FPGA_DFL_EMIF
0142         tristate "FPGA DFL EMIF Driver"
0143         depends on FPGA_DFL && HAS_IOMEM
0144         help
0145           This driver is for the EMIF private feature implemented under
0146           FPGA Device Feature List (DFL) framework. It is used to expose
0147           memory interface status information as well as memory clearing
0148           control.
0149 
0150 config MVEBU_DEVBUS
0151         bool "Marvell EBU Device Bus Controller"
0152         default y if PLAT_ORION
0153         depends on PLAT_ORION || COMPILE_TEST
0154         depends on OF
0155         help
0156           This driver is for the Device Bus controller available in some
0157           Marvell EBU SoCs such as Discovery (mv78xx0), Orion (88f5xxx) and
0158           Armada 370 and Armada XP. This controller allows to handle flash
0159           devices such as NOR, NAND, SRAM, and FPGA.
0160 
0161 config FSL_CORENET_CF
0162         tristate "Freescale CoreNet Error Reporting"
0163         depends on FSL_SOC_BOOKE || COMPILE_TEST
0164         help
0165           Say Y for reporting of errors from the Freescale CoreNet
0166           Coherency Fabric.  Errors reported include accesses to
0167           physical addresses that mapped by no local access window
0168           (LAW) or an invalid LAW, as well as bad cache state that
0169           represents a coherency violation.
0170 
0171 config FSL_IFC
0172         bool "Freescale IFC driver" if COMPILE_TEST
0173         depends on FSL_SOC || ARCH_LAYERSCAPE || SOC_LS1021A || COMPILE_TEST
0174         depends on HAS_IOMEM
0175 
0176 config JZ4780_NEMC
0177         bool "Ingenic JZ4780 SoC NEMC driver"
0178         depends on MIPS || COMPILE_TEST
0179         depends on HAS_IOMEM && OF
0180         help
0181           This driver is for the NAND/External Memory Controller (NEMC) in
0182           the Ingenic JZ4780. This controller is used to handle external
0183           memory devices such as NAND and SRAM.
0184 
0185 config MTK_SMI
0186         tristate "MediaTek SoC Memory Controller driver" if COMPILE_TEST
0187         depends on ARCH_MEDIATEK || COMPILE_TEST
0188         help
0189           This driver is for the Memory Controller module in MediaTek SoCs,
0190           mainly help enable/disable iommu and control the power domain and
0191           clocks for each local arbiter.
0192 
0193 config DA8XX_DDRCTL
0194         bool "Texas Instruments da8xx DDR2/mDDR driver"
0195         depends on ARCH_DAVINCI_DA8XX || COMPILE_TEST
0196         help
0197           This driver is for the DDR2/mDDR Memory Controller present on
0198           Texas Instruments da8xx SoCs. It's used to tweak various memory
0199           controller configuration options.
0200 
0201 config PL353_SMC
0202         tristate "ARM PL35X Static Memory Controller(SMC) driver"
0203         default y if ARM
0204         depends on ARM || COMPILE_TEST
0205         depends on ARM_AMBA
0206         help
0207           This driver is for the ARM PL351/PL353 Static Memory
0208           Controller(SMC) module.
0209 
0210 config RENESAS_RPCIF
0211         tristate "Renesas RPC-IF driver"
0212         depends on ARCH_RENESAS || COMPILE_TEST
0213         select REGMAP_MMIO
0214         select RESET_CONTROLLER
0215         help
0216           This supports Renesas R-Car Gen3 or RZ/G2 RPC-IF which provides
0217           either SPI host or HyperFlash. You'll have to select individual
0218           components under the corresponding menu.
0219 
0220 config STM32_FMC2_EBI
0221         tristate "Support for FMC2 External Bus Interface on STM32MP SoCs"
0222         depends on MACH_STM32MP157 || COMPILE_TEST
0223         select MFD_SYSCON
0224         help
0225           Select this option to enable the STM32 FMC2 External Bus Interface
0226           controller. This driver configures the transactions with external
0227           devices (like SRAM, ethernet adapters, FPGAs, LCD displays, ...) on
0228           SOCs containing the FMC2 External Bus Interface.
0229 
0230 source "drivers/memory/samsung/Kconfig"
0231 source "drivers/memory/tegra/Kconfig"
0232 
0233 endif