u-boot/arch/arm/include/asm/arch-rockchip
Philipp Tomsich 3d54eabcaf rockchip: spl: RK3399: use boot0 hook to create space for SPL magic
The SPL binary needs to be prefixed with the boot magic ('RK33' for
the RK3399) on the Rockchip platform and starts execution of the
instruction word following immediately after this boot magic.

This poses a challenge for AArch64 (ARMv8) binaries, as the .text
section would need to start on the odd address, violating natural
alignment (and potentially triggering a fault for any code that
tries to access 64bit values embedded in the .text section).

A quick and easy fix is to have the .text section include the 'RK33'
magic and pad it with a boot0 hook to insert 4 bytes of padding at the
start of the section (with the intention of having mkimage overwrite
this padding with the appropriate boot magic). This avoids having to
modify the linker scripts or more complex logic in mkimage.

X-AffectedPlatforms: RK3399-Q7
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Tested-by: Klaus Goger <klaus.goger@theobroma-systems.com>
2017-04-04 20:01:57 -06:00
..
boot0.h rockchip: spl: RK3399: use boot0 hook to create space for SPL magic 2017-04-04 20:01:57 -06:00
boot_mode.h rockchip: add boot-mode support for rk3288, rk3036 2016-10-01 18:36:55 -06:00
bootrom.h rockchip: Move bootrom-related declarations to a header 2017-03-16 16:03:44 -06:00
clock.h rockchip: arm64: rk3399: syscon addition for rk3399 2017-03-16 16:03:44 -06:00
cru_rk3036.h rockchip: rk3036: Move rockchip_get_cru() out of the driver 2016-10-30 13:29:06 -06:00
cru_rk3188.h rockchip: rk3188: Add clock driver 2017-03-16 16:03:45 -06:00
cru_rk3288.h rockchip: rk3288: Move rockchip_get_cru() out of the driver 2016-10-30 13:29:06 -06:00
cru_rk3328.h rockchip: rk3328: add clock driver 2017-03-16 16:03:46 -06:00
cru_rk3399.h rockchip: clk: rk3399: update driver for spl 2017-03-16 16:03:43 -06:00
ddr_rk3188.h rockchip: rk3188: Add sdram driver 2017-03-16 16:03:45 -06:00
ddr_rk3288.h rockchip: rk3288: sdram: use constants in ddrconf table 2017-03-16 16:03:44 -06:00
edp_rk3288.h rockchip: video: Add a display driver for rockchip eDP 2016-01-21 20:42:36 -07:00
gpio.h rockchip: gpio: Add rockchip GPIO driver 2015-09-02 21:28:23 -06:00
grf_rk3036.h rockchip: rk3036: Add header files for GRF 2015-12-01 08:07:22 -07:00
grf_rk3188.h rockchip: rk3188: Add header files for PMU and GRF 2017-03-16 16:03:44 -06:00
grf_rk3288.h rockchip: rk3288: grf: Define GRF_SOC_CON1 and GRF_SOC_CON3 2016-05-27 09:00:48 -06:00
grf_rk3328.h rockchip: rk3328: add pinctrl driver 2017-03-16 16:03:46 -06:00
grf_rk3399.h rockchip: arm64: rk3399: move grf register definitions to grf_rk3399.h 2017-03-16 16:03:43 -06:00
hardware.h rockchip: Tidy up the register-access macros 2016-01-21 20:42:37 -07:00
hdmi_rk3288.h rockchip: video: Add a display driver for rockchip HDMI 2016-01-21 20:42:36 -07:00
i2c.h rockchip: Add I2C driver 2015-09-02 21:28:24 -06:00
lvds_rk3288.h rockchip: video: Add a display driver for rockchip LVDS 2016-03-14 22:06:33 +01:00
periph.h rockchip: Add basic peripheral and clock definitions 2015-09-02 21:28:23 -06:00
pmu_rk3188.h rockchip: rk3188: Add header files for PMU and GRF 2017-03-16 16:03:44 -06:00
pmu_rk3288.h rockchip: Convert the PMU IOMUX registers into an array 2016-01-21 20:42:34 -07:00
pwm.h rockchip: rkpwm: fix the register sequence 2016-10-01 18:35:01 -06:00
qos_rk3288.h rockchip: rk3288: set isp/vop qos priority level 2017-01-11 20:23:50 -07:00
sdram.h rk3288: sdram: auto-detect the capacity 2016-10-30 13:29:06 -06:00
sdram_rk3036.h rockchip: add rk3036 sdram driver 2015-12-01 08:07:22 -07:00
sdram_rk3399.h rockchip: arm64: rk3399: add ddr controller driver 2017-03-16 16:03:45 -06:00
sys_proto.h rk3399: add a empty "sys_proto.h" header file 2016-09-22 07:57:02 -06:00
timer.h rockchip: add timer driver 2015-12-01 08:07:22 -07:00
uart.h rockchip: add early uart driver 2015-12-01 08:07:22 -07:00
vop_rk3288.h rockchip: video: Add LVDS support in vop driver 2016-03-14 22:24:10 +01:00