Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux...
authorRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 25 May 2011 20:47:48 +0000 (21:47 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 25 May 2011 20:47:48 +0000 (21:47 +0100)
Conflicts:
arch/arm/Kconfig
arch/arm/mach-exynos4/mach-nuri.c

1  2 
arch/arm/Kconfig
arch/arm/Makefile
arch/arm/mach-exynos4/Kconfig
arch/arm/mach-exynos4/Makefile
arch/arm/mach-exynos4/mach-nuri.c
arch/arm/plat-s5p/Kconfig
arch/arm/plat-samsung/include/plat/cpu.h
arch/arm/plat-samsung/include/plat/devs.h
sound/soc/samsung/Kconfig

diff --combined arch/arm/Kconfig
index 3bc1a58cc7d89ceba1f50600915d8d880d28d9da,e81c72c38fed90c5ccd419939e296e5a292cac71..f7cce8b75f49b840ca67cc88bb11d29a391ce596
@@@ -197,21 -197,15 +197,21 @@@ config ARM_PATCH_PHYS_VIR
        depends on !XIP_KERNEL && MMU
        depends on !ARCH_REALVIEW || !SPARSEMEM
        help
 -        Patch phys-to-virt translation functions at runtime according to
 -        the position of the kernel in system memory.
 +        Patch phys-to-virt and virt-to-phys translation functions at
 +        boot and module load time according to the position of the
 +        kernel in system memory.
  
 -        This can only be used with non-XIP with MMU kernels where
 -        the base of physical memory is at a 16MB boundary.
 +        This can only be used with non-XIP MMU kernels where the base
 +        of physical memory is at a 16MB boundary, or theoretically 64K
 +        for the MSM machine class.
  
  config ARM_PATCH_PHYS_VIRT_16BIT
        def_bool y
        depends on ARM_PATCH_PHYS_VIRT && ARCH_MSM
 +      help
 +        This option extends the physical to virtual translation patching
 +        to allow physical memory down to a theoretical minimum of 64K
 +        boundaries.
  
  source "init/Kconfig"
  
@@@ -303,7 -297,6 +303,7 @@@ config ARCH_BCMRIN
        depends on MMU
        select CPU_V6
        select ARM_AMBA
 +      select ARM_TIMER_SP804
        select CLKDEV_LOOKUP
        select GENERIC_CLOCKEVENTS
        select ARCH_WANT_OPTIONAL_GPIOLIB
@@@ -373,7 -366,6 +373,7 @@@ config ARCH_MX
        select GENERIC_CLOCKEVENTS
        select ARCH_REQUIRE_GPIOLIB
        select CLKDEV_LOOKUP
 +      select CLKSRC_MMIO
        select HAVE_SCHED_CLOCK
        help
          Support for Freescale MXC/iMX-based family of processors
@@@ -383,13 -375,21 +383,13 @@@ config ARCH_MX
        select GENERIC_CLOCKEVENTS
        select ARCH_REQUIRE_GPIOLIB
        select CLKDEV_LOOKUP
 +      select CLKSRC_MMIO
        help
          Support for Freescale MXS-based family of processors
  
 -config ARCH_STMP3XXX
 -      bool "Freescale STMP3xxx"
 -      select CPU_ARM926T
 -      select CLKDEV_LOOKUP
 -      select ARCH_REQUIRE_GPIOLIB
 -      select GENERIC_CLOCKEVENTS
 -      select USB_ARCH_HAS_EHCI
 -      help
 -        Support for systems based on the Freescale 3xxx CPUs.
 -
  config ARCH_NETX
        bool "Hilscher NetX based"
 +      select CLKSRC_MMIO
        select CPU_ARM926T
        select ARM_VIC
        select GENERIC_CLOCKEVENTS
@@@ -457,7 -457,6 +457,7 @@@ config ARCH_IXP200
  config ARCH_IXP4XX
        bool "IXP4xx-based"
        depends on MMU
 +      select CLKSRC_MMIO
        select CPU_XSCALE
        select GENERIC_GPIO
        select GENERIC_CLOCKEVENTS
  
  config ARCH_DOVE
        bool "Marvell Dove"
 -      select CPU_V6K
 +      select CPU_V7
        select PCI
        select ARCH_REQUIRE_GPIOLIB
        select GENERIC_CLOCKEVENTS
@@@ -498,7 -497,6 +498,7 @@@ config ARCH_LOK
  
  config ARCH_LPC32XX
        bool "NXP LPC32XX"
 +      select CLKSRC_MMIO
        select CPU_ARM926T
        select ARCH_REQUIRE_GPIOLIB
        select HAVE_IDE
@@@ -556,12 -554,23 +556,12 @@@ config ARCH_KS869
          Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
          System-on-Chip devices.
  
 -config ARCH_NS9XXX
 -      bool "NetSilicon NS9xxx"
 -      select CPU_ARM926T
 -      select GENERIC_GPIO
 -      select GENERIC_CLOCKEVENTS
 -      select HAVE_CLK
 -      help
 -        Say Y here if you intend to run this kernel on a NetSilicon NS9xxx
 -        System.
 -
 -        <http://www.digi.com/products/microprocessors/index.jsp>
 -
  config ARCH_W90X900
        bool "Nuvoton W90X900 CPU"
        select CPU_ARM926T
        select ARCH_REQUIRE_GPIOLIB
        select CLKDEV_LOOKUP
 +      select CLKSRC_MMIO
        select GENERIC_CLOCKEVENTS
        help
          Support for Nuvoton (Winbond logic dept.) ARM9 processor,
@@@ -583,7 -592,6 +583,7 @@@ config ARCH_NUC93
  config ARCH_TEGRA
        bool "NVIDIA Tegra"
        select CLKDEV_LOOKUP
 +      select CLKSRC_MMIO
        select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        select GENERIC_GPIO
@@@ -609,7 -617,6 +609,7 @@@ config ARCH_PX
        select ARCH_MTD_XIP
        select ARCH_HAS_CPUFREQ
        select CLKDEV_LOOKUP
 +      select CLKSRC_MMIO
        select ARCH_REQUIRE_GPIOLIB
        select GENERIC_CLOCKEVENTS
        select HAVE_SCHED_CLOCK
@@@ -660,7 -667,6 +660,7 @@@ config ARCH_RP
  
  config ARCH_SA1100
        bool "SA1100-based"
 +      select CLKSRC_MMIO
        select CPU_SA1100
        select ISA
        select ARCH_SPARSEMEM_ENABLE
@@@ -730,16 -736,6 +730,6 @@@ config ARCH_S5P64X
          Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440,
          SMDK6450.
  
- config ARCH_S5P6442
-       bool "Samsung S5P6442"
-       select CPU_V6
-       select GENERIC_GPIO
-       select HAVE_CLK
-       select ARCH_USES_GETTIMEOFFSET
-       select HAVE_S3C2410_WATCHDOG if WATCHDOG
-       help
-         Samsung S5P6442 CPU based systems
  config ARCH_S5PC100
        bool "Samsung S5PC100"
        select GENERIC_GPIO
@@@ -797,7 -793,6 +787,7 @@@ config ARCH_SHAR
  
  config ARCH_TCC_926
        bool "Telechips TCC ARM926-based systems"
 +      select CLKSRC_MMIO
        select CPU_ARM926T
        select HAVE_CLK
        select CLKDEV_LOOKUP
  config ARCH_U300
        bool "ST-Ericsson U300 Series"
        depends on MMU
 +      select CLKSRC_MMIO
        select CPU_ARM926T
        select HAVE_SCHED_CLOCK
        select HAVE_TCM
@@@ -850,7 -844,6 +840,7 @@@ config ARCH_DAVINC
        select HAVE_IDE
        select CLKDEV_LOOKUP
        select GENERIC_ALLOCATOR
 +      select GENERIC_IRQ_CHIP
        select ARCH_HAS_HOLES_MEMORYMODEL
        help
          Support for TI's DaVinci platform.
@@@ -871,7 -864,6 +861,7 @@@ config PLAT_SPEA
        select ARM_AMBA
        select ARCH_REQUIRE_GPIOLIB
        select CLKDEV_LOOKUP
 +      select CLKSRC_MMIO
        select GENERIC_CLOCKEVENTS
        select HAVE_CLK
        help
@@@ -949,6 -941,8 +939,6 @@@ source "arch/arm/mach-netx/Kconfig
  source "arch/arm/mach-nomadik/Kconfig"
  source "arch/arm/plat-nomadik/Kconfig"
  
 -source "arch/arm/mach-ns9xxx/Kconfig"
 -
  source "arch/arm/mach-nuc93x/Kconfig"
  
  source "arch/arm/plat-omap/Kconfig"
@@@ -991,8 -985,6 +981,6 @@@ endi
  
  source "arch/arm/mach-s5p64x0/Kconfig"
  
- source "arch/arm/mach-s5p6442/Kconfig"
  source "arch/arm/mach-s5pc100/Kconfig"
  
  source "arch/arm/mach-s5pv210/Kconfig"
@@@ -1001,6 -993,8 +989,6 @@@ source "arch/arm/mach-exynos4/Kconfig
  
  source "arch/arm/mach-shmobile/Kconfig"
  
 -source "arch/arm/plat-stmp3xxx/Kconfig"
 -
  source "arch/arm/mach-tegra/Kconfig"
  
  source "arch/arm/mach-u300/Kconfig"
@@@ -1027,8 -1021,6 +1015,8 @@@ config PLAT_IO
  
  config PLAT_ORION
        bool
 +      select CLKSRC_MMIO
 +      select GENERIC_IRQ_CHIP
        select HAVE_SCHED_CLOCK
  
  config PLAT_PXA
@@@ -1039,7 -1031,6 +1027,7 @@@ config PLAT_VERSATIL
  
  config ARM_TIMER_SP804
        bool
 +      select CLKSRC_MMIO
  
  source arch/arm/mm/Kconfig
  
@@@ -1315,7 -1306,8 +1303,7 @@@ menu "Kernel Features
  source "kernel/time/Kconfig"
  
  config SMP
 -      bool "Symmetric Multi-Processing (EXPERIMENTAL)"
 -      depends on EXPERIMENTAL
 +      bool "Symmetric Multi-Processing"
        depends on CPU_V6K || CPU_V7
        depends on GENERIC_CLOCKEVENTS
        depends on REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP || \
@@@ -1420,7 -1412,7 +1408,7 @@@ source kernel/Kconfig.preemp
  config HZ
        int
        default 200 if ARCH_EBSA110 || ARCH_S3C2410 || ARCH_S5P64X0 || \
-               ARCH_S5P6442 || ARCH_S5PV210 || ARCH_EXYNOS4
+               ARCH_S5PV210 || ARCH_EXYNOS4
        default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
        default AT91_TIMER_HZ if ARCH_AT91
        default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE
@@@ -1517,8 -1509,8 +1505,8 @@@ config ARCH_SELECT_MEMORY_MODE
        def_bool ARCH_SPARSEMEM_ENABLE
  
  config HIGHMEM
 -      bool "High Memory Support (EXPERIMENTAL)"
 -      depends on MMU && EXPERIMENTAL
 +      bool "High Memory Support"
 +      depends on MMU
        help
          The address space of ARM processors is only 4 Gigabytes large
          and it has to accommodate user address space, kernel address
@@@ -1683,13 -1675,6 +1671,13 @@@ endmen
  
  menu "Boot options"
  
 +config USE_OF
 +      bool "Flattened Device Tree support"
 +      select OF
 +      select OF_EARLY_FLATTREE
 +      help
 +        Include support for flattened device tree machine descriptions.
 +
  # Compressed boot loader in ROM.  Yes, we really want to ask about
  # TEXT and BSS so we preserve their values in the config files.
  config ZBOOT_ROM_TEXT
@@@ -1745,31 -1730,16 +1733,31 @@@ config CMDLIN
          time by entering them here. As a minimum, you should specify the
          memory size and the root device (e.g., mem=64M root=/dev/nfs).
  
 +choice
 +      prompt "Kernel command line type" if CMDLINE != ""
 +      default CMDLINE_FROM_BOOTLOADER
 +
 +config CMDLINE_FROM_BOOTLOADER
 +      bool "Use bootloader kernel arguments if available"
 +      help
 +        Uses the command-line options passed by the boot loader. If
 +        the boot loader doesn't provide any, the default kernel command
 +        string provided in CMDLINE will be used.
 +
 +config CMDLINE_EXTEND
 +      bool "Extend bootloader kernel arguments"
 +      help
 +        The command-line arguments provided by the boot loader will be
 +        appended to the default kernel command string.
 +
  config CMDLINE_FORCE
        bool "Always use the default kernel command string"
 -      depends on CMDLINE != ""
        help
          Always use the default kernel command string, even if the boot
          loader passes other arguments to the kernel.
          This is useful if you cannot or don't want to change the
          command-line options your boot loader passes to the kernel.
 -
 -        If unsure, say N.
 +endchoice
  
  config XIP_KERNEL
        bool "Kernel Execute-In-Place from ROM"
@@@ -2028,7 -1998,7 +2016,7 @@@ menu "Power management options
  source "kernel/power/Kconfig"
  
  config ARCH_SUSPEND_POSSIBLE
-       depends on !ARCH_S5P64X0 && !ARCH_S5P6442 && !ARCH_S5PC100
 -      depends on !ARCH_S5P64X0
++      depends on !ARCH_S5P64X0 && !ARCH_S5PC100
        depends on CPU_ARM920T || CPU_ARM926T || CPU_SA1100 || \
                CPU_V6 || CPU_V6K || CPU_V7 || CPU_XSC3 || CPU_XSCALE
        def_bool y
diff --combined arch/arm/Makefile
index 25750bcb3397ed85908b59529c1c2add7695be4d,c17304bf940b9a13b4033a4868b737e937cfeccb..f5b2b390c8f227353eb26ce233b4786a65229808
@@@ -158,11 -158,13 +158,11 @@@ machine-$(CONFIG_ARCH_MV78XX0)          := mv78
  machine-$(CONFIG_ARCH_MX1)            := imx
  machine-$(CONFIG_ARCH_MX2)            := imx
  machine-$(CONFIG_ARCH_MX25)           := imx
 -machine-$(CONFIG_ARCH_MX3)            := mx3
 +machine-$(CONFIG_ARCH_MX3)            := imx
  machine-$(CONFIG_ARCH_MX5)            := mx5
 -machine-$(CONFIG_ARCH_MXC91231)               := mxc91231
  machine-$(CONFIG_ARCH_MXS)            := mxs
  machine-$(CONFIG_ARCH_NETX)           := netx
  machine-$(CONFIG_ARCH_NOMADIK)                := nomadik
 -machine-$(CONFIG_ARCH_NS9XXX)         := ns9xxx
  machine-$(CONFIG_ARCH_OMAP1)          := omap1
  machine-$(CONFIG_ARCH_OMAP2)          := omap2
  machine-$(CONFIG_ARCH_OMAP3)          := omap2
@@@ -176,13 -178,14 +176,12 @@@ machine-$(CONFIG_ARCH_S3C2410)          := s3c2
  machine-$(CONFIG_ARCH_S3C24A0)                := s3c24a0
  machine-$(CONFIG_ARCH_S3C64XX)                := s3c64xx
  machine-$(CONFIG_ARCH_S5P64X0)                := s5p64x0
- machine-$(CONFIG_ARCH_S5P6442)                := s5p6442
  machine-$(CONFIG_ARCH_S5PC100)                := s5pc100
  machine-$(CONFIG_ARCH_S5PV210)                := s5pv210
  machine-$(CONFIG_ARCH_EXYNOS4)                := exynos4
  machine-$(CONFIG_ARCH_SA1100)         := sa1100
  machine-$(CONFIG_ARCH_SHARK)          := shark
  machine-$(CONFIG_ARCH_SHMOBILE)       := shmobile
 -machine-$(CONFIG_ARCH_STMP378X)               := stmp378x
 -machine-$(CONFIG_ARCH_STMP37XX)               := stmp37xx
  machine-$(CONFIG_ARCH_TCC8K)          := tcc8k
  machine-$(CONFIG_ARCH_TEGRA)          := tegra
  machine-$(CONFIG_ARCH_U300)           := u300
@@@ -203,6 -206,7 +202,6 @@@ machine-$(CONFIG_MACH_SPEAR600)            := spe
  plat-$(CONFIG_ARCH_MXC)               := mxc
  plat-$(CONFIG_ARCH_OMAP)      := omap
  plat-$(CONFIG_ARCH_S3C64XX)   := samsung
 -plat-$(CONFIG_ARCH_STMP3XXX)  := stmp3xxx
  plat-$(CONFIG_ARCH_TCC_926)   := tcc
  plat-$(CONFIG_PLAT_IOP)               := iop
  plat-$(CONFIG_PLAT_NOMADIK)   := nomadik
index 805196207ce8745196461acefdc37b5d90fb64d4,11b57a4d53fa56f534dfa56dca4c49d814aa6d43..b92c1e557145d5184df2a3eb2c4d908ff3079c25
@@@ -169,9 -169,10 +169,11 @@@ config MACH_NUR
        select S3C_DEV_HSMMC2
        select S3C_DEV_HSMMC3
        select S3C_DEV_I2C1
+       select S3C_DEV_I2C3
        select S3C_DEV_I2C5
 +      select S5P_DEV_USB_EHCI
        select EXYNOS4_SETUP_I2C1
+       select EXYNOS4_SETUP_I2C3
        select EXYNOS4_SETUP_I2C5
        select EXYNOS4_SETUP_SDHCI
        select SAMSUNG_DEV_PWM
index 777897551e428bc258c599ee1415841e35dff564,de197d6648a28309a77817cc916a2946437e3acb..683fc387c8af39d612b91b5f1e1074da24ea2b73
@@@ -16,6 -16,7 +16,7 @@@ obj-$(CONFIG_CPU_EXYNOS4210)  += cpu.o i
  obj-$(CONFIG_CPU_EXYNOS4210)  += setup-i2c0.o gpiolib.o irq-eint.o dma.o
  obj-$(CONFIG_PM)              += pm.o sleep.o
  obj-$(CONFIG_CPU_FREQ)                += cpufreq.o
+ obj-$(CONFIG_CPU_IDLE)                += cpuidle.o
  
  obj-$(CONFIG_SMP)             += platsmp.o headsmp.o
  
@@@ -54,5 -55,3 +55,5 @@@ obj-$(CONFIG_EXYNOS4_SETUP_I2C7)      += set
  obj-$(CONFIG_EXYNOS4_SETUP_KEYPAD)    += setup-keypad.o
  obj-$(CONFIG_EXYNOS4_SETUP_SDHCI)     += setup-sdhci.o
  obj-$(CONFIG_EXYNOS4_SETUP_SDHCI_GPIO)        += setup-sdhci-gpio.o
 +
 +obj-$(CONFIG_USB_SUPPORT)             += usb-phy.o
index bb5d12f43af87e9ffd0a91c749fd56b348735a8e,d13c5e81c6a443689a3d3b0d64987fcfcf49aa12..642702bb5b127172142a468839a8be4af1d651c1
@@@ -12,6 -12,7 +12,7 @@@
  #include <linux/serial_core.h>
  #include <linux/input.h>
  #include <linux/i2c.h>
+ #include <linux/i2c/atmel_mxt_ts.h>
  #include <linux/gpio_keys.h>
  #include <linux/gpio.h>
  #include <linux/regulator/machine.h>
  #include <plat/cpu.h>
  #include <plat/devs.h>
  #include <plat/sdhci.h>
 +#include <plat/ehci.h>
 +#include <plat/clock.h>
+ #include <plat/gpio-cfg.h>
+ #include <plat/iic.h>
  
  #include <mach/map.h>
  
@@@ -259,21 -260,93 +262,103 @@@ static struct i2c_board_info i2c1_devs[
        /* Gyro, To be updated */
  };
  
+ /* TSP */
+ static u8 mxt_init_vals[] = {
+       /* MXT_GEN_COMMAND(6) */
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       /* MXT_GEN_POWER(7) */
+       0x20, 0xff, 0x32,
+       /* MXT_GEN_ACQUIRE(8) */
+       0x0a, 0x00, 0x05, 0x00, 0x00, 0x00, 0x09, 0x23,
+       /* MXT_TOUCH_MULTI(9) */
+       0x00, 0x00, 0x00, 0x13, 0x0b, 0x00, 0x00, 0x00, 0x02, 0x00,
+       0x00, 0x01, 0x01, 0x0e, 0x0a, 0x0a, 0x0a, 0x0a, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00,
+       /* MXT_TOUCH_KEYARRAY(15) */
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+       0x00,
+       /* MXT_SPT_GPIOPWM(19) */
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       /* MXT_PROCI_GRIPFACE(20) */
+       0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x28, 0x04,
+       0x0f, 0x0a,
+       /* MXT_PROCG_NOISE(22) */
+       0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x23, 0x00,
+       0x00, 0x05, 0x0f, 0x19, 0x23, 0x2d, 0x03,
+       /* MXT_TOUCH_PROXIMITY(23) */
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00,
+       /* MXT_PROCI_ONETOUCH(24) */
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       /* MXT_SPT_SELFTEST(25) */
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00,
+       /* MXT_PROCI_TWOTOUCH(27) */
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       /* MXT_SPT_CTECONFIG(28) */
+       0x00, 0x00, 0x02, 0x08, 0x10, 0x00,
+ };
+ static struct mxt_platform_data mxt_platform_data = {
+       .config                 = mxt_init_vals,
+       .config_length          = ARRAY_SIZE(mxt_init_vals),
+       .x_line                 = 18,
+       .y_line                 = 11,
+       .x_size                 = 1024,
+       .y_size                 = 600,
+       .blen                   = 0x1,
+       .threshold              = 0x28,
+       .voltage                = 2800000,              /* 2.8V */
+       .orient                 = MXT_DIAGONAL_COUNTER,
+       .irqflags               = IRQF_TRIGGER_FALLING,
+ };
+ static struct s3c2410_platform_i2c i2c3_data __initdata = {
+       .flags          = 0,
+       .bus_num        = 3,
+       .slave_addr     = 0x10,
+       .frequency      = 400 * 1000,
+       .sda_delay      = 100,
+ };
+ static struct i2c_board_info i2c3_devs[] __initdata = {
+       {
+               I2C_BOARD_INFO("atmel_mxt_ts", 0x4a),
+               .platform_data  = &mxt_platform_data,
+               .irq            = IRQ_EINT(4),
+       },
+ };
+ static void __init nuri_tsp_init(void)
+ {
+       int gpio;
+       /* TOUCH_INT: XEINT_4 */
+       gpio = EXYNOS4_GPX0(4);
+       gpio_request(gpio, "TOUCH_INT");
+       s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(0xf));
+       s3c_gpio_setpull(gpio, S3C_GPIO_PULL_UP);
+ }
  /* GPIO I2C 5 (PMIC) */
  static struct i2c_board_info i2c5_devs[] __initdata = {
        /* max8997, To be updated */
  };
  
 +/* USB EHCI */
 +static struct s5p_ehci_platdata nuri_ehci_pdata;
 +
 +static void __init nuri_ehci_init(void)
 +{
 +      struct s5p_ehci_platdata *pdata = &nuri_ehci_pdata;
 +
 +      s5p_ehci_set_platdata(pdata);
 +}
 +
  static struct platform_device *nuri_devices[] __initdata = {
        /* Samsung Platform Devices */
        &emmc_fixed_voltage,
        &s3c_device_hsmmc3,
        &s3c_device_wdt,
        &s3c_device_timer[0],
 +      &s5p_device_ehci,
+       &s3c_device_i2c3,
  
        /* NURI Devices */
        &nuri_gpio_keys,
@@@ -300,13 -373,13 +386,16 @@@ static void __init nuri_map_io(void
  static void __init nuri_machine_init(void)
  {
        nuri_sdhci_init();
+       nuri_tsp_init();
  
        i2c_register_board_info(1, i2c1_devs, ARRAY_SIZE(i2c1_devs));
+       s3c_i2c3_set_platdata(&i2c3_data);
+       i2c_register_board_info(3, i2c3_devs, ARRAY_SIZE(i2c3_devs));
        i2c_register_board_info(5, i2c5_devs, ARRAY_SIZE(i2c5_devs));
  
 +      nuri_ehci_init();
 +      clk_xusbxti.rate = 24000000;
 +
        /* Last */
        platform_add_devices(nuri_devices, ARRAY_SIZE(nuri_devices));
  }
index 6751bcf7b8888fe3360f3f9551b328d1636f4181,5878bd9fbad30e128b2b6e489b0081cd61379ee6..e98f5c5c787961d57ab88d4a618ec19152a84011
@@@ -7,7 -7,7 +7,7 @@@
  
  config PLAT_S5P
        bool
-       depends on (ARCH_S5P64X0 || ARCH_S5P6442 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS4)
+       depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS4)
        default y
        select ARM_VIC if !ARCH_EXYNOS4
        select ARM_GIC if ARCH_EXYNOS4
@@@ -85,11 -85,6 +85,11 @@@ config S5P_DEV_CSIS
        help
          Compile in platform device definitions for MIPI-CSIS channel 1
  
 +config S5P_DEV_USB_EHCI
 +      bool
 +      help
 +        Compile in platform device definition for USB EHCI
 +
  config S5P_SETUP_MIPIPHY
        bool
        help
index 3aedac0034bac2bcaa849a44aab852b634cd1597,6ff205b7e4aeb0b2dbe6905f6ae7020262537e4f..c0a5741b23e6019817f8c6001714a3e9a3cde6ea
@@@ -68,12 -68,6 +68,12 @@@ extern void s3c24xx_init_uartdevs(char 
  struct sys_timer;
  extern struct sys_timer s3c24xx_timer;
  
 +extern struct syscore_ops s3c2410_pm_syscore_ops;
 +extern struct syscore_ops s3c2412_pm_syscore_ops;
 +extern struct syscore_ops s3c2416_pm_syscore_ops;
 +extern struct syscore_ops s3c244x_pm_syscore_ops;
 +extern struct syscore_ops s3c64xx_irq_syscore_ops;
 +
  /* system device classes */
  
  extern struct sysdev_class s3c2410_sysclass;
@@@ -86,7 -80,6 +86,6 @@@ extern struct sysdev_class s3c2443_sysc
  extern struct sysdev_class s3c6410_sysclass;
  extern struct sysdev_class s3c64xx_sysclass;
  extern struct sysdev_class s5p64x0_sysclass;
- extern struct sysdev_class s5p6442_sysclass;
  extern struct sysdev_class s5pv210_sysclass;
  extern struct sysdev_class exynos4_sysclass;
  
index 39818d8da4201539bf19537a16a83bc4e2e670e0,d64adf16d533f82de2100df13c8cb06eb76ec8c9..b61b8ee7cc52a3735c6507c874d3ba4ca5550dc6
@@@ -88,7 -88,6 +88,7 @@@ extern struct platform_device s3c64xx_d
  extern struct platform_device s5p_device_onenand;
  
  extern struct platform_device s3c_device_usbgadget;
 +extern struct platform_device s3c_device_usb_hsudc;
  extern struct platform_device s3c_device_usb_hsotg;
  
  extern struct platform_device s5pv210_device_ac97;
@@@ -111,12 -110,6 +111,6 @@@ extern struct platform_device exynos4_d
  extern struct platform_device exynos4_device_pd[];
  extern struct platform_device exynos4_device_ahci;
  
- extern struct platform_device s5p6442_device_pcm0;
- extern struct platform_device s5p6442_device_pcm1;
- extern struct platform_device s5p6442_device_iis0;
- extern struct platform_device s5p6442_device_iis1;
- extern struct platform_device s5p6442_device_spi;
  extern struct platform_device s5p6440_device_pcm;
  extern struct platform_device s5p6440_device_iis;
  
@@@ -143,8 -136,6 +137,8 @@@ extern struct platform_device s5p_devic
  extern struct platform_device s5p_device_mipi_csis0;
  extern struct platform_device s5p_device_mipi_csis1;
  
 +extern struct platform_device s5p_device_ehci;
 +
  extern struct platform_device exynos4_device_sysmmu;
  
  /* s3c2440 specific devices */
index 459566bfcd3527cd8f142001645b3f8bfff8c1c3,4b96b18a1bb784faafb2e85c7a2bdfeb97cf35f5..d155cbb58e1c8f2562ec3a963c11528b446cc0f6
@@@ -1,6 -1,6 +1,6 @@@
  config SND_SOC_SAMSUNG
        tristate "ASoC support for Samsung"
-       depends on ARCH_S3C2410 || ARCH_S3C64XX || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_S5P64X0 || ARCH_S5P6442 || ARCH_EXYNOS4
+       depends on ARCH_S3C2410 || ARCH_S3C64XX || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_S5P64X0 || ARCH_EXYNOS4
        select S3C64XX_DMA if ARCH_S3C64XX
        select S3C2410_DMA if ARCH_S3C2410
        help
@@@ -55,7 -55,7 +55,7 @@@ config SND_SOC_SAMSUNG_JIVE_WM875
  
  config SND_SOC_SAMSUNG_SMDK_WM8580
        tristate "SoC I2S Audio support for WM8580 on SMDK"
-       depends on SND_SOC_SAMSUNG && (MACH_SMDK6410 || MACH_SMDKC100 || MACH_SMDK6440 || MACH_SMDK6450 || MACH_SMDK6442 || MACH_SMDKV210 || MACH_SMDKC110)
+       depends on SND_SOC_SAMSUNG && (MACH_SMDK6410 || MACH_SMDKC100 || MACH_SMDK6440 || MACH_SMDK6450 || MACH_SMDKV210 || MACH_SMDKC110)
        select SND_SOC_WM8580
        select SND_SAMSUNG_I2S
        help
@@@ -162,18 -162,3 +162,18 @@@ config SND_SOC_SAMSUNG_SMDK_SPDI
        select SND_SAMSUNG_SPDIF
        help
          Say Y if you want to add support for SoC S/PDIF audio on the SMDK.
 +
 +config SND_SOC_SMDK_WM8580_PCM
 +      tristate "SoC PCM Audio support for WM8580 on SMDK"
 +      depends on SND_SOC_SAMSUNG && (MACH_SMDK6450 || MACH_SMDKV210 || MACH_SMDKC110)
 +      select SND_SOC_WM8580
 +      select SND_SAMSUNG_PCM
 +      help
 +        Say Y if you want to add support for SoC audio on the SMDK.
 +
 +config SND_SOC_SPEYSIDE
 +      tristate "Audio support for Wolfson Speyside"
 +      depends on SND_SOC_SAMSUNG && MACH_WLF_CRAGG_6410
 +      select SND_SAMSUNG_I2S
 +      select SND_SOC_WM8915
 +      select SND_SOC_WM9081