u-boot-brain/arch/arm/mach-rockchip
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
..
rk322x rockchip: rk322x: add basic soc support 2017-07-11 12:13:46 +02:00
rk3036 rockchip: rk3036: sync os_reg2 define with other soc 2017-07-11 12:13:48 +02:00
rk3188 rockchip: use common sdram function 2017-07-11 12:13:44 +02:00
rk3288 rockchip: Add basic support for phyCORE-RK3288 SoM based carrier board 2017-07-11 15:23:38 +02:00
rk3328 rockchip: correct the bank0 ram size 2017-07-11 12:13:45 +02:00
rk3368 rockchip: rk3368: add DRAM controller driver with DRAM initialisation 2017-08-13 17:12:33 +02:00
rk3399 rockchip: correct the bank0 ram size 2017-07-11 12:13:45 +02:00
rv1108 rockchip: Add basic support for evb-rv1108 board 2017-06-07 07:29:25 -06:00
bootrom.c rockchip: back-to-bootrom: simplify the #ifdef-check for LIBCOMMON in TPL/SPL 2017-08-13 17:12:19 +02:00
Kconfig rockchip: rk3368: improve Kconfig text for the RK3368 2017-08-13 17:12:22 +02:00
Makefile rockchip: Makefile: streamline SPL/TPL configuration 2017-08-13 17:12:33 +02:00
rk322x-board-spl.c rockchip: rk322x: add basic soc support 2017-07-11 12:13:46 +02:00
rk322x-board.c rockchip: rk322x: add basic soc support 2017-07-11 12:13:46 +02:00
rk3036-board-spl.c rockchip: enable SPL_LIBGENERIC for rk3036 based boards 2017-07-27 14:59:04 +02:00
rk3036-board.c rockchip: use common sdram function 2017-07-11 12:13:44 +02:00
rk3188-board-spl.c rockchip: back-to-bootrom: split BACK_TO_BOOTROM for TPL/SPL 2017-08-13 17:12:19 +02:00
rk3188-board-tpl.c rockchip: rk3188: Cleanup some SPL/TPL rename leftovers 2017-04-04 20:01:57 -06:00
rk3188-board.c rockchip: back-to-bootrom: split BACK_TO_BOOTROM for TPL/SPL 2017-08-13 17:12:19 +02:00
rk3288-board-spl.c rockchip: back-to-bootrom: split BACK_TO_BOOTROM for TPL/SPL 2017-08-13 17:12:19 +02:00
rk3288-board.c rockchip: back-to-bootrom: split BACK_TO_BOOTROM for TPL/SPL 2017-08-13 17:12:19 +02:00
rk3399-board-spl.c rockchip: back-to-bootrom: split BACK_TO_BOOTROM for TPL/SPL 2017-08-13 17:12:19 +02:00
rk_timer.c rockchip: timer: make register sizes explicit 2017-07-27 14:59:00 +02:00
save_boot_param.S rockchip: back-to-bootrom: add 'back-to-bootrom' support for AArch64 2017-08-13 17:12:19 +02:00
sdram_common.c rockchip: add sdram_common for common functions 2017-07-11 12:13:44 +02:00