diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-11 12:13:19 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-11 12:13:19 -0400 |
commit | 636d17427b1ef0e97bd9df9b3b0e0f314ff889d3 (patch) | |
tree | f573602c1a78e9140c36e220c47675b79af1c270 /arch/arm/mach-s3c64xx/mach-smdk6410.c | |
parent | dd21e9bdff14a9882f2c485fe533c6ce64ea2675 (diff) | |
parent | 0b019a41553a919965bb02d07d54e3e6c57a796d (diff) |
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (226 commits)
ARM: 6323/1: cam60: don't use __init for cam60_spi_{flash_platform_data,partitions}
ARM: 6324/1: cam60: move cam60_spi_devices to .init.data
ARM: 6322/1: imx/pca100: Fix name of spi platform data
ARM: 6321/1: fix syntax error in main Kconfig file
ARM: 6297/1: move U300 timer to dynamic clock lookup
ARM: 6296/1: clock U300 intcon and timer properly
ARM: 6295/1: fix U300 apb_pclk split
ARM: 6306/1: fix inverted MMC card detect in U300
ARM: 6299/1: errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID
ARM: 6294/1: etm: do a dummy read from OSSRR during initialization
ARM: 6292/1: coresight: add ETM management registers
ARM: 6288/1: ftrace: document mcount formats
ARM: 6287/1: ftrace: clean up mcount assembly indentation
ARM: 6286/1: fix Thumb-2 decompressor broken by "Auto calculate ZRELADDR"
ARM: 6281/1: video/imxfb.c: allow usage without BACKLIGHT_CLASS_DEVICE
ARM: 6280/1: imx: Fix build failure when including <mach/gpio.h> without <linux/spinlock.h>
ARM: S5PV210: Fix on missing s3c-sdhci card detection method for hsmmc3
ARM: S5P: Fix on missing S5P_DEV_FIMC in plat-s5p/Kconfig
ARM: S5PV210: Override FIMC driver name on Aquila board
ARM: S5PC100: enable FIMC on SMDKC100
...
Fix up conflicts in arch/arm/mach-{s5pc100,s5pv210}/cpu.c due to
different subsystem 'setname' calls, and trivial port types in
include/linux/serial_core.h
Diffstat (limited to 'arch/arm/mach-s3c64xx/mach-smdk6410.c')
-rw-r--r-- | arch/arm/mach-s3c64xx/mach-smdk6410.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c64xx/mach-smdk6410.c b/arch/arm/mach-s3c64xx/mach-smdk6410.c index 0302fcc50b1..2d43128f939 100644 --- a/arch/arm/mach-s3c64xx/mach-smdk6410.c +++ b/arch/arm/mach-s3c64xx/mach-smdk6410.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/list.h> | 17 | #include <linux/list.h> |
18 | #include <linux/timer.h> | 18 | #include <linux/timer.h> |
19 | #include <linux/init.h> | 19 | #include <linux/init.h> |
20 | #include <linux/input.h> | ||
20 | #include <linux/serial_core.h> | 21 | #include <linux/serial_core.h> |
21 | #include <linux/platform_device.h> | 22 | #include <linux/platform_device.h> |
22 | #include <linux/io.h> | 23 | #include <linux/io.h> |
@@ -56,6 +57,7 @@ | |||
56 | #include <mach/regs-gpio.h> | 57 | #include <mach/regs-gpio.h> |
57 | #include <mach/regs-sys.h> | 58 | #include <mach/regs-sys.h> |
58 | #include <mach/regs-srom.h> | 59 | #include <mach/regs-srom.h> |
60 | #include <plat/ata.h> | ||
59 | #include <plat/iic.h> | 61 | #include <plat/iic.h> |
60 | #include <plat/fb.h> | 62 | #include <plat/fb.h> |
61 | #include <plat/gpio-cfg.h> | 63 | #include <plat/gpio-cfg.h> |
@@ -66,6 +68,7 @@ | |||
66 | #include <plat/cpu.h> | 68 | #include <plat/cpu.h> |
67 | #include <plat/adc.h> | 69 | #include <plat/adc.h> |
68 | #include <plat/ts.h> | 70 | #include <plat/ts.h> |
71 | #include <plat/keypad.h> | ||
69 | 72 | ||
70 | #define UCON S3C2410_UCON_DEFAULT | S3C2410_UCON_UCLK | 73 | #define UCON S3C2410_UCON_DEFAULT | S3C2410_UCON_UCLK |
71 | #define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB | 74 | #define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB |
@@ -241,6 +244,29 @@ static struct platform_device smdk6410_b_pwr_5v = { | |||
241 | }; | 244 | }; |
242 | #endif | 245 | #endif |
243 | 246 | ||
247 | static struct s3c_ide_platdata smdk6410_ide_pdata __initdata = { | ||
248 | .setup_gpio = s3c64xx_ide_setup_gpio, | ||
249 | }; | ||
250 | |||
251 | static uint32_t smdk6410_keymap[] __initdata = { | ||
252 | /* KEY(row, col, keycode) */ | ||
253 | KEY(0, 3, KEY_1), KEY(0, 4, KEY_2), KEY(0, 5, KEY_3), | ||
254 | KEY(0, 6, KEY_4), KEY(0, 7, KEY_5), | ||
255 | KEY(1, 3, KEY_A), KEY(1, 4, KEY_B), KEY(1, 5, KEY_C), | ||
256 | KEY(1, 6, KEY_D), KEY(1, 7, KEY_E) | ||
257 | }; | ||
258 | |||
259 | static struct matrix_keymap_data smdk6410_keymap_data __initdata = { | ||
260 | .keymap = smdk6410_keymap, | ||
261 | .keymap_size = ARRAY_SIZE(smdk6410_keymap), | ||
262 | }; | ||
263 | |||
264 | static struct samsung_keypad_platdata smdk6410_keypad_data __initdata = { | ||
265 | .keymap_data = &smdk6410_keymap_data, | ||
266 | .rows = 2, | ||
267 | .cols = 8, | ||
268 | }; | ||
269 | |||
244 | static struct map_desc smdk6410_iodesc[] = {}; | 270 | static struct map_desc smdk6410_iodesc[] = {}; |
245 | 271 | ||
246 | static struct platform_device *smdk6410_devices[] __initdata = { | 272 | static struct platform_device *smdk6410_devices[] __initdata = { |
@@ -256,6 +282,7 @@ static struct platform_device *smdk6410_devices[] __initdata = { | |||
256 | &s3c_device_ohci, | 282 | &s3c_device_ohci, |
257 | &s3c_device_usb_hsotg, | 283 | &s3c_device_usb_hsotg, |
258 | &s3c64xx_device_iisv4, | 284 | &s3c64xx_device_iisv4, |
285 | &samsung_device_keypad, | ||
259 | 286 | ||
260 | #ifdef CONFIG_REGULATOR | 287 | #ifdef CONFIG_REGULATOR |
261 | &smdk6410_b_pwr_5v, | 288 | &smdk6410_b_pwr_5v, |
@@ -264,6 +291,8 @@ static struct platform_device *smdk6410_devices[] __initdata = { | |||
264 | 291 | ||
265 | &smdk6410_smsc911x, | 292 | &smdk6410_smsc911x, |
266 | &s3c_device_adc, | 293 | &s3c_device_adc, |
294 | &s3c_device_cfcon, | ||
295 | &s3c_device_rtc, | ||
267 | &s3c_device_ts, | 296 | &s3c_device_ts, |
268 | &s3c_device_wdt, | 297 | &s3c_device_wdt, |
269 | }; | 298 | }; |
@@ -635,6 +664,8 @@ static void __init smdk6410_machine_init(void) | |||
635 | s3c_i2c1_set_platdata(NULL); | 664 | s3c_i2c1_set_platdata(NULL); |
636 | s3c_fb_set_platdata(&smdk6410_lcd_pdata); | 665 | s3c_fb_set_platdata(&smdk6410_lcd_pdata); |
637 | 666 | ||
667 | samsung_keypad_set_platdata(&smdk6410_keypad_data); | ||
668 | |||
638 | s3c24xx_ts_set_platdata(&s3c_ts_platform); | 669 | s3c24xx_ts_set_platdata(&s3c_ts_platform); |
639 | 670 | ||
640 | /* configure nCS1 width to 16 bits */ | 671 | /* configure nCS1 width to 16 bits */ |
@@ -664,6 +695,8 @@ static void __init smdk6410_machine_init(void) | |||
664 | i2c_register_board_info(0, i2c_devs0, ARRAY_SIZE(i2c_devs0)); | 695 | i2c_register_board_info(0, i2c_devs0, ARRAY_SIZE(i2c_devs0)); |
665 | i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1)); | 696 | i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1)); |
666 | 697 | ||
698 | s3c_ide_set_platdata(&smdk6410_ide_pdata); | ||
699 | |||
667 | platform_add_devices(smdk6410_devices, ARRAY_SIZE(smdk6410_devices)); | 700 | platform_add_devices(smdk6410_devices, ARRAY_SIZE(smdk6410_devices)); |
668 | } | 701 | } |
669 | 702 | ||