11 #include <linux/serial_core.h>
17 #include <linux/input.h>
21 #include <linux/i2c.h>
41 #include <plat/clock.h>
51 #include <drm/exynos_drm.h>
55 #define ORIGEN_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \
56 S3C2410_UCON_RXILEVEL | \
57 S3C2410_UCON_TXIRQMODE | \
58 S3C2410_UCON_RXIRQMODE | \
59 S3C2410_UCON_RXFIFO_TOI | \
60 S3C2443_UCON_RXERR_IRQEN)
62 #define ORIGEN_ULCON_DEFAULT S3C2410_LCON_CS8
64 #define ORIGEN_UFCON_DEFAULT (S3C2410_UFCON_FIFOMODE | \
65 S5PV210_UFCON_TXTRIG4 | \
66 S5PV210_UFCON_RXTRIG4)
141 .name =
"VDD_ABB_3.3V",
153 .name =
"VDD_ALIVE_1.1V",
166 .name =
"VMIPI_1.1V",
175 .num_consumer_supplies =
ARRAY_SIZE(ldo3_consumer),
176 .consumer_supplies = ldo3_consumer,
181 .name =
"VDD_RTC_1.8V",
194 .name =
"VMIPI_1.8V",
203 .num_consumer_supplies =
ARRAY_SIZE(ldo6_consumer),
204 .consumer_supplies = ldo6_consumer,
209 .name =
"VDD_AUD_1.8V",
218 .num_consumer_supplies =
ARRAY_SIZE(ldo7_consumer),
219 .consumer_supplies = ldo7_consumer,
233 .num_consumer_supplies =
ARRAY_SIZE(ldo8_consumer),
234 .consumer_supplies = ldo8_consumer,
239 .name =
"DVDD_SWB_2.8V",
249 .num_consumer_supplies =
ARRAY_SIZE(ldo9_consumer),
250 .consumer_supplies = ldo9_consumer,
255 .name =
"VDD_PLL_1.1V",
268 .name =
"VDD_AUD_3V",
277 .num_consumer_supplies =
ARRAY_SIZE(ldo11_consumer),
278 .consumer_supplies = ldo11_consumer,
283 .name =
"AVDD18_SWB_1.8V",
293 .num_consumer_supplies =
ARRAY_SIZE(ldo14_consumer),
294 .consumer_supplies = ldo14_consumer,
299 .name =
"VDD_SWB_3.3V",
309 .num_consumer_supplies =
ARRAY_SIZE(ldo17_consumer),
310 .consumer_supplies = ldo17_consumer,
315 .name =
"VDD_MIF_1.2V",
328 .name =
"VDD_ARM_1.2V",
338 .num_consumer_supplies =
ARRAY_SIZE(buck1_consumer),
339 .consumer_supplies = buck1_consumer,
344 .name =
"VDD_INT_1.1V",
354 .num_consumer_supplies =
ARRAY_SIZE(buck2_consumer),
355 .consumer_supplies = buck2_consumer,
360 .name =
"VDD_G3D_1.1V",
369 .num_consumer_supplies =
ARRAY_SIZE(buck3_consumer),
370 .consumer_supplies = buck3_consumer,
375 .name =
"VDDQ_M1M2_1.2V",
388 .name =
"VDD_LCD_3.3V",
398 .num_consumer_supplies =
ARRAY_SIZE(buck7_consumer),
399 .consumer_supplies = buck7_consumer,
424 .num_regulators =
ARRAY_SIZE(origen_max8997_regulators),
425 .regulators = origen_max8997_regulators,
428 .buck1_gpiodvs =
false,
429 .buck2_gpiodvs =
false,
430 .buck5_gpiodvs =
false,
432 .ignore_gpiodvs_side_effect =
true,
433 .buck125_default_idx = 0x0,
439 .buck1_voltage[0] = 1350000,
440 .buck1_voltage[1] = 1300000,
441 .buck1_voltage[2] = 1250000,
442 .buck1_voltage[3] = 1200000,
443 .buck1_voltage[4] = 1150000,
444 .buck1_voltage[5] = 1100000,
445 .buck1_voltage[6] = 1000000,
446 .buck1_voltage[7] = 950000,
448 .buck2_voltage[0] = 1100000,
449 .buck2_voltage[1] = 1100000,
450 .buck2_voltage[2] = 1100000,
451 .buck2_voltage[3] = 1100000,
452 .buck2_voltage[4] = 1000000,
453 .buck2_voltage[5] = 1000000,
454 .buck2_voltage[6] = 1000000,
455 .buck2_voltage[7] = 1000000,
457 .buck5_voltage[0] = 1200000,
458 .buck5_voltage[1] = 1200000,
459 .buck5_voltage[2] = 1200000,
460 .buck5_voltage[3] = 1200000,
461 .buck5_voltage[4] = 1200000,
462 .buck5_voltage[5] = 1200000,
463 .buck5_voltage[6] = 1200000,
464 .buck5_voltage[7] = 1200000,
471 .platform_data = &origen_max8997_pdata,
487 static void __init origen_ehci_init(
void)
497 static void __init origen_ohci_init(
void)
507 static struct gpio_led origen_gpio_leds[] = {
509 .name =
"origen::status1",
510 .default_trigger =
"heartbeat",
515 .name =
"origen::status2",
516 .default_trigger =
"mmc0",
523 .leds = origen_gpio_leds,
531 .platform_data = &origen_gpio_led_info,
539 .desc =
"gpio-keys: KEY_MENU",
543 .debounce_interval = 1,
547 .desc =
"gpio-keys: KEY_HOME",
551 .debounce_interval = 1,
555 .desc =
"gpio-keys: KEY_BACK",
559 .debounce_interval = 1,
563 .desc =
"gpio-keys: KEY_UP",
567 .debounce_interval = 1,
571 .desc =
"gpio-keys: KEY_DOWN",
575 .debounce_interval = 1,
580 .buttons = origen_gpio_keys_table,
581 .nbuttons =
ARRAY_SIZE(origen_gpio_keys_table),
587 .platform_data = &origen_gpio_keys_data,
591 static void lcd_hv070wsa_set_power(
struct plat_lcd_data *pd,
unsigned int power)
605 pr_err(
"failed to request gpio for LCD power: %d\n", ret);
609 .set_power = lcd_hv070wsa_set_power,
613 .name =
"platform-lcd",
615 .dev.platform_data = &origen_lcd_hv070wsa_data,
618 static struct pwm_lookup origen_pwm_lookup[] = {
622 #ifdef CONFIG_DRM_EXYNOS
649 .virtual_y = 2 * 600,
664 .win[0] = &origen_fb_win0,
665 .vtiming = &origen_lcd_timing,
683 .name =
"rfkill_gpio",
686 .platform_data = &origen_bt_pdata,
712 #ifdef CONFIG_DRM_EXYNOS
716 &origen_device_gpiokeys,
717 &origen_lcd_hv070wsa,
719 &origen_device_bluetooth,
730 .pwm_period_ns = 1000,
733 static void __init origen_bt_setup(
void)
748 static void s5p_tv_setup(
void)
756 static void __init origen_map_io(
void)
763 static void __init origen_power_init(
void)
770 static void __init origen_reserve(
void)
775 static void __init origen_machine_init(
void)
797 #ifdef CONFIG_DRM_EXYNOS
814 .atag_offset = 0x100,
817 .map_io = origen_map_io,
819 .init_machine = origen_machine_init,
822 .reserve = &origen_reserve,