Based on kernel version 4.16.1. Page generated on 2018-04-09 11:52 EST.
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 "mediatek,mt2701-i2c", "mediatek,mt6577-i2c": for MediaTek MT2701 8 "mediatek,mt2712-i2c": for MediaTek MT2712 9 "mediatek,mt6577-i2c": for MediaTek MT6577 10 "mediatek,mt6589-i2c": for MediaTek MT6589 11 "mediatek,mt7622-i2c": for MediaTek MT7622 12 "mediatek,mt7623-i2c", "mediatek,mt6577-i2c": for MediaTek MT7623 13 "mediatek,mt8173-i2c": for MediaTek MT8173 14 - reg: physical base address of the controller and dma base, length of memory 15 mapped region. 16 - interrupts: interrupt number to the cpu. 17 - clock-div: the fixed value for frequency divider of clock source in i2c 18 module. Each IC may be different. 19 - clocks: clock name from clock manager 20 - clock-names: Must include "main" and "dma", if enable have-pmic need include 21 "pmic" extra. 22 23 Optional properties: 24 - clock-frequency: Frequency in Hz of the bus when transfer, the default value 25 is 100000. 26 - mediatek,have-pmic: platform can control i2c form special pmic side. 27 Only mt6589 and mt8135 support this feature. 28 - mediatek,use-push-pull: IO config use push-pull mode. 29 30 Example: 31 32 i2c0: i2c@1100d000 { 33 compatible = "mediatek,mt6577-i2c"; 34 reg = <0x1100d000 0x70>, 35 <0x11000300 0x80>; 36 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_LOW>; 37 clock-frequency = <400000>; 38 mediatek,have-pmic; 39 clock-div = <16>; 40 clocks = <&i2c0_ck>, <&ap_dma_ck>; 41 clock-names = "main", "dma"; 42 };