gpio_free(pdata->gpio_dcx); err_dcx: gpio_free(pdata->gpio_rdx); err_rdx: return ret; } struct s5p_panel_data herring_panel_data = { .seq_display_set = s6e63m0_SEQ_DISPLAY_SETTING, .seq_etc_set = s6e63m0_SEQ_ETC_SETTING, .standby_on = s6e63m0_SEQ_STANDBY_ON, .standby_off = s6e63m0_SEQ_STANDBY_OFF, .gpio_dcx = S5PV210_GPF0(0), /* H_SYNC pad */ .gpio_rdx = S5PV210_GPF0(2), /* Enable */ .gpio_csx = S5PV210_MP01(1), .gpio_wrx = S5PV210_MP04(1), /* SCL pad */ .gpio_rst = S5PV210_MP05(5), .gpio_db = { S5PV210_GPF0(4), S5PV210_GPF0(5), S5PV210_GPF0(6), S5PV210_GPF0(7), S5PV210_GPF1(0), S5PV210_GPF1(1), S5PV210_GPF1(2), S5PV210_GPF1(3), }, .configure_mtp_gpios = configure_mtp_gpios, .factory_v255_regs = { 0x0b9, 0x0b8,
.ngpio = S5PV210_GPIO_MP02_NR, .label = "MP02", }, }, { .base = S5PV210_MP03_BASE, .config = &gpio_cfg_noint, .chip = { .base = S5PV210_MP03(0), .ngpio = S5PV210_GPIO_MP03_NR, .label = "MP03", }, }, { .base = S5PV210_MP04_BASE, .config = &gpio_cfg_noint, .chip = { .base = S5PV210_MP04(0), .ngpio = S5PV210_GPIO_MP04_NR, .label = "MP04", }, }, { .base = S5PV210_MP05_BASE, .config = &gpio_cfg_noint, .chip = { .base = S5PV210_MP05(0), .ngpio = S5PV210_GPIO_MP05_NR, .label = "MP05", }, }, { .base = S5PV210_MP06_BASE, .config = &gpio_cfg_noint, .chip = {
#define LCD_BUS_NUM 3 static struct spi_board_info spi_board_info[] __initdata = { { .modalias = "s6e63m0", .platform_data = &goni_lcd_platform_data, .max_speed_hz = 1200000, .bus_num = LCD_BUS_NUM, .chip_select = 0, .mode = SPI_MODE_3, .controller_data = (void *)S5PV210_MP01(1), /* DISPLAY_CS */ }, }; static struct spi_gpio_platform_data lcd_spi_gpio_data = { .sck = S5PV210_MP04(1), /* DISPLAY_CLK */ .mosi = S5PV210_MP04(3), /* DISPLAY_SI */ .miso = SPI_GPIO_NO_MISO, .num_chipselect = 1, }; static struct platform_device goni_spi_gpio = { .name = "spi_gpio", .id = LCD_BUS_NUM, .dev = { .parent = &s3c_device_fb.dev, .platform_data = &lcd_spi_gpio_data, }, }; /* KEYPAD */