}; static struct platform_device keysc_device = { .name = "sh_keysc", .id = 0, .num_resources = ARRAY_SIZE(keysc_resources), .resource = keysc_resources, .dev = { .platform_data = &keysc_platdata, }, }; #define GPIO_KEY(c, g, d) { .code = c, .gpio = g, .desc = d, .active_low = 1 } static struct gpio_keys_button gpio_buttons[] = { GPIO_KEY(KEY_VOLUMEUP, GPIO_PORT56, "+"), GPIO_KEY(KEY_VOLUMEDOWN, GPIO_PORT54, "-"), GPIO_KEY(KEY_MENU, GPIO_PORT27, "Menu"), GPIO_KEY(KEY_HOMEPAGE, GPIO_PORT26, "Home"), GPIO_KEY(KEY_BACK, GPIO_PORT11, "Back"), GPIO_KEY(KEY_PHONE, GPIO_PORT238, "Tel"), GPIO_KEY(KEY_POWER, GPIO_PORT239, "C1"), GPIO_KEY(KEY_MAIL, GPIO_PORT224, "Mail"), GPIO_KEY(KEY_CAMERA, GPIO_PORT164, "C2"), }; static struct gpio_keys_platform_data gpio_key_info = { .buttons = gpio_buttons, .nbuttons = ARRAY_SIZE(gpio_buttons),
.gpio = RCAR_GP_PIN(4, 22), .default_state = LEDS_GPIO_DEFSTATE_ON, }, }; static const struct gpio_led_platform_data lager_leds_pdata __initconst = { .leds = lager_leds, .num_leds = ARRAY_SIZE(lager_leds), }; /* GPIO KEY */ #define GPIO_KEY(c, g, d, ...) \ { .code = c, .gpio = g, .desc = d, .active_low = 1 } static struct gpio_keys_button gpio_buttons[] = { GPIO_KEY(KEY_4, RCAR_GP_PIN(1, 28), "SW2-pin4"), GPIO_KEY(KEY_3, RCAR_GP_PIN(1, 26), "SW2-pin3"), GPIO_KEY(KEY_2, RCAR_GP_PIN(1, 24), "SW2-pin2"), GPIO_KEY(KEY_1, RCAR_GP_PIN(1, 14), "SW2-pin1"), }; static const struct gpio_keys_platform_data lager_keys_pdata __initconst = { .buttons = gpio_buttons, .nbuttons = ARRAY_SIZE(gpio_buttons), }; /* Fixed 3.3V regulator to be used by MMCIF */ static struct regulator_consumer_supply fixed3v3_power_consumers[] = { REGULATOR_SUPPLY("vmmc", "sh_mmcif.1"), };
static struct platform_device sdhi2_device = { .name = "sh_mobile_sdhi", .id = 2, .num_resources = ARRAY_SIZE(sdhi2_resources), .resource = sdhi2_resources, .dev = { .platform_data = &sdhi2_info, }, }; /* KEY */ #define GPIO_KEY(c, g, d) { .code = c, .gpio = g, .desc = d, .active_low = 1 } static struct gpio_keys_button gpio_buttons[] = { GPIO_KEY(KEY_BACK, GPIO_PCF8575_PORT10, "SW3"), GPIO_KEY(KEY_RIGHT, GPIO_PCF8575_PORT11, "SW2-R"), GPIO_KEY(KEY_LEFT, GPIO_PCF8575_PORT12, "SW2-L"), GPIO_KEY(KEY_ENTER, GPIO_PCF8575_PORT13, "SW2-P"), GPIO_KEY(KEY_UP, GPIO_PCF8575_PORT14, "SW2-U"), GPIO_KEY(KEY_DOWN, GPIO_PCF8575_PORT15, "SW2-D"), GPIO_KEY(KEY_HOME, GPIO_PCF8575_PORT16, "SW1"), }; static struct gpio_keys_platform_data gpio_key_info = { .buttons = gpio_buttons, .nbuttons = ARRAY_SIZE(gpio_buttons), }; static struct platform_device gpio_keys_device = { .name = "gpio-keys",
seaboard_i2c_init(); } #define GPIO_KEY(_id, _gpio, _iswake) \ { \ .code = _id, \ .gpio = TEGRA_GPIO_##_gpio, \ .active_low = 1, \ .desc = #_id, \ .type = EV_KEY, \ .wakeup = _iswake, \ .debounce_interval = 10, \ } static struct gpio_keys_button ventana_keys[] = { GPIO_KEY(KEY_MENU, PQ3, 0), GPIO_KEY(KEY_HOME, PQ1, 0), GPIO_KEY(KEY_BACK, PQ2, 0), GPIO_KEY(KEY_VOLUMEUP, PQ5, 0), GPIO_KEY(KEY_VOLUMEDOWN, PQ4, 0), GPIO_KEY(KEY_POWER, PV2, 1), }; static struct gpio_keys_platform_data ventana_keys_data = { .buttons = ventana_keys, .nbuttons = ARRAY_SIZE(ventana_keys), }; void __init tegra_ventana_init(void) { tegra_init_suspend(&seaboard_suspend);
.gpio = 288, .default_state = LEDS_GPIO_DEFSTATE_OFF, }, }; static __initdata struct gpio_led_platform_data ape6evm_leds_pdata = { .leds = ape6evm_leds, .num_leds = ARRAY_SIZE(ape6evm_leds), }; /* GPIO KEY */ #define GPIO_KEY(c, g, d, ...) \ { .code = c, .gpio = g, .desc = d, .active_low = 1 } static struct gpio_keys_button gpio_buttons[] = { GPIO_KEY(KEY_0, 324, "S16"), GPIO_KEY(KEY_MENU, 325, "S17"), GPIO_KEY(KEY_HOME, 326, "S18"), GPIO_KEY(KEY_BACK, 327, "S19"), GPIO_KEY(KEY_VOLUMEUP, 328, "S20"), GPIO_KEY(KEY_VOLUMEDOWN, 329, "S21"), }; static struct gpio_keys_platform_data ape6evm_keys_pdata __initdata = { .buttons = gpio_buttons, .nbuttons = ARRAY_SIZE(gpio_buttons), }; /* Dummy supplies, where voltage doesn't matter */ static struct regulator_consumer_supply dummy_supplies[] = { REGULATOR_SUPPLY("vddvario", "smsc911x"),
static struct platform_device keysc_device = { .name = "sh_keysc", .id = 0, .num_resources = ARRAY_SIZE(keysc_resources), .resource = keysc_resources, .dev = { .platform_data = &keysc_platdata, }, }; /* GPIO KEY */ #define GPIO_KEY(c, g, d) { .code = c, .gpio = g, .desc = d, .active_low = 1 } static struct gpio_keys_button gpio_buttons[] = { GPIO_KEY(KEY_VOLUMEUP, GPIO_PORT56, "+"), /* S2: VOL+ [IRQ9] */ GPIO_KEY(KEY_VOLUMEDOWN, GPIO_PORT54, "-"), /* S3: VOL- [IRQ10] */ GPIO_KEY(KEY_MENU, GPIO_PORT27, "Menu"), /* S4: MENU [IRQ30] */ GPIO_KEY(KEY_HOMEPAGE, GPIO_PORT26, "Home"), /* S5: HOME [IRQ31] */ GPIO_KEY(KEY_BACK, GPIO_PORT11, "Back"), /* S6: BACK [IRQ0] */ GPIO_KEY(KEY_PHONE, GPIO_PORT238, "Tel"), /* S7: TEL [IRQ11] */ GPIO_KEY(KEY_POWER, GPIO_PORT239, "C1"), /* S8: CAM [IRQ13] */ GPIO_KEY(KEY_MAIL, GPIO_PORT224, "Mail"), /* S9: MAIL [IRQ3] */ /* Omitted button "C3?": GPIO_PORT223 - S10: CUST [IRQ8] */ GPIO_KEY(KEY_CAMERA, GPIO_PORT164, "C2"), /* S11: CAM_HALF [IRQ25] */ /* Omitted button "?": GPIO_PORT152 - S12: CAM_FULL [No IRQ] */ }; static struct gpio_keys_platform_data gpio_key_info = { .buttons = gpio_buttons, .nbuttons = ARRAY_SIZE(gpio_buttons),
#define PMC_WAKE_STATUS 0x14 #define PMC_WAKE2_STATUS 0x168 #define GPIO_KEY(_id, _gpio, _iswake) \ { \ .code = _id, \ .gpio = TEGRA_GPIO_##_gpio, \ .active_low = 1, \ .desc = #_id, \ .type = EV_KEY, \ .wakeup = _iswake, \ .debounce_interval = 10, \ } static struct gpio_keys_button star_keys[] = { #if defined(CONFIG_MACH_STAR_SU660) GPIO_KEY(KEY_HOME, PV6, 1), #endif GPIO_KEY(KEY_VOLUMEDOWN, PG0, 0), GPIO_KEY(KEY_VOLUMEUP, PG1, 0), GPIO_KEY(KEY_POWER, PV2, 1), }; static struct gpio_keys_platform_data star_keys_platform_data = { .buttons = star_keys, .nbuttons = ARRAY_SIZE(star_keys), .wakeup_key = star_wakeup_key, }; struct platform_device star_keys_device = { .name = "gpio-keys", .id = -1,