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

Commit 3d66ac7d authored by Maxime Ripard's avatar Maxime Ripard Committed by Wolfram Sang
Browse files

i2c: mv64xxx: Add Allwinner sun4i compatible



Add the compatible string for the Allwinner A10 i2c controller and the
associated register layout.

Signed-off-by: default avatarMaxime Ripard <maxime.ripard@free-electrons.com>
Tested-by: default avatarSebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Tested-by: default avatarAndrew Lunn <andrew@lunn.ch>
Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
parent 004e8ed7
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -497,10 +497,11 @@ config I2C_MPC

config I2C_MV64XXX
	tristate "Marvell mv64xxx I2C Controller"
	depends on (MV64X60 || PLAT_ORION)
	depends on (MV64X60 || PLAT_ORION || ARCH_SUNXI)
	help
	  If you say yes to this option, support will be included for the
	  built-in I2C interface on the Marvell 64xxx line of host bridges.
	  This driver is also used for Allwinner SoCs I2C controllers.

	  This driver can also be built as a module.  If so, the module
	  will be called i2c-mv64xxx.
+11 −0
Original line number Diff line number Diff line
@@ -129,6 +129,16 @@ static struct mv64xxx_i2c_regs mv64xxx_i2c_regs_mv64xxx = {
	.soft_reset	= 0x1c,
};

static struct mv64xxx_i2c_regs mv64xxx_i2c_regs_sun4i = {
	.addr		= 0x00,
	.ext_addr	= 0x04,
	.data		= 0x08,
	.control	= 0x0c,
	.status		= 0x10,
	.clock		= 0x14,
	.soft_reset	= 0x18,
};

static void
mv64xxx_i2c_prepare_for_io(struct mv64xxx_i2c_data *drv_data,
	struct i2c_msg *msg)
@@ -509,6 +519,7 @@ static const struct i2c_algorithm mv64xxx_i2c_algo = {
 *****************************************************************************
 */
static const struct of_device_id mv64xxx_i2c_of_match_table[] = {
	{ .compatible = "allwinner,sun4i-i2c", .data = &mv64xxx_i2c_regs_sun4i},
	{ .compatible = "marvell,mv64xxx-i2c", .data = &mv64xxx_i2c_regs_mv64xxx},
	{}
};