i2c: mv64xxx: Add Allwinner sun4i compatible
Add the compatible string for the Allwinner A10 i2c controller and the associated register layout. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Tested-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
This commit is contained in:
parent
004e8ed7cc
commit
3d66ac7d81
@ -497,10 +497,11 @@ config I2C_MPC
|
|||||||
|
|
||||||
config I2C_MV64XXX
|
config I2C_MV64XXX
|
||||||
tristate "Marvell mv64xxx I2C Controller"
|
tristate "Marvell mv64xxx I2C Controller"
|
||||||
depends on (MV64X60 || PLAT_ORION)
|
depends on (MV64X60 || PLAT_ORION || ARCH_SUNXI)
|
||||||
help
|
help
|
||||||
If you say yes to this option, support will be included for the
|
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.
|
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
|
This driver can also be built as a module. If so, the module
|
||||||
will be called i2c-mv64xxx.
|
will be called i2c-mv64xxx.
|
||||||
|
@ -129,6 +129,16 @@ static struct mv64xxx_i2c_regs mv64xxx_i2c_regs_mv64xxx = {
|
|||||||
.soft_reset = 0x1c,
|
.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
|
static void
|
||||||
mv64xxx_i2c_prepare_for_io(struct mv64xxx_i2c_data *drv_data,
|
mv64xxx_i2c_prepare_for_io(struct mv64xxx_i2c_data *drv_data,
|
||||||
struct i2c_msg *msg)
|
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[] = {
|
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},
|
{ .compatible = "marvell,mv64xxx-i2c", .data = &mv64xxx_i2c_regs_mv64xxx},
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user