Merge branch 'next/devel' of git://git.linaro.org/people/arnd/arm-soc
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 2 Nov 2011 03:31:25 +0000 (20:31 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 2 Nov 2011 03:31:25 +0000 (20:31 -0700)
* 'next/devel' of git://git.linaro.org/people/arnd/arm-soc: (50 commits)
  ARM: tegra: update defconfig
  arm/tegra: Harmony: Configure PMC for low-level interrupts
  arm/tegra: device tree support for ventana board
  arm/tegra: add support for ventana pinmuxing
  arm/tegra: prepare Seaboard pinmux code for derived boards
  arm/tegra: pinmux: ioremap registers
  gpio/tegra: Convert to a platform device
  arm/tegra: Convert pinmux driver to a platform device
  arm/dt: Tegra: Add pinmux node to tegra20.dtsi
  arm/tegra: Prep boards for gpio/pinmux conversion to pdevs
  ARM: mx5: fix clock usage for suspend
  ARM i.MX entry-macro.S: remove now unused code
  ARM i.MX boards: use CONFIG_MULTI_IRQ_HANDLER
  ARM i.MX tzic: add handle_irq function
  ARM i.MX avic: add handle_irq function
  ARM: mx25: Add the missing IIM base definition
  ARM i.MX avic: convert to use generic irq chip
  mx31moboard: Add poweroff support
  ARM: mach-qong: Add watchdog support
  ARM: davinci: AM18x: Add wl1271/wlan support
  ...

Fix up conflicts in:
arch/arm/mach-at91/at91sam9g45.c
arch/arm/mach-mx5/devices-imx53.h
arch/arm/plat-mxc/include/mach/memory.h

48 files changed:
1  2 
arch/arm/Kconfig
arch/arm/Makefile
arch/arm/mach-at91/at91sam9260_devices.c
arch/arm/mach-at91/at91sam9g45.c
arch/arm/mach-at91/at91sam9g45_devices.c
arch/arm/mach-davinci/board-da850-evm.c
arch/arm/mach-imx/Kconfig
arch/arm/mach-imx/mach-armadillo5x0.c
arch/arm/mach-imx/mach-cpuimx27.c
arch/arm/mach-imx/mach-cpuimx35.c
arch/arm/mach-imx/mach-eukrea_cpuimx25.c
arch/arm/mach-imx/mach-imx27_visstrim_m10.c
arch/arm/mach-imx/mach-imx27ipcam.c
arch/arm/mach-imx/mach-imx27lite.c
arch/arm/mach-imx/mach-kzm_arm11_01.c
arch/arm/mach-imx/mach-mx1ads.c
arch/arm/mach-imx/mach-mx21ads.c
arch/arm/mach-imx/mach-mx25_3ds.c
arch/arm/mach-imx/mach-mx27_3ds.c
arch/arm/mach-imx/mach-mx27ads.c
arch/arm/mach-imx/mach-mx31_3ds.c
arch/arm/mach-imx/mach-mx31ads.c
arch/arm/mach-imx/mach-mx31lilly.c
arch/arm/mach-imx/mach-mx31lite.c
arch/arm/mach-imx/mach-mx31moboard.c
arch/arm/mach-imx/mach-mx35_3ds.c
arch/arm/mach-imx/mach-mxt_td60.c
arch/arm/mach-imx/mach-pca100.c
arch/arm/mach-imx/mach-pcm037.c
arch/arm/mach-imx/mach-pcm038.c
arch/arm/mach-imx/mach-pcm043.c
arch/arm/mach-imx/mach-qong.c
arch/arm/mach-imx/mach-scb9328.c
arch/arm/mach-mx5/board-cpuimx51.c
arch/arm/mach-mx5/board-cpuimx51sd.c
arch/arm/mach-mx5/board-mx51_3ds.c
arch/arm/mach-mx5/board-mx51_babbage.c
arch/arm/mach-mx5/board-mx51_efikamx.c
arch/arm/mach-mx5/board-mx51_efikasb.c
arch/arm/mach-mxs/clock-mx28.c
arch/arm/mach-mxs/mach-mx23evk.c
arch/arm/mach-mxs/mach-mx28evk.c
arch/arm/mach-mxs/mach-tx28.c
arch/arm/mach-tegra/Makefile.boot
arch/arm/mach-tegra/board-paz00-pinmux.c
arch/arm/mach-tegra/board-seaboard-pinmux.c
arch/arm/mach-tegra/devices.c
arch/arm/plat-mxc/Kconfig

Simple merge
Simple merge
index 00c0a78fc12cb4099a71d6e841f600bf1640385e,8f5db7b9e6ea1face9654916b9fdac75ceae0ecc..29def9095ab197f28cbd885a628227fbd398e84d
@@@ -222,7 -215,8 +222,9 @@@ static struct clk_lookup periph_clocks_
        CLKDEV_CON_DEV_ID("t0_clk", "atmel_tcb.1", &tcb0_clk),
        CLKDEV_CON_DEV_ID("pclk", "ssc.0", &ssc0_clk),
        CLKDEV_CON_DEV_ID("pclk", "ssc.1", &ssc1_clk),
 +      CLKDEV_CON_DEV_ID(NULL, "atmel-trng", &trng_clk),
+       /* fake hclk clock */
+       CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &uhphs_clk),
  };
  
  static struct clk_lookup usart_clocks_lookups[] = {
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 74f78b7e3f19cdf7c943ba7a843cea492b82fa84,dd3b7405b4d40a93ac1ba92586942eafe8d0fcc6..fbce31daa3c9fd65760fc8d6fcc2b0cbdc92db8e
@@@ -167,12 -192,32 +192,34 @@@ static struct tegra_gpio_table common_g
        { .gpio = TEGRA_GPIO_LIDSWITCH,         .enable = true },
        { .gpio = TEGRA_GPIO_POWERKEY,          .enable = true },
        { .gpio = TEGRA_GPIO_ISL29018_IRQ,      .enable = true },
 +      { .gpio = TEGRA_GPIO_CDC_IRQ,           .enable = true },
 +      { .gpio = TEGRA_GPIO_USB1,              .enable = true },
  };
  
- void __init seaboard_pinmux_init(void)
+ static void __init update_pinmux(struct tegra_pingroup_config *newtbl, int size)
+ {
+       int i, j;
+       struct tegra_pingroup_config *new_pingroup, *base_pingroup;
+       /* Update base seaboard pinmux table with secondary board
+        * specific pinmux table table.
+        */
+       for (i = 0; i < size; i++) {
+               new_pingroup = &newtbl[i];
+               for (j = 0; j < ARRAY_SIZE(seaboard_pinmux); j++) {
+                       base_pingroup = &seaboard_pinmux[j];
+                       if (new_pingroup->pingroup == base_pingroup->pingroup) {
+                               *base_pingroup = *new_pingroup;
+                               break;
+                       }
+               }
+       }
+ }
+ void __init seaboard_common_pinmux_init(void)
  {
+       platform_add_devices(pinmux_devices, ARRAY_SIZE(pinmux_devices));
        tegra_pinmux_config_table(seaboard_pinmux, ARRAY_SIZE(seaboard_pinmux));
  
        tegra_drive_pinmux_config_table(seaboard_drive_pinmux,
index 489e82b5282a9e0d77cae4da08690cf48364a12d,240d5dc5892896e3064efbbe3699881b87e1eec2..7a2a02dbd632f3134ca98730497368b0d555fc9d
  #include <mach/iomap.h>
  #include <mach/dma.h>
  #include <mach/usb_phy.h>
 +
  #include "gpio-names.h"
 +#include "devices.h"
  
+ static struct resource gpio_resource[] = {
+       [0] = {
+               .start  = TEGRA_GPIO_BASE,
+               .end    = TEGRA_GPIO_BASE + TEGRA_GPIO_SIZE-1,
+               .flags  = IORESOURCE_MEM,
+       },
+       [1] = {
+               .start  = INT_GPIO1,
+               .end    = INT_GPIO1,
+               .flags  = IORESOURCE_IRQ,
+       },
+       [2] = {
+               .start  = INT_GPIO2,
+               .end    = INT_GPIO2,
+               .flags  = IORESOURCE_IRQ,
+       },
+       [3] = {
+               .start  = INT_GPIO3,
+               .end    = INT_GPIO3,
+               .flags  = IORESOURCE_IRQ,
+       },
+       [4] = {
+               .start  = INT_GPIO4,
+               .end    = INT_GPIO4,
+               .flags  = IORESOURCE_IRQ,
+       },
+       [5] = {
+               .start  = INT_GPIO5,
+               .end    = INT_GPIO5,
+               .flags  = IORESOURCE_IRQ,
+       },
+       [6] = {
+               .start  = INT_GPIO6,
+               .end    = INT_GPIO6,
+               .flags  = IORESOURCE_IRQ,
+       },
+       [7] = {
+               .start  = INT_GPIO7,
+               .end    = INT_GPIO7,
+               .flags  = IORESOURCE_IRQ,
+       },
+ };
+ struct platform_device tegra_gpio_device = {
+       .name           = "tegra-gpio",
+       .id             = -1,
+       .resource       = gpio_resource,
+       .num_resources  = ARRAY_SIZE(gpio_resource),
+ };
+ static struct resource pinmux_resource[] = {
+       [0] = {
+               /* Tri-state registers */
+               .start  = TEGRA_APB_MISC_BASE + 0x14,
+               .end    = TEGRA_APB_MISC_BASE + 0x20 + 3,
+               .flags  = IORESOURCE_MEM,
+       },
+       [1] = {
+               /* Mux registers */
+               .start  = TEGRA_APB_MISC_BASE + 0x80,
+               .end    = TEGRA_APB_MISC_BASE + 0x9c + 3,
+               .flags  = IORESOURCE_MEM,
+       },
+       [2] = {
+               /* Pull-up/down registers */
+               .start  = TEGRA_APB_MISC_BASE + 0xa0,
+               .end    = TEGRA_APB_MISC_BASE + 0xb0 + 3,
+               .flags  = IORESOURCE_MEM,
+       },
+       [3] = {
+               /* Pad control registers */
+               .start  = TEGRA_APB_MISC_BASE + 0x868,
+               .end    = TEGRA_APB_MISC_BASE + 0x90c + 3,
+               .flags  = IORESOURCE_MEM,
+       },
+ };
+ struct platform_device tegra_pinmux_device = {
+       .name           = "tegra-pinmux",
+       .id             = -1,
+       .resource       = pinmux_resource,
+       .num_resources  = ARRAY_SIZE(pinmux_resource),
+ };
  static struct resource i2c_resource1[] = {
        [0] = {
                .start  = INT_I2C,
index 4c8fdbcc94677900bf8e2a7a750bc8f963db9945,502e45f03178a7e4821248eb85b30229ff84ad9c..4bdc975581eb1d46d36fe18adbf82f864917f7ed
@@@ -34,20 -21,14 +21,14 @@@ config ARCH_MX
        help
          This enables support for systems based on the Freescale i.MX3 family
  
- config ARCH_MX503
-       bool "i.MX50 + i.MX53"
-       select ARCH_MX50_SUPPORTED
-       select ARCH_MX53_SUPPORTED
+ config ARCH_MX5
+       bool "i.MX50, i.MX51, i.MX53"
+       select AUTO_ZRELADDR
+       select ARM_PATCH_PHYS_VIRT
        help
 -        This enables support for machines using Freescale's i.MX50 and i.MX51
 +        This enables support for machines using Freescale's i.MX50 and i.MX53
          processors.
  
- config ARCH_MX51
-       bool "i.MX51"
-       select ARCH_MX51_SUPPORTED
-       help
-         This enables support for systems based on the Freescale i.MX51 family
  endchoice
  
  source "arch/arm/mach-imx/Kconfig"