Merge branch 'next/board-samsung-2' into next/board-samsung-3
authorKukjin Kim <kgene.kim@samsung.com>
Thu, 19 Jul 2012 05:29:30 +0000 (14:29 +0900)
committerKukjin Kim <kgene.kim@samsung.com>
Thu, 19 Jul 2012 05:29:30 +0000 (14:29 +0900)
12 files changed:
arch/arm/mach-exynos/Kconfig
arch/arm/mach-exynos/mach-origen.c
arch/arm/mach-exynos/mach-smdk4x12.c
arch/arm/mach-exynos/mach-smdkv310.c
arch/arm/mach-s3c64xx/include/mach/crag6410.h
arch/arm/mach-s3c64xx/mach-crag6410-module.c
arch/arm/mach-s3c64xx/mach-crag6410.c
arch/arm/mach-s3c64xx/mach-smdk6410.c
arch/arm/mach-s5pv210/Kconfig
arch/arm/mach-s5pv210/mach-aquila.c
arch/arm/mach-s5pv210/mach-goni.c
arch/arm/mach-s5pv210/mach-smdkv210.c

index 6f6d13f..e698ca0 100644 (file)
@@ -207,6 +207,7 @@ config MACH_SMDKV310
        select S3C_DEV_HSMMC1
        select S3C_DEV_HSMMC2
        select S3C_DEV_HSMMC3
+       select S3C_DEV_USB_HSOTG
        select SAMSUNG_DEV_BACKLIGHT
        select EXYNOS_DEV_DRM
        select EXYNOS_DEV_SYSMMU
@@ -326,6 +327,7 @@ config MACH_ORIGEN
        select S3C_DEV_WDT
        select S3C_DEV_HSMMC
        select S3C_DEV_HSMMC2
+       select S3C_DEV_USB_HSOTG
        select S5P_DEV_FIMC0
        select S5P_DEV_FIMC1
        select S5P_DEV_FIMC2
@@ -360,22 +362,26 @@ config MACH_SMDK4212
        select S3C_DEV_I2C3
        select S3C_DEV_I2C7
        select S3C_DEV_RTC
+       select S3C_DEV_USB_HSOTG
        select S3C_DEV_WDT
        select S5P_DEV_FIMC0
        select S5P_DEV_FIMC1
        select S5P_DEV_FIMC2
        select S5P_DEV_FIMC3
+       select S5P_DEV_FIMD0
        select S5P_DEV_MFC
        select SAMSUNG_DEV_BACKLIGHT
        select SAMSUNG_DEV_KEYPAD
        select SAMSUNG_DEV_PWM
        select EXYNOS_DEV_SYSMMU
        select EXYNOS_DEV_DMA
+       select EXYNOS4_SETUP_FIMD0
        select EXYNOS4_SETUP_I2C1
        select EXYNOS4_SETUP_I2C3
        select EXYNOS4_SETUP_I2C7
        select EXYNOS4_SETUP_KEYPAD
        select EXYNOS4_SETUP_SDHCI
+       select EXYNOS4_SETUP_USB_PHY
        help
          Machine support for Samsung SMDK4212
 
index f5572be..9ed0229 100644 (file)
@@ -21,6 +21,7 @@
 #include <linux/mfd/max8997.h>
 #include <linux/lcd.h>
 #include <linux/rfkill-gpio.h>
+#include <linux/platform_data/s3c-hsotg.h>
 
 #include <asm/mach/arch.h>
 #include <asm/hardware/gic.h>
@@ -499,6 +500,9 @@ static void __init origen_ohci_init(void)
        exynos4_ohci_set_platdata(pdata);
 }
 
+/* USB OTG */
+static struct s3c_hsotg_plat origen_hsotg_pdata;
+
 static struct gpio_keys_button origen_gpio_keys_table[] = {
        {
                .code                   = KEY_MENU,
@@ -655,6 +659,7 @@ static struct platform_device *origen_devices[] __initdata = {
        &s3c_device_hsmmc0,
        &s3c_device_i2c0,
        &s3c_device_rtc,
+       &s3c_device_usb_hsotg,
        &s3c_device_wdt,
        &s5p_device_ehci,
        &s5p_device_fimc0,
@@ -744,6 +749,7 @@ static void __init origen_machine_init(void)
 
        origen_ehci_init();
        origen_ohci_init();
+       s3c_hsotg_set_platdata(&origen_hsotg_pdata);
        clk_xusbxti.rate = 24000000;
 
        s5p_tv_setup();
index fb09c70..2623f3b 100644 (file)
 #include <linux/i2c.h>
 #include <linux/input.h>
 #include <linux/io.h>
+#include <linux/lcd.h>
 #include <linux/mfd/max8997.h>
 #include <linux/mmc/host.h>
 #include <linux/platform_device.h>
 #include <linux/pwm_backlight.h>
 #include <linux/regulator/machine.h>
 #include <linux/serial_core.h>
+#include <linux/platform_data/s3c-hsotg.h>
 
 #include <asm/mach/arch.h>
 #include <asm/hardware/gic.h>
 #include <plat/clock.h>
 #include <plat/cpu.h>
 #include <plat/devs.h>
+#include <plat/fb.h>
 #include <plat/gpio-cfg.h>
 #include <plat/iic.h>
 #include <plat/keypad.h>
 #include <plat/mfc.h>
+#include <plat/regs-fb.h>
 #include <plat/regs-serial.h>
 #include <plat/sdhci.h>
 
@@ -219,8 +223,10 @@ static struct platform_pwm_backlight_data smdk4x12_bl_data = {
 
 static uint32_t smdk4x12_keymap[] __initdata = {
        /* KEY(row, col, keycode) */
-       KEY(1, 0, KEY_D), KEY(1, 1, KEY_A), KEY(1, 2, KEY_B),
-       KEY(1, 3, KEY_E), KEY(1, 4, KEY_C)
+       KEY(1, 3, KEY_1), KEY(1, 4, KEY_2), KEY(1, 5, KEY_3),
+       KEY(1, 6, KEY_4), KEY(1, 7, KEY_5),
+       KEY(2, 5, KEY_D), KEY(2, 6, KEY_A), KEY(2, 7, KEY_B),
+       KEY(0, 7, KEY_E), KEY(0, 5, KEY_C)
 };
 
 static struct matrix_keymap_data smdk4x12_keymap_data __initdata = {
@@ -230,10 +236,41 @@ static struct matrix_keymap_data smdk4x12_keymap_data __initdata = {
 
 static struct samsung_keypad_platdata smdk4x12_keypad_data __initdata = {
        .keymap_data    = &smdk4x12_keymap_data,
-       .rows           = 2,
-       .cols           = 5,
+       .rows           = 3,
+       .cols           = 8,
 };
 
+static struct s3c_fb_pd_win smdk4x12_fb_win0 = {
+       .xres           = 480,
+       .yres           = 800,
+       .virtual_x      = 480,
+       .virtual_y      = 800 * 2,
+       .max_bpp        = 32,
+       .default_bpp    = 24,
+};
+
+static struct fb_videomode smdk4x12_lcd_timing = {
+       .left_margin    = 8,
+       .right_margin   = 8,
+       .upper_margin   = 6,
+       .lower_margin   = 6,
+       .hsync_len      = 6,
+       .vsync_len      = 4,
+       .xres           = 480,
+       .yres           = 800,
+};
+
+static struct s3c_fb_platdata smdk4x12_lcd_pdata __initdata = {
+       .win[0]         = &smdk4x12_fb_win0,
+       .vtiming        = &smdk4x12_lcd_timing,
+       .vidcon0        = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
+       .vidcon1        = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
+       .setup_gpio     = exynos4_fimd0_gpio_setup_24bpp,
+};
+
+/* USB OTG */
+static struct s3c_hsotg_plat smdk4x12_hsotg_pdata;
+
 static struct platform_device *smdk4x12_devices[] __initdata = {
        &s3c_device_hsmmc2,
        &s3c_device_hsmmc3,
@@ -242,12 +279,14 @@ static struct platform_device *smdk4x12_devices[] __initdata = {
        &s3c_device_i2c3,
        &s3c_device_i2c7,
        &s3c_device_rtc,
+       &s3c_device_usb_hsotg,
        &s3c_device_wdt,
        &s5p_device_fimc0,
        &s5p_device_fimc1,
        &s5p_device_fimc2,
        &s5p_device_fimc3,
        &s5p_device_fimc_md,
+       &s5p_device_fimd0,
        &s5p_device_mfc,
        &s5p_device_mfc_l,
        &s5p_device_mfc_r,
@@ -293,6 +332,10 @@ static void __init smdk4x12_machine_init(void)
        s3c_sdhci2_set_platdata(&smdk4x12_hsmmc2_pdata);
        s3c_sdhci3_set_platdata(&smdk4x12_hsmmc3_pdata);
 
+       s3c_hsotg_set_platdata(&smdk4x12_hsotg_pdata);
+
+       s5p_fimd0_set_platdata(&smdk4x12_lcd_pdata);
+
        platform_add_devices(smdk4x12_devices, ARRAY_SIZE(smdk4x12_devices));
 }
 
index 262e9e4..7464a45 100644 (file)
@@ -19,6 +19,7 @@
 #include <linux/i2c.h>
 #include <linux/input.h>
 #include <linux/pwm_backlight.h>
+#include <linux/platform_data/s3c-hsotg.h>
 
 #include <asm/mach/arch.h>
 #include <asm/hardware/gic.h>
@@ -271,6 +272,15 @@ static void __init smdkv310_ohci_init(void)
        exynos4_ohci_set_platdata(pdata);
 }
 
+/* USB OTG */
+static struct s3c_hsotg_plat smdkv310_hsotg_pdata;
+
+/* Audio device */
+static struct platform_device smdkv310_device_audio = {
+       .name = "smdk-audio",
+       .id = -1,
+};
+
 static struct platform_device *smdkv310_devices[] __initdata = {
        &s3c_device_hsmmc0,
        &s3c_device_hsmmc1,
@@ -279,6 +289,7 @@ static struct platform_device *smdkv310_devices[] __initdata = {
        &s3c_device_i2c1,
        &s5p_device_i2c_hdmiphy,
        &s3c_device_rtc,
+       &s3c_device_usb_hsotg,
        &s3c_device_wdt,
        &s5p_device_ehci,
        &s5p_device_fimc0,
@@ -302,6 +313,7 @@ static struct platform_device *smdkv310_devices[] __initdata = {
        &samsung_asoc_dma,
        &samsung_asoc_idma,
        &s5p_device_fimd0,
+       &smdkv310_device_audio,
        &smdkv310_lcd_lte480wv,
        &smdkv310_smsc911x,
        &exynos4_device_ahci,
@@ -390,6 +402,7 @@ static void __init smdkv310_machine_init(void)
 
        smdkv310_ehci_init();
        smdkv310_ohci_init();
+       s3c_hsotg_set_platdata(&smdkv310_hsotg_pdata);
        clk_xusbxti.rate = 24000000;
 
        platform_add_devices(smdkv310_devices, ARRAY_SIZE(smdkv310_devices));
index 4cb2f95..4c3c999 100644 (file)
@@ -13,9 +13,7 @@
 
 #include <linux/gpio.h>
 
-#define BANFF_PMIC_IRQ_BASE            IRQ_BOARD_START
-#define GLENFARCLAS_PMIC_IRQ_BASE      (IRQ_BOARD_START + 64)
-#define CODEC_IRQ_BASE                 (IRQ_BOARD_START + 128)
+#define GLENFARCLAS_PMIC_IRQ_BASE      IRQ_BOARD_START
 
 #define PCA935X_GPIO_BASE              GPIO_BOARD_START
 #define CODEC_GPIO_BASE                        (GPIO_BOARD_START + 8)
index 7a27f56..4645aa1 100644 (file)
@@ -39,6 +39,7 @@ static struct spi_board_info wm1253_devs[] = {
                .bus_num        = 0,
                .chip_select    = 0,
                .mode           = SPI_MODE_0,
+               .irq            = S3C_EINT(5),
                .controller_data = &wm0010_spi_csinfo,
        },
 };
@@ -168,7 +169,6 @@ static struct wm8994_pdata wm8994_pdata = {
        .gpio_defaults = {
                0x3,          /* IRQ out, active high, CMOS */
        },
-       .irq_base = CODEC_IRQ_BASE,
        .ldo = {
                 { .init_data = &wm8994_ldo1, },
                 { .init_data = &wm8994_ldo2, },
@@ -182,6 +182,11 @@ static const struct i2c_board_info wm1277_devs[] = {
        },
 };
 
+static const struct i2c_board_info wm5102_devs[] = {
+       { I2C_BOARD_INFO("wm5102", 0x1a),
+         .irq = GLENFARCLAS_PMIC_IRQ_BASE + WM831X_IRQ_GPIO_2, },
+};
+
 static const struct i2c_board_info wm6230_i2c_devs[] = {
        { I2C_BOARD_INFO("wm9081", 0x6c),
          .platform_data = &wm9081_pdata, },
@@ -209,6 +214,7 @@ static __devinitdata const struct {
          .spi_devs = wm1253_devs, .num_spi_devs = ARRAY_SIZE(wm1253_devs) },
        { .id = 0x32, .name = "XXXX-EV1 Caol Illa" },
        { .id = 0x33, .name = "XXXX-EV1 Oban" },
+       { .id = 0x34, .name = "WM0010-6320-CS42 Balblair" },
        { .id = 0x39, .name = "1254-EV1 Dallas Dhu",
          .i2c_devs = wm1254_devs, .num_i2c_devs = ARRAY_SIZE(wm1254_devs) },
        { .id = 0x3a, .name = "1259-EV1 Tobermory",
@@ -218,6 +224,8 @@ static __devinitdata const struct {
        { .id = 0x3c, .name = "1273-EV1 Longmorn" },
        { .id = 0x3d, .name = "1277-EV1 Littlemill",
          .i2c_devs = wm1277_devs, .num_i2c_devs = ARRAY_SIZE(wm1277_devs) },
+       { .id = 0x3e, .name = "WM5102-6271-EV1-CS127",
+         .i2c_devs = wm5102_devs, .num_i2c_devs = ARRAY_SIZE(wm5102_devs) },
 };
 
 static __devinit int wlf_gf_module_probe(struct i2c_client *i2c,
index d0c352d..161c3b6 100644 (file)
@@ -525,7 +525,6 @@ static struct wm831x_touch_pdata touch_pdata __initdata = {
 
 static struct wm831x_pdata crag_pmic_pdata __initdata = {
        .wm831x_num = 1,
-       .irq_base = BANFF_PMIC_IRQ_BASE,
        .gpio_base = BANFF_PMIC_GPIO_BASE,
        .soft_shutdown = true,
 
index df3103d..0fe4f15 100644 (file)
@@ -566,7 +566,6 @@ static struct wm831x_status_pdata wm1192_led8_pdata = {
 
 static struct wm831x_pdata smdk6410_wm1192_pdata = {
        .pre_init = wm1192_pre_init,
-       .irq_base = IRQ_BOARD_START,
 
        .backlight = &wm1192_backlight_pdata,
        .dcdc = {
index 88e983b..77185c3 100644 (file)
@@ -152,6 +152,7 @@ config MACH_SMDKV210
        select S3C_DEV_I2C1
        select S3C_DEV_I2C2
        select S3C_DEV_RTC
+       select S3C_DEV_USB_HSOTG
        select S3C_DEV_WDT
        select S5P_DEV_FIMC0
        select S5P_DEV_FIMC1
@@ -170,6 +171,7 @@ config MACH_SMDKV210
        select S5PV210_SETUP_IDE
        select S5PV210_SETUP_KEYPAD
        select S5PV210_SETUP_SDHCI
+       select S5PV210_SETUP_USB_PHY
        help
          Machine support for Samsung SMDKV210
 
index af528f9..78028df 100644 (file)
@@ -600,10 +600,17 @@ static void aquila_setup_sdhci(void)
        s3c_sdhci2_set_platdata(&aquila_hsmmc2_data);
 };
 
+/* Audio device */
+static struct platform_device aquila_device_audio = {
+       .name = "smdk-audio",
+       .id = -1,
+};
+
 static struct platform_device *aquila_devices[] __initdata = {
        &aquila_i2c_gpio_pmic,
        &aquila_i2c_gpio5,
        &aquila_device_gpiokeys,
+       &aquila_device_audio,
        &s3c_device_fb,
        &s5p_device_onenand,
        &s3c_device_hsmmc0,
index bf5087c..b2cae13 100644 (file)
@@ -859,12 +859,19 @@ static struct s5p_platform_fimc goni_fimc_md_platdata __initdata = {
        .num_clients    = ARRAY_SIZE(goni_camera_sensors),
 };
 
+/* Audio device */
+static struct platform_device goni_device_audio = {
+       .name = "smdk-audio",
+       .id = -1,
+};
+
 static struct platform_device *goni_devices[] __initdata = {
        &s3c_device_fb,
        &s5p_device_onenand,
        &goni_spi_gpio,
        &goni_i2c_gpio_pmic,
        &goni_i2c_gpio5,
+       &goni_device_audio,
        &mmc2_fixed_voltage,
        &goni_device_gpiokeys,
        &s5p_device_mfc,
index 0d7ddec..c8997bc 100644 (file)
@@ -19,6 +19,7 @@
 #include <linux/gpio.h>
 #include <linux/delay.h>
 #include <linux/pwm_backlight.h>
+#include <linux/platform_data/s3c-hsotg.h>
 
 #include <asm/hardware/vic.h>
 #include <asm/mach/arch.h>
@@ -47,6 +48,7 @@
 #include <plat/backlight.h>
 #include <plat/regs-fb-v4.h>
 #include <plat/mfc.h>
+#include <plat/clock.h>
 
 #include "common.h"
 
@@ -203,6 +205,9 @@ static struct s3c_fb_platdata smdkv210_lcd0_pdata __initdata = {
        .setup_gpio     = s5pv210_fb_gpio_setup_24bpp,
 };
 
+/* USB OTG */
+static struct s3c_hsotg_plat smdkv210_hsotg_pdata;
+
 static struct platform_device *smdkv210_devices[] __initdata = {
        &s3c_device_adc,
        &s3c_device_cfcon,
@@ -216,6 +221,7 @@ static struct platform_device *smdkv210_devices[] __initdata = {
        &s3c_device_i2c2,
        &s3c_device_rtc,
        &s3c_device_ts,
+       &s3c_device_usb_hsotg,
        &s3c_device_wdt,
        &s5p_device_fimc0,
        &s5p_device_fimc1,
@@ -314,6 +320,9 @@ static void __init smdkv210_machine_init(void)
 
        samsung_bl_set(&smdkv210_bl_gpio_info, &smdkv210_bl_data);
 
+       s3c_hsotg_set_platdata(&smdkv210_hsotg_pdata);
+       clk_xusbxti.rate = 24000000;
+
        platform_add_devices(smdkv210_devices, ARRAY_SIZE(smdkv210_devices));
 }