mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-10-03 01:50:43 +09:00
403e9cbcd5
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> |
||
---|---|---|
.. | ||
chromium | ||
device-tree-bindings | ||
DocBook | ||
driver-model | ||
mvebu | ||
SPI | ||
SPL | ||
uImage.FIT | ||
feature-removal-schedule.txt | ||
git-mailrc | ||
I2C_Edge_Conditions | ||
kwboot.1 | ||
mkimage.1 | ||
README.440-DDR-performance | ||
README.ag101p | ||
README.AMCC-eval-boards-cleanup | ||
README.android-fastboot | ||
README.android-fastboot-protocol | ||
README.ARC | ||
README.arm64 | ||
README.arm-caches | ||
README.ARM-memory-map | ||
README.arm-relocation | ||
README.armada-secureboot | ||
README.at91 | ||
README.atmel_mci | ||
README.atmel_pmecc | ||
README.autoboot | ||
README.b4860qds | ||
README.bedbug | ||
README.bitbangMII | ||
README.blackfin | ||
README.bootmenu | ||
README.boston | ||
README.bus_vcxk | ||
README.cfi | ||
README.chromium | ||
README.clang | ||
README.commands | ||
README.commands.itest | ||
README.commands.spl | ||
README.console | ||
README.davinci | ||
README.davinci.nand_spl | ||
README.dfutftp | ||
README.displaying-bmps | ||
README.distro | ||
README.dns | ||
README.drivers.eth | ||
README.efi | ||
README.enetaddr | ||
README.esbc_validate | ||
README.ext4 | ||
README.falcon | ||
README.fdt-control | ||
README.fec_mxc | ||
README.fsl_iim | ||
README.fsl-clk | ||
README.fsl-ddr | ||
README.fsl-dpaa | ||
README.fsl-esdhc | ||
README.fsl-hwconfig | ||
README.fsl-trustzone-components | ||
README.fuse | ||
README.generic_usb_ohci | ||
README.generic-board | ||
README.gpt | ||
README.Heterogeneous-SoCs | ||
README.hwconfig | ||
README.i2c | ||
README.imx5 | ||
README.imx6 | ||
README.imx25 | ||
README.imx27 | ||
README.imximage | ||
README.iomux | ||
README.JFFS2 | ||
README.JFFS2_NAND | ||
README.kconfig | ||
README.kwbimage | ||
README.LED | ||
README.LED_display | ||
README.link-local | ||
README.lynxkdi | ||
README.m68k | ||
README.m54418twr | ||
README.malta | ||
README.marubun-pcmcia | ||
README.marvell | ||
README.memory-test | ||
README.menu | ||
README.mips | ||
README.mpc74xx | ||
README.mpc83xx.ddrecc | ||
README.mpc83xxads | ||
README.mpc85xx | ||
README.mpc85xx-sd-spi-boot | ||
README.mpc85xx-spin-table | ||
README.mpc85xxcds | ||
README.mxc_hab | ||
README.mxc_ocotp | ||
README.mxs | ||
README.mxsimage | ||
README.N1213 | ||
README.nand | ||
README.nand-boot-ppc440 | ||
README.NDS32 | ||
README.ne2000 | ||
README.NetConsole | ||
README.nios2 | ||
README.nokia_rx51 | ||
README.odroid | ||
README.OFT | ||
README.omap3 | ||
README.omap-ulpi-viewport | ||
README.pblimage | ||
README.plan9 | ||
README.POST | ||
README.power-framework | ||
README.pxe | ||
README.qemu-mips | ||
README.ramboot-ppc85xx | ||
README.rmobile | ||
README.rockchip | ||
README.s5pc1xx | ||
README.sata | ||
README.sched | ||
README.scrapyard | ||
README.semihosting | ||
README.serial_multi | ||
README.sh | ||
README.sh7752evb | ||
README.sh7753evb | ||
README.sha1 | ||
README.silent | ||
README.SNTP | ||
README.socfpga | ||
README.spear | ||
README.SPL | ||
README.splashprepare | ||
README.srio-pcie-boot-corenet | ||
README.standalone | ||
README.t1040-l2switch | ||
README.ti-secure | ||
README.TPL | ||
README.trace | ||
README.ubi | ||
README.ubispl | ||
README.ublimage | ||
README.unaligned-memory-access.txt | ||
README.uniphier | ||
README.update | ||
README.usb | ||
README.vf610 | ||
README.video | ||
README.VLAN | ||
README.VSC3316-3308 | ||
README.vxworks | ||
README.watchdog | ||
README.x86 | ||
README.xtensa | ||
README.zfs | ||
README.zynq |
# # Xilinx ZYNQ U-Boot # # (C) Copyright 2013 Xilinx, Inc. # # SPDX-License-Identifier: GPL-2.0+ # 1. About this This document describes the information about Xilinx Zynq U-Boot - like supported boards, ML status and TODO list. 2. Zynq boards Xilinx Zynq-7000 All Programmable SoCs enable extensive system level differentiation, integration, and flexibility through hardware, software, and I/O programmability. * zc702 (single qspi, gem0, mmc) [1] * zc706 (dual parallel qspi, gem0, mmc) [2] * zed (single qspi, gem0, mmc) [3] * microzed (single qspi, gem0, mmc) [4] * zc770 - zc770-xm010 (single qspi, gem0, mmc) - zc770-xm011 (8 or 16 bit nand) - zc770-xm012 (nor) - zc770-xm013 (dual parallel qspi, gem1) 3. Building ex. configure and build for zc702 board $ make zynq_zc702_config $ make 4. Bootmode Zynq has a facility to read the bootmode from the slcr bootmode register once user is setting through jumpers on the board - see page no:1546 on [5] All possible bootmode values are defined in Table 6-2:Boot_Mode MIO Pins on [5]. board_late_init() will read the bootmode values using slcr bootmode register at runtime and assign the modeboot variable to specific bootmode string which is intern used in autoboot. SLCR bootmode register Bit[3:0] values #define ZYNQ_BM_NOR 0x02 #define ZYNQ_BM_SD 0x05 #define ZYNQ_BM_JTAG 0x0 "modeboot" variable can assign any of "norboot", "sdboot" or "jtagboot" bootmode strings at runtime. 5. Mainline status - Added basic board configurations support. - Added zynq u-boot bsp code - arch/arm/cpu/armv7/zynq - Added zynq boards named - zc70x, zed, microzed, zc770_xm010, zc770_xm012, zc770_xm013 - Added zynq drivers: serial - drivers/serial/serial_zynq.c net - drivers/net/zynq_gem.c mmc - drivers/mmc/zynq_sdhci.c mmc - drivers/mmc/zynq_sdhci.c spi- drivers/spi/zynq_spi.c i2c - drivers/i2c/zynq_i2c.c - Done proper cleanups on board configurations - Added basic FDT support for zynq boards - d-cache support for zynq_gem.c 6. TODO - Add zynq boards support - zc770_xm011 - Add zynq qspi controller driver - Add zynq nand controller driver - Add FDT support on individual drivers [1] http://www.xilinx.com/products/boards-and-kits/EK-Z7-ZC702-G.htm [2] http://www.xilinx.com/products/boards-and-kits/EK-Z7-ZC706-G.htm [3] http://zedboard.org/product/zedboard [4] http://zedboard.org/product/microzed [5] http://www.xilinx.com/support/documentation/user_guides/ug585-Zynq-7000-TRM.pdf -- Jagannadha Sutradharudu Teki <jaganna@xilinx.com> Sun Dec 15 14:52:41 IST 2013