static void __init universal_touchkey_init(void) { int gpio; gpio = EXYNOS4_GPE3(7); /* XMDMDATA_7 */ gpio_request(gpio, "3_TOUCH_INT"); s5p_register_gpio_interrupt(gpio); s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(0xf)); i2c_gpio12_devs[0].irq = gpio_to_irq(gpio); gpio = EXYNOS4_GPE3(3); /* XMDMDATA_3 */ gpio_request_one(gpio, GPIOF_OUT_INIT_HIGH, "3_TOUCH_EN"); }
static void lcd_hv070wsa_set_power(struct plat_lcd_data *pd, unsigned int power) { int ret; if (power) ret = gpio_request_one(EXYNOS4_GPE3(4), GPIOF_OUT_INIT_HIGH, "GPE3_4"); else ret = gpio_request_one(EXYNOS4_GPE3(4), GPIOF_OUT_INIT_LOW, "GPE3_4"); gpio_free(EXYNOS4_GPE3(4)); if (ret) pr_err("failed to request gpio for LCD power: %d\n", ret); }
}, }, { .chip = { .base = EXYNOS4_GPE1(0), .ngpio = EXYNOS4_GPIO_E1_NR, .label = "GPE1", }, }, { .chip = { .base = EXYNOS4_GPE2(0), .ngpio = EXYNOS4_GPIO_E2_NR, .label = "GPE2", }, }, { .chip = { .base = EXYNOS4_GPE3(0), .ngpio = EXYNOS4_GPIO_E3_NR, .label = "GPE3", }, }, { .chip = { .base = EXYNOS4_GPE4(0), .ngpio = EXYNOS4_GPIO_E4_NR, .label = "GPE4", }, }, { .chip = { .base = EXYNOS4_GPF0(0), .ngpio = EXYNOS4_GPIO_F0_NR, .label = "GPF0", },
.dev = { .platform_data = &cam_i_core_fixed_voltage_cfg }, }; static struct regulator_consumer_supply cam_s_if_supply = REGULATOR_SUPPLY("d_sensor", "0-001f"); static struct regulator_init_data cam_s_if_reg_init_data = { .constraints = { .valid_ops_mask = REGULATOR_CHANGE_STATUS }, .num_consumer_supplies = 1, .consumer_supplies = &cam_s_if_supply, }; static struct fixed_voltage_config cam_s_if_fixed_voltage_cfg = { .supply_name = "CAM_S_IF_1.8V", .microvolts = 1800000, .gpio = EXYNOS4_GPE3(0), /* CAM_PWR_EN1 */ .enable_high = 1, .init_data = &cam_s_if_reg_init_data, }; static struct platform_device cam_s_if_fixed_reg_dev = { .name = "reg-fixed-voltage", .id = FIXED_REG_ID_CAM_S_IF, .dev = { .platform_data = &cam_s_if_fixed_voltage_cfg }, }; static struct s5p_platform_mipi_csis mipi_csis_platdata = { .clk_rate = 166000000UL, .lanes = 2, .alignment = 32, .hs_settle = 12, .phy_enable = s5p_csis_phy_enable,
}; static struct gpio_keys_platform_data origen_gpio_keys_data = { .buttons = origen_gpio_keys_table, .nbuttons = ARRAY_SIZE(origen_gpio_keys_table), }; static struct platform_device origen_device_gpiokeys = { .name = "gpio-keys", .dev = { .platform_data = &origen_gpio_keys_data, }, }; static struct lcd_pwrctrl_data origen_lcd_hv070wsa_data = { .gpio = EXYNOS4_GPE3(4), }; static struct platform_device origen_lcd_hv070wsa = { .name = "lcd-pwrctrl", .dev.parent = &s5p_device_fimd0.dev, .dev.platform_data = &origen_lcd_hv070wsa_data, }; static struct s3c_fb_pd_win origen_fb_win0 = { .xres = 1024, .yres = 600, .max_bpp = 32, .default_bpp = 24, .virtual_x = 1024, .virtual_y = 2 * 600,