u-boot-brain/arch/arm
Philipp Tomsich 403e9cbcd5 rockchip: rk3368: add DRAM controller driver with DRAM initialisation
This adds a DRAM controller driver for the RK3368 and places it in
drivers/ram/rockchip (where the other DM-enabled DRAM controller
drivers for rockchip devices should also be moved eventually).

At this stage, only the following feature-set is supported:
 - DDR3
 - 32-bit configuration (i.e. fully populated)
 - dual-rank (i.e. no auto-detection of ranks)
 - DDR3-1600K speed-bin

This driver expects to run from a TPL stage that will later return to
the RK3368 BROM.  It communicates with later stages through the
os_reg2 in the pmugrf (i.e. using the same mechanism as Rockchip's DDR
init code).

Unlike other DMC drivers for RK32xx and RK33xx parts, the required
timings are calculated within the driver based on a target frequency
and a DDR3 speed-bin (only the DDR3-1600K speed-bin is support at this
time).

The RK3368 also has the DDRC0_CON0 (DDR ch. 0, control-register 0)
register for controlling the operation of its (single-channel) DRAM
controller in the GRF block.  This provides for selecting DDR3, mobile
DDR modes, and control low-power operation.
As part of this change, DDRC0_CON0 is also added to the GRF structure
definition (at offset 0x600).

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2017-08-13 17:12:33 +02:00
..
cpu armv8: move low-level assembly functions into function-sections 2017-08-13 17:12:21 +02:00
dts rockchip: rk3368: dts: add sgrf node 2017-08-13 17:12:23 +02:00
include rockchip: rk3368: add DRAM controller driver with DRAM initialisation 2017-08-13 17:12:33 +02:00
lib armv8: spl: Support separate stack for TPL 2017-08-13 17:12:21 +02:00
mach-aspeed aspeed: Refactor SCU to use consistent mask & shift 2017-05-08 11:57:35 -04:00
mach-at91 board: at91sam9261ek: Update to support DT and DM 2017-08-04 20:38:35 -04:00
mach-bcm283x bcm2835_wdt: support for the BCM2835/2836 watchdog 2017-05-09 20:30:08 -04:00
mach-davinci common: arm: davinci: Move header file out of common 2017-06-05 12:31:23 -04:00
mach-exynos Convert CONFIG_ENV_IS_IN_MMC/NAND/UBI and NOWHERE to Kconfig 2017-07-25 21:08:01 -04:00
mach-highbank ARM: highbank: move SoC sources to mach-highbank 2015-02-21 08:23:51 -05:00
mach-imx Convert CONFIG_CMD_SPL to Kconfig 2017-08-11 15:41:57 -04:00
mach-integrator Convert CONFIG_ENV_IS_IN_FLASH to Kconfig 2017-07-25 21:20:02 -04:00
mach-keystone arm: mach-keystone: Fixes issue with return values in inline assembly 2017-07-26 11:26:52 -04:00
mach-kirkwood Kconfig: Add a CONFIG_IDE option 2017-05-22 12:45:27 -04:00
mach-meson meson-gx: reserved memory regions 2017-07-22 15:36:18 -04:00
mach-mvebu configs: Finish migration of PHY_GIGE 2017-08-08 17:02:31 -04:00
mach-omap2 arm: omap: Fix 'get_device_type()' for OMAP34XX 2017-08-12 18:56:26 -04:00
mach-orion5x board_f: Drop setup_dram_config() wrapper 2017-04-05 16:36:51 -04:00
mach-rmobile ARM: rmobile: ulcb: Add ULCB board support 2017-08-03 03:50:03 +09:00
mach-rockchip rockchip: rk3368: add DRAM controller driver with DRAM initialisation 2017-08-13 17:12:33 +02:00
mach-s5pc1xx arm: s5pc1xx: move SoC to mach-s5pc1xx 2015-11-30 17:17:01 +09:00
mach-snapdragon dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
mach-socfpga arm: socfpga: Add FPGA driver support for Arria 10 2017-07-26 10:31:44 +02:00
mach-sti board: Add STMicroelectronics STiH410-B2260 support 2017-03-14 20:40:21 -04:00
mach-stm32 stmf32f4: soc: fix buildman compilation error 2017-08-04 20:38:38 -04:00
mach-sunxi Convert CONFIG_ENV_IS_IN_MMC/NAND/UBI and NOWHERE to Kconfig 2017-07-25 21:08:01 -04:00
mach-tegra dm: power: Convert as3722 to driver model 2017-07-28 12:02:47 -06:00
mach-uniphier Convert CONFIG_NAND to Kconfig 2017-08-12 09:18:47 -04:00
mach-versatile arm: Remove versatileab board 2015-09-11 15:01:25 -04:00
mach-zynq zynq: Add EFI runtime sections to linker script 2017-08-02 09:11:51 +02:00
thumb1/include/asm/proc-armv arm: support Thumb-1 with CONFIG_SYS_THUMB_BUILD 2015-11-10 15:03:48 +01:00
config.mk arm: Always keep the dtb section on objcopy 2017-06-05 14:13:11 -04:00
Kconfig Convert CONFIG_NAND to Kconfig 2017-08-12 09:18:47 -04:00
Kconfig.debug arm: debug: add Kconfig entries for lowlevel debug 2014-10-26 22:23:12 +01:00
Makefile imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00