* David Brownell <david-b@xxxxxxxxxxx> [081107 19:15]: > From: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx> > > List the 4 Kbit I2C EEPROM included on the Mistral board. > > Also add a comment about the hardware workaround needed to > properly support the WAKE button. More info at > > http://elinux.org/OSK_Mistral_wakeup_button_mod > > Still no support for the (optional) camera sensor. Pushing today and adding to omap1-upstream queue. Tony > Signed-off-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx> > --- > arch/arm/mach-omap1/board-osk.c | 32 +++++++++++++++++++++++++++----- > 1 file changed, 27 insertions(+), 5 deletions(-) > > --- a/arch/arm/mach-omap1/board-osk.c > +++ b/arch/arm/mach-omap1/board-osk.c > @@ -262,10 +262,6 @@ static struct i2c_board_info __initdata > { > I2C_BOARD_INFO("tlv320aic23", 0x1B), > }, > - /* TODO when driver support is ready: > - * - on Mistral, 24c04 eeprom at 0x50 > - * - optionally on Mistral, ov9640 camera sensor at 0x30 > - */ > }; > > static void __init osk_init_smc91x(void) > @@ -340,11 +336,28 @@ static struct omap_board_config_kernel o > #ifdef CONFIG_OMAP_OSK_MISTRAL > > #include <linux/input.h> > +#include <linux/i2c/at24.h> > #include <linux/spi/spi.h> > #include <linux/spi/ads7846.h> > > #include <mach/keypad.h> > > +static struct at24_platform_data at24c04 = { > + .byte_len = SZ_4K / 8, > + .page_size = 16, > +}; > + > +static struct i2c_board_info __initdata mistral_i2c_board_info[] = { > + { > + /* NOTE: powered from LCD supply */ > + I2C_BOARD_INFO("24c04", 0x50), > + .platform_data = &at24c04, > + }, > + /* TODO when driver support is ready: > + * - optionally ov9640 camera sensor at 0x30 > + */ > +}; > + > static const int osk_keymap[] = { > /* KEY(col, row, code) */ > KEY(0, 0, KEY_F1), /* SW4 */ > @@ -491,7 +504,13 @@ static void __init osk_mistral_init(void > spi_register_board_info(mistral_boardinfo, > ARRAY_SIZE(mistral_boardinfo)); > > - /* the sideways button (SW1) is for use as a "wakeup" button */ > + /* the sideways button (SW1) is for use as a "wakeup" button > + * > + * NOTE: The Mistral board has the wakeup button (SW1) wired > + * to the LCD 3.3V rail, which is powered down during suspend. > + * To allow this button to wake up the omap, work around this > + * HW bug by rewiring SW1 to use the main 3.3V rail. > + */ > omap_cfg_reg(N15_1610_MPUIO2); > if (gpio_request(OMAP_MPUIO(2), "wakeup") == 0) { > int ret = 0; > @@ -523,6 +542,9 @@ static void __init osk_mistral_init(void > if (gpio_request(2, "lcd_pwr") == 0) > gpio_direction_output(2, 1); > > + i2c_register_board_info(1, mistral_i2c_board_info, > + ARRAY_SIZE(mistral_i2c_board_info)); > + > platform_add_devices(mistral_devices, ARRAY_SIZE(mistral_devices)); > } > #else > -- > To unsubscribe from this list: send the line "unsubscribe linux-omap" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html