From: Simon Horman Date: Tue, 19 Feb 2013 02:00:33 +0000 (+0900) Subject: Merge branches 'heads/defconfig', 'heads/boards3', 'boards-kzm9g-reference', 'heads... X-Git-Tag: next-20130220~14^2 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=69cde01399de3b513c35103fd2c6b9c4d8d10633;p=karo-tx-linux.git Merge branches 'heads/defconfig', 'heads/boards3', 'boards-kzm9g-reference', 'heads/pfc' and 'heads/clocksource' into next --- 69cde01399de3b513c35103fd2c6b9c4d8d10633 diff --cc arch/arm/boot/dts/Makefile index e44da40d984f,a34aa93d8a88,c41121338e4c,e44da40d984f,e44da40d984f..b284b2225ae0 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@@@@@ -122,7 -122,8 -122,8 -122,7 -122,7 +122,9 @@@@@@ dtb-$(CONFIG_ARCH_U8500) += snowball.dt ccu9540.dtb dtb-$(CONFIG_ARCH_SHMOBILE) += emev2-kzm9d.dtb \ r8a7740-armadillo800eva.dtb \ + +++ r8a7779-marzen-reference.dtb \ sh73a0-kzm9g.dtb \ ++ ++ sh73a0-kzm9g-reference.dtb \ sh7372-mackerel.dtb dtb-$(CONFIG_ARCH_SPEAR13XX) += spear1310-evb.dtb \ spear1340-evb.dtb diff --cc arch/arm/mach-shmobile/Makefile index 0b7147928aa3,17395eb84ae0,bcf675941b39,a1e931337d41,0b7147928aa3..263bdf80f7e2 --- a/arch/arm/mach-shmobile/Makefile +++ b/arch/arm/mach-shmobile/Makefile @@@@@@ -15,17 -15,17 -15,17 -15,10 -15,17 +15,10 @@@@@@ obj-$(CONFIG_ARCH_EMEV2) += setup-emev2 # SMP objects smp-y := platsmp.o headsmp.o smp-$(CONFIG_HOTPLUG_CPU) += hotplug.o - --smp-$(CONFIG_ARCH_SH73A0) += smp-sh73a0.o - smp-$(CONFIG_ARCH_SH73A0) += smp-sh73a0.o headsmp-sh73a0.o - ---smp-$(CONFIG_ARCH_R8A7779) += smp-r8a7779.o - ---smp-$(CONFIG_ARCH_EMEV2) += smp-emev2.o - - - - - -# Pinmux setup - - -pfc-y := - - -pfc-$(CONFIG_ARCH_SH7372) += pfc-sh7372.o - - -pfc-$(CONFIG_ARCH_SH73A0) += pfc-sh73a0.o - - -pfc-$(CONFIG_ARCH_R8A7740) += pfc-r8a7740.o - - -pfc-$(CONFIG_ARCH_R8A7779) += pfc-r8a7779.o + +++smp-$(CONFIG_ARCH_SH73A0) += smp-sh73a0.o headsmp-scu.o + +++smp-$(CONFIG_ARCH_R8A7779) += smp-r8a7779.o headsmp-scu.o + +++smp-$(CONFIG_ARCH_EMEV2) += smp-emev2.o headsmp-scu.o - # Pinmux setup - pfc-y := - pfc-$(CONFIG_ARCH_SH7372) += pfc-sh7372.o - pfc-$(CONFIG_ARCH_SH73A0) += pfc-sh73a0.o - pfc-$(CONFIG_ARCH_R8A7740) += pfc-r8a7740.o - pfc-$(CONFIG_ARCH_R8A7779) += pfc-r8a7779.o - # IRQ objects obj-$(CONFIG_ARCH_SH7372) += entry-intc.o obj-$(CONFIG_ARCH_R8A7740) += entry-intc.o diff --cc arch/arm/mach-shmobile/setup-r8a7779.c index 7a1ad4f38539,7b4c1eb8064e,7e87ab3eb8d3,ac7e4fc26a01,7a1ad4f38539..922dd4db21a0 --- a/arch/arm/mach-shmobile/setup-r8a7779.c +++ b/arch/arm/mach-shmobile/setup-r8a7779.c @@@@@@ -366,7 -363,48 -360,4 -391,7 -366,7 +388,48 @@@@@@ void __init r8a7779_add_early_devices(v * As a final step pass earlyprint=sh-sci.2,115200 on the kernel * command line in case of the marzen board. */ + ++} + +++ + +++#ifdef CONFIG_USE_OF + +++void __init r8a7779_add_early_devices_dt(void) + +++{ + +++ shmobile_setup_delay(1000, 2, 4); /* Cortex-A9 @ 1000MHz */ + + + - /* override timer setup with soc-specific code */ - shmobile_timer.init = r8a7779_earlytimer_init; + +++ early_platform_add_devices(r8a7779_early_devices_dt, + +++ ARRAY_SIZE(r8a7779_early_devices_dt)); + +++ + +++ /* Early serial console setup is not included here. + +++ * See comment in r8a7779_add_early_devices(). + +++ */ + + +} ++ - - /* override timer setup with soc-specific code */ - - shmobile_timer.init = r8a7779_earlytimer_init; + +++static const struct of_dev_auxdata r8a7779_auxdata_lookup[] __initconst = { + +++ {}, + +++}; + +++ + +++void __init r8a7779_add_standard_devices_dt(void) + +++{ + +++ /* clocks are setup late during boot in the case of DT */ + +++ r8a7779_clock_init(); + +++ + +++ platform_add_devices(r8a7779_early_devices_dt, + +++ ARRAY_SIZE(r8a7779_early_devices_dt)); + +++ of_platform_populate(NULL, of_default_bus_match_table, + +++ r8a7779_auxdata_lookup, NULL); ++ } + +++ + +++static const char *r8a7779_compat_dt[] __initdata = { + +++ "renesas,r8a7779", + +++ NULL, + +++}; + +++ + +++DT_MACHINE_START(SH73A0_DT, "Generic R8A7779 (Flattened Device Tree)") + +++ .map_io = r8a7779_map_io, + +++ .init_early = r8a7779_add_early_devices_dt, + +++ .nr_irqs = NR_IRQS_LEGACY, + +++ .init_irq = r8a7779_init_irq_dt, + +++ .init_machine = r8a7779_add_standard_devices_dt, + +++ .init_time = shmobile_timer_init, + +++ .dt_compat = r8a7779_compat_dt, + +++MACHINE_END + +++#endif /* CONFIG_USE_OF */ diff --cc arch/arm/mach-shmobile/setup-sh73a0.c index db99a4ade80c,f7ecb0bc1bec,f7ecb0bc1bec,eab1bae785a1,db99a4ade80c..2ecd6681692f --- a/arch/arm/mach-shmobile/setup-sh73a0.c +++ b/arch/arm/mach-shmobile/setup-sh73a0.c @@@@@@ -810,7 -818,56 -818,56 -835,7 -810,7 +843,56 @@@@@@ void __init sh73a0_add_early_devices(vo /* setup early console here as well */ shmobile_setup_console(); + ++} + ++ + ++#ifdef CONFIG_USE_OF + ++ + ++/* Please note that the clock initialisation shcheme used in + ++ * sh73a0_add_early_devices_dt() and sh73a0_add_standard_devices_dt() + ++ * does not work with SMP as there is a yet to be resolved lock-up in + ++ * workqueue initialisation. + ++ * + ++ * CONFIG_SMP should be disabled when using this code. + ++ */ + ++ + ++void __init sh73a0_add_early_devices_dt(void) + ++{ + ++ shmobile_setup_delay(1196, 44, 46); /* Cortex-A9 @ 1196MHz */ + ++ + ++ early_platform_add_devices(sh73a0_early_devices_dt, + ++ ARRAY_SIZE(sh73a0_early_devices_dt)); + ++ + ++ /* setup early console here as well */ + ++ shmobile_setup_console(); + ++} + + - /* override timer setup with soc-specific code */ - shmobile_timer.init = sh73a0_earlytimer_init; + ++static const struct of_dev_auxdata sh73a0_auxdata_lookup[] __initconst = { + ++ {}, + ++}; + - - /* override timer setup with soc-specific code */ - - shmobile_timer.init = sh73a0_earlytimer_init; + ++void __init sh73a0_add_standard_devices_dt(void) + ++{ + ++ /* clocks are setup late during boot in the case of DT */ + ++ sh73a0_clock_init(); + ++ + ++ platform_add_devices(sh73a0_early_devices_dt, + ++ ARRAY_SIZE(sh73a0_early_devices_dt)); + ++ of_platform_populate(NULL, of_default_bus_match_table, + ++ sh73a0_auxdata_lookup, NULL); } + ++ + ++static const char *sh73a0_boards_compat_dt[] __initdata = { + ++ "renesas,sh73a0", + ++ NULL, + ++}; + ++ + ++DT_MACHINE_START(SH73A0_DT, "Generic SH73A0 (Flattened Device Tree)") + ++ .map_io = sh73a0_map_io, + ++ .init_early = sh73a0_add_early_devices_dt, + ++ .nr_irqs = NR_IRQS_LEGACY, + ++ .init_irq = sh73a0_init_irq_dt, + ++ .init_machine = sh73a0_add_standard_devices_dt, + ++ .init_time = shmobile_timer_init, + ++ .dt_compat = sh73a0_boards_compat_dt, + ++MACHINE_END + ++#endif /* CONFIG_USE_OF */