summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>2017-09-18 18:53:10 +0200
committerPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>2017-11-01 23:20:55 +0100
commit2f8e7c40be7f0de0bfd01d0cfbb8f453aa35f841 (patch)
treee8a69a28c6dea22eb2f570cf043bd30d3ea7cce1 /include
parent8917f697af3ac3f2fd7fbfdc3f23c4f663422d4c (diff)
rockchip: rk3188: use boot0 hook to load up SPL in 2 steps
For the RK3188, the BROM will attempt to load up the first stage image (SPL for the RK3188) in two steps: first 1KB to offset 0x800 in the SRAM and then the remainder to offset 0xc00 in the SRAM. It always enters at 0x804, though. With this changeset, the RK3188 boot removes the TPL (stub) stage and builds a single SPL binary that utilizes the early back-to-bootrom via the boot0-hook. Consequently, the passing of the saved boot params via pmu->os_reg[2] is also removed. Series-changes: 2 - [added in v2] chain back_to_bootrom calls for SPL, first returning to the TPL (using the same mechanism) and the to the BROM from the TPL Series-changes: 4 - after merging the 'back-to-bootrom' series with the 'boot0-hook' series, this drops the TPL stub and builds only a single SPL image that uses the 'early back-to-bootrom' logic originally implemented by Pawel for the RK3066. - changes the SPL_STACK_BASE to +0x800 (from +0x804), as the boot0 hook already reserves the space for the SPL magic (previously inserted by mkimage)
Diffstat (limited to 'include')
-rw-r--r--include/configs/rk3188_common.h12
1 files changed, 3 insertions, 9 deletions
diff --git a/include/configs/rk3188_common.h b/include/configs/rk3188_common.h
index 5e462346be..9824a105a8 100644
--- a/include/configs/rk3188_common.h
+++ b/include/configs/rk3188_common.h
@@ -37,14 +37,9 @@
#define CONFIG_ROCKCHIP_MAX_INIT_SIZE (0x8000 - 0x800)
#define CONFIG_ROCKCHIP_CHIP_TAG "RK31"
-#ifdef CONFIG_TPL_BUILD
-#define CONFIG_SPL_TEXT_BASE 0x10080804
-/* tpl size 1kb - 4byte RK31 header */
-#define CONFIG_SPL_MAX_SIZE (0x400 - 0x4)
-#elif defined(CONFIG_SPL_BUILD)
-/* spl size 32kb sram - 2kb bootrom - 1kb spl */
-#define CONFIG_SPL_MAX_SIZE (0x8000 - 0xC00)
-#define CONFIG_SPL_TEXT_BASE 0x10080C00
+#define CONFIG_SPL_TEXT_BASE 0x10080800
+/* spl size 32kb sram - 2kb bootrom */
+#define CONFIG_SPL_MAX_SIZE (0x8000 - 0x800)
#define CONFIG_SPL_FRAMEWORK 1
#define CONFIG_SPL_CLK 1
#define CONFIG_SPL_PINCTRL 1
@@ -53,7 +48,6 @@
#define CONFIG_SPL_RAM 1
#define CONFIG_SPL_DRIVERS_MISC_SUPPORT 1
#define CONFIG_ROCKCHIP_SERIAL 1
-#endif
#define CONFIG_SPL_STACK 0x10087fff