Here's the (hopefully final) updated series to enable the RK3368 which addresses the concerns regarding the prefixing of GRF bit-definitions with a RK3368-prefix: while I had intended to temporarily pull the GMAC support to get around the underlying issue, moving the bit-definitions into the pinctrl-driver's implementation turned out to rather straightforward (and there's little use in having these definitions visible outside of the pinctrl driver anyway).
Thanks to everyone, who took the time to comment/discuss the initial version. This series (still) has a lot going on, but I didn't want to split it to allow everyone to understand the motivation between some of the changes to the SPL/TPL framework. The short summary of this is "enablement for DRAM init on the RK3368 with everything else that's necessary to do it using OF_PLATDATA in TPL". Enabling the RK3368 created a few more challenges that I'd expected: - I needed different stack locations, text addresses and sizes for TPL and SPL - the TPL stage was to use OF_PLATDATA and SPL was to use full OF_CONTROL - with the RK3368 TPL stage, there was a need to extend the back-to-bootrom support for Rockchip to AArch64 - I wanted to start folding some of the Rockchip specific SPL support (i.e. back-to-bootrom) back into the general SPL framework to allow using it as a general boot method So I ended up separating quite a bit of features between SPL and TPL while keeping things transparent to the few other boards using TPL (at least I hope that things are transparent, as we didn't have any of those in our lab to test on)... Tested with: RK3368-uQ7, Debian 9, Linux 4.13-rc1. Just one final remark: the DMC driver for the RK3368 currently covers the configuration we use on the RK3368-uQ7 (i.e. 32bit wide, 2 ranks) and is stress-tested (including 8-way SPEC runs) at all 3 supported speeds. I've built a bit of infrastructure (e.g. the way the memory-schedule is determined) that I hope will be a useful starting-point in unifying the drivers for the various closely related DRAM controllers (e.g. for the RK3288) for Rockchip devices in the future. Changes in v3: - (new patch) added fix-up of SPL/TPL confusion in help text - change to use function-sections (instead of disabling at the Makefile-level for TPL builds) per Tom's suggestion - commit message now correctly refers to TPL - adds SGRF syscon support with OF_PLATDATA (to allow access to the SGRF address range from TPL) - correctly states the location of the driver in the commit message - removes the '#define DEBUG' - uses the syscon API to access GRF and SGRF to avoid using hard-coded addresses - (after rebase) update defconfig - (after rebase and defconfig update) lion_rk3368.h: remove CONFIG_ENV_IS_NOWHERE - moves remaining 'u-boot,dm-pre-reloc' to -u-boot.dtsi - marks sgrf-node as pre-reloc - defines SPL_LDSCRIPT and TPL_LDSCRIPT via defconfig - moves SPL_LDSCRIPT and TPL_LDSCRIPT into Kconfig, as requested by by Tom; this gets rid of the whitelist-entry for SPL_LDSCRIPT (which qualifies as a preexisting condition) and of the newly created one for TPL_LDSCRIPT - moveconfig.py CONFIG_SPL_LDSCRIPT (Note: I really don't know whether this is what we want, as it's making the SPL_LDSCRIPT resolution explicit for every board... then again, I understood Tom's comment that moving things into Kconfig should be the priority...) - moves TPL_STACK, TPL_MAX_SIZE and TPL_TEXT_BASE to Kconfig - changes the test to CONFIG_TPL_NEEDS_SEPARATE_STACK, as TPL_STACK will be a hex-value now (and this always be defined) - changes Kconfig, so RK3368 will notify the SPL configuration of its need to have the TPL text-base, stack-pointer and max-size configured - runs moveconfig.py TPL_STACK TPL_TEXT_BASE TPL_MAX_SIZE Changes in v2: - dropped the RK3368_ prefix for the GRF constants - removed the RK3368-prefix on bit-definitions for GMAC pinctrl - removed the RK3368 prefix on the SD/MMC pin definitions - moved bit-definitions pertinent to pinctrl (i.e. the various IOMUX definitions) to the rk3368 pinctrl driver implementation - added SPI clock setup - moves the bit-definitions (for GRF registers) specific to the GMAC into the GMAC driver: these include interface speed selection and configuring the RGMII output mode - removes a 'u-boot,dm-pre-reloc' from dmc-node in rk3368.dtsi - copies the enum for the IOMUX config of the debug UART into the TPL support code, as the various constants are otherwise private to the pinctrl code (and we can't include pinctrl in the TPL stage due to size constraints/dependencies) - added in v2 - reuses the support for configuring the boot order using the u-boot,spl-boot-order property - drops the initialisation of the debug_uart - adds pinctrl-configuration for the preloader UART - marks pinctrl-node as 'u-boot,dm-pre-reloc' to ensure MMC2 (eMMC) works in the SPL stage - makes uart0 as 'u-boot,dm-pre-reloc' to allow initialising the preloader console (instead of relying solely on the debug UART) - adds support for SPI1 (and the on-module SPI flash) - splits the a 'u-boot.dtsi' off the DTS file - updates the defconfig for SPI and SPI flash support Klaus Goger (1): rockchip: board: puma_rk3399: rename ATF firmware Philipp Tomsich (65): spl: add a 'return to bootrom' boot method spl: configure 'return to bootrom' separately for SPL and TPL rockchip: back-to-bootrom: add 'back-to-bootrom' support for AArch64 rockchip: back-to-bootrom: split BACK_TO_BOOTROM for TPL/SPL rockchip: back-to-bootrom: simplify the #ifdef-check for LIBGENERIC in TPL/SPL spl: adapts SYS_MALLOC_F_LEN for TPL spl: dm: Kconfig: fix help text for SPL/TPL confusion spl: dm: Kconfig: use more specific prereqs for SPL_REGMAP and SPL_SYSCON spl: dm: Kconfig: split REGMAP/SYSCON support for TPL from SPL spl: dm: Kconfig: SPL_RAM depends on SPL_DM spl: dm: Kconfig: introduce TPL_RAM (in analogy to SPL_RAM) spl: dm: Kconfig: SPL_CLK depends on SPL_DM spl: dm: Kconfig: split CLK support for SPL and TPL spl: dm: Kconfig: split OF_CONTROL and OF_PLATDATA between SPL and TPL spl: dm: use CONFIG_IS_ENABLED to test for the DM option armv8: move low-level assembly functions into function-sections armv8: spl: Support separate stack for TPL spl: allow a separate TEXT_BASE, LDSCRIPT and MAX_SIZE for TPL spl: Kconfig: split SYS_MALLOC_SIMPLE for TPL and SPL lib: spl: differentiate between TPL and SPL for libfdt/of_control/of_platdata spl: consistently use $(SPL_TPL_) to select features for SPL and TPL builds spl: add TPL_DRIVER_MISC_SUPPORT option drivers: spl: consistently use the $(SPL_TPL_) macro rockchip: Makefile: allow selective inclusion of sdram_common.o from TPL/SPL/U-Boot rockchip: rk3368: improve Kconfig text for the RK3368 rockchip: rk3368: mkimage: add support for the RK3368 rockchip: rk3368: pmugrf: add definitions for os_reg[0..3] rockchip: rk3368: spl: define COUNTER_FREQUENCY to 24MHz rockchip: rk3368: spl: add memory layout for TPL and SPL rockchip: rk3368: syscon: MSCH/PMUGRF/GRF support for OF_PLATDATA rockchip: rk3368: syscon: SGRF support for OF_PLATDATA rockchip: rk3368: grf: use shifted-constants rockchip: rk3368: dts: add sgrf node rockchip: pinctrl: rk3368: add GMAC (RGMII only) support rockchip: pinctrl: rk3368: add support for configuring the MMC pins rockchip: pinctrl: rk3368: move IOMUX bit-definitions to pinctrl driver rockchip: pinctrl: rk3368: add SPI support rockchip: clk: rk3368: implement bandwidth adjust for PLLs rockchip: clk: rk3368: support OF_PLATDATA for the RK3368 clk driver rockchip: clk: rk3368: do not change CPLL/GPLL before returning to BROM rockchip: clk: rk3368: implement DPLL (DRAM PLL) support rockchip: clk: rk3368: define DMA1_SRST_REQ and DMA2_SRST_REQ rockchip: clk: rk3368: implement MMC/SD clock reparenting rockchip: clk: rk3368: support configuring the DRAM PLL (from TPL) rockchip: clk: rk3368: add support for GMAC (SLCK_MAC) clock rockchip: clk: rk3368: mark 'priv' __maybe_unused in rk3368_clk_set_rate() rockchip: clk: rk3368: add support for configuring the SPI clocks net: gmac_rockchip: Add support for the RK3368 GMAC rockchip: Makefile: streamline SPL/TPL configuration rockchip: rk3368: add DRAM controller driver with DRAM initialisation rockchip: rk3368: dts: add DMC node in rk3368.dtsi rockchip: rk3368: spl: enable SPL_FRAMEWORK in rk3368_common.h rockchip: rk3368: spl: add TPL support rockchip: spl: make spl-boot-order code reusable (split from rk3399) rockchip: rk3368: spl: add SPL support rockchip: rk3368: spl: mark SPL and TPL as supported for ROCKCHIP_RK3368 rockchip: spi: enable support for the rk_spi driver for the RK3368 rockchip: board: lion-rk3368: add support for the RK3368-uQ7 spl: Kconfig: migrate $(SPL_TPL_)LDSCRIPT to Kconfig spl: moveconfig: migrate CONFIG_SPL_LDSCRIPT spl: support TPL_STACK, TPL_MAX_SIZE and TPL_TEXT_BASE via Kconfig armv8: TPL_STACK will always be defined, so test CONFIG_TPL_NEEDS_SEPARATE_STACK rockchip: rk3368: mark TPL as not inheriting its stack, text-base and size from SPL moveconfig: migrate TPL_STACK, TPL_TEXT_BASE and TPL_MAX_SIZE rockchip: board: puma-rk3399: fix warnings in puma_rk3399/fit_spl_atf.its Kconfig | 12 +- Makefile | 2 +- arch/arm/cpu/armv8/Makefile | 2 +- arch/arm/cpu/armv8/cache.S | 22 + arch/arm/cpu/armv8/tlb.S | 4 +- arch/arm/cpu/armv8/transition.S | 6 + arch/arm/dts/Makefile | 1 + arch/arm/dts/rk3368-lion-u-boot.dtsi | 88 ++ arch/arm/dts/rk3368-lion.dts | 195 ++++ arch/arm/dts/rk3368.dtsi | 28 +- arch/arm/include/asm/arch-rockchip/cru_rk3368.h | 15 +- arch/arm/include/asm/arch-rockchip/ddr_rk3368.h | 187 ++++ arch/arm/include/asm/arch-rockchip/grf_rk3368.h | 326 +------ arch/arm/include/asm/spl.h | 1 + arch/arm/lib/crt0_64.S | 4 +- arch/arm/mach-rockchip/Kconfig | 39 +- arch/arm/mach-rockchip/Makefile | 51 +- arch/arm/mach-rockchip/bootrom.c | 4 +- arch/arm/mach-rockchip/rk3188-board-spl.c | 5 +- arch/arm/mach-rockchip/rk3188-board.c | 2 +- arch/arm/mach-rockchip/rk3288-board-spl.c | 4 +- arch/arm/mach-rockchip/rk3288-board.c | 4 +- arch/arm/mach-rockchip/rk3368-board-spl.c | 98 ++ arch/arm/mach-rockchip/rk3368-board-tpl.c | 177 ++++ arch/arm/mach-rockchip/rk3368/Kconfig | 21 + arch/arm/mach-rockchip/rk3368/Makefile | 1 - arch/arm/mach-rockchip/rk3368/sdram_rk3368.c | 60 -- arch/arm/mach-rockchip/rk3368/syscon_rk3368.c | 44 + arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds | 13 + arch/arm/mach-rockchip/rk3399-board-spl.c | 106 +-- arch/arm/mach-rockchip/save_boot_param.S | 37 + arch/arm/mach-rockchip/spl-boot-order.c | 108 +++ board/theobroma-systems/lion_rk3368/Kconfig | 15 + board/theobroma-systems/lion_rk3368/MAINTAINERS | 10 + board/theobroma-systems/lion_rk3368/Makefile | 7 + board/theobroma-systems/lion_rk3368/README | 60 ++ .../theobroma-systems/lion_rk3368/fit_spl_atf.its | 51 ++ board/theobroma-systems/lion_rk3368/lion_rk3368.c | 25 + board/theobroma-systems/puma_rk3399/README | 2 +- .../theobroma-systems/puma_rk3399/fit_spl_atf.its | 20 +- common/Makefile | 8 +- common/spl/Kconfig | 106 ++- common/spl/Makefile | 35 +- common/spl/spl.c | 7 +- common/spl/spl_bootrom.c | 27 + configs/A10-OLinuXino-Lime_defconfig | 1 + configs/A10s-OLinuXino-M_defconfig | 1 + configs/A13-OLinuXinoM_defconfig | 1 + configs/A13-OLinuXino_defconfig | 1 + configs/A20-OLinuXino-Lime2_defconfig | 1 + configs/A20-OLinuXino-Lime_defconfig | 1 + configs/A20-OLinuXino_MICRO_defconfig | 1 + configs/A20-Olimex-SOM-EVB_defconfig | 1 + configs/A33-OLinuXino_defconfig | 1 + configs/Ainol_AW1_defconfig | 1 + configs/Ampe_A76_defconfig | 1 + configs/Auxtek-T003_defconfig | 1 + configs/Auxtek-T004_defconfig | 1 + configs/Bananapi_M2_Ultra_defconfig | 1 + configs/Bananapi_defconfig | 1 + configs/Bananapro_defconfig | 1 + configs/CHIP_defconfig | 1 + configs/CHIP_pro_defconfig | 1 + configs/CSQ_CS908_defconfig | 1 + configs/Chuwi_V7_CW0825_defconfig | 1 + configs/Colombus_defconfig | 1 + configs/Cubieboard2_defconfig | 1 + configs/Cubieboard4_defconfig | 1 + configs/Cubieboard_defconfig | 1 + configs/Cubietruck_defconfig | 1 + configs/Cubietruck_plus_defconfig | 1 + configs/Empire_electronix_d709_defconfig | 1 + configs/Empire_electronix_m712_defconfig | 1 + configs/Hummingbird_A31_defconfig | 1 + configs/Hyundai_A7HD_defconfig | 1 + configs/Itead_Ibox_A20_defconfig | 1 + configs/Lamobo_R1_defconfig | 1 + configs/Linksprite_pcDuino3_Nano_defconfig | 1 + configs/Linksprite_pcDuino3_defconfig | 1 + configs/Linksprite_pcDuino_defconfig | 1 + configs/MK808C_defconfig | 1 + configs/MSI_Primo73_defconfig | 1 + configs/MSI_Primo81_defconfig | 1 + configs/Marsboard_A10_defconfig | 1 + configs/Mele_A1000G_quad_defconfig | 1 + configs/Mele_A1000_defconfig | 1 + configs/Mele_I7_defconfig | 1 + configs/Mele_M3_defconfig | 1 + configs/Mele_M5_defconfig | 1 + configs/Mele_M9_defconfig | 1 + configs/Merrii_A80_Optimus_defconfig | 1 + configs/Mini-X_defconfig | 1 + configs/Nintendo_NES_Classic_Edition_defconfig | 1 + configs/Orangepi_defconfig | 1 + configs/Orangepi_mini_defconfig | 1 + configs/Sinlinx_SinA31s_defconfig | 1 + configs/Sinlinx_SinA33_defconfig | 1 + configs/Sinovoip_BPI_M2_Plus_defconfig | 1 + configs/Sinovoip_BPI_M2_defconfig | 1 + configs/Sinovoip_BPI_M3_defconfig | 1 + configs/Sunchip_CX-A99_defconfig | 1 + configs/UTOO_P66_defconfig | 1 + configs/Wexler_TAB7200_defconfig | 1 + configs/Wits_Pro_A20_DKT_defconfig | 1 + configs/Wobo_i5_defconfig | 1 + configs/Yones_Toptech_BD1078_defconfig | 1 + configs/Yones_Toptech_BS1078_V2_defconfig | 1 + configs/am335x_baltos_defconfig | 1 + configs/am335x_boneblack_defconfig | 1 + configs/am335x_boneblack_vboot_defconfig | 1 + configs/am335x_evm_defconfig | 1 + configs/am335x_evm_nor_defconfig | 1 + configs/am335x_evm_spiboot_defconfig | 1 + configs/am335x_evm_usbspl_defconfig | 1 + configs/am335x_hs_evm_defconfig | 1 + configs/am335x_igep003x_defconfig | 1 + configs/am335x_shc_defconfig | 1 + configs/am335x_shc_ict_defconfig | 1 + configs/am335x_shc_netboot_defconfig | 1 + configs/am335x_shc_prompt_defconfig | 1 + configs/am335x_shc_sdboot_defconfig | 1 + configs/am335x_shc_sdboot_prompt_defconfig | 1 + configs/am335x_sl50_defconfig | 1 + configs/am3517_crane_defconfig | 1 + configs/am3517_evm_defconfig | 1 + configs/am43xx_evm_defconfig | 1 + configs/am43xx_evm_ethboot_defconfig | 1 + configs/am43xx_evm_usbhost_boot_defconfig | 1 + configs/am43xx_hs_evm_defconfig | 1 + configs/am57xx_evm_defconfig | 1 + configs/am57xx_evm_nodt_defconfig | 1 + configs/am57xx_hs_evm_defconfig | 1 + configs/apalis_imx6_defconfig | 1 + configs/apf27_defconfig | 1 + configs/apx4devkit_defconfig | 1 + configs/arndale_defconfig | 1 + configs/ba10_tv_box_defconfig | 1 + configs/bg0900_defconfig | 1 + configs/birdland_bav335a_defconfig | 1 + configs/birdland_bav335b_defconfig | 1 + configs/brppt1_mmc_defconfig | 1 + configs/brppt1_nand_defconfig | 1 + configs/brppt1_spi_defconfig | 1 + configs/brxre1_defconfig | 1 + configs/cairo_defconfig | 1 + configs/cgtqmx6eval_defconfig | 1 + configs/chiliboard_defconfig | 1 + configs/chromebook_link64_defconfig | 5 +- configs/cl-som-am57x_defconfig | 1 + configs/cm_fx6_defconfig | 1 + configs/cm_t335_defconfig | 1 + configs/cm_t35_defconfig | 1 + configs/cm_t43_defconfig | 1 + configs/cm_t54_defconfig | 3 +- configs/colibri_imx6_defconfig | 1 + configs/colorfly_e708_q1_defconfig | 1 + configs/controlcenterdc_defconfig | 2 +- configs/da850_am18xxevm_defconfig | 1 + configs/da850evm_defconfig | 1 + configs/db-88f6820-gp_defconfig | 2 +- configs/devkit8000_defconfig | 1 + configs/difrnce_dit4350_defconfig | 1 + configs/dra7xx_evm_defconfig | 3 +- configs/dra7xx_hs_evm_defconfig | 3 +- configs/draco_defconfig | 1 + configs/dserve_dsrv9703c_defconfig | 1 + configs/duovero_defconfig | 1 + configs/eco5pk_defconfig | 1 + configs/edminiv2_defconfig | 1 + configs/etamin_defconfig | 1 + configs/evb-rk3036_defconfig | 2 +- configs/evb-rk3229_defconfig | 1 - configs/evb-rk3288_defconfig | 2 +- configs/fennec-rk3288_defconfig | 2 +- configs/firefly-rk3288_defconfig | 7 +- configs/ga10h_v1_1_defconfig | 1 + configs/gt90h_v4_defconfig | 1 + configs/gwventana_emmc_defconfig | 1 + configs/gwventana_gw5904_defconfig | 1 + configs/gwventana_nand_defconfig | 1 + configs/h8_homlet_v2_defconfig | 1 + configs/i12-tvbox_defconfig | 1 + configs/iNet_3F_defconfig | 1 + configs/iNet_3W_defconfig | 1 + configs/iNet_86VS_defconfig | 1 + configs/iNet_D978_rev2_defconfig | 1 + configs/icnova-a20-swac_defconfig | 1 + configs/igep0020_defconfig | 1 + configs/igep0030_defconfig | 1 + configs/igep0032_defconfig | 1 + configs/imx6qdl_icore_mmc_defconfig | 1 + configs/imx6qdl_icore_nand_defconfig | 1 + configs/imx6qdl_icore_rqs_defconfig | 1 + configs/imx6ul_geam_mmc_defconfig | 1 + configs/imx6ul_geam_nand_defconfig | 1 + configs/imx6ul_isiot_emmc_defconfig | 1 + configs/imx6ul_isiot_mmc_defconfig | 1 + configs/imx6ul_isiot_nand_defconfig | 1 + configs/inet1_defconfig | 1 + configs/inet86dz_defconfig | 1 + configs/inet97fv2_defconfig | 1 + configs/inet98v_rev2_defconfig | 1 + configs/inet9f_rev03_defconfig | 1 + configs/inet_q972_defconfig | 1 + configs/ipam390_defconfig | 1 + configs/jesurun_q5_defconfig | 1 + configs/kc1_defconfig | 1 + configs/kylin-rk3036_defconfig | 2 +- configs/lion-rk3368_defconfig | 96 ++ configs/liteboard_defconfig | 1 + configs/ls1021aiot_sdcard_defconfig | 1 + configs/ls1021aqds_nand_defconfig | 1 + configs/ls1021aqds_sdcard_ifc_defconfig | 1 + configs/ls1021aqds_sdcard_qspi_defconfig | 1 + .../ls1021atwr_sdcard_ifc_SECURE_BOOT_defconfig | 1 + configs/ls1021atwr_sdcard_ifc_defconfig | 1 + configs/ls1021atwr_sdcard_qspi_defconfig | 1 + configs/ls1043aqds_nand_defconfig | 1 + configs/ls1043aqds_sdcard_ifc_defconfig | 1 + configs/ls1043aqds_sdcard_qspi_defconfig | 1 + configs/ls1043ardb_nand_SECURE_BOOT_defconfig | 1 + configs/ls1043ardb_nand_defconfig | 1 + configs/ls1043ardb_sdcard_SECURE_BOOT_defconfig | 1 + configs/ls1043ardb_sdcard_defconfig | 1 + configs/ls1046aqds_nand_defconfig | 1 + configs/ls1046aqds_sdcard_ifc_defconfig | 1 + configs/ls1046aqds_sdcard_qspi_defconfig | 1 + configs/ls1046ardb_emmc_defconfig | 1 + configs/ls1046ardb_sdcard_SECURE_BOOT_defconfig | 1 + configs/ls1046ardb_sdcard_defconfig | 1 + configs/ls2080aqds_nand_defconfig | 1 + configs/ls2080aqds_sdcard_defconfig | 1 + configs/ls2080ardb_nand_defconfig | 1 + configs/m28evk_defconfig | 1 + configs/ma5d4evk_defconfig | 1 + configs/mccmon6_nor_defconfig | 1 + configs/mccmon6_sd_defconfig | 1 + configs/mcx_defconfig | 1 + configs/microblaze-generic_defconfig | 1 + configs/miqi-rk3288_defconfig | 2 +- configs/mixtile_loftq_defconfig | 1 + configs/mk802_a10s_defconfig | 1 + configs/mk802_defconfig | 1 + configs/mk802ii_defconfig | 1 + configs/mt_ventoux_defconfig | 1 + configs/mx23_olinuxino_defconfig | 1 + configs/mx23evk_defconfig | 1 + configs/mx28evk_auart_console_defconfig | 1 + configs/mx28evk_defconfig | 1 + configs/mx28evk_nand_defconfig | 1 + configs/mx28evk_spi_defconfig | 1 + configs/mx31pdk_defconfig | 1 + configs/mx6cuboxi_defconfig | 1 + configs/mx6sabreauto_defconfig | 1 + configs/mx6sabresd_defconfig | 1 + configs/mx6slevk_spl_defconfig | 1 + configs/mx6sxsabresd_spl_defconfig | 1 + configs/mx6ul_14x14_evk_defconfig | 1 + configs/mx6ul_9x9_evk_defconfig | 1 + configs/nanopi_m1_defconfig | 1 + configs/nanopi_m1_plus_defconfig | 1 + configs/nanopi_neo_air_defconfig | 1 + configs/nanopi_neo_defconfig | 1 + configs/novena_defconfig | 1 + configs/omap3_beagle_defconfig | 1 + configs/omap3_evm_defconfig | 1 + configs/omap3_ha_defconfig | 1 + configs/omap3_logic_defconfig | 1 + configs/omap3_overo_defconfig | 1 + configs/omap4_panda_defconfig | 1 + configs/omap4_sdp4430_defconfig | 1 + configs/omap5_uevm_defconfig | 3 +- configs/omapl138_lcdk_defconfig | 1 + configs/opos6uldev_defconfig | 1 + configs/orangepi_2_defconfig | 1 + configs/orangepi_lite_defconfig | 1 + configs/orangepi_one_defconfig | 1 + configs/orangepi_pc_defconfig | 1 + configs/orangepi_pc_plus_defconfig | 1 + configs/orangepi_plus2e_defconfig | 1 + configs/orangepi_plus_defconfig | 1 + configs/orangepi_zero_defconfig | 1 + configs/origen_defconfig | 1 + configs/ot1200_spl_defconfig | 1 + configs/parrot_r16_defconfig | 1 + configs/pcm051_rev1_defconfig | 1 + configs/pcm051_rev3_defconfig | 1 + configs/pcm058_defconfig | 1 + configs/peach-pi_defconfig | 1 + configs/peach-pit_defconfig | 1 + configs/pengwyn_defconfig | 1 + configs/pepper_defconfig | 1 + configs/picosam9g45_defconfig | 1 + configs/platinum_picon_defconfig | 1 + configs/platinum_titanium_defconfig | 1 + configs/polaroid_mid2407pxe03_defconfig | 1 + configs/polaroid_mid2809pxe04_defconfig | 1 + configs/popmetal-rk3288_defconfig | 2 +- configs/pov_protab2_ips9_defconfig | 1 + configs/puma-rk3399_defconfig | 8 +- configs/pxm2_defconfig | 1 + configs/q8_a13_tablet_defconfig | 1 + configs/q8_a23_tablet_800x480_defconfig | 1 + configs/q8_a33_tablet_1024x600_defconfig | 1 + configs/q8_a33_tablet_800x480_defconfig | 1 + configs/qemu-x86_64_defconfig | 1 + configs/r7-tv-dongle_defconfig | 1 + configs/rastaban_defconfig | 1 + configs/rock2_defconfig | 2 +- configs/rock_defconfig | 2 +- configs/rut_defconfig | 1 + configs/sama5d2_xplained_mmc_defconfig | 1 + configs/sama5d3_xplained_mmc_defconfig | 1 + configs/sama5d3xek_mmc_defconfig | 1 + configs/sama5d4_xplained_mmc_defconfig | 1 + configs/sama5d4ek_mmc_defconfig | 1 + configs/sansa_fuze_plus_defconfig | 1 + configs/sc_sps_1_defconfig | 1 + configs/smartweb_defconfig | 1 + configs/smdk5250_defconfig | 1 + configs/smdk5420_defconfig | 1 + configs/smdkv310_defconfig | 1 + configs/sniper_defconfig | 1 + configs/snow_defconfig | 1 + configs/spring_defconfig | 1 + configs/sun8i_a23_evb_defconfig | 1 + configs/sunxi_Gemei_G9_defconfig | 1 + configs/tao3530_defconfig | 1 + configs/thuban_defconfig | 1 + configs/ti814x_evm_defconfig | 1 + configs/ti816x_evm_defconfig | 1 + configs/tinker-rk3288_defconfig | 2 +- configs/topic_miami_defconfig | 1 + configs/topic_miamilite_defconfig | 1 + configs/topic_miamiplus_defconfig | 1 + configs/tricorder_defconfig | 1 + configs/tricorder_flash_defconfig | 1 + configs/ts4600_defconfig | 1 + configs/twister_defconfig | 1 + configs/udoo_defconfig | 1 + configs/udoo_neo_defconfig | 1 + configs/wandboard_defconfig | 1 + configs/woodburn_sd_defconfig | 1 + configs/x600_defconfig | 1 + configs/xfi3_defconfig | 1 + configs/xpress_spl_defconfig | 1 + configs/zc5202_defconfig | 1 + configs/zc5601_defconfig | 1 + configs/zynq_microzed_defconfig | 1 + configs/zynq_picozed_defconfig | 1 + configs/zynq_zc702_defconfig | 1 + configs/zynq_zc706_defconfig | 1 + configs/zynq_zc770_xm010_defconfig | 1 + configs/zynq_zc770_xm011_defconfig | 1 + configs/zynq_zc770_xm012_defconfig | 1 + configs/zynq_zc770_xm013_defconfig | 1 + configs/zynq_zed_defconfig | 1 + configs/zynq_zybo_defconfig | 1 + doc/README.rockchip | 2 +- .../clock/rockchip,rk3368-dmc.txt | 67 ++ drivers/Makefile | 36 +- drivers/clk/Kconfig | 12 +- drivers/clk/Makefile | 2 +- drivers/clk/rockchip/clk_rk3368.c | 302 ++++++- drivers/core/Kconfig | 23 +- drivers/core/Makefile | 4 +- drivers/net/gmac_rockchip.c | 78 ++ drivers/pinctrl/rockchip/pinctrl_rk3368.c | 508 ++++++++++- drivers/ram/Kconfig | 11 +- drivers/ram/Makefile | 2 + drivers/ram/rockchip/Makefile | 7 + drivers/ram/rockchip/dmc-rk3368.c | 990 +++++++++++++++++++++ drivers/spi/rk_spi.c | 9 + dts/Kconfig | 29 + include/configs/am335x_evm.h | 2 - include/configs/am335x_igep003x.h | 1 - include/configs/am335x_shc.h | 2 - include/configs/am335x_sl50.h | 2 - include/configs/am3517_crane.h | 1 - include/configs/am3517_evm.h | 1 - include/configs/am43xx_evm.h | 2 - include/configs/apf27.h | 1 - include/configs/at91sam9m10g45ek.h | 1 - include/configs/at91sam9n12ek.h | 1 - include/configs/at91sam9x5ek.h | 1 - include/configs/baltos.h | 2 - include/configs/bav335x.h | 2 - include/configs/bur_am335x_common.h | 1 - include/configs/chiliboard.h | 2 - include/configs/cm_t335.h | 1 - include/configs/cm_t35.h | 1 - include/configs/cm_t43.h | 2 - include/configs/da850evm.h | 1 - include/configs/edminiv2.h | 1 - include/configs/exynos5-common.h | 1 - include/configs/imx6_spl.h | 1 - include/configs/ipam390.h | 1 - include/configs/kc1.h | 2 - include/configs/lion_rk3368.h | 18 + include/configs/ls1021aiot.h | 1 - include/configs/ls1021aqds.h | 2 - include/configs/ls1021atwr.h | 1 - include/configs/ls1043a_common.h | 2 - include/configs/ls1046a_common.h | 2 - include/configs/ls2080a_common.h | 1 - include/configs/ma5d4evk.h | 1 - include/configs/mcx.h | 1 - include/configs/microblaze-generic.h | 2 - include/configs/mx31pdk.h | 1 - include/configs/mxs.h | 1 - include/configs/omap3_evm.h | 1 - include/configs/omapl138_lcdk.h | 1 - include/configs/origen.h | 1 - include/configs/pcm051.h | 2 - include/configs/pengwyn.h | 2 - include/configs/pepper.h | 1 - include/configs/picosam9g45.h | 1 - include/configs/rk3188_common.h | 2 +- include/configs/rk3288_common.h | 2 +- include/configs/rk3368_common.h | 8 + include/configs/rock.h | 2 +- include/configs/rockchip-common.h | 2 +- include/configs/sama5d2_xplained.h | 1 - include/configs/sama5d3_xplained.h | 1 - include/configs/sama5d3xek.h | 1 - include/configs/sama5d4_xplained.h | 1 - include/configs/sama5d4ek.h | 1 - include/configs/siemens-am33x-common.h | 2 - include/configs/smartweb.h | 1 - include/configs/smdkv310.h | 1 - include/configs/sniper.h | 2 - include/configs/sunxi-common.h | 4 - include/configs/tam3517-common.h | 1 - include/configs/tao3530.h | 1 - include/configs/ti814x_evm.h | 1 - include/configs/ti816x_evm.h | 2 - include/configs/ti_omap3_common.h | 1 - include/configs/ti_omap4_common.h | 1 - include/configs/ti_omap5_common.h | 1 - include/configs/tricorder.h | 1 - include/configs/woodburn_sd.h | 1 - include/configs/x600.h | 1 - include/configs/zynq-common.h | 2 - include/dt-bindings/memory/rk3368-dmc.h | 30 + include/linux/kconfig.h | 13 + include/spl.h | 10 + lib/Makefile | 10 +- scripts/Makefile.spl | 19 +- scripts/config_whitelist.txt | 2 - tools/rkcommon.c | 1 + 450 files changed, 3999 insertions(+), 771 deletions(-) create mode 100644 arch/arm/dts/rk3368-lion-u-boot.dtsi create mode 100644 arch/arm/dts/rk3368-lion.dts create mode 100644 arch/arm/include/asm/arch-rockchip/ddr_rk3368.h create mode 100644 arch/arm/mach-rockchip/rk3368-board-spl.c create mode 100644 arch/arm/mach-rockchip/rk3368-board-tpl.c delete mode 100644 arch/arm/mach-rockchip/rk3368/sdram_rk3368.c create mode 100644 arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds create mode 100644 arch/arm/mach-rockchip/spl-boot-order.c create mode 100644 board/theobroma-systems/lion_rk3368/Kconfig create mode 100644 board/theobroma-systems/lion_rk3368/MAINTAINERS create mode 100644 board/theobroma-systems/lion_rk3368/Makefile create mode 100644 board/theobroma-systems/lion_rk3368/README create mode 100644 board/theobroma-systems/lion_rk3368/fit_spl_atf.its create mode 100644 board/theobroma-systems/lion_rk3368/lion_rk3368.c create mode 100644 common/spl/spl_bootrom.c create mode 100644 configs/lion-rk3368_defconfig create mode 100644 doc/device-tree-bindings/clock/rockchip,rk3368-dmc.txt create mode 100644 drivers/ram/rockchip/Makefile create mode 100644 drivers/ram/rockchip/dmc-rk3368.c create mode 100644 include/configs/lion_rk3368.h create mode 100644 include/dt-bindings/memory/rk3368-dmc.h -- 2.1.4 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot