Merge tag 'soc2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 28 Mar 2012 19:24:40 +0000 (12:24 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 28 Mar 2012 19:24:40 +0000 (12:24 -0700)
Pull "ARM: More SoC support updates" from Olof Johansson:
 "This branch contains a handful of updates of SoC base code that had
  dependencies on other external trees that have now been merged:

   * Support for the new EXYNOS5250 SoC from Samsung
   * SMP and power domain support for Tegra3 from NVIDIA
   * ux500 updates for exporting SoC information through sysfs"

Fix up trivial merge conflicts as per Olof.

* tag 'soc2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (30 commits)
  ARM: mach-shmobile: ap4evb: Reserve DMA memory for the frame buffer
  ARM: EXYNOS: Fix compilation error with mach-exynos4-dt board
  ARM: dts: add initial dts file for EXYNOS5250, SMDK5250
  ARM: EXYNOS: add support device tree enabled board file for EXYNOS5
  ARM: EXYNOS: add support ARCH_EXYNOS5 for EXYNOS5 SoCs
  ARM: EXYNOS: add support get_core_count() for EXYNOS5250
  ARM: EXYNOS: support EINT for EXYNOS4 and EXYNOS5
  ARM: EXYNOS: add interrupt definitions for EXYNOS5250
  ARM: EXYNOS: add support for EXYNOS5250 SoC
  ARM: EXYNOS: add support uart for EXYNOS4 and EXYNOS5
  ARM: EXYNOS: add initial setup-i2c0 for EXYNOS5
  ARM: EXYNOS: add clock part for EXYNOS5250 SoC
  ARM: EXYNOS: use exynos_init_uarts() instead of exynos4_init_uarts()
  ARM: EXYNOS: to declare static for mach-exynos/common.c
  ARM: EXYNOS: Add clkdev lookup entry for lcd clock
  ARM: dt: Explicitly configure all serial ports on Tegra Cardhu
  ARM: tegra: support for secondary cores on Tegra30
  ARM: tegra: support for Tegra30 CPU powerdomains
  ARM: tegra: add support for Tegra30 powerdomains
  ARM: tegra: export tegra_powergate_is_powered()
  ...

20 files changed:
1  2 
arch/arm/Makefile
arch/arm/boot/dts/tegra-cardhu.dts
arch/arm/mach-exynos/Kconfig
arch/arm/mach-exynos/Makefile
arch/arm/mach-exynos/common.c
arch/arm/mach-exynos/include/mach/map.h
arch/arm/mach-exynos/mct.c
arch/arm/mach-shmobile/board-ap4evb.c
arch/arm/mach-shmobile/board-mackerel.c
arch/arm/mach-shmobile/setup-sh7372.c
arch/arm/mach-tegra/Makefile
arch/arm/mach-tegra/board-dt-tegra30.c
arch/arm/mach-tegra/common.c
arch/arm/mach-tegra/fuse.c
arch/arm/mach-ux500/Kconfig
arch/arm/mach-ux500/board-mop500-sdi.c
arch/arm/mach-ux500/board-mop500.c
arch/arm/mach-ux500/board-mop500.h
arch/arm/mach-ux500/cpu.c
arch/arm/mach-ux500/include/mach/setup.h

Simple merge
Simple merge
Simple merge
@@@ -45,8 -46,10 +47,9 @@@ obj-$(CONFIG_MACH_EXYNOS5_DT)                += mach-
  
  # device support
  
+ obj-y                                 += dev-uart.o
  obj-$(CONFIG_ARCH_EXYNOS4)            += dev-audio.o
  obj-$(CONFIG_EXYNOS4_DEV_AHCI)                += dev-ahci.o
 -obj-$(CONFIG_EXYNOS4_DEV_PD)          += dev-pd.o
  obj-$(CONFIG_EXYNOS4_DEV_SYSMMU)      += dev-sysmmu.o
  obj-$(CONFIG_EXYNOS4_DEV_DWMCI)               += dev-dwmci.o
  obj-$(CONFIG_EXYNOS4_DEV_DMA)         += dma.o
Simple merge
@@@ -412,17 -414,23 +415,17 @@@ static int __cpuinit exynos4_local_time
        if (mct_int_type == MCT_INT_SPI) {
                if (cpu == 0) {
                        mct_tick0_event_irq.dev_id = mevt;
-                       evt->irq = IRQ_MCT_L0;
-                       setup_irq(IRQ_MCT_L0, &mct_tick0_event_irq);
+                       evt->irq = EXYNOS4_IRQ_MCT_L0;
+                       setup_irq(EXYNOS4_IRQ_MCT_L0, &mct_tick0_event_irq);
                } else {
                        mct_tick1_event_irq.dev_id = mevt;
-                       evt->irq = IRQ_MCT_L1;
-                       setup_irq(IRQ_MCT_L1, &mct_tick1_event_irq);
-                       irq_set_affinity(IRQ_MCT_L1, cpumask_of(1));
+                       evt->irq = EXYNOS4_IRQ_MCT_L1;
+                       setup_irq(EXYNOS4_IRQ_MCT_L1, &mct_tick1_event_irq);
+                       irq_set_affinity(EXYNOS4_IRQ_MCT_L1, cpumask_of(1));
                }
        } else {
-               enable_percpu_irq(IRQ_MCT_LOCALTIMER, 0);
+               enable_percpu_irq(EXYNOS_IRQ_MCT_LOCALTIMER, 0);
        }
 -}
 -
 -/* Setup the local clock events for a CPU */
 -int __cpuinit local_timer_setup(struct clock_event_device *evt)
 -{
 -      exynos4_mct_tick_init(evt);
  
        return 0;
  }
@@@ -437,13 -445,8 +440,13 @@@ static void exynos4_local_timer_stop(st
                else
                        remove_irq(evt->irq, &mct_tick1_event_irq);
        else
-               disable_percpu_irq(IRQ_MCT_LOCALTIMER);
+               disable_percpu_irq(EXYNOS_IRQ_MCT_LOCALTIMER);
  }
 +
 +static struct local_timer_ops exynos4_mct_tick_ops __cpuinitdata = {
 +      .setup  = exynos4_local_timer_setup,
 +      .stop   = exynos4_local_timer_stop,
 +};
  #endif /* CONFIG_LOCAL_TIMERS */
  
  static void __init exynos4_timer_resources(void)
                                         exynos4_mct_tick_isr, "MCT",
                                         &percpu_mct_tick);
                WARN(err, "MCT: can't request IRQ %d (%d)\n",
-                    IRQ_MCT_LOCALTIMER, err);
+                    EXYNOS_IRQ_MCT_LOCALTIMER, err);
        }
 +
 +      local_timer_register(&exynos4_mct_tick_ops);
  #endif /* CONFIG_LOCAL_TIMERS */
  }
  
Simple merge
Simple merge
@@@ -17,7 -18,8 +18,8 @@@ obj-$(CONFIG_ARCH_TEGRA_2x_SOC)               += pin
  obj-$(CONFIG_ARCH_TEGRA_3x_SOC)               += pinmux-tegra30-tables.o
  obj-$(CONFIG_ARCH_TEGRA_3x_SOC)               += board-dt-tegra30.o
  obj-$(CONFIG_ARCH_TEGRA_3x_SOC)               += tegra30_clocks.o
 -obj-$(CONFIG_SMP)                       += platsmp.o localtimer.o headsmp.o
 +obj-$(CONFIG_SMP)                     += platsmp.o headsmp.o
+ obj-$(CONFIG_SMP)                       += reset.o
  obj-$(CONFIG_HOTPLUG_CPU)               += hotplug.o
  obj-$(CONFIG_TEGRA_SYSTEM_DMA)                += dma.o apbio.o
  obj-$(CONFIG_CPU_FREQ)                  += cpu-tegra.o
Simple merge
Simple merge
@@@ -22,20 -24,19 +22,21 @@@ config UX500_SOC_DB850
  
  menu "Ux500 target platform (boards)"
  
 -config MACH_U8500
 -      bool "U8500 Development platform"
 -      depends on UX500_SOC_DB8500
 -      select TPS6105X
 +config MACH_MOP500
 +      bool "U8500 Development platform, MOP500 versions"
 +      select UX500_SOC_DB8500
 +      select I2C
 +      select I2C_NOMADIK
+       select SOC_BUS
        help
 -        Include support for the mop500 development platform.
 +        Include support for the MOP500 development platform.
  
  config MACH_HREFV60
 -       bool "U85000 Development platform, HREFv60 version"
 -       depends on UX500_SOC_DB8500
 -       help
 -         Include support for the HREFv60 new development platform.
 +      bool "U8500 Development platform, HREFv60 version"
 +      select MACH_MOP500
 +      help
 +        Include support for the HREFv60 new development platform.
 +        Includes HREFv70, v71 etc.
  
  config MACH_SNOWBALL
        bool "U8500 Snowball platform"
Simple merge
Simple merge
Simple merge
@@@ -23,10 -23,15 +23,12 @@@ extern struct device * __init u8500_ini
  
  extern void __init ux500_init_irq(void);
  
- extern void __init u5500_sdi_init(void);
+ extern void __init u5500_sdi_init(struct device *parent);
  
- extern void __init db5500_dma_init(void);
+ extern void __init db5500_dma_init(struct device *parent);
+ extern struct device *ux500_soc_device_init(const char *soc_id);
  
 -/* We re-use nomadik_timer for this platform */
 -extern void nmdk_timer_init(void);
 -
  struct amba_device;
  extern void __init amba_add_devices(struct amba_device *devs[], int num);