Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 91d139cf authored by Enric Balletbo i Serra's avatar Enric Balletbo i Serra Committed by Tony Lindgren
Browse files

omap3: Add i2c eeprom driver to read EDID on IGEP v2



Add i2c eeprom driver to access monitor EDID binary information
from user space, something that is required by 'decode-edid' and
'parse-edid'.

Signed-off-by: default avatarEnric Balletbo i Serra <eballetbo@gmail.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 5a9fcc99
Loading
Loading
Loading
Loading
+24 −9
Original line number Diff line number Diff line
@@ -542,7 +542,7 @@ static struct twl4030_platform_data igep2_twldata = {

};

static struct i2c_board_info __initdata igep2_i2c_boardinfo[] = {
static struct i2c_board_info __initdata igep2_i2c1_boardinfo[] = {
	{
		I2C_BOARD_INFO("twl4030", 0x48),
		.flags		= I2C_CLIENT_WAKE,
@@ -551,14 +551,29 @@ static struct i2c_board_info __initdata igep2_i2c_boardinfo[] = {
	},
};

static int __init igep2_i2c_init(void)
static struct i2c_board_info __initdata igep2_i2c3_boardinfo[] = {
	{
	omap_register_i2c_bus(1, 2600, igep2_i2c_boardinfo,
			ARRAY_SIZE(igep2_i2c_boardinfo));
	/* Bus 3 is attached to the DVI port where devices like the pico DLP
	 * projector don't work reliably with 400kHz */
	omap_register_i2c_bus(3, 100, NULL, 0);
	return 0;
		I2C_BOARD_INFO("eeprom", 0x50),
	},
};

static void __init igep2_i2c_init(void)
{
	int ret;

	ret = omap_register_i2c_bus(1, 2600, igep2_i2c1_boardinfo,
		ARRAY_SIZE(igep2_i2c1_boardinfo));
	if (ret)
		pr_warning("IGEP2: Could not register I2C1 bus (%d)\n", ret);

	/*
	 * Bus 3 is attached to the DVI port where devices like the pico DLP
	 * projector don't work reliably with 400kHz
	 */
	ret = omap_register_i2c_bus(3, 100, igep2_i2c3_boardinfo,
		ARRAY_SIZE(igep2_i2c3_boardinfo));
	if (ret)
		pr_warning("IGEP2: Could not register I2C3 bus (%d)\n", ret);
}

static struct omap_musb_board_data musb_board_data = {
@@ -636,7 +651,7 @@ static void __init igep2_init(void)

	/* Get IGEP2 hardware revision */
	igep2_get_revision();

	/* Register I2C busses and drivers */
	igep2_i2c_init();
	platform_add_devices(igep2_devices, ARRAY_SIZE(igep2_devices));
	omap_serial_init();