bool
help
Select Freescale General DDR driver, shared between most Freescale
- PowerPC- based SoCs (such as mpc83xx, mpc85xx, mpc86xx) and ARM-
- based Layerscape SoCs (such as ls2080a).
+ PowerPC- based SoCs (such as mpc83xx, mpc85xx and ARM- based
+ Layerscape SoCs (such as ls2080a).
config SYS_FSL_MMDC
bool
help
Select Freescale Multi Mode DDR controller (MMDC).
+config SYS_FSL_DDR_EMU
+ bool
+ help
+ Specify emulator support for DDR. Some DDR features such as deskew
+ training are not available.
+
+if SYS_FSL_DDR || SYS_FSL_MMDC
+
config SYS_FSL_DDR_BE
bool
help
help
Access DDR registers in little-endian
+config FSL_DDR_BIST
+ bool
+
+config FSL_DDR_INTERACTIVE
+ bool
+
+config FSL_DDR_SYNC_REFRESH
+ bool
+
+config FSL_DDR_FIRST_SLOT_QUAD_CAPABLE
+ bool
+
menu "Freescale DDR controllers"
depends on SYS_FSL_DDR
ARCH_T4240
default 2 if ARCH_B4860 || \
ARCH_BSC9132 || \
- ARCH_MPC8572 || \
- ARCH_MPC8641 || \
ARCH_P4080 || \
- ARCH_P5020 || \
ARCH_P5040 || \
ARCH_LX2160A || \
- ARCH_T4160
+ ARCH_LX2162A
+ default 1
+
+config CHIP_SELECTS_PER_CTRL
+ int "Number of chip selects per controller"
+ default 4
+
+config DIMM_SLOTS_PER_CTLR
+ int "Number of DIMM slots per controller"
default 1
config SYS_FSL_DDR_VER
help
Enable Freescale DDR2 controller.
-config SYS_FSL_DDRC_86XX_GEN2
- bool
- depends on MPC86xx
- help
- Enable Freescale DDR2 controller for MPC86xx SoCs.
-
config SYS_FSL_DDRC_GEN3
bool
depends on PPC
config SYS_FSL_DDR4
bool "Freescale DDR4 controller"
depends on SYS_FSL_HAS_DDR4
+ imply DDR_SPD
select SYS_FSL_DDRC_GEN4
config SYS_FSL_DDR3
bool "Freescale DDR3 controller"
depends on SYS_FSL_HAS_DDR3
+ imply DDR_SPD
select SYS_FSL_DDRC_GEN3 if PPC
select SYS_FSL_DDRC_ARM_GEN3 if ARM
config SYS_FSL_DDR2
bool "Freescale DDR2 controller"
depends on SYS_FSL_HAS_DDR2
+ imply DDR_SPD
select SYS_FSL_DDRC_GEN2 if (!MPC86xx && !SYS_FSL_DDRC_GEN3)
- select SYS_FSL_DDRC_86XX_GEN2 if MPC86xx
config SYS_FSL_DDR1
bool "Freescale DDR1 controller"
depends on SYS_FSL_HAS_DDR1
+ imply DDR_SPD
select SYS_FSL_DDRC_GEN1
endchoice
endmenu
+config FSL_DMA
+ def_bool y if DDR_ECC && MPC85xx && !ECC_INIT_VIA_DDRCONTROLLER
+
+config DDR_ECC
+ bool "ECC DDR memory support"
+
+config DDR_ECC_CMD
+ bool "Access the ECC features of the memory controller"
+ depends on DDR_ECC && MPC83xx
+ default y
+
+config ECC_INIT_VIA_DDRCONTROLLER
+ bool "DDR Memory controller initializes memory."
+ help
+ Use the DDR controller to auto initialize memory. If not enabled,
+ the DMA controller is responsible for doing this.
+
+config SYS_DDR_RAW_TIMING
+ bool "Get DDR timing information from something other than SPD"
+ help
+ This is common with soldered DDR chips onboard without SPD. DDR raw
+ timing parameters are extracted from datasheet and hard-coded into
+ header files or board specific files.
+
+config SYS_FSL_DDR_INTLV_256B
+ bool "Enforce 256-byte interleave"
+ help
+ DDR controller interleaving on 256-byte. This is a special
+ interleaving mode, handled by Dickens for Freescale layerscape SoCs
+ with ARM core.
+
+endif
+
+menu "PowerPC / M68K initial memory controller definitions (FLASH, SDRAM, etc)"
+ depends on MCF52x2 || MPC8xx || MPC83xx || MPC85xx
+
+config SYS_BR0_PRELIM_BOOL
+ bool "Define Bank 0"
+
+config SYS_BR0_PRELIM
+ hex "Preliminary value for BR0"
+ depends on SYS_BR0_PRELIM_BOOL
+
+config SYS_OR0_PRELIM
+ hex "Preliminary value for OR0"
+ depends on SYS_BR0_PRELIM_BOOL
+
+config SYS_BR1_PRELIM_BOOL
+ bool "Define Bank 1"
+
+config SYS_BR1_PRELIM
+ hex "Preliminary value for BR1"
+ depends on SYS_BR1_PRELIM_BOOL
+
+config SYS_OR1_PRELIM
+ hex "Preliminary value for OR1"
+ depends on SYS_BR1_PRELIM_BOOL
+
+config SYS_BR2_PRELIM_BOOL
+ bool "Define Bank 2"
+
+config SYS_BR2_PRELIM
+ hex "Preliminary value for BR2"
+ depends on SYS_BR2_PRELIM_BOOL
+
+config SYS_OR2_PRELIM
+ hex "Preliminary value for OR2"
+ depends on SYS_BR2_PRELIM_BOOL
+
+config SYS_BR3_PRELIM_BOOL
+ bool "Define Bank 3"
+
+config SYS_BR3_PRELIM
+ hex "Preliminary value for BR3"
+ depends on SYS_BR3_PRELIM_BOOL
+
+config SYS_OR3_PRELIM
+ hex "Preliminary value for OR3"
+ depends on SYS_BR3_PRELIM_BOOL
+
+config SYS_BR4_PRELIM_BOOL
+ bool "Define Bank 4"
+
+config SYS_BR4_PRELIM
+ hex "Preliminary value for BR4"
+ depends on SYS_BR4_PRELIM_BOOL
+
+config SYS_OR4_PRELIM
+ hex "Preliminary value for OR4"
+ depends on SYS_BR4_PRELIM_BOOL
+
+config SYS_BR5_PRELIM_BOOL
+ bool "Define Bank 5"
+
+config SYS_BR5_PRELIM
+ hex "Preliminary value for BR5"
+ depends on SYS_BR5_PRELIM_BOOL
+
+config SYS_OR5_PRELIM
+ hex "Preliminary value for OR5"
+ depends on SYS_BR5_PRELIM_BOOL
+
+config SYS_BR6_PRELIM_BOOL
+ bool "Define Bank 6"
+
+config SYS_BR6_PRELIM
+ hex "Preliminary value for BR6"
+ depends on SYS_BR6_PRELIM_BOOL
+
+config SYS_OR6_PRELIM
+ hex "Preliminary value for OR6"
+ depends on SYS_BR6_PRELIM_BOOL
+
+config SYS_BR7_PRELIM_BOOL
+ bool "Define Bank 7"
+
+config SYS_BR7_PRELIM
+ hex "Preliminary value for BR7"
+ depends on SYS_BR7_PRELIM_BOOL
+
+config SYS_OR7_PRELIM
+ hex "Preliminary value for OR7"
+ depends on SYS_BR7_PRELIM_BOOL
+endmenu
+
+if TARGET_P1010RDB_PA || TARGET_P1010RDB_PB || TARGET_P1020RDB_PC || \
+ TARGET_P1020RDB_PD || TARGET_P2020RDB
+
+config COMMON_INIT_DDR
+ bool "Do not have a TLB entry to cover common DDR init with serial presence detect (SPD)"
+
+config SPL_COMMON_INIT_DDR
+ bool "Do not have a TLB entry to cover common DDR init with SPD in SPL"
+
+config TPL_COMMON_INIT_DDR
+ bool "Do not have a TLB entry to cover common DDR init with SPD in TPL"
+
+endif
+
config SYS_FSL_ERRATUM_A008378
bool
+config SYS_FSL_ERRATUM_A008109
+ bool
+
config SYS_FSL_ERRATUM_A008511
bool