Commit | Line | Data |
---|---|---|
ce38815d XC |
1 | * Mediatek's I2C controller |
2 | ||
3 | The Mediatek's I2C controller is used to interface with I2C devices. | |
4 | ||
5 | Required properties: | |
6 | - compatible: value should be either of the following. | |
7 | (a) "mediatek,mt6577-i2c", for i2c compatible with mt6577 i2c. | |
8 | (b) "mediatek,mt6589-i2c", for i2c compatible with mt6589 i2c. | |
9 | (c) "mediatek,mt8127-i2c", for i2c compatible with mt8127 i2c. | |
10 | (d) "mediatek,mt8135-i2c", for i2c compatible with mt8135 i2c. | |
11 | (e) "mediatek,mt8173-i2c", for i2c compatible with mt8173 i2c. | |
12 | - reg: physical base address of the controller and dma base, length of memory | |
13 | mapped region. | |
14 | - interrupts: interrupt number to the cpu. | |
15 | - clock-div: the fixed value for frequency divider of clock source in i2c | |
16 | module. Each IC may be different. | |
17 | - clocks: clock name from clock manager | |
18 | - clock-names: Must include "main" and "dma", if enable have-pmic need include | |
19 | "pmic" extra. | |
20 | ||
21 | Optional properties: | |
22 | - clock-frequency: Frequency in Hz of the bus when transfer, the default value | |
23 | is 100000. | |
24 | - mediatek,have-pmic: platform can control i2c form special pmic side. | |
25 | Only mt6589 and mt8135 support this feature. | |
26 | - mediatek,use-push-pull: IO config use push-pull mode. | |
27 | ||
28 | Example: | |
29 | ||
30 | i2c0: i2c@1100d000 { | |
31 | compatible = "mediatek,mt6577-i2c"; | |
32 | reg = <0x1100d000 0x70>, | |
33 | <0x11000300 0x80>; | |
34 | interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_LOW>; | |
35 | clock-frequency = <400000>; | |
36 | mediatek,have-pmic; | |
37 | clock-div = <16>; | |
38 | clocks = <&i2c0_ck>, <&ap_dma_ck>; | |
39 | clock-names = "main", "dma"; | |
40 | }; | |
41 |