summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-rockchip/rk3036
diff options
context:
space:
mode:
authorhuang lin <hl@rock-chips.com>2015-11-17 14:20:27 +0800
committerSimon Glass <sjg@chromium.org>2015-12-01 08:07:22 -0700
commitbe1d5e0388d2e506d875d4b984485526bdf3197f (patch)
tree8118089e14f8848081646826253e8ada3d9379ef /arch/arm/mach-rockchip/rk3036
parent53c45f0ca27cbf6acd840e87beaa1ba1be74399b (diff)
downloadtalos-obmc-uboot-be1d5e0388d2e506d875d4b984485526bdf3197f.tar.gz
talos-obmc-uboot-be1d5e0388d2e506d875d4b984485526bdf3197f.zip
rockchip: rk3036: Add core Soc start-up code
rk3036 only 4K size SRAM for SPL, so only support timer, uart, sdram driver in SPL stage, when finish initial sdram, back to bootrom.And in rk3036 sdmmc and debug uart use same iomux, so if you want to boot from sdmmc, you must disable debug uart. Signed-off-by: Lin Huang <hl@rock-chips.com> Acked-by: Simon Glass <sjg@chromium.org> Fixed build error for chromebook_jerry, firefly-rk3288: Signed-off-by: Simon Glass <sjg@chromium.org> Series-changes: 8 - Fix build error for chromebook_jerry, firefly-rk3288
Diffstat (limited to 'arch/arm/mach-rockchip/rk3036')
-rw-r--r--arch/arm/mach-rockchip/rk3036/Kconfig3
-rw-r--r--arch/arm/mach-rockchip/rk3036/Makefile1
-rw-r--r--arch/arm/mach-rockchip/rk3036/save_boot_param.S32
3 files changed, 36 insertions, 0 deletions
diff --git a/arch/arm/mach-rockchip/rk3036/Kconfig b/arch/arm/mach-rockchip/rk3036/Kconfig
new file mode 100644
index 0000000000..d76d5e18ec
--- /dev/null
+++ b/arch/arm/mach-rockchip/rk3036/Kconfig
@@ -0,0 +1,3 @@
+if ROCKCHIP_RK3036
+
+endif
diff --git a/arch/arm/mach-rockchip/rk3036/Makefile b/arch/arm/mach-rockchip/rk3036/Makefile
index 6095777b8f..97d299d6cc 100644
--- a/arch/arm/mach-rockchip/rk3036/Makefile
+++ b/arch/arm/mach-rockchip/rk3036/Makefile
@@ -10,3 +10,4 @@ obj-y += syscon_rk3036.o
endif
obj-y += sdram_rk3036.o
+obj-y += save_boot_param.o
diff --git a/arch/arm/mach-rockchip/rk3036/save_boot_param.S b/arch/arm/mach-rockchip/rk3036/save_boot_param.S
new file mode 100644
index 0000000000..778ec83c2c
--- /dev/null
+++ b/arch/arm/mach-rockchip/rk3036/save_boot_param.S
@@ -0,0 +1,32 @@
+/*
+ * (C) Copyright 2015 Google, Inc
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <linux/linkage.h>
+
+.globl SAVE_SP_ADDR
+SAVE_SP_ADDR:
+ .word 0
+
+/*
+ * void save_boot_params
+ *
+ * Save sp, lr, r1~r12
+ */
+ENTRY(save_boot_params)
+ push {r1-r12, lr}
+ ldr r0, =SAVE_SP_ADDR
+ str sp, [r0]
+ b save_boot_params_ret @ back to my caller
+ENDPROC(save_boot_params)
+
+
+.globl back_to_bootrom
+ENTRY(back_to_bootrom)
+ ldr r0, =SAVE_SP_ADDR
+ ldr sp, [r0]
+ mov r0, #0
+ pop {r1-r12, pc}
+ENDPROC(back_to_bootrom)
OpenPOWER on IntegriCloud