diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-23 20:34:48 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-23 20:34:48 -0400 |
commit | f1d2c07d331f717da79a42952be7dc1c0d35f846 (patch) | |
tree | 5bc98d2d63a37b688b40a4641855c512b385d0ae /arch/arm/mach-exynos | |
parent | a17f29a5e98c0a32a900a773083c719e27f4bc0e (diff) | |
parent | d003e09891fdc0c170b99328eba7ed004809ef5a (diff) |
Merge tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull arm-soc board specific updates from Arnd Bergmann:
"These changes are all for individual board files. In the long run,
those files will largely go away, and the amount of changes appears to
be continuously decreasing, which is a good sign. This time around,
changes are focused on tegra, omap and samsung."
Fix conflicts in arch/arm/mach-{omap2/common-board-devices.c,tegra/Makefile.boot}
as per the 'for-linus' branch.
* tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (39 commits)
ARM: EXYNOS: Add leds status1 and status2 on Origen board
ARM: S3C64XX: Mark most Cragganmore initdata devinitdata
ARM: EXYNOS: Add missing .reserve field to SMDKC210
ARM: EXYNOS: Add DRM device to SMDK4X12 board
ARM: S3C64XX: Clean up after SPI driver platform data updates
ARM: SAMSUNG: no need to set the value for clk_xusbxti when it is 24Mhz
ARM: EXYNOS: Add framebuffer support for SMDK4X12
ARM: EXYNOS: Add HSOTG support to SMDK4X12
ARM: S5PV210: Add audio platform device in Goni board
ARM: S5PV210: Add audio platform device in Aquila board
ARM: EXYNOS: Add audio platform device in SMDKV310 board
ARM: S3C64XX: Don't specify an irq_base for WM1192-EV1 board
ARM: OMAP3: Fix omap3evm randconfig error introduced by VBUS support
ARM: OMAP: board-omap4panda: MUX configuration for sys_nirq2
ARM: OMAP: board-4430sdp: MUX configuration for sys_nirq2
ARM: OMAP3530evm: set pendown_state and debounce time for ads7846
ARM: omap3evm: enable VBUS switch for EHCI tranceiver
ARM: OMAP3EVM: Adding USB internal LDOs board file
ARM: OMAP3EVM: Add NAND flash definition
ARM: OMAP3: cm-t35: add tvp5150 decoder support
...
Diffstat (limited to 'arch/arm/mach-exynos')
-rw-r--r-- | arch/arm/mach-exynos/Kconfig | 7 | ||||
-rw-r--r-- | arch/arm/mach-exynos/mach-nuri.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-exynos/mach-origen.c | 39 | ||||
-rw-r--r-- | arch/arm/mach-exynos/mach-smdk4x12.c | 83 | ||||
-rw-r--r-- | arch/arm/mach-exynos/mach-smdkv310.c | 17 | ||||
-rw-r--r-- | arch/arm/mach-exynos/mach-universal_c210.c | 3 |
6 files changed, 138 insertions, 14 deletions
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig index 6f6d13f91e4c..b5b4c8c9db11 100644 --- a/arch/arm/mach-exynos/Kconfig +++ b/arch/arm/mach-exynos/Kconfig | |||
@@ -207,6 +207,7 @@ config MACH_SMDKV310 | |||
207 | select S3C_DEV_HSMMC1 | 207 | select S3C_DEV_HSMMC1 |
208 | select S3C_DEV_HSMMC2 | 208 | select S3C_DEV_HSMMC2 |
209 | select S3C_DEV_HSMMC3 | 209 | select S3C_DEV_HSMMC3 |
210 | select S3C_DEV_USB_HSOTG | ||
210 | select SAMSUNG_DEV_BACKLIGHT | 211 | select SAMSUNG_DEV_BACKLIGHT |
211 | select EXYNOS_DEV_DRM | 212 | select EXYNOS_DEV_DRM |
212 | select EXYNOS_DEV_SYSMMU | 213 | select EXYNOS_DEV_SYSMMU |
@@ -326,6 +327,7 @@ config MACH_ORIGEN | |||
326 | select S3C_DEV_WDT | 327 | select S3C_DEV_WDT |
327 | select S3C_DEV_HSMMC | 328 | select S3C_DEV_HSMMC |
328 | select S3C_DEV_HSMMC2 | 329 | select S3C_DEV_HSMMC2 |
330 | select S3C_DEV_USB_HSOTG | ||
329 | select S5P_DEV_FIMC0 | 331 | select S5P_DEV_FIMC0 |
330 | select S5P_DEV_FIMC1 | 332 | select S5P_DEV_FIMC1 |
331 | select S5P_DEV_FIMC2 | 333 | select S5P_DEV_FIMC2 |
@@ -360,22 +362,27 @@ config MACH_SMDK4212 | |||
360 | select S3C_DEV_I2C3 | 362 | select S3C_DEV_I2C3 |
361 | select S3C_DEV_I2C7 | 363 | select S3C_DEV_I2C7 |
362 | select S3C_DEV_RTC | 364 | select S3C_DEV_RTC |
365 | select S3C_DEV_USB_HSOTG | ||
363 | select S3C_DEV_WDT | 366 | select S3C_DEV_WDT |
364 | select S5P_DEV_FIMC0 | 367 | select S5P_DEV_FIMC0 |
365 | select S5P_DEV_FIMC1 | 368 | select S5P_DEV_FIMC1 |
366 | select S5P_DEV_FIMC2 | 369 | select S5P_DEV_FIMC2 |
367 | select S5P_DEV_FIMC3 | 370 | select S5P_DEV_FIMC3 |
371 | select S5P_DEV_FIMD0 | ||
368 | select S5P_DEV_MFC | 372 | select S5P_DEV_MFC |
369 | select SAMSUNG_DEV_BACKLIGHT | 373 | select SAMSUNG_DEV_BACKLIGHT |
370 | select SAMSUNG_DEV_KEYPAD | 374 | select SAMSUNG_DEV_KEYPAD |
371 | select SAMSUNG_DEV_PWM | 375 | select SAMSUNG_DEV_PWM |
372 | select EXYNOS_DEV_SYSMMU | 376 | select EXYNOS_DEV_SYSMMU |
373 | select EXYNOS_DEV_DMA | 377 | select EXYNOS_DEV_DMA |
378 | select EXYNOS_DEV_DRM | ||
379 | select EXYNOS4_SETUP_FIMD0 | ||
374 | select EXYNOS4_SETUP_I2C1 | 380 | select EXYNOS4_SETUP_I2C1 |
375 | select EXYNOS4_SETUP_I2C3 | 381 | select EXYNOS4_SETUP_I2C3 |
376 | select EXYNOS4_SETUP_I2C7 | 382 | select EXYNOS4_SETUP_I2C7 |
377 | select EXYNOS4_SETUP_KEYPAD | 383 | select EXYNOS4_SETUP_KEYPAD |
378 | select EXYNOS4_SETUP_SDHCI | 384 | select EXYNOS4_SETUP_SDHCI |
385 | select EXYNOS4_SETUP_USB_PHY | ||
379 | help | 386 | help |
380 | Machine support for Samsung SMDK4212 | 387 | Machine support for Samsung SMDK4212 |
381 | 388 | ||
diff --git a/arch/arm/mach-exynos/mach-nuri.c b/arch/arm/mach-exynos/mach-nuri.c index f3b328d0aff6..f98a83a81ce7 100644 --- a/arch/arm/mach-exynos/mach-nuri.c +++ b/arch/arm/mach-exynos/mach-nuri.c | |||
@@ -1341,9 +1341,8 @@ static struct platform_device *nuri_devices[] __initdata = { | |||
1341 | 1341 | ||
1342 | static void __init nuri_map_io(void) | 1342 | static void __init nuri_map_io(void) |
1343 | { | 1343 | { |
1344 | clk_xusbxti.rate = 24000000; | ||
1345 | exynos_init_io(NULL, 0); | 1344 | exynos_init_io(NULL, 0); |
1346 | s3c24xx_init_clocks(24000000); | 1345 | s3c24xx_init_clocks(clk_xusbxti.rate); |
1347 | s3c24xx_init_uarts(nuri_uartcfgs, ARRAY_SIZE(nuri_uartcfgs)); | 1346 | s3c24xx_init_uarts(nuri_uartcfgs, ARRAY_SIZE(nuri_uartcfgs)); |
1348 | } | 1347 | } |
1349 | 1348 | ||
diff --git a/arch/arm/mach-exynos/mach-origen.c b/arch/arm/mach-exynos/mach-origen.c index 873c708fd340..5a12dc26f496 100644 --- a/arch/arm/mach-exynos/mach-origen.c +++ b/arch/arm/mach-exynos/mach-origen.c | |||
@@ -9,6 +9,7 @@ | |||
9 | */ | 9 | */ |
10 | 10 | ||
11 | #include <linux/serial_core.h> | 11 | #include <linux/serial_core.h> |
12 | #include <linux/leds.h> | ||
12 | #include <linux/gpio.h> | 13 | #include <linux/gpio.h> |
13 | #include <linux/mmc/host.h> | 14 | #include <linux/mmc/host.h> |
14 | #include <linux/platform_device.h> | 15 | #include <linux/platform_device.h> |
@@ -21,6 +22,7 @@ | |||
21 | #include <linux/mfd/max8997.h> | 22 | #include <linux/mfd/max8997.h> |
22 | #include <linux/lcd.h> | 23 | #include <linux/lcd.h> |
23 | #include <linux/rfkill-gpio.h> | 24 | #include <linux/rfkill-gpio.h> |
25 | #include <linux/platform_data/s3c-hsotg.h> | ||
24 | 26 | ||
25 | #include <asm/mach/arch.h> | 27 | #include <asm/mach/arch.h> |
26 | #include <asm/hardware/gic.h> | 28 | #include <asm/hardware/gic.h> |
@@ -498,6 +500,37 @@ static void __init origen_ohci_init(void) | |||
498 | exynos4_ohci_set_platdata(pdata); | 500 | exynos4_ohci_set_platdata(pdata); |
499 | } | 501 | } |
500 | 502 | ||
503 | /* USB OTG */ | ||
504 | static struct s3c_hsotg_plat origen_hsotg_pdata; | ||
505 | |||
506 | static struct gpio_led origen_gpio_leds[] = { | ||
507 | { | ||
508 | .name = "origen::status1", | ||
509 | .default_trigger = "heartbeat", | ||
510 | .gpio = EXYNOS4_GPX1(3), | ||
511 | .active_low = 1, | ||
512 | }, | ||
513 | { | ||
514 | .name = "origen::status2", | ||
515 | .default_trigger = "mmc0", | ||
516 | .gpio = EXYNOS4_GPX1(4), | ||
517 | .active_low = 1, | ||
518 | }, | ||
519 | }; | ||
520 | |||
521 | static struct gpio_led_platform_data origen_gpio_led_info = { | ||
522 | .leds = origen_gpio_leds, | ||
523 | .num_leds = ARRAY_SIZE(origen_gpio_leds), | ||
524 | }; | ||
525 | |||
526 | static struct platform_device origen_leds_gpio = { | ||
527 | .name = "leds-gpio", | ||
528 | .id = -1, | ||
529 | .dev = { | ||
530 | .platform_data = &origen_gpio_led_info, | ||
531 | }, | ||
532 | }; | ||
533 | |||
501 | static struct gpio_keys_button origen_gpio_keys_table[] = { | 534 | static struct gpio_keys_button origen_gpio_keys_table[] = { |
502 | { | 535 | { |
503 | .code = KEY_MENU, | 536 | .code = KEY_MENU, |
@@ -654,6 +687,7 @@ static struct platform_device *origen_devices[] __initdata = { | |||
654 | &s3c_device_hsmmc0, | 687 | &s3c_device_hsmmc0, |
655 | &s3c_device_i2c0, | 688 | &s3c_device_i2c0, |
656 | &s3c_device_rtc, | 689 | &s3c_device_rtc, |
690 | &s3c_device_usb_hsotg, | ||
657 | &s3c_device_wdt, | 691 | &s3c_device_wdt, |
658 | &s5p_device_ehci, | 692 | &s5p_device_ehci, |
659 | &s5p_device_fimc0, | 693 | &s5p_device_fimc0, |
@@ -676,6 +710,7 @@ static struct platform_device *origen_devices[] __initdata = { | |||
676 | &exynos4_device_ohci, | 710 | &exynos4_device_ohci, |
677 | &origen_device_gpiokeys, | 711 | &origen_device_gpiokeys, |
678 | &origen_lcd_hv070wsa, | 712 | &origen_lcd_hv070wsa, |
713 | &origen_leds_gpio, | ||
679 | &origen_device_bluetooth, | 714 | &origen_device_bluetooth, |
680 | }; | 715 | }; |
681 | 716 | ||
@@ -711,7 +746,7 @@ static void s5p_tv_setup(void) | |||
711 | static void __init origen_map_io(void) | 746 | static void __init origen_map_io(void) |
712 | { | 747 | { |
713 | exynos_init_io(NULL, 0); | 748 | exynos_init_io(NULL, 0); |
714 | s3c24xx_init_clocks(24000000); | 749 | s3c24xx_init_clocks(clk_xusbxti.rate); |
715 | s3c24xx_init_uarts(origen_uartcfgs, ARRAY_SIZE(origen_uartcfgs)); | 750 | s3c24xx_init_uarts(origen_uartcfgs, ARRAY_SIZE(origen_uartcfgs)); |
716 | } | 751 | } |
717 | 752 | ||
@@ -743,7 +778,7 @@ static void __init origen_machine_init(void) | |||
743 | 778 | ||
744 | origen_ehci_init(); | 779 | origen_ehci_init(); |
745 | origen_ohci_init(); | 780 | origen_ohci_init(); |
746 | clk_xusbxti.rate = 24000000; | 781 | s3c_hsotg_set_platdata(&origen_hsotg_pdata); |
747 | 782 | ||
748 | s5p_tv_setup(); | 783 | s5p_tv_setup(); |
749 | s5p_i2c_hdmiphy_set_platdata(NULL); | 784 | s5p_i2c_hdmiphy_set_platdata(NULL); |
diff --git a/arch/arm/mach-exynos/mach-smdk4x12.c b/arch/arm/mach-exynos/mach-smdk4x12.c index fb09c70e195a..b26beb13ebef 100644 --- a/arch/arm/mach-exynos/mach-smdk4x12.c +++ b/arch/arm/mach-exynos/mach-smdk4x12.c | |||
@@ -13,12 +13,14 @@ | |||
13 | #include <linux/i2c.h> | 13 | #include <linux/i2c.h> |
14 | #include <linux/input.h> | 14 | #include <linux/input.h> |
15 | #include <linux/io.h> | 15 | #include <linux/io.h> |
16 | #include <linux/lcd.h> | ||
16 | #include <linux/mfd/max8997.h> | 17 | #include <linux/mfd/max8997.h> |
17 | #include <linux/mmc/host.h> | 18 | #include <linux/mmc/host.h> |
18 | #include <linux/platform_device.h> | 19 | #include <linux/platform_device.h> |
19 | #include <linux/pwm_backlight.h> | 20 | #include <linux/pwm_backlight.h> |
20 | #include <linux/regulator/machine.h> | 21 | #include <linux/regulator/machine.h> |
21 | #include <linux/serial_core.h> | 22 | #include <linux/serial_core.h> |
23 | #include <linux/platform_data/s3c-hsotg.h> | ||
22 | 24 | ||
23 | #include <asm/mach/arch.h> | 25 | #include <asm/mach/arch.h> |
24 | #include <asm/hardware/gic.h> | 26 | #include <asm/hardware/gic.h> |
@@ -28,15 +30,18 @@ | |||
28 | #include <plat/clock.h> | 30 | #include <plat/clock.h> |
29 | #include <plat/cpu.h> | 31 | #include <plat/cpu.h> |
30 | #include <plat/devs.h> | 32 | #include <plat/devs.h> |
33 | #include <plat/fb.h> | ||
31 | #include <plat/gpio-cfg.h> | 34 | #include <plat/gpio-cfg.h> |
32 | #include <plat/iic.h> | 35 | #include <plat/iic.h> |
33 | #include <plat/keypad.h> | 36 | #include <plat/keypad.h> |
34 | #include <plat/mfc.h> | 37 | #include <plat/mfc.h> |
38 | #include <plat/regs-fb.h> | ||
35 | #include <plat/regs-serial.h> | 39 | #include <plat/regs-serial.h> |
36 | #include <plat/sdhci.h> | 40 | #include <plat/sdhci.h> |
37 | 41 | ||
38 | #include <mach/map.h> | 42 | #include <mach/map.h> |
39 | 43 | ||
44 | #include <drm/exynos_drm.h> | ||
40 | #include "common.h" | 45 | #include "common.h" |
41 | 46 | ||
42 | /* Following are default values for UCON, ULCON and UFCON UART registers */ | 47 | /* Following are default values for UCON, ULCON and UFCON UART registers */ |
@@ -219,8 +224,10 @@ static struct platform_pwm_backlight_data smdk4x12_bl_data = { | |||
219 | 224 | ||
220 | static uint32_t smdk4x12_keymap[] __initdata = { | 225 | static uint32_t smdk4x12_keymap[] __initdata = { |
221 | /* KEY(row, col, keycode) */ | 226 | /* KEY(row, col, keycode) */ |
222 | KEY(1, 0, KEY_D), KEY(1, 1, KEY_A), KEY(1, 2, KEY_B), | 227 | KEY(1, 3, KEY_1), KEY(1, 4, KEY_2), KEY(1, 5, KEY_3), |
223 | KEY(1, 3, KEY_E), KEY(1, 4, KEY_C) | 228 | KEY(1, 6, KEY_4), KEY(1, 7, KEY_5), |
229 | KEY(2, 5, KEY_D), KEY(2, 6, KEY_A), KEY(2, 7, KEY_B), | ||
230 | KEY(0, 7, KEY_E), KEY(0, 5, KEY_C) | ||
224 | }; | 231 | }; |
225 | 232 | ||
226 | static struct matrix_keymap_data smdk4x12_keymap_data __initdata = { | 233 | static struct matrix_keymap_data smdk4x12_keymap_data __initdata = { |
@@ -230,10 +237,62 @@ static struct matrix_keymap_data smdk4x12_keymap_data __initdata = { | |||
230 | 237 | ||
231 | static struct samsung_keypad_platdata smdk4x12_keypad_data __initdata = { | 238 | static struct samsung_keypad_platdata smdk4x12_keypad_data __initdata = { |
232 | .keymap_data = &smdk4x12_keymap_data, | 239 | .keymap_data = &smdk4x12_keymap_data, |
233 | .rows = 2, | 240 | .rows = 3, |
234 | .cols = 5, | 241 | .cols = 8, |
235 | }; | 242 | }; |
236 | 243 | ||
244 | #ifdef CONFIG_DRM_EXYNOS | ||
245 | static struct exynos_drm_fimd_pdata drm_fimd_pdata = { | ||
246 | .panel = { | ||
247 | .timing = { | ||
248 | .left_margin = 8, | ||
249 | .right_margin = 8, | ||
250 | .upper_margin = 6, | ||
251 | .lower_margin = 6, | ||
252 | .hsync_len = 6, | ||
253 | .vsync_len = 4, | ||
254 | .xres = 480, | ||
255 | .yres = 800, | ||
256 | }, | ||
257 | }, | ||
258 | .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB, | ||
259 | .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC, | ||
260 | .default_win = 0, | ||
261 | .bpp = 32, | ||
262 | }; | ||
263 | #else | ||
264 | static struct s3c_fb_pd_win smdk4x12_fb_win0 = { | ||
265 | .xres = 480, | ||
266 | .yres = 800, | ||
267 | .virtual_x = 480, | ||
268 | .virtual_y = 800 * 2, | ||
269 | .max_bpp = 32, | ||
270 | .default_bpp = 24, | ||
271 | }; | ||
272 | |||
273 | static struct fb_videomode smdk4x12_lcd_timing = { | ||
274 | .left_margin = 8, | ||
275 | .right_margin = 8, | ||
276 | .upper_margin = 6, | ||
277 | .lower_margin = 6, | ||
278 | .hsync_len = 6, | ||
279 | .vsync_len = 4, | ||
280 | .xres = 480, | ||
281 | .yres = 800, | ||
282 | }; | ||
283 | |||
284 | static struct s3c_fb_platdata smdk4x12_lcd_pdata __initdata = { | ||
285 | .win[0] = &smdk4x12_fb_win0, | ||
286 | .vtiming = &smdk4x12_lcd_timing, | ||
287 | .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB, | ||
288 | .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC, | ||
289 | .setup_gpio = exynos4_fimd0_gpio_setup_24bpp, | ||
290 | }; | ||
291 | #endif | ||
292 | |||
293 | /* USB OTG */ | ||
294 | static struct s3c_hsotg_plat smdk4x12_hsotg_pdata; | ||
295 | |||
237 | static struct platform_device *smdk4x12_devices[] __initdata = { | 296 | static struct platform_device *smdk4x12_devices[] __initdata = { |
238 | &s3c_device_hsmmc2, | 297 | &s3c_device_hsmmc2, |
239 | &s3c_device_hsmmc3, | 298 | &s3c_device_hsmmc3, |
@@ -242,22 +301,25 @@ static struct platform_device *smdk4x12_devices[] __initdata = { | |||
242 | &s3c_device_i2c3, | 301 | &s3c_device_i2c3, |
243 | &s3c_device_i2c7, | 302 | &s3c_device_i2c7, |
244 | &s3c_device_rtc, | 303 | &s3c_device_rtc, |
304 | &s3c_device_usb_hsotg, | ||
245 | &s3c_device_wdt, | 305 | &s3c_device_wdt, |
246 | &s5p_device_fimc0, | 306 | &s5p_device_fimc0, |
247 | &s5p_device_fimc1, | 307 | &s5p_device_fimc1, |
248 | &s5p_device_fimc2, | 308 | &s5p_device_fimc2, |
249 | &s5p_device_fimc3, | 309 | &s5p_device_fimc3, |
250 | &s5p_device_fimc_md, | 310 | &s5p_device_fimc_md, |
311 | &s5p_device_fimd0, | ||
251 | &s5p_device_mfc, | 312 | &s5p_device_mfc, |
252 | &s5p_device_mfc_l, | 313 | &s5p_device_mfc_l, |
253 | &s5p_device_mfc_r, | 314 | &s5p_device_mfc_r, |
315 | #ifdef CONFIG_DRM_EXYNOS | ||
316 | &exynos_device_drm, | ||
317 | #endif | ||
254 | &samsung_device_keypad, | 318 | &samsung_device_keypad, |
255 | }; | 319 | }; |
256 | 320 | ||
257 | static void __init smdk4x12_map_io(void) | 321 | static void __init smdk4x12_map_io(void) |
258 | { | 322 | { |
259 | clk_xusbxti.rate = 24000000; | ||
260 | |||
261 | exynos_init_io(NULL, 0); | 323 | exynos_init_io(NULL, 0); |
262 | s3c24xx_init_clocks(clk_xusbxti.rate); | 324 | s3c24xx_init_clocks(clk_xusbxti.rate); |
263 | s3c24xx_init_uarts(smdk4x12_uartcfgs, ARRAY_SIZE(smdk4x12_uartcfgs)); | 325 | s3c24xx_init_uarts(smdk4x12_uartcfgs, ARRAY_SIZE(smdk4x12_uartcfgs)); |
@@ -293,6 +355,15 @@ static void __init smdk4x12_machine_init(void) | |||
293 | s3c_sdhci2_set_platdata(&smdk4x12_hsmmc2_pdata); | 355 | s3c_sdhci2_set_platdata(&smdk4x12_hsmmc2_pdata); |
294 | s3c_sdhci3_set_platdata(&smdk4x12_hsmmc3_pdata); | 356 | s3c_sdhci3_set_platdata(&smdk4x12_hsmmc3_pdata); |
295 | 357 | ||
358 | s3c_hsotg_set_platdata(&smdk4x12_hsotg_pdata); | ||
359 | |||
360 | #ifdef CONFIG_DRM_EXYNOS | ||
361 | s5p_device_fimd0.dev.platform_data = &drm_fimd_pdata; | ||
362 | exynos4_fimd0_gpio_setup_24bpp(); | ||
363 | #else | ||
364 | s5p_fimd0_set_platdata(&smdk4x12_lcd_pdata); | ||
365 | #endif | ||
366 | |||
296 | platform_add_devices(smdk4x12_devices, ARRAY_SIZE(smdk4x12_devices)); | 367 | platform_add_devices(smdk4x12_devices, ARRAY_SIZE(smdk4x12_devices)); |
297 | } | 368 | } |
298 | 369 | ||
diff --git a/arch/arm/mach-exynos/mach-smdkv310.c b/arch/arm/mach-exynos/mach-smdkv310.c index 5fb209c4a594..3cfa688d274a 100644 --- a/arch/arm/mach-exynos/mach-smdkv310.c +++ b/arch/arm/mach-exynos/mach-smdkv310.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/i2c.h> | 19 | #include <linux/i2c.h> |
20 | #include <linux/input.h> | 20 | #include <linux/input.h> |
21 | #include <linux/pwm_backlight.h> | 21 | #include <linux/pwm_backlight.h> |
22 | #include <linux/platform_data/s3c-hsotg.h> | ||
22 | 23 | ||
23 | #include <asm/mach/arch.h> | 24 | #include <asm/mach/arch.h> |
24 | #include <asm/hardware/gic.h> | 25 | #include <asm/hardware/gic.h> |
@@ -270,6 +271,15 @@ static void __init smdkv310_ohci_init(void) | |||
270 | exynos4_ohci_set_platdata(pdata); | 271 | exynos4_ohci_set_platdata(pdata); |
271 | } | 272 | } |
272 | 273 | ||
274 | /* USB OTG */ | ||
275 | static struct s3c_hsotg_plat smdkv310_hsotg_pdata; | ||
276 | |||
277 | /* Audio device */ | ||
278 | static struct platform_device smdkv310_device_audio = { | ||
279 | .name = "smdk-audio", | ||
280 | .id = -1, | ||
281 | }; | ||
282 | |||
273 | static struct platform_device *smdkv310_devices[] __initdata = { | 283 | static struct platform_device *smdkv310_devices[] __initdata = { |
274 | &s3c_device_hsmmc0, | 284 | &s3c_device_hsmmc0, |
275 | &s3c_device_hsmmc1, | 285 | &s3c_device_hsmmc1, |
@@ -278,6 +288,7 @@ static struct platform_device *smdkv310_devices[] __initdata = { | |||
278 | &s3c_device_i2c1, | 288 | &s3c_device_i2c1, |
279 | &s5p_device_i2c_hdmiphy, | 289 | &s5p_device_i2c_hdmiphy, |
280 | &s3c_device_rtc, | 290 | &s3c_device_rtc, |
291 | &s3c_device_usb_hsotg, | ||
281 | &s3c_device_wdt, | 292 | &s3c_device_wdt, |
282 | &s5p_device_ehci, | 293 | &s5p_device_ehci, |
283 | &s5p_device_fimc0, | 294 | &s5p_device_fimc0, |
@@ -301,6 +312,7 @@ static struct platform_device *smdkv310_devices[] __initdata = { | |||
301 | &samsung_asoc_dma, | 312 | &samsung_asoc_dma, |
302 | &samsung_asoc_idma, | 313 | &samsung_asoc_idma, |
303 | &s5p_device_fimd0, | 314 | &s5p_device_fimd0, |
315 | &smdkv310_device_audio, | ||
304 | &smdkv310_lcd_lte480wv, | 316 | &smdkv310_lcd_lte480wv, |
305 | &smdkv310_smsc911x, | 317 | &smdkv310_smsc911x, |
306 | &exynos4_device_ahci, | 318 | &exynos4_device_ahci, |
@@ -353,7 +365,7 @@ static void s5p_tv_setup(void) | |||
353 | static void __init smdkv310_map_io(void) | 365 | static void __init smdkv310_map_io(void) |
354 | { | 366 | { |
355 | exynos_init_io(NULL, 0); | 367 | exynos_init_io(NULL, 0); |
356 | s3c24xx_init_clocks(24000000); | 368 | s3c24xx_init_clocks(clk_xusbxti.rate); |
357 | s3c24xx_init_uarts(smdkv310_uartcfgs, ARRAY_SIZE(smdkv310_uartcfgs)); | 369 | s3c24xx_init_uarts(smdkv310_uartcfgs, ARRAY_SIZE(smdkv310_uartcfgs)); |
358 | } | 370 | } |
359 | 371 | ||
@@ -389,7 +401,7 @@ static void __init smdkv310_machine_init(void) | |||
389 | 401 | ||
390 | smdkv310_ehci_init(); | 402 | smdkv310_ehci_init(); |
391 | smdkv310_ohci_init(); | 403 | smdkv310_ohci_init(); |
392 | clk_xusbxti.rate = 24000000; | 404 | s3c_hsotg_set_platdata(&smdkv310_hsotg_pdata); |
393 | 405 | ||
394 | platform_add_devices(smdkv310_devices, ARRAY_SIZE(smdkv310_devices)); | 406 | platform_add_devices(smdkv310_devices, ARRAY_SIZE(smdkv310_devices)); |
395 | } | 407 | } |
@@ -416,5 +428,6 @@ MACHINE_START(SMDKC210, "SMDKC210") | |||
416 | .init_machine = smdkv310_machine_init, | 428 | .init_machine = smdkv310_machine_init, |
417 | .init_late = exynos_init_late, | 429 | .init_late = exynos_init_late, |
418 | .timer = &exynos4_timer, | 430 | .timer = &exynos4_timer, |
431 | .reserve = &smdkv310_reserve, | ||
419 | .restart = exynos4_restart, | 432 | .restart = exynos4_restart, |
420 | MACHINE_END | 433 | MACHINE_END |
diff --git a/arch/arm/mach-exynos/mach-universal_c210.c b/arch/arm/mach-exynos/mach-universal_c210.c index 68719f57dcea..4d1f40d44ed1 100644 --- a/arch/arm/mach-exynos/mach-universal_c210.c +++ b/arch/arm/mach-exynos/mach-universal_c210.c | |||
@@ -1099,9 +1099,8 @@ static struct platform_device *universal_devices[] __initdata = { | |||
1099 | 1099 | ||
1100 | static void __init universal_map_io(void) | 1100 | static void __init universal_map_io(void) |
1101 | { | 1101 | { |
1102 | clk_xusbxti.rate = 24000000; | ||
1103 | exynos_init_io(NULL, 0); | 1102 | exynos_init_io(NULL, 0); |
1104 | s3c24xx_init_clocks(24000000); | 1103 | s3c24xx_init_clocks(clk_xusbxti.rate); |
1105 | s3c24xx_init_uarts(universal_uartcfgs, ARRAY_SIZE(universal_uartcfgs)); | 1104 | s3c24xx_init_uarts(universal_uartcfgs, ARRAY_SIZE(universal_uartcfgs)); |
1106 | s5p_set_timer_source(S5P_PWM2, S5P_PWM4); | 1105 | s5p_set_timer_source(S5P_PWM2, S5P_PWM4); |
1107 | } | 1106 | } |