From: Stephen Rothwell Date: Thu, 22 Sep 2011 01:49:12 +0000 (+1000) Subject: Merge remote-tracking branch 'arm-soc/for-next' X-Git-Tag: next-20110922~103 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=4f81fef02b7cc893a194bd161404e3d22efffc04;p=karo-tx-linux.git Merge remote-tracking branch 'arm-soc/for-next' Conflicts: Documentation/devicetree/bindings/arm/l2cc.txt arch/arm/boot/dts/tegra-harmony.dts arch/arm/boot/dts/tegra-seaboard.dts arch/arm/mach-at91/board-usb-a9260.c arch/arm/mach-msm/board-msm8x60.c arch/arm/mach-mxs/include/mach/gpio.h arch/arm/mach-nuc93x/Makefile.boot arch/arm/mach-u300/Makefile.boot arch/arm/mm/cache-l2x0.c arch/arm/plat-mxc/include/mach/gpio.h --- 4f81fef02b7cc893a194bd161404e3d22efffc04 diff --cc arch/arm/mach-msm/board-msm8x60.c index 9221f54778be,10fa8f6e32c9..4ad2afb86506 --- a/arch/arm/mach-msm/board-msm8x60.c +++ b/arch/arm/mach-msm/board-msm8x60.c @@@ -20,7 -14,10 +14,11 @@@ #include #include #include +#include + #include + #include + #include + #include #include #include @@@ -81,9 -62,42 +79,44 @@@ static void __init msm8x60_init(void { } + #ifdef CONFIG_OF + static struct of_dev_auxdata msm_auxdata_lookup[] __initdata = { + {} + }; + + static struct of_device_id msm_dt_gic_match[] __initdata = { + { .compatible = "qcom,msm-8660-qgic", }, + {} + }; + + static void __init msm8x60_dt_init(void) + { + struct device_node *node; + + node = of_find_matching_node_by_address(NULL, msm_dt_gic_match, + MSM8X60_QGIC_DIST_PHYS); + if (node) + irq_domain_add_simple(node, GIC_SPI_START); + + if (of_machine_is_compatible("qcom,msm8660-surf")) { + printk(KERN_INFO "Init surf UART registers\n"); + msm8x60_init_uart12dm(); + } + + of_platform_populate(NULL, of_default_bus_match_table, + msm_auxdata_lookup, NULL); + } + + static const char *msm8x60_fluid_match[] __initdata = { + "qcom,msm8660-fluid", + "qcom,msm8660-surf", + NULL + }; + #endif /* CONFIG_OF */ + MACHINE_START(MSM8X60_RUMI3, "QCT MSM8X60 RUMI3") + .fixup = msm8x60_fixup, + .reserve = msm8x60_reserve, .map_io = msm8x60_map_io, .init_irq = msm8x60_init_irq, .init_machine = msm8x60_init, @@@ -116,3 -124,14 +149,16 @@@ MACHINE_START(MSM8X60_FFA, "QCT MSM8X6 .init_machine = msm8x60_init, .timer = &msm_timer, MACHINE_END + + #ifdef CONFIG_OF + /* TODO: General device tree support for all MSM. */ + DT_MACHINE_START(MSM_DT, "Qualcomm MSM (Flattened Device Tree)") ++ .fixup = msm8x60_fixup, ++ .reserve = msm8x60_reserve, + .map_io = msm8x60_map_io, + .init_irq = msm8x60_init_irq, + .init_machine = msm8x60_dt_init, + .timer = &msm_timer, + .dt_compat = msm8x60_fluid_match, + MACHINE_END + #endif /* CONFIG_OF */ diff --cc arch/arm/mach-mxs/include/mach/gpio.h index bb11e63261e4,56025aa0a639..01ee648b1c7e --- a/arch/arm/mach-mxs/include/mach/gpio.h +++ b/arch/arm/mach-mxs/include/mach/gpio.h @@@ -20,8 -20,12 +20,4 @@@ #ifndef __MACH_MXS_GPIO_H__ #define __MACH_MXS_GPIO_H__ - #define MXS_GPIO_NR(bank, nr) ((bank) * 32 + (nr)) -#include -- - #define irq_to_gpio(irq) ((irq) - MXS_GPIO_IRQ_START) -/* use gpiolib dispatchers */ -#define gpio_get_value __gpio_get_value -#define gpio_set_value __gpio_set_value -#define gpio_cansleep __gpio_cansleep -#define gpio_to_irq __gpio_to_irq -- #endif /* __MACH_MXS_GPIO_H__ */ diff --cc arch/arm/mach-u300/Makefile.boot index 69357affbd77,a06bb0deadfe..87811de0bd94 --- a/arch/arm/mach-u300/Makefile.boot +++ b/arch/arm/mach-u300/Makefile.boot @@@ -1,15 -1,4 +1,4 @@@ - # Note: the following conditions must always be true: - # ZRELADDR == virt_to_phys(TEXTADDR) - # PARAMS_PHYS must be within 4MB of ZRELADDR - # INITRD_PHYS must be in RAM - - ifdef CONFIG_MACH_U300_SINGLE_RAM - zreladdr-y += 0x28E08000 - params_phys-y := 0x28E00100 - else - zreladdr-y += 0x48008000 - params_phys-y := 0x48000100 - endif - - zreladdr-y := 0x48008000 ++ zreladdr-y += 0x48008000 + params_phys-y := 0x48000100 # This isn't used. - #initrd_phys-y := 0x29800000 + #initrd_phys-y := 0x48800000 diff --cc arch/arm/mach-vexpress/hotplug.c index 3668cf91d2de,2866ed8c4b05..813ee08f96e6 --- a/arch/arm/mach-vexpress/hotplug.c +++ b/arch/arm/mach-vexpress/hotplug.c @@@ -63,9 -62,15 +63,9 @@@ static inline void platform_do_lowpower * code will have already disabled interrupts */ for (;;) { - /* - * here's the WFI - */ - asm(".word 0xe320f003\n" - : - : - : "memory", "cc"); + wfi(); - if (pen_release == cpu) { + if (pen_release == cpu_logical_map(cpu)) { /* * OK, proper wakeup, we're done */ diff --cc arch/arm/plat-mxc/include/mach/gpio.h index 3e1ffc8b8f0c,44af0064ba1a..593ce13adfa7 --- a/arch/arm/plat-mxc/include/mach/gpio.h +++ b/arch/arm/plat-mxc/include/mach/gpio.h @@@ -21,13 -21,12 +21,5 @@@ #include #include -#include - -/* use gpiolib dispatchers */ -#define gpio_get_value __gpio_get_value -#define gpio_set_value __gpio_set_value -#define gpio_cansleep __gpio_cansleep -#define gpio_to_irq __gpio_to_irq - - /* There's a off-by-one betweem the gpio bank number and the gpiochip */ - /* range e.g. GPIO_1_5 is gpio 5 under linux */ - #define IMX_GPIO_NR(bank, nr) (((bank) - 1) * 32 + (nr)) - - #define gpio_to_irq(gpio) (MXC_GPIO_IRQ_START + (gpio)) - #define irq_to_gpio(irq) ((irq) - MXC_GPIO_IRQ_START) - #endif