/* USB 2.0 Host Controller */ static int aspenite_u2h_vbus_set (int enable) { int gpio_u2h_vbus_on = GPIO_EXT0(4); int gpio_u2h_vbus_flt_n = GPIO_EXT0(14); if(gpio_request(gpio_u2h_vbus_on, "USB Host VBUS_ON")) { printk(KERN_ERR "Max7312 VBUS_ON GPIO Request Failed\n"); return -EIO; } if(gpio_request(gpio_u2h_vbus_flt_n, "USB Host VBUS_FLT_N")) { printk(KERN_ERR "Max7312 VBUS_FLT_N GPIO Request Failed\n"); return -EIO; } if (gpio_u2h_vbus_on && gpio_u2h_vbus_flt_n) { if (enable) gpio_direction_output(gpio_u2h_vbus_on, 1); else gpio_direction_output(gpio_u2h_vbus_on, 0); gpio_direction_input(gpio_u2h_vbus_flt_n); gpio_free(gpio_u2h_vbus_on); gpio_free(gpio_u2h_vbus_flt_n); } return 0; }
static struct i2c_board_info pwri2c_board_info[] = { { .type = "wm8961", .addr = 0x4a, // wm8961 data sheet says 0x94, but should probably be 0x4A since this is a 7 bit address }, #if defined(CONFIG_TSC2007) { .type = "tsc2007", .addr = 0x48, /* 0x90/0x91 */ .irq = IRQ_GPIO(GPIO_EXT0(7)), /* IO7 of TSC2007 */ }, #endif }; static struct i2c_board_info xi2c_board_info[] = { { .type = "dcid", .addr = 0x50, }, };
.invert_pixclock = 1, }; #if defined(CONFIG_GPIO_PCA953X) #if defined(CONFIG_WLAN_8688_SDIO) static int stamp_8688_wlan_poweron(void); #endif /* GPIO expander max7312 could reuse PCA953X */ static struct pca953x_platform_data max7312_data[] = { /* three max7312 in system */ [0] = { .gpio_base = GPIO_EXT0(0), }, [1] = { .gpio_base = GPIO_EXT1(0), #if defined(CONFIG_WLAN_8688_SDIO) .poweron = stamp_8688_wlan_poweron, #endif }, /* GPIO expander #3 */ [2] = { .gpio_base = GPIO_EXT2(0), }, }; #endif
#define LCD_ISR_CLEAR_MASK 0xffff00cc static struct pxa168fb_mach_info truly_lcd_info = { .id = "Base", .modes = truly_video_modes, .sclk_div = 0x4000000d, .burst_len = 8, .isr_clear_mask = LCD_ISR_CLEAR_MASK, .num_modes = ARRAY_SIZE(truly_video_modes), .pix_fmt = PIX_FMT_RGB888PACK, .io_pin_allocation_mode = PIN_MODE_DUMB_24, .dumb_mode = DUMB_MODE_RGB888, .active = 1, .spi_ctrl = CFG_SCLKCNT(32) | CFG_TXBITS(9) | CFG_SPI_3W4WB(1) | CFG_SPI_ENA(1), .spi_gpio_cs = GPIO_EXT0(5), .spi_gpio_reset = GPIO_EXT0(3), .pxa168fb_lcd_power = truly_lcd_power, .invert_pixclock = 1, .panel_rbswap = 1, .max_fb_size = 800 * 480 * 8, }; static struct pxa168fb_mach_info truly_lcd_ovly_info = { .id = "Ovly", .modes = truly_video_modes, .num_modes = ARRAY_SIZE(truly_video_modes), .pix_fmt = PIX_FMT_RGB888PACK, .io_pin_allocation_mode = PIN_MODE_DUMB_24, .dumb_mode = DUMB_MODE_RGB888, .active = 1,