About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / devicetree / bindings / i2c / i2c-mtk.txt


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		};
Hide Line Numbers


About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog