u-boot/arch/arm/include/asm
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
..
arch-am33xx ti816x: Enable ethernet support 2017-06-28 11:43:39 -04:00
arch-armada8k arm64: mvebu: Add L3 cache flush functionality to A8K family 2016-12-12 09:05:28 +01:00
arch-armada100 i2c: Drop use of CONFIG_I2C_HARD 2017-05-15 06:17:09 +02:00
arch-armv7 ARMv7: Factor out reusable timer_wait from sunxi/psci_sun7i.S 2015-07-20 11:44:38 -07:00
arch-aspeed aspeed: Refactor SCU to use consistent mask & shift 2017-05-08 11:57:35 -04:00
arch-bcm235xx ARM: boot0 hook: remove macro, include whole header file 2017-01-04 16:37:41 +01:00
arch-bcm281xx ARM: boot0 hook: remove macro, include whole header file 2017-01-04 16:37:41 +01:00
arch-bcmcygnus net: move Broadcom SF2 driver to Kconfig 2017-08-07 15:18:30 -05:00
arch-bcmnsp arm: add Cygnus and NSP boards 2014-08-30 07:46:40 -04:00
arch-ep93xx arm: ep9315: Return back Cirrus Logic EDB9315A board support 2014-07-04 23:45:48 +02:00
arch-fsl-layerscape config: ls1012aqds: Enable USB EHCI support for ls1012aqds 2017-08-09 09:57:32 -07:00
arch-hi3798cv200 ARM64: poplar: hi3798cv200: u-boot support for Poplar 96Boards 2017-07-10 14:26:03 -04:00
arch-hi6220 driver: gpio: hikey: Fix pointer conversion warnings for hikey 2015-11-12 15:58:59 -05:00
arch-imx common: freescale: Move arch-specific imx code to arch-imx 2017-06-05 12:31:22 -04:00
arch-lpc32xx i2c: lpc32xx: Move definitions to header file 2017-03-28 06:27:14 +02:00
arch-ls102xa Convert CONFIG_SCSI to Kconfig 2017-07-11 10:08:19 -06:00
arch-meson pinctrl: meson: add GPIO support 2017-07-26 11:26:48 -04:00
arch-mvebu spi: kirkwood_spi: implement mvebu_spi_set_mode() 2016-11-18 13:04:52 +05:30
arch-mx5 imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
arch-mx6 imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
arch-mx7 imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
arch-mx7ulp imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
arch-mx25 imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
arch-mx27 mmc: move more driver config options to Kconfig 2017-01-11 19:40:15 +09:00
arch-mx31 imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
arch-mx35 imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
arch-mxs imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
arch-omap3 arm: omap: Unify get_device_type() function 2017-06-09 20:34:53 -04:00
arch-omap4 arm: omap: Unify get_device_type() function 2017-06-09 20:34:53 -04:00
arch-omap5 arm: omap: Unify get_device_type() function 2017-06-09 20:34:53 -04:00
arch-orion5x edminiv2: switch to SPL 2015-02-25 07:59:50 +01:00
arch-pxa arm: pxa: use common timer functions 2015-08-24 20:30:37 +02:00
arch-rockchip rockchip: rk3368: add DRAM controller driver with DRAM initialisation 2017-08-13 17:12:33 +02:00
arch-s32v234 armv8: s32v234: Introduce basic support for s32v234evb 2016-06-13 08:56:35 -04:00
arch-sa1100
arch-spear arm: spear: Add command to switch between 1-bit HW ECC and SW BCH4 2015-09-11 17:15:14 -04:00
arch-stih410 STiH410: Add STi SDHCI driver 2017-03-14 20:40:20 -04:00
arch-stm32f1 gpio: stm32_gpio: move base addresses to the soc file 2016-02-24 18:42:50 -05:00
arch-stm32f4 stm32: stm32f4: move flash driver to mtd driver location 2016-03-26 18:49:28 -04:00
arch-stm32f7 ram: stm32: migrate fmc defines in driver file 2017-07-26 11:29:07 -04:00
arch-stv0991 stv0991: configure clock & pad muxing for qspi 2015-07-03 13:50:53 +05:30
arch-sunxi Merge branch 'master' of git://git.denx.de/u-boot-sunxi 2017-06-19 08:08:40 -04:00
arch-tegra dm: tegra: Convert clock_decode_periph_id() to support livetree 2017-07-28 12:02:47 -06:00
arch-tegra20 ARM: tegra: use DT bindings for GPIO naming 2016-05-31 09:53:56 -07:00
arch-tegra30 ARM: tegra: use DT bindings for GPIO naming 2016-05-31 09:53:56 -07:00
arch-tegra114 Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
arch-tegra124 Various, unrelated tree-wide typo fixes. 2016-07-16 09:43:12 -04:00
arch-tegra186 ARM: tegra: add core Tegra186 support 2016-05-31 11:22:59 -07:00
arch-tegra210 ARM: tegra: use DT bindings for GPIO naming 2016-05-31 09:53:56 -07:00
arch-vf610 imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
arch-zynqmp arm64: zynqmp: Make chip_id routine to handle based on el. 2017-08-02 09:11:52 +02:00
armv8 arm: psci: make psci usable on single core socs 2017-04-24 09:07:12 -07:00
iproc-common arm: add Cygnus and NSP boards 2014-08-30 07:46:40 -04:00
kona-common bcm281xx: add support for "USB OTG clock" 2014-12-29 16:31:23 -05:00
mach-imx imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
proc-armv ARM: add missing HYP mode constant 2014-07-28 17:06:35 +02:00
ti-common ARM: omap2+: rename config to ARCH_OMAP2PLUS and consolidate Kconfig 2017-04-27 16:49:08 -04:00
armv7.h ARM: Add an empty secure stack section 2016-07-15 15:54:57 +02:00
armv7m.h armv7m: add MPU configuration support 2017-05-12 08:37:06 -04:00
armv7m_mpu.h armv7m: add MPU configuration support 2017-05-12 08:37:06 -04:00
assembler.h arm: Migrate SYS_THUMB_BUILD to Kconfig, introduce SPL_SYS_THUMB_BUILD 2017-03-18 20:28:01 -04:00
atomic.h ARM64: Add support for some of atomic64 operations 2016-10-06 20:57:42 -04:00
barriers.h ARM: Rework and correct barrier definitions 2016-08-05 07:23:57 -04:00
bitops.h arm, ubifs: fix gcc5.x compiler warning 2016-01-20 10:03:58 -05:00
bootm.h arm: Add declarations to avoid needing to include headers 2017-06-05 11:02:37 -04:00
byteorder.h armv8: Use __aarch64__ rather than CONFIG_ARM64 in some cases 2014-01-10 10:10:23 +01:00
cache.h arm: Migrate SYS_THUMB_BUILD to Kconfig, introduce SPL_SYS_THUMB_BUILD 2017-03-18 20:28:01 -04:00
config.h armv7: ls1021a: Drop macro CONFIG_LS102XA 2017-04-17 09:03:30 -07:00
davinci_rtc.h am33xx, davinci: Create and use <asm/davinci_rtc.h> 2013-11-01 15:30:22 -04:00
dma-mapping.h arm: asm: dma-mapping: added dma_free_coherent API 2015-04-14 05:48:09 +02:00
ehci-omap.h configs: Remove CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS in all boards 2017-07-28 23:34:24 +02:00
emif.h arm: am33xx: Initialize EMIF REG_PR_OLD_COUNT for BBB and am335x-evm 2016-12-09 15:00:03 -05:00
fsl_secure_boot.h Convert CONFIG_CMD_HASH to Kconfig 2017-05-22 12:38:15 -04:00
gic.h arm64 patch: gicv3 support 2014-04-08 00:15:12 +02:00
global_data.h arm: change tbu/l type to unsigned int 2017-05-12 08:37:34 -04:00
gpio.h gpio: do not include <asm/arch/gpio.h> for ARCH_STI 2017-03-14 20:40:19 -04:00
hardware.h
io.h ARM: Rework and correct barrier definitions 2016-08-05 07:23:57 -04:00
linkage.h arm: adapt asm/linkage.h from Linux 2012-05-15 08:31:26 +02:00
mach-types.h arm: Re-sync with full list of MACH_TYPE_xxx values 2017-01-28 14:04:20 -05:00
macro.h ARMv8: Enable SMC instruction 2016-12-15 11:57:35 -08:00
memory.h Various, accumulated typos collected from around the tree. 2016-10-06 20:57:40 -04:00
omap_common.h arm: mach-omap2: Factor out common FDT fixup suport 2017-07-22 22:22:43 -04:00
omap_gpio.h gpio: omap: Drop 'method' parameter 2015-08-12 20:48:06 -04:00
omap_mmc.h dm: mmc: omap_hsmmc: Update to support of-platdata 2017-05-11 22:21:27 -04:00
omap_musb.h drivers: usb: musb: adopt musb backend driver to driver model 2016-12-02 21:04:48 -07:00
omap_sec_common.h arm: mach-omap2: Factor out common FDT fixup suport 2017-07-22 22:22:43 -04:00
opcodes-sec.h ARM: adjust arm-smccc code for use in U-Boot 2017-04-18 10:29:17 -04:00
opcodes-virt.h ARM: adjust arm-smccc code for use in U-Boot 2017-04-18 10:29:17 -04:00
opcodes.h ARM: adjust arm-smccc code for use in U-Boot 2017-04-18 10:29:17 -04:00
pl310.h arm: socfpga: enable data/inst prefetch and shared override in the L2 2015-10-17 01:47:31 +02:00
posix_types.h armv8: Use __aarch64__ rather than CONFIG_ARM64 in some cases 2014-01-10 10:10:23 +01:00
processor.h Remove ${objtree}/include/asm/proc/ link 2014-06-11 16:27:05 -04:00
psci.h ARMv8: Add basic PSCI framework 2016-12-15 11:57:44 -08:00
ptrace.h Remove ${objtree}/include/asm/proc/ link 2014-06-11 16:27:05 -04:00
sections.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
secure.h ARMv8: Setup PSCI memory and device tree 2016-12-15 11:57:51 -08:00
setjmp.h arm: Migrate SYS_THUMB_BUILD to Kconfig, introduce SPL_SYS_THUMB_BUILD 2017-03-18 20:28:01 -04:00
setup.h Various, accumulated typos collected from around the tree. 2016-10-06 20:57:40 -04:00
spin_table.h arm64: add better and more generic spin-table support 2016-07-14 18:22:16 -04:00
spl.h spl: add a 'return to bootrom' boot method 2017-08-13 17:12:19 +02:00
string.h ARM: revive CONFIG_USE_ARCH_MEMCPY/MEMSET for UniPhier and Tegra 2016-12-27 11:24:15 -05:00
system.h arm: Support cache invalidate 2017-05-11 22:03:39 -04:00
types.h types.h: move and redefine resource_size_t 2016-07-14 18:22:24 -04:00
u-boot-arm.h arm: Add declarations to avoid needing to include headers 2017-06-05 11:02:37 -04:00
u-boot.h arm: Make u-boot-arm.h a private header 2017-06-05 11:02:33 -04:00
unaligned.h arm64: core support 2014-01-09 16:08:44 +01:00
unified.h arm: include: Import unified.h from Linux kernel 2016-06-02 21:21:43 -04:00
utils.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00