Merge branch 'next/cleanup-samsung' into next/cleanup-samsung-2
authorKukjin Kim <kgene.kim@samsung.com>
Tue, 6 Nov 2012 23:11:21 +0000 (08:11 +0900)
committerKukjin Kim <kgene.kim@samsung.com>
Tue, 6 Nov 2012 23:11:21 +0000 (08:11 +0900)
1  2 
arch/arm/mach-exynos/clock-exynos4.c
arch/arm/mach-exynos/common.c
arch/arm/mach-exynos/include/mach/map.h
arch/arm/mach-exynos/mach-nuri.c
arch/arm/mach-exynos/mach-universal_c210.c
arch/arm/mach-s5pv210/mach-goni.c

@@@ -500,10 -500,6 +500,10 @@@ static struct clk exynos4_init_clocks_o
                .devname        = "exynos4-fimc.3",
                .enable         = exynos4_clk_ip_cam_ctrl,
                .ctrlbit        = (1 << 3),
 +      }, {
 +              .name           = "tsi",
 +              .enable         = exynos4_clk_ip_fsys_ctrl,
 +              .ctrlbit        = (1 << 4),
        }, {
                .name           = "hsmmc",
                .devname        = "exynos4-sdhci.0",
                .parent         = &exynos4_clk_aclk_133.clk,
                .enable         = exynos4_clk_ip_fsys_ctrl,
                .ctrlbit        = (1 << 9),
 +      }, {
 +              .name           = "onenand",
 +              .enable         = exynos4_clk_ip_fsys_ctrl,
 +              .ctrlbit        = (1 << 15),
 +      }, {
 +              .name           = "nfcon",
 +              .enable         = exynos4_clk_ip_fsys_ctrl,
 +              .ctrlbit        = (1 << 16),
        }, {
                .name           = "dac",
                .devname        = "s5p-sdo",
                .devname        = "exynos4210-spi.2",
                .enable         = exynos4_clk_ip_peril_ctrl,
                .ctrlbit        = (1 << 18),
-       }, {
-               .name           = "iis",
-               .devname        = "samsung-i2s.0",
-               .enable         = exynos4_clk_ip_peril_ctrl,
-               .ctrlbit        = (1 << 19),
        }, {
                .name           = "iis",
                .devname        = "samsung-i2s.1",
                .devname        = "samsung-i2s.2",
                .enable         = exynos4_clk_ip_peril_ctrl,
                .ctrlbit        = (1 << 21),
 +      }, {
 +              .name           = "pcm",
 +              .devname        = "samsung-pcm.1",
 +              .enable         = exynos4_clk_ip_peril_ctrl,
 +              .ctrlbit        = (1 << 22),
 +      }, {
 +              .name           = "pcm",
 +              .devname        = "samsung-pcm.2",
 +              .enable         = exynos4_clk_ip_peril_ctrl,
 +              .ctrlbit        = (1 << 23),
 +      }, {
 +              .name           = "slimbus",
 +              .enable         = exynos4_clk_ip_peril_ctrl,
 +              .ctrlbit        = (1 << 25),
 +      }, {
 +              .name           = "spdif",
 +              .devname        = "samsung-spdif",
 +              .enable         = exynos4_clk_ip_peril_ctrl,
 +              .ctrlbit        = (1 << 26),
        }, {
                .name           = "ac97",
                .devname        = "samsung-ac97",
@@@ -47,7 -47,6 +47,7 @@@
  #include <plat/fimc-core.h>
  #include <plat/iic-core.h>
  #include <plat/tv-core.h>
 +#include <plat/spi-core.h>
  #include <plat/regs-serial.h>
  
  #include "common.h"
@@@ -63,7 -62,7 +63,7 @@@ static void exynos4_map_io(void)
  static void exynos5_map_io(void);
  static void exynos4_init_clocks(int xtal);
  static void exynos5_init_clocks(int xtal);
- static void exynos_init_uarts(struct s3c2410_uartcfg *cfg, int no);
+ static void exynos4_init_uarts(struct s3c2410_uartcfg *cfg, int no);
  static int exynos_init(void);
  
  static struct cpu_table cpu_ids[] __initdata = {
@@@ -72,7 -71,7 +72,7 @@@
                .idmask         = EXYNOS4_CPU_MASK,
                .map_io         = exynos4_map_io,
                .init_clocks    = exynos4_init_clocks,
-               .init_uarts     = exynos_init_uarts,
+               .init_uarts     = exynos4_init_uarts,
                .init           = exynos_init,
                .name           = name_exynos4210,
        }, {
@@@ -80,7 -79,7 +80,7 @@@
                .idmask         = EXYNOS4_CPU_MASK,
                .map_io         = exynos4_map_io,
                .init_clocks    = exynos4_init_clocks,
-               .init_uarts     = exynos_init_uarts,
+               .init_uarts     = exynos4_init_uarts,
                .init           = exynos_init,
                .name           = name_exynos4212,
        }, {
@@@ -88,7 -87,7 +88,7 @@@
                .idmask         = EXYNOS4_CPU_MASK,
                .map_io         = exynos4_map_io,
                .init_clocks    = exynos4_init_clocks,
-               .init_uarts     = exynos_init_uarts,
+               .init_uarts     = exynos4_init_uarts,
                .init           = exynos_init,
                .name           = name_exynos4412,
        }, {
@@@ -96,7 -95,6 +96,6 @@@
                .idmask         = EXYNOS5_SOC_MASK,
                .map_io         = exynos5_map_io,
                .init_clocks    = exynos5_init_clocks,
-               .init_uarts     = exynos_init_uarts,
                .init           = exynos_init,
                .name           = name_exynos5250,
        },
@@@ -256,26 -254,11 +255,11 @@@ static struct map_desc exynos5_iodesc[
                .pfn            = __phys_to_pfn(EXYNOS5_PA_PMU),
                .length         = SZ_64K,
                .type           = MT_DEVICE,
-       }, {
-               .virtual        = (unsigned long)S5P_VA_COMBINER_BASE,
-               .pfn            = __phys_to_pfn(EXYNOS5_PA_COMBINER),
-               .length         = SZ_4K,
-               .type           = MT_DEVICE,
        }, {
                .virtual        = (unsigned long)S3C_VA_UART,
                .pfn            = __phys_to_pfn(EXYNOS5_PA_UART),
                .length         = SZ_512K,
                .type           = MT_DEVICE,
-       }, {
-               .virtual        = (unsigned long)S5P_VA_GIC_CPU,
-               .pfn            = __phys_to_pfn(EXYNOS5_PA_GIC_CPU),
-               .length         = SZ_8K,
-               .type           = MT_DEVICE,
-       }, {
-               .virtual        = (unsigned long)S5P_VA_GIC_DIST,
-               .pfn            = __phys_to_pfn(EXYNOS5_PA_GIC_DIST),
-               .length         = SZ_4K,
-               .type           = MT_DEVICE,
        },
  };
  
@@@ -347,8 -330,6 +331,8 @@@ static void __init exynos4_map_io(void
  
        s5p_fb_setname(0, "exynos4-fb");
        s5p_hdmi_setname("exynos4-hdmi");
 +
 +      s3c64xx_spi_setname("exynos4210-spi");
  }
  
  static void __init exynos5_map_io(void)
        s3c_i2c0_setname("s3c2440-i2c");
        s3c_i2c1_setname("s3c2440-i2c");
        s3c_i2c2_setname("s3c2440-i2c");
 +
 +      s3c64xx_spi_setname("exynos4210-spi");
  }
  
  static void __init exynos4_init_clocks(int xtal)
@@@ -727,7 -706,7 +711,7 @@@ static int __init exynos_init(void
  
  /* uart registration process */
  
- static void __init exynos_init_uarts(struct s3c2410_uartcfg *cfg, int no)
+ static void __init exynos4_init_uarts(struct s3c2410_uartcfg *cfg, int no)
  {
        struct s3c2410_uartcfg *tcfg = cfg;
        u32 ucnt;
        for (ucnt = 0; ucnt < no; ucnt++, tcfg++)
                tcfg->has_fracval = 1;
  
-       if (soc_is_exynos5250())
-               s3c24xx_init_uartdevs("exynos4210-uart", exynos5_uart_resources, cfg, no);
-       else
-               s3c24xx_init_uartdevs("exynos4210-uart", exynos4_uart_resources, cfg, no);
+       s3c24xx_init_uartdevs("exynos4210-uart", exynos4_uart_resources, cfg, no);
  }
  
  static void __iomem *exynos_eint_base;
@@@ -985,32 -961,6 +966,32 @@@ static int __init exynos_init_irq_eint(
  {
        int irq;
  
 +#ifdef CONFIG_PINCTRL_SAMSUNG
 +      /*
 +       * The Samsung pinctrl driver provides an integrated gpio/pinmux/pinconf
 +       * functionality along with support for external gpio and wakeup
 +       * interrupts. If the samsung pinctrl driver is enabled and includes
 +       * the wakeup interrupt support, then the setting up external wakeup
 +       * interrupts here can be skipped. This check here is temporary to
 +       * allow exynos4 platforms that do not use Samsung pinctrl driver to
 +       * co-exist with platforms that do. When all of the Samsung Exynos4
 +       * platforms switch over to using the pinctrl driver, the wakeup
 +       * interrupt support code here can be completely removed.
 +       */
 +      struct device_node *pctrl_np, *wkup_np;
 +      const char *pctrl_compat = "samsung,pinctrl-exynos4210";
 +      const char *wkup_compat = "samsung,exynos4210-wakeup-eint";
 +
 +      for_each_compatible_node(pctrl_np, NULL, pctrl_compat) {
 +              if (of_device_is_available(pctrl_np)) {
 +                      wkup_np = of_find_compatible_node(pctrl_np, NULL,
 +                                                      wkup_compat);
 +                      if (wkup_np)
 +                              return -ENODEV;
 +              }
 +      }
 +#endif
 +
        if (soc_is_exynos5250())
                exynos_eint_base = ioremap(EXYNOS5_PA_GPIO1, SZ_4K);
        else
@@@ -89,7 -89,7 +89,7 @@@
  #define EXYNOS4_PA_L2CC                       0x10502000
  
  #define EXYNOS4_PA_MDMA0              0x10810000
 -#define EXYNOS4_PA_MDMA1              0x12840000
 +#define EXYNOS4_PA_MDMA1              0x12850000
  #define EXYNOS4_PA_PDMA0              0x12680000
  #define EXYNOS4_PA_PDMA1              0x12690000
  #define EXYNOS5_PA_MDMA0              0x10800000
  #define EXYNOS4_PA_SYSMMU_MFC_L               0x13620000
  #define EXYNOS4_PA_SYSMMU_MFC_R               0x13630000
  
 +#define EXYNOS5_PA_GSC0                       0x13E00000
 +#define EXYNOS5_PA_GSC1                       0x13E10000
 +#define EXYNOS5_PA_GSC2                       0x13E20000
 +#define EXYNOS5_PA_GSC3                       0x13E30000
 +
  #define EXYNOS5_PA_SYSMMU_MDMA1               0x10A40000
  #define EXYNOS5_PA_SYSMMU_SSS         0x10A50000
  #define EXYNOS5_PA_SYSMMU_2D          0x10A60000
  #define EXYNOS5_PA_SYSMMU_JPEG                0x11F20000
  #define EXYNOS5_PA_SYSMMU_IOP         0x12360000
  #define EXYNOS5_PA_SYSMMU_RTIC                0x12370000
 -#define EXYNOS5_PA_SYSMMU_GPS         0x12630000
  #define EXYNOS5_PA_SYSMMU_ISP         0x13260000
  #define EXYNOS5_PA_SYSMMU_DRC         0x12370000
  #define EXYNOS5_PA_SYSMMU_SCALERC     0x13280000
  
  #define EXYNOS4_PA_HSMMC(x)           (0x12510000 + ((x) * 0x10000))
  #define EXYNOS4_PA_DWMCI              0x12550000
 +#define EXYNOS5_PA_DWMCI0             0x12200000
 +#define EXYNOS5_PA_DWMCI1             0x12210000
 +#define EXYNOS5_PA_DWMCI2             0x12220000
 +#define EXYNOS5_PA_DWMCI3             0x12230000
  
  #define EXYNOS4_PA_HSOTG              0x12480000
  #define EXYNOS4_PA_USB_HSPHY          0x125B0000
  #define EXYNOS5_PA_UART1              0x12C10000
  #define EXYNOS5_PA_UART2              0x12C20000
  #define EXYNOS5_PA_UART3              0x12C30000
- #define EXYNOS5_SZ_UART                       SZ_256
  
  #define S3C_VA_UARTx(x)                       (S3C_VA_UART + ((x) * S3C_UART_OFFSET))
  
@@@ -29,7 -29,6 +29,7 @@@
  #include <drm/exynos_drm.h>
  
  #include <video/platform_lcd.h>
 +#include <video/samsung_fimd.h>
  #include <media/m5mols.h>
  #include <media/s5k6aa.h>
  #include <media/s5p_fimc.h>
  #include <asm/mach-types.h>
  
  #include <plat/adc.h>
 -#include <plat/regs-fb-v4.h>
  #include <plat/regs-serial.h>
  #include <plat/cpu.h>
  #include <plat/devs.h>
  #include <plat/fb.h>
  #include <plat/sdhci.h>
 -#include <plat/ehci.h>
 +#include <linux/platform_data/usb-ehci-s5p.h>
  #include <plat/clock.h>
  #include <plat/gpio-cfg.h>
 -#include <plat/iic.h>
 +#include <linux/platform_data/i2c-s3c2410.h>
  #include <plat/mfc.h>
  #include <plat/fimc-core.h>
  #include <plat/camport.h>
 -#include <plat/mipi_csis.h>
 +#include <linux/platform_data/mipi-csis.h>
  
  #include <mach/map.h>
  
@@@ -113,7 -113,6 +113,6 @@@ static struct s3c_sdhci_platdata nuri_h
        .host_caps              = (MMC_CAP_8_BIT_DATA | MMC_CAP_4_BIT_DATA |
                                MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED |
                                MMC_CAP_ERASE),
-       .host_caps2             = MMC_CAP2_BROKEN_VOLTAGE,
        .cd_type                = S3C_SDHCI_CD_PERMANENT,
  };
  
@@@ -378,10 -377,10 +377,10 @@@ static struct regulator_consumer_suppl
  };
  static struct regulator_consumer_supply __initdata max8997_ldo3_[] = {
        REGULATOR_SUPPLY("vusb_d", "s3c-hsotg"), /* USB */
 -      REGULATOR_SUPPLY("vdd11", "s5p-mipi-csis.0"), /* MIPI */
 +      REGULATOR_SUPPLY("vddcore", "s5p-mipi-csis.0"), /* MIPI */
  };
  static struct regulator_consumer_supply __initdata max8997_ldo4_[] = {
 -      REGULATOR_SUPPLY("vdd18", "s5p-mipi-csis.0"), /* MIPI */
 +      REGULATOR_SUPPLY("vddio", "s5p-mipi-csis.0"), /* MIPI */
  };
  static struct regulator_consumer_supply __initdata max8997_ldo5_[] = {
        REGULATOR_SUPPLY("vhsic", "modemctl"), /* MODEM */
@@@ -1180,7 -1179,9 +1179,7 @@@ static struct platform_device cam_8m_12
  static struct s5p_platform_mipi_csis mipi_csis_platdata = {
        .clk_rate       = 166000000UL,
        .lanes          = 2,
 -      .alignment      = 32,
        .hs_settle      = 12,
 -      .phy_enable     = s5p_csis_phy_enable,
  };
  
  #define GPIO_CAM_MEGA_RST     EXYNOS4_GPY3(7) /* ISP_RESET */
@@@ -1224,6 -1225,7 +1223,6 @@@ static struct s5p_fimc_isp_info nuri_ca
                .bus_type       = FIMC_MIPI_CSI2,
                .board_info     = &m5mols_board_info,
                .clk_frequency  = 24000000UL,
 -              .csi_data_align = 32,
        },
  };
  
@@@ -1380,7 -1382,6 +1379,7 @@@ static void __init nuri_machine_init(vo
  MACHINE_START(NURI, "NURI")
        /* Maintainer: Kyungmin Park <kyungmin.park@samsung.com> */
        .atag_offset    = 0x100,
 +      .smp            = smp_ops(exynos_smp_ops),
        .init_irq       = exynos4_init_irq,
        .map_io         = nuri_map_io,
        .handle_irq     = gic_handle_irq,
  #include <asm/hardware/gic.h>
  #include <asm/mach-types.h>
  
 +#include <video/samsung_fimd.h>
  #include <plat/regs-serial.h>
  #include <plat/clock.h>
  #include <plat/cpu.h>
  #include <plat/devs.h>
 -#include <plat/iic.h>
 +#include <linux/platform_data/i2c-s3c2410.h>
  #include <plat/gpio-cfg.h>
  #include <plat/fb.h>
  #include <plat/mfc.h>
  #include <plat/sdhci.h>
 -#include <plat/regs-fb-v4.h>
  #include <plat/fimc-core.h>
  #include <plat/s5p-time.h>
  #include <plat/camport.h>
 -#include <plat/mipi_csis.h>
 +#include <linux/platform_data/mipi-csis.h>
  
  #include <mach/map.h>
  
@@@ -209,7 -209,7 +209,7 @@@ static struct regulator_consumer_suppl
        REGULATOR_SUPPLY("vusb_a", "s3c-hsotg"),
        REGULATOR_SUPPLY("vdd", "exynos4-hdmi"),
        REGULATOR_SUPPLY("vdd_pll", "exynos4-hdmi"),
 -      REGULATOR_SUPPLY("vdd11", "s5p-mipi-csis.0"),
 +      REGULATOR_SUPPLY("vddcore", "s5p-mipi-csis.0"),
  };
  
  static struct regulator_init_data lp3974_ldo3_data = {
@@@ -273,7 -273,7 +273,7 @@@ static struct regulator_init_data lp397
  };
  
  static struct regulator_consumer_supply lp3974_ldo7_consumer[] = {
 -      REGULATOR_SUPPLY("vdd18", "s5p-mipi-csis.0"),
 +      REGULATOR_SUPPLY("vddio", "s5p-mipi-csis.0"),
  };
  
  static struct regulator_init_data lp3974_ldo7_data = {
@@@ -754,7 -754,6 +754,6 @@@ static struct s3c_sdhci_platdata univer
        .max_width              = 8,
        .host_caps              = (MMC_CAP_8_BIT_DATA | MMC_CAP_4_BIT_DATA |
                                MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED),
-       .host_caps2             = MMC_CAP2_BROKEN_VOLTAGE,
        .cd_type                = S3C_SDHCI_CD_PERMANENT,
  };
  
@@@ -942,7 -941,9 +941,7 @@@ static struct platform_device cam_s_if_
  static struct s5p_platform_mipi_csis mipi_csis_platdata = {
        .clk_rate       = 166000000UL,
        .lanes          = 2,
 -      .alignment      = 32,
        .hs_settle      = 12,
 -      .phy_enable     = s5p_csis_phy_enable,
  };
  
  #define GPIO_CAM_LEVEL_EN(n)  EXYNOS4_GPE4(n + 3)
@@@ -1006,6 -1007,7 +1005,6 @@@ static struct s5p_fimc_isp_info univers
                .board_info     = &m5mols_board_info,
                .i2c_bus_num    = 0,
                .clk_frequency  = 24000000UL,
 -              .csi_data_align = 32,
        },
  };
  
@@@ -1152,7 -1154,6 +1151,7 @@@ static void __init universal_machine_in
  MACHINE_START(UNIVERSAL_C210, "UNIVERSAL_C210")
        /* Maintainer: Kyungmin Park <kyungmin.park@samsung.com> */
        .atag_offset    = 0x100,
 +      .smp            = smp_ops(exynos_smp_ops),
        .init_irq       = exynos4_init_irq,
        .map_io         = universal_map_io,
        .handle_irq     = gic_handle_irq,
@@@ -35,7 -35,6 +35,7 @@@
  #include <asm/setup.h>
  #include <asm/mach-types.h>
  
 +#include <video/samsung_fimd.h>
  #include <mach/map.h>
  #include <mach/regs-clock.h>
  
  #include <plat/devs.h>
  #include <plat/cpu.h>
  #include <plat/fb.h>
 -#include <plat/iic.h>
 +#include <linux/platform_data/i2c-s3c2410.h>
  #include <plat/keypad.h>
  #include <plat/sdhci.h>
  #include <plat/clock.h>
  #include <plat/s5p-time.h>
  #include <plat/mfc.h>
 -#include <plat/regs-fb-v4.h>
  #include <plat/camport.h>
  
  #include <media/v4l2-mediabus.h>
@@@ -774,7 -774,6 +774,6 @@@ static void __init goni_pmic_init(void
  /* MoviNAND */
  static struct s3c_sdhci_platdata goni_hsmmc0_data __initdata = {
        .max_width              = 4,
-       .host_caps2             = MMC_CAP2_BROKEN_VOLTAGE,
        .cd_type                = S3C_SDHCI_CD_PERMANENT,
  };