]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
Merge branch 'for-linus/samsung-2635' of git://git.fluff.org/bjdooks/linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 14 Aug 2010 18:59:44 +0000 (11:59 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 14 Aug 2010 18:59:44 +0000 (11:59 -0700)
* 'for-linus/samsung-2635' of git://git.fluff.org/bjdooks/linux:
  DMAENGINE: correct PL080 register header file
  ARM: SAMSUNG: Fix on build warning about dependency in Kconfig
  ARM: SMDK6410: Make virtual screen twice depth of real
  ARM: S3C64XX: Update consistent DMA size to 8MiB
  ARM: S3C64XX: Add audio support to SmartQ
  ARM: S3C64XX: Framebuffer fix for SmartQ5
  ARM: S3C64XX: Set wifi and iNAND as permanently connected SD devices on SmartQ boards
  ARM: S3C64XX: Move SmartQ LCD control platform definition to shared file
  ARM: mach-real6410: add sdhc device support
  ARM: mach-real6410: add dm9000 ethernet support for mach-real6410
  ARM: S3C64XX: Support for Real6410

Fix up trivial conflicts in arch/arm/mach-s3c64xx/mach-smartq5.c
("remove pixclock" vs "Framebuffer fix for SmartQ5")

1  2 
arch/arm/mach-s3c64xx/Kconfig
arch/arm/mach-s3c64xx/Makefile
arch/arm/mach-s3c64xx/mach-smartq5.c
arch/arm/mach-s3c64xx/mach-smartq7.c
arch/arm/mach-s3c64xx/mach-smdk6410.c
arch/arm/plat-samsung/Kconfig

index 071e8a1e07655c722f3c2671c693065329c6f6e8,f5c77e5d3d889268bbb7e20c553f252148143a9f..1e4d78af7d845c614f285e3615938525c588ff0f
@@@ -57,21 -57,11 +57,21 @@@ config S3C64XX_SETUP_I2C
        help
          Common setup code for i2c bus 1.
  
 +config S3C64XX_SETUP_IDE
 +      bool
 +      help
 +        Common setup code for S3C64XX IDE.
 +
  config S3C64XX_SETUP_FB_24BPP
        bool
        help
          Common setup code for S3C64XX with an 24bpp RGB display helper.
  
 +config S3C64XX_SETUP_KEYPAD
 +      bool
 +      help
 +        Common setup code for S3C64XX KEYPAD GPIO configurations
 +
  config S3C64XX_SETUP_SDHCI_GPIO
        bool
        help
@@@ -98,6 -88,15 +98,15 @@@ config MACH_ANW641
        help
          Machine support for the A&W6410
  
+ config MACH_REAL6410
+       bool "REAL6410"
+       select CPU_S3C6410
+       select S3C_DEV_HSMMC
+       select S3C_DEV_HSMMC1
+       select S3C64XX_SETUP_SDHCI
+       help
+         Machine support for the CoreWind REAL6410
  config MACH_SMDK6410
        bool "SMDK6410"
        select CPU_S3C6410
        select S3C_DEV_HSMMC
        select S3C_DEV_HSMMC1
        select S3C_DEV_I2C1
 +      select SAMSUNG_DEV_IDE
        select S3C_DEV_FB
 +      select S3C_DEV_RTC
        select SAMSUNG_DEV_TS
        select S3C_DEV_USB_HOST
        select S3C_DEV_USB_HSOTG
        select S3C_DEV_WDT
 +      select SAMSUNG_DEV_KEYPAD
        select HAVE_S3C2410_WATCHDOG
        select S3C64XX_SETUP_SDHCI
        select S3C64XX_SETUP_I2C1
 +      select S3C64XX_SETUP_IDE
        select S3C64XX_SETUP_FB_24BPP
 +      select S3C64XX_SETUP_KEYPAD
        help
          Machine support for the Samsung SMDK6410
  
index 48d3dfac8dd734a76cbf5ce7f1ab3ea357ff7ca9,6be3e5b2300950a9e29b9975b2beeffd95102077..90221a2e0c5543c87dda5937b3fe9144091bf88a
@@@ -35,8 -35,6 +35,8 @@@ obj-$(CONFIG_S3C64XX_DMA)     += dma.
  
  obj-$(CONFIG_S3C64XX_SETUP_I2C0) += setup-i2c0.o
  obj-$(CONFIG_S3C64XX_SETUP_I2C1) += setup-i2c1.o
 +obj-$(CONFIG_S3C64XX_SETUP_IDE) += setup-ide.o
 +obj-$(CONFIG_S3C64XX_SETUP_KEYPAD) += setup-keypad.o
  obj-$(CONFIG_S3C64XX_SETUP_SDHCI) += setup-sdhci.o
  obj-$(CONFIG_S3C64XX_SETUP_FB_24BPP) += setup-fb-24bpp.o
  obj-$(CONFIG_S3C64XX_SETUP_SDHCI_GPIO) += setup-sdhci-gpio.o
@@@ -52,6 -50,7 +52,7 @@@ obj-$(CONFIG_PM)              += irq-pm.
  obj-$(CONFIG_MACH_ANW6410)    += mach-anw6410.o
  obj-$(CONFIG_MACH_SMDK6400)   += mach-smdk6400.o
  obj-$(CONFIG_MACH_SMDK6410)   += mach-smdk6410.o
+ obj-$(CONFIG_MACH_REAL6410)     += mach-real6410.o
  obj-$(CONFIG_MACH_NCP)                += mach-ncp.o
  obj-$(CONFIG_MACH_HMT)                += mach-hmt.o
  obj-$(CONFIG_MACH_SMARTQ)     += mach-smartq.o
index a065062ec2a417bbe729a490a20e542899a73ba0,70bcbcac4f0f02aa62ca3518c50c3334bca41dc8..a4d59b076e3d9d31b518160b28d87d65c93d1300
@@@ -12,7 -12,6 +12,6 @@@
  #include <linux/fb.h>
  #include <linux/gpio.h>
  #include <linux/gpio_keys.h>
- #include <linux/i2c-gpio.h>
  #include <linux/init.h>
  #include <linux/input.h>
  #include <linux/leds.h>
  
  #include "mach-smartq.h"
  
- static void __init smartq5_lcd_setup_gpio(void)
- {
-       gpio_request(S3C64XX_GPM(0), "LCD SCEN pin");
-       gpio_request(S3C64XX_GPM(1), "LCD SCL pin");
-       gpio_request(S3C64XX_GPM(2), "LCD SDA pin");
-       gpio_request(S3C64XX_GPM(3), "LCD power");
-       /* turn power off */
-       gpio_direction_output(S3C64XX_GPM(0), 1);
-       gpio_direction_input(S3C64XX_GPM(1));
-       gpio_direction_input(S3C64XX_GPM(2));
-       gpio_direction_output(S3C64XX_GPM(3), 0);
- }
- static struct i2c_gpio_platform_data smartq5_lcd_control = {
-       .sda_pin                = S3C64XX_GPM(2),
-       .scl_pin                = S3C64XX_GPM(1),
- };
- static struct platform_device smartq5_lcd_control_device = {
-       .name                   = "i2c-gpio",
-       .id                     = 1,
-       .dev.platform_data      = &smartq5_lcd_control,
- };
  static struct gpio_led smartq5_leds[] __initdata = {
        {
                .name                   = "smartq5:green",
@@@ -134,15 -108,16 +108,15 @@@ static struct platform_device smartq5_b
  
  static struct s3c_fb_pd_win smartq5_fb_win0 = {
        .win_mode       = {
-               .left_margin    = 40,
-               .right_margin   = 216,
-               .upper_margin   = 10,
-               .lower_margin   = 35,
 -              .pixclock       = 1000000000000ULL /
 -                              ((40+1+216+800)*(10+1+35+480)*80),
+               .left_margin    = 216,
+               .right_margin   = 40,
+               .upper_margin   = 35,
+               .lower_margin   = 10,
                .hsync_len      = 1,
                .vsync_len      = 1,
                .xres           = 800,
                .yres           = 480,
 +              .refresh        = 80,
        },
        .max_bpp        = 32,
        .default_bpp    = 16,
@@@ -159,7 -134,6 +133,6 @@@ static struct s3c_fb_platdata smartq5_l
  static struct platform_device *smartq5_devices[] __initdata = {
        &smartq5_leds_device,
        &smartq5_buttons_device,
-       &smartq5_lcd_control_device,
  };
  
  static void __init smartq5_machine_init(void)
        s3c_fb_set_platdata(&smartq5_lcd_pdata);
  
        smartq_machine_init();
-       smartq5_lcd_setup_gpio();
  
        platform_add_devices(smartq5_devices, ARRAY_SIZE(smartq5_devices));
  }
index 0ecf451375464a902b431e0af5cee6148007780d,c4868dbd2fe2096a8ae8682cfa28dea8a853fe71..e50a7d781732fd2e7d072f647439421e7489c8f3
@@@ -12,7 -12,6 +12,6 @@@
  #include <linux/fb.h>
  #include <linux/gpio.h>
  #include <linux/gpio_keys.h>
- #include <linux/i2c-gpio.h>
  #include <linux/init.h>
  #include <linux/input.h>
  #include <linux/leds.h>
  
  #include "mach-smartq.h"
  
- static void __init smartq7_lcd_setup_gpio(void)
- {
-       gpio_request(S3C64XX_GPM(0), "LCD CSB pin");
-       gpio_request(S3C64XX_GPM(3), "LCD power");
-       gpio_request(S3C64XX_GPM(4), "LCD power status");
-       /* turn power off */
-       gpio_direction_output(S3C64XX_GPM(0), 1);
-       gpio_direction_output(S3C64XX_GPM(3), 0);
-       gpio_direction_input(S3C64XX_GPM(4));
- }
- static struct i2c_gpio_platform_data smartq7_lcd_control = {
-       .sda_pin                = S3C64XX_GPM(2),
-       .scl_pin                = S3C64XX_GPM(1),
-       .sda_is_open_drain      = 1,
-       .scl_is_open_drain      = 1,
- };
- static struct platform_device smartq7_lcd_control_device = {
-       .name                   = "i2c-gpio",
-       .id                     = 1,
-       .dev.platform_data      = &smartq7_lcd_control,
- };
  static struct gpio_led smartq7_leds[] __initdata = {
        {
                .name                   = "smartq7:red",
@@@ -150,6 -124,8 +124,6 @@@ static struct platform_device smartq7_b
  
  static struct s3c_fb_pd_win smartq7_fb_win0 = {
        .win_mode       = {
 -              .pixclock       = 1000000000000ULL /
 -                              ((3+10+5+800)*(1+3+20+480)*80),
                .left_margin    = 3,
                .right_margin   = 5,
                .upper_margin   = 1,
                .vsync_len      = 3,
                .xres           = 800,
                .yres           = 480,
 +              .refresh        = 80,
        },
        .max_bpp        = 32,
        .default_bpp    = 16,
@@@ -175,7 -150,6 +149,6 @@@ static struct s3c_fb_platdata smartq7_l
  static struct platform_device *smartq7_devices[] __initdata = {
        &smartq7_leds_device,
        &smartq7_buttons_device,
-       &smartq7_lcd_control_device,
  };
  
  static void __init smartq7_machine_init(void)
        s3c_fb_set_platdata(&smartq7_lcd_pdata);
  
        smartq_machine_init();
-       smartq7_lcd_setup_gpio();
  
        platform_add_devices(smartq7_devices, ARRAY_SIZE(smartq7_devices));
  }
index 2d43128f939fdde8f2fa3ccf163febdc237c2f1b,ed9296f678aeeb55b43adf6510f3734ef144532d..d498219fff1bd34ed1c8b180a67c1ce24fe1835c
@@@ -17,7 -17,6 +17,7 @@@
  #include <linux/list.h>
  #include <linux/timer.h>
  #include <linux/init.h>
 +#include <linux/input.h>
  #include <linux/serial_core.h>
  #include <linux/platform_device.h>
  #include <linux/io.h>
@@@ -57,7 -56,6 +57,7 @@@
  #include <mach/regs-gpio.h>
  #include <mach/regs-sys.h>
  #include <mach/regs-srom.h>
 +#include <plat/ata.h>
  #include <plat/iic.h>
  #include <plat/fb.h>
  #include <plat/gpio-cfg.h>
@@@ -68,7 -66,6 +68,7 @@@
  #include <plat/cpu.h>
  #include <plat/adc.h>
  #include <plat/ts.h>
 +#include <plat/keypad.h>
  
  #define UCON S3C2410_UCON_DEFAULT | S3C2410_UCON_UCLK
  #define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB
@@@ -144,6 -141,7 +144,6 @@@ static struct platform_device smdk6410_
  static struct s3c_fb_pd_win smdk6410_fb_win0 = {
        /* this is to ensure we use win0 */
        .win_mode       = {
 -              .pixclock       = 41094,
                .left_margin    = 8,
                .right_margin   = 13,
                .upper_margin   = 7,
        },
        .max_bpp        = 32,
        .default_bpp    = 16,
+       .virtual_y      = 480 * 2,
+       .virtual_x      = 800,
  };
  
  /* 405566 clocks per frame => 60Hz refresh requires 24333960Hz clock */
@@@ -244,29 -244,6 +246,29 @@@ static struct platform_device smdk6410_
  };
  #endif
  
 +static struct s3c_ide_platdata smdk6410_ide_pdata __initdata = {
 +      .setup_gpio     = s3c64xx_ide_setup_gpio,
 +};
 +
 +static uint32_t smdk6410_keymap[] __initdata = {
 +      /* KEY(row, col, keycode) */
 +      KEY(0, 3, KEY_1), KEY(0, 4, KEY_2), KEY(0, 5, KEY_3),
 +      KEY(0, 6, KEY_4), KEY(0, 7, KEY_5),
 +      KEY(1, 3, KEY_A), KEY(1, 4, KEY_B), KEY(1, 5, KEY_C),
 +      KEY(1, 6, KEY_D), KEY(1, 7, KEY_E)
 +};
 +
 +static struct matrix_keymap_data smdk6410_keymap_data __initdata = {
 +      .keymap         = smdk6410_keymap,
 +      .keymap_size    = ARRAY_SIZE(smdk6410_keymap),
 +};
 +
 +static struct samsung_keypad_platdata smdk6410_keypad_data __initdata = {
 +      .keymap_data    = &smdk6410_keymap_data,
 +      .rows           = 2,
 +      .cols           = 8,
 +};
 +
  static struct map_desc smdk6410_iodesc[] = {};
  
  static struct platform_device *smdk6410_devices[] __initdata = {
        &s3c_device_ohci,
        &s3c_device_usb_hsotg,
        &s3c64xx_device_iisv4,
 +      &samsung_device_keypad,
  
  #ifdef CONFIG_REGULATOR
        &smdk6410_b_pwr_5v,
  
        &smdk6410_smsc911x,
        &s3c_device_adc,
 +      &s3c_device_cfcon,
 +      &s3c_device_rtc,
        &s3c_device_ts,
        &s3c_device_wdt,
  };
@@@ -664,8 -638,6 +666,8 @@@ static void __init smdk6410_machine_ini
        s3c_i2c1_set_platdata(NULL);
        s3c_fb_set_platdata(&smdk6410_lcd_pdata);
  
 +      samsung_keypad_set_platdata(&smdk6410_keypad_data);
 +
        s3c24xx_ts_set_platdata(&s3c_ts_platform);
  
        /* configure nCS1 width to 16 bits */
        i2c_register_board_info(0, i2c_devs0, ARRAY_SIZE(i2c_devs0));
        i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1));
  
 +      s3c_ide_set_platdata(&smdk6410_ide_pdata);
 +
        platform_add_devices(smdk6410_devices, ARRAY_SIZE(smdk6410_devices));
  }
  
index 4529dd6232bc9b95d5055985542a0616190f50ec,3a9ab0be5deffcebed796473c092a1aa293b4216..7c0bde78116755dde5d24799b45ecedb36bb8b8b
@@@ -6,7 -6,7 +6,7 @@@
  
  config PLAT_SAMSUNG
        bool
-       depends on ARCH_S3C2410 || ARCH_S3C24A0 || ARCH_S3C64XX
+       depends on PLAT_S3C24XX || ARCH_S3C64XX || PLAT_S5P
        select NO_IOPORT
        default y
        help
@@@ -160,11 -160,6 +160,11 @@@ config S3C_DEV_HSMMC
        help
          Compile in platform device definitions for HSMMC channel 2
  
 +config S3C_DEV_HSMMC3
 +      bool
 +      help
 +        Compile in platform device definitions for HSMMC channel 3
 +
  config S3C_DEV_HWMON
        bool
        help
@@@ -221,11 -216,6 +221,11 @@@ config SAMSUNG_DEV_AD
        help
          Compile in platform device definition for ADC controller
  
 +config SAMSUNG_DEV_IDE
 +      bool
 +      help
 +        Compile in platform device definitions for IDE
 +
  config S3C64XX_DEV_SPI
        bool
        help
@@@ -237,11 -227,6 +237,11 @@@ config SAMSUNG_DEV_T
        help
            Common in platform device definitions for touchscreen device
  
 +config SAMSUNG_DEV_KEYPAD
 +      bool
 +      help
 +        Compile in platform device definitions for keypad
 +
  # DMA
  
  config S3C_DMA