[U-Boot] [PATCH v3 00/16] rk3188 uboot support

Heiko Stuebner
2017-02-03T16:09:23Z

Hi,

this is meant as a status update and possible discussion for
the core parts if needed.

After talking with Simon and Tom the order is now also correct
with tpl -> spl -> uboot.

Status right now is:
- the full uboot still works
- the tpl/spl does start and is able to configure the ddr
into a working state
- The jump spl -> bootrom -> uboot doesn't work though

On the other hand, Kever was able to make this work, booting
from nand when building the image with a very ancient tool.

All newer tools (including boot_merger.c from Rockchip's uboot)
do not produce working images. But it is possible to produce
a working sd-boot image using the proprietary 1st-stage loader.

See the temporary mkuboot script in the last patch, which can
create both types of images now (especially wrt. the needed
rc4 encryption of everything).

Combining this (it does work using some special tool), it looks
like there is still some minor glitch in the way we build the
spl image somewhere.

Heiko Stuebner (16):
dm: allow limiting pre-reloc markings to spl or tpl
rockchip: move bootrom helper compilation to a hidden option
rockchip: mkimage: Allow encoding of loader code in spl images
rockchip: mkimage: Add support rk3188 serial
rockchip: serial: Adapt rockchip of-platdata driver for rk3188
rockchip: rk3188: Add header files for PMU and GRF
rockchip: rk3188: Add pinctrl driver
rockchip: rk3188: Add sysreset driver
rockchip: rk3188: Add rk3066/rk3188 clock bindings
rockchip: rk3188: Add clock driver
rockchip: rk3188: Add core devicetree files
rockchip: rk3188: Add core support
rockchip: rk3188: Add sdram driver
rockchip: rk3188: Add main, spl and tpl boards
rockchip: rk3188: Add Radxa Rock board
Add a temporary script that can create a bootimage for rk3188

arch/arm/dts/Makefile | 1 +
arch/arm/dts/rk3188-radxarock.dts | 382 +++++++++
arch/arm/dts/rk3188.dtsi | 601 +++++++++++++++
arch/arm/dts/rk3xxx.dtsi | 417 ++++++++++
arch/arm/include/asm/arch-rockchip/cru_rk3188.h | 191 +++++
arch/arm/include/asm/arch-rockchip/ddr_rk3188.h | 22 +
arch/arm/include/asm/arch-rockchip/grf_rk3188.h | 589 ++++++++++++++
arch/arm/include/asm/arch-rockchip/pmu_rk3188.h | 36 +
arch/arm/mach-rockchip/Kconfig | 20 +
arch/arm/mach-rockchip/Makefile | 14 +-
arch/arm/mach-rockchip/rk3188-board-spl.c | 220 ++++++
arch/arm/mach-rockchip/rk3188-board-tpl.c | 87 +++
arch/arm/mach-rockchip/rk3188-board.c | 71 ++
arch/arm/mach-rockchip/rk3188/Kconfig | 35 +
arch/arm/mach-rockchip/rk3188/Makefile | 11 +
arch/arm/mach-rockchip/rk3188/clk_rk3188.c | 33 +
arch/arm/mach-rockchip/rk3188/sdram_rk3188.c | 985 ++++++++++++++++++++++++
arch/arm/mach-rockchip/rk3188/syscon_rk3188.c | 55 ++
board/radxa/rock/Kconfig | 15 +
board/radxa/rock/MAINTAINERS | 6 +
board/radxa/rock/Makefile | 7 +
board/radxa/rock/rock.c | 7 +
configs/rock_defconfig | 56 ++
doc/driver-model/README.txt | 4 +
drivers/clk/at91/pmc.c | 3 +-
drivers/clk/rockchip/Makefile | 1 +
drivers/clk/rockchip/clk_rk3188.c | 523 +++++++++++++
drivers/core/root.c | 2 +-
drivers/core/util.c | 29 +
drivers/pinctrl/Kconfig | 9 +
drivers/pinctrl/pinctrl-uclass.c | 3 +-
drivers/pinctrl/rockchip/Makefile | 1 +
drivers/pinctrl/rockchip/pinctrl_rk3188.c | 611 +++++++++++++++
drivers/serial/serial_rockchip.c | 19 +-
drivers/sysreset/Makefile | 1 +
drivers/sysreset/sysreset_rk3188.c | 47 ++
include/configs/rk3188_common.h | 125 +++
include/configs/rock.h | 30 +
include/dm/util.h | 2 +
include/dt-bindings/clock/rk3066a-cru.h | 32 +
include/dt-bindings/clock/rk3188-cru-common.h | 256 ++++++
include/dt-bindings/clock/rk3188-cru.h | 48 ++
mkuboot | 35 +
scripts/Makefile.spl | 7 +-
tools/dtoc/dtoc.py | 2 +
tools/rkcommon.c | 34 +-
tools/rkcommon.h | 22 +
tools/rkimage.c | 3 +
tools/rksd.c | 4 +
tools/rkspi.c | 4 +
50 files changed, 5707 insertions(+), 11 deletions(-)
create mode 100644 arch/arm/dts/rk3188-radxarock.dts
create mode 100644 arch/arm/dts/rk3188.dtsi
create mode 100644 arch/arm/dts/rk3xxx.dtsi
create mode 100644 arch/arm/include/asm/arch-rockchip/cru_rk3188.h
create mode 100644 arch/arm/include/asm/arch-rockchip/ddr_rk3188.h
create mode 100644 arch/arm/include/asm/arch-rockchip/grf_rk3188.h
create mode 100644 arch/arm/include/asm/arch-rockchip/pmu_rk3188.h
create mode 100644 arch/arm/mach-rockchip/rk3188-board-spl.c
create mode 100644 arch/arm/mach-rockchip/rk3188-board-tpl.c
create mode 100644 arch/arm/mach-rockchip/rk3188-board.c
create mode 100644 arch/arm/mach-rockchip/rk3188/Kconfig
create mode 100644 arch/arm/mach-rockchip/rk3188/Makefile
create mode 100644 arch/arm/mach-rockchip/rk3188/clk_rk3188.c
create mode 100644 arch/arm/mach-rockchip/rk3188/sdram_rk3188.c
create mode 100644 arch/arm/mach-rockchip/rk3188/syscon_rk3188.c
create mode 100644 board/radxa/rock/Kconfig
create mode 100644 board/radxa/rock/MAINTAINERS
create mode 100644 board/radxa/rock/Makefile
create mode 100644 board/radxa/rock/rock.c
create mode 100644 configs/rock_defconfig
create mode 100644 drivers/clk/rockchip/clk_rk3188.c
create mode 100644 drivers/pinctrl/rockchip/pinctrl_rk3188.c
create mode 100644 drivers/sysreset/sysreset_rk3188.c
create mode 100644 include/configs/rk3188_common.h
create mode 100644 include/configs/rock.h
create mode 100644 include/dt-bindings/clock/rk3066a-cru.h
create mode 100644 include/dt-bindings/clock/rk3188-cru-common.h
create mode 100644 include/dt-bindings/clock/rk3188-cru.h
create mode 100755 mkuboot

--
2.11.0