- Marvell MV64XXX I2C controller
Required properties :
- reg : Offset and length of the register set for the device
- compatible : Should be either:
- "allwinner,sun4i-a10-i2c" - "allwinner,sun6i-a31-i2c" - "marvell,mv64xxx-i2c" - "marvell,mv78230-i2c" - "marvell,mv78230-a0-i2c" * Note: Only use "marvell,mv78230-a0-i2c" for a very rare, initial version of the SoC which had broken offload support. Linux auto-detects this and sets it appropriately.
- interrupts : The interrupt number
Optional properties :
clock-frequency : Desired I2C bus clock frequency in Hz. If not set the
default frequency is 100kHzresets : phandle to the parent reset controller. Mandatory
whenever you're using the "allwinner,sun6i-a31-i2c" compatible.
clocks: : pointers to the reference clocks for this device, the
first one is the one used for the clock on the i2c bus, the second one is the clock used to acces the registers of the controller
clock-names : names of used clocks, mandatory if the second clock is
used, the name must be "core", and "reg" (the latter is only for Armada 7K/8K).
Examples:
i2c@11000 {
compatible = "marvell,mv64xxx-i2c";
reg = <0x11000 0x20>;
interrupts = <29>;
clock-frequency = <100000>;
};
For the Armada XP:
i2c@11000 {
compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
reg = <0x11000 0x100>;
interrupts = <29>;
clock-frequency = <100000>;
};
For the Armada 7040:
i2c@701000 {
compatible = "marvell,mv78230-i2c";
reg = <0x701000 0x20>;
interrupts = <29>;
clock-frequency = <100000>;
clock-names = "core", "reg";
clocks = <&core_clock>, <®_clock>;
};