ARM: OMAP1: osk5912: Mistral eeprom support
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. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
This commit is contained in:
parent
944e1bffb6
commit
2430c62e4b
|
@ -260,7 +260,6 @@ static struct i2c_board_info __initdata osk_i2c_board_info[] = {
|
|||
},
|
||||
/* TODO when driver support is ready:
|
||||
* - aic23 audio chip at 0x1a
|
||||
* - on Mistral, 24c04 eeprom at 0x50
|
||||
* - optionally on Mistral, ov9640 camera sensor at 0x30
|
||||
*/
|
||||
};
|
||||
|
@ -337,11 +336,28 @@ static struct omap_board_config_kernel osk_config[] __initdata = {
|
|||
#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 */
|
||||
|
@ -488,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;
|
||||
|
@ -521,6 +543,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
|
||||
|
|
Loading…
Reference in a new issue