42 lines
1.5 KiB
Plaintext
42 lines
1.5 KiB
Plaintext
* Mediatek's I2C controller
|
|
|
|
The Mediatek's I2C controller is used to interface with I2C devices.
|
|
|
|
Required properties:
|
|
- compatible: value should be either of the following.
|
|
(a) "mediatek,mt6577-i2c", for i2c compatible with mt6577 i2c.
|
|
(b) "mediatek,mt6589-i2c", for i2c compatible with mt6589 i2c.
|
|
(c) "mediatek,mt8127-i2c", for i2c compatible with mt8127 i2c.
|
|
(d) "mediatek,mt8135-i2c", for i2c compatible with mt8135 i2c.
|
|
(e) "mediatek,mt8173-i2c", for i2c compatible with mt8173 i2c.
|
|
- reg: physical base address of the controller and dma base, length of memory
|
|
mapped region.
|
|
- interrupts: interrupt number to the cpu.
|
|
- clock-div: the fixed value for frequency divider of clock source in i2c
|
|
module. Each IC may be different.
|
|
- clocks: clock name from clock manager
|
|
- clock-names: Must include "main" and "dma", if enable have-pmic need include
|
|
"pmic" extra.
|
|
|
|
Optional properties:
|
|
- clock-frequency: Frequency in Hz of the bus when transfer, the default value
|
|
is 100000.
|
|
- mediatek,have-pmic: platform can control i2c form special pmic side.
|
|
Only mt6589 and mt8135 support this feature.
|
|
- mediatek,use-push-pull: IO config use push-pull mode.
|
|
|
|
Example:
|
|
|
|
i2c0: i2c@1100d000 {
|
|
compatible = "mediatek,mt6577-i2c";
|
|
reg = <0x1100d000 0x70>,
|
|
<0x11000300 0x80>;
|
|
interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_LOW>;
|
|
clock-frequency = <400000>;
|
|
mediatek,have-pmic;
|
|
clock-div = <16>;
|
|
clocks = <&i2c0_ck>, <&ap_dma_ck>;
|
|
clock-names = "main", "dma";
|
|
};
|
|
|