From 903b1d430904588ef9f6b2f897b46e3e3cc4516a Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Tue, 29 Apr 2014 08:34:54 +0200 Subject: ARM: Rockchip: switch to multiimage support - Add images/Makefile.rockchip - Allow multiple boards to be selected - protect initcalls with appropriate of_machine_is_compatible - rename board specific config to SoC config - Add dtb file to compilation - turn barebox_arm_reset_vectorto ENTRY_FUNCTION - pass dtb to barebox_arm_entry Signed-off-by: Sascha Hauer --- arch/arm/boards/radxa-rock/board.c | 9 +++++++++ arch/arm/boards/radxa-rock/lowlevel.c | 11 +++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) (limited to 'arch/arm/boards/radxa-rock') diff --git a/arch/arm/boards/radxa-rock/board.c b/arch/arm/boards/radxa-rock/board.c index 55b4d23ef3..691f243d80 100644 --- a/arch/arm/boards/radxa-rock/board.c +++ b/arch/arm/boards/radxa-rock/board.c @@ -45,6 +45,9 @@ static void radxa_rock_pmic_init(void) static int setup_plls(void) { + if (!of_machine_is_compatible("radxa,rock")) + return 0; + /* Codec PLL frequency: 594 MHz */ rk3188_pll_set_parameters(RK3188_CPLL, 2, 198, 4); /* General PLL frequency: 300 MHz */ @@ -56,6 +59,9 @@ coredevice_initcall(setup_plls); static int devices_init(void) { + if (!of_machine_is_compatible("radxa,rock")) + return 0; + i2c_register_board_info(0, radxa_rock_i2c_devices, ARRAY_SIZE(radxa_rock_i2c_devices)); add_generic_device_res("i2c-gpio", 0, NULL, 0, &i2c_gpio_pdata); @@ -71,6 +77,9 @@ device_initcall(devices_init); static int hostname_init(void) { + if (!of_machine_is_compatible("radxa,rock")) + return 0; + barebox_set_hostname("radxa-rock"); return 0; diff --git a/arch/arm/boards/radxa-rock/lowlevel.c b/arch/arm/boards/radxa-rock/lowlevel.c index c68d229858..0b40f10599 100644 --- a/arch/arm/boards/radxa-rock/lowlevel.c +++ b/arch/arm/boards/radxa-rock/lowlevel.c @@ -16,8 +16,15 @@ #include #include -void __naked barebox_arm_reset_vector(void) +extern char __dtb_rk3188_radxarock_start[]; + +ENTRY_FUNCTION(start_radxa_rock, r0, r1, r2) { + uint32_t fdt; + arm_cpu_lowlevel_init(); - barebox_arm_entry(0x60000000, SZ_2G, 0); + + fdt = (uint32_t)__dtb_rk3188_radxarock_start - get_runtime_offset(); + + barebox_arm_entry(0x60000000, SZ_2G, fdt); } -- cgit v1.2.3