From: Linus Torvalds <torvalds@linux-foundation.org>
Date: Wed, 2 Nov 2011 03:31:25 +0000 (-0700)
Subject: Merge branch 'next/devel' of git://git.linaro.org/people/arnd/arm-soc
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=16ee792e45cf0c97ce061fce03c36cab5551ec72;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git

Merge branch 'next/devel' of git://git.linaro.org/people/arnd/arm-soc

* '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
---

16ee792e45cf0c97ce061fce03c36cab5551ec72
diff --cc arch/arm/mach-at91/at91sam9g45.c
index 00c0a78fc12c,8f5db7b9e6ea..29def9095ab1
--- a/arch/arm/mach-at91/at91sam9g45.c
+++ b/arch/arm/mach-at91/at91sam9g45.c
@@@ -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[] = {
diff --cc arch/arm/mach-tegra/board-seaboard-pinmux.c
index 74f78b7e3f19,dd3b7405b4d4..fbce31daa3c9
--- a/arch/arm/mach-tegra/board-seaboard-pinmux.c
+++ b/arch/arm/mach-tegra/board-seaboard-pinmux.c
@@@ -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,
diff --cc arch/arm/mach-tegra/devices.c
index 489e82b5282a,240d5dc58928..7a2a02dbd632
--- a/arch/arm/mach-tegra/devices.c
+++ b/arch/arm/mach-tegra/devices.c
@@@ -29,10 -29,92 +29,94 @@@
  #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,
diff --cc arch/arm/plat-mxc/Kconfig
index 4c8fdbcc9467,502e45f03178..4bdc975581eb
--- a/arch/arm/plat-mxc/Kconfig
+++ b/arch/arm/plat-mxc/Kconfig
@@@ -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"