From: Jason Cooper Date: Sun, 17 Feb 2013 22:51:56 +0000 (+0000) Subject: Merge remote-tracking branch 'arm-soc/timer/cleanup' into mvebu/boards X-Git-Tag: next-20130220~18^2~6^2^2 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=ab7a8e7bc41545625bf1c73cb100b1f9ab0845d1;p=karo-tx-linux.git Merge remote-tracking branch 'arm-soc/timer/cleanup' into mvebu/boards Conflicts: arch/arm/mach-dove/common.c - remove all DT code, it's now in mach-dove/board-dt.c Caused by: eff198f 'ARM: Dove: split legacy and DT setup' in mvebu/boards Fixed build breakage for dove_defconfig by using .init_time in mach-dove/board-dt.c's DT_MACHINE_START. Signed-off-by: Jason Cooper --- ab7a8e7bc41545625bf1c73cb100b1f9ab0845d1 diff --cc arch/arm/mach-dove/board-dt.c index 2310f554ec2a,000000000000..f8f891b53233 mode 100644,000000..100644 --- a/arch/arm/mach-dove/board-dt.c +++ b/arch/arm/mach-dove/board-dt.c @@@ -1,102 -1,0 +1,102 @@@ +/* + * arch/arm/mach-dove/board-dt.c + * + * Marvell Dove 88AP510 System On Chip FDT Board + * + * This file is licensed under the terms of the GNU General Public + * License version 2. This program is licensed "as is" without any + * warranty of any kind, whether express or implied. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "common.h" + +/* + * There are still devices that doesn't even know about DT, + * get clock gates here and add a clock lookup. + */ +static void __init dove_legacy_clk_init(void) +{ + struct device_node *np = of_find_compatible_node(NULL, NULL, + "marvell,dove-gating-clock"); + struct of_phandle_args clkspec; + + clkspec.np = np; + clkspec.args_count = 1; + + clkspec.args[0] = CLOCK_GATING_BIT_USB0; + orion_clkdev_add(NULL, "orion-ehci.0", + of_clk_get_from_provider(&clkspec)); + + clkspec.args[0] = CLOCK_GATING_BIT_USB1; + orion_clkdev_add(NULL, "orion-ehci.1", + of_clk_get_from_provider(&clkspec)); + + clkspec.args[0] = CLOCK_GATING_BIT_GBE; + orion_clkdev_add(NULL, "mv643xx_eth_port.0", + of_clk_get_from_provider(&clkspec)); + + clkspec.args[0] = CLOCK_GATING_BIT_PCIE0; + orion_clkdev_add("0", "pcie", + of_clk_get_from_provider(&clkspec)); + + clkspec.args[0] = CLOCK_GATING_BIT_PCIE1; + orion_clkdev_add("1", "pcie", + of_clk_get_from_provider(&clkspec)); +} + +static void __init dove_of_clk_init(void) +{ + mvebu_clocks_init(); + dove_legacy_clk_init(); +} + +static struct mv643xx_eth_platform_data dove_dt_ge00_data = { + .phy_addr = MV643XX_ETH_PHY_ADDR_DEFAULT, +}; + +static void __init dove_dt_init(void) +{ + pr_info("Dove 88AP510 SoC\n"); + +#ifdef CONFIG_CACHE_TAUROS2 + tauros2_init(0); +#endif + dove_setup_cpu_mbus(); + + /* Setup root of clk tree */ + dove_of_clk_init(); + + /* Internal devices not ported to DT yet */ + dove_ge00_init(&dove_dt_ge00_data); + dove_ehci0_init(); + dove_ehci1_init(); + dove_pcie_init(1, 1); + + of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); +} + +static const char * const dove_dt_board_compat[] = { + "marvell,dove", + NULL +}; + +DT_MACHINE_START(DOVE_DT, "Marvell Dove (Flattened Device Tree)") + .map_io = dove_map_io, + .init_early = dove_init_early, + .init_irq = orion_dt_init_irq, - .timer = &dove_timer, ++ .init_time = dove_timer_init, + .init_machine = dove_dt_init, + .restart = dove_restart, + .dt_compat = dove_dt_board_compat, +MACHINE_END diff --cc arch/arm/mach-highbank/highbank.c index 981dc1e1da51,f6ca285ee5c5..41e254cac1ac --- a/arch/arm/mach-highbank/highbank.c +++ b/arch/arm/mach-highbank/highbank.c @@@ -129,13 -129,9 +129,9 @@@ static void __init highbank_timer_init( arch_timer_sched_clock_init(); } - static struct sys_timer highbank_timer = { - .init = highbank_timer_init, - }; - static void highbank_power_off(void) { - hignbank_set_pwr_shutdown(); + highbank_set_pwr_shutdown(); while (1) cpu_do_idle();