1fe88f5f7SAngeloGioacchino Del Regno# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2fe88f5f7SAngeloGioacchino Del Regno%YAML 1.2 3fe88f5f7SAngeloGioacchino Del Regno--- 4fe88f5f7SAngeloGioacchino Del Regno$id: http://devicetree.org/schemas/i2c/i2c-mt65xx.yaml# 5fe88f5f7SAngeloGioacchino Del Regno$schema: http://devicetree.org/meta-schemas/core.yaml# 6fe88f5f7SAngeloGioacchino Del Regno 7fe88f5f7SAngeloGioacchino Del Regnotitle: MediaTek I2C controller 8fe88f5f7SAngeloGioacchino Del Regno 9fe88f5f7SAngeloGioacchino Del Regnodescription: 10fe88f5f7SAngeloGioacchino Del Regno This driver interfaces with the native I2C controller present in 11fe88f5f7SAngeloGioacchino Del Regno various MediaTek SoCs. 12fe88f5f7SAngeloGioacchino Del Regno 13fe88f5f7SAngeloGioacchino Del RegnoallOf: 14fe88f5f7SAngeloGioacchino Del Regno - $ref: /schemas/i2c/i2c-controller.yaml# 15fe88f5f7SAngeloGioacchino Del Regno 16fe88f5f7SAngeloGioacchino Del Regnomaintainers: 17fe88f5f7SAngeloGioacchino Del Regno - Qii Wang <qii.wang@mediatek.com> 18fe88f5f7SAngeloGioacchino Del Regno 19fe88f5f7SAngeloGioacchino Del Regnoproperties: 20fe88f5f7SAngeloGioacchino Del Regno compatible: 21fe88f5f7SAngeloGioacchino Del Regno oneOf: 22fe88f5f7SAngeloGioacchino Del Regno - const: mediatek,mt2712-i2c 23fe88f5f7SAngeloGioacchino Del Regno - const: mediatek,mt6577-i2c 24fe88f5f7SAngeloGioacchino Del Regno - const: mediatek,mt6589-i2c 25fe88f5f7SAngeloGioacchino Del Regno - const: mediatek,mt7622-i2c 26*bb2617f0SFrank Wunderlich - const: mediatek,mt7986-i2c 27fe88f5f7SAngeloGioacchino Del Regno - const: mediatek,mt8168-i2c 28fe88f5f7SAngeloGioacchino Del Regno - const: mediatek,mt8173-i2c 29fe88f5f7SAngeloGioacchino Del Regno - const: mediatek,mt8183-i2c 30fe88f5f7SAngeloGioacchino Del Regno - const: mediatek,mt8186-i2c 313a8b5429SKewei Xu - const: mediatek,mt8188-i2c 32fe88f5f7SAngeloGioacchino Del Regno - const: mediatek,mt8192-i2c 33fe88f5f7SAngeloGioacchino Del Regno - items: 34fe88f5f7SAngeloGioacchino Del Regno - enum: 35fe88f5f7SAngeloGioacchino Del Regno - mediatek,mt7629-i2c 36fe88f5f7SAngeloGioacchino Del Regno - mediatek,mt8516-i2c 37fe88f5f7SAngeloGioacchino Del Regno - const: mediatek,mt2712-i2c 38fe88f5f7SAngeloGioacchino Del Regno - items: 39fe88f5f7SAngeloGioacchino Del Regno - enum: 40fe88f5f7SAngeloGioacchino Del Regno - mediatek,mt2701-i2c 41fe88f5f7SAngeloGioacchino Del Regno - mediatek,mt6797-i2c 42fe88f5f7SAngeloGioacchino Del Regno - mediatek,mt7623-i2c 43fe88f5f7SAngeloGioacchino Del Regno - const: mediatek,mt6577-i2c 44fe88f5f7SAngeloGioacchino Del Regno - items: 45fe88f5f7SAngeloGioacchino Del Regno - enum: 46fe88f5f7SAngeloGioacchino Del Regno - mediatek,mt8195-i2c 47fe88f5f7SAngeloGioacchino Del Regno - const: mediatek,mt8192-i2c 48fe88f5f7SAngeloGioacchino Del Regno 49fe88f5f7SAngeloGioacchino Del Regno reg: 50fe88f5f7SAngeloGioacchino Del Regno items: 51fe88f5f7SAngeloGioacchino Del Regno - description: Physical base address 52fe88f5f7SAngeloGioacchino Del Regno - description: DMA base address 53fe88f5f7SAngeloGioacchino Del Regno 54fe88f5f7SAngeloGioacchino Del Regno interrupts: 55fe88f5f7SAngeloGioacchino Del Regno maxItems: 1 56fe88f5f7SAngeloGioacchino Del Regno 57fe88f5f7SAngeloGioacchino Del Regno clocks: 58fe88f5f7SAngeloGioacchino Del Regno minItems: 2 59fe88f5f7SAngeloGioacchino Del Regno items: 60fe88f5f7SAngeloGioacchino Del Regno - description: Main clock for I2C bus 61fe88f5f7SAngeloGioacchino Del Regno - description: Clock for I2C via DMA 62fe88f5f7SAngeloGioacchino Del Regno - description: Bus arbitrator clock 63fe88f5f7SAngeloGioacchino Del Regno - description: Clock for I2C from PMIC 64fe88f5f7SAngeloGioacchino Del Regno 65fe88f5f7SAngeloGioacchino Del Regno clock-names: 66fe88f5f7SAngeloGioacchino Del Regno minItems: 2 67fe88f5f7SAngeloGioacchino Del Regno items: 68fe88f5f7SAngeloGioacchino Del Regno - const: main 69fe88f5f7SAngeloGioacchino Del Regno - const: dma 70fe88f5f7SAngeloGioacchino Del Regno - const: arb 71fe88f5f7SAngeloGioacchino Del Regno - const: pmic 72fe88f5f7SAngeloGioacchino Del Regno 73fe88f5f7SAngeloGioacchino Del Regno clock-div: 74fe88f5f7SAngeloGioacchino Del Regno $ref: /schemas/types.yaml#/definitions/uint32 75fe88f5f7SAngeloGioacchino Del Regno description: Frequency divider of clock source in I2C module 76fe88f5f7SAngeloGioacchino Del Regno 77fe88f5f7SAngeloGioacchino Del Regno clock-frequency: 78fe88f5f7SAngeloGioacchino Del Regno default: 100000 79fe88f5f7SAngeloGioacchino Del Regno description: 80fe88f5f7SAngeloGioacchino Del Regno SCL frequency to use (in Hz). If omitted, 100kHz is used. 81fe88f5f7SAngeloGioacchino Del Regno 82fe88f5f7SAngeloGioacchino Del Regno mediatek,have-pmic: 83fe88f5f7SAngeloGioacchino Del Regno description: Platform controls I2C from PMIC side 84fe88f5f7SAngeloGioacchino Del Regno type: boolean 85fe88f5f7SAngeloGioacchino Del Regno 86fe88f5f7SAngeloGioacchino Del Regno mediatek,use-push-pull: 87fe88f5f7SAngeloGioacchino Del Regno description: Use push-pull mode I/O config 88fe88f5f7SAngeloGioacchino Del Regno type: boolean 89fe88f5f7SAngeloGioacchino Del Regno 90fe88f5f7SAngeloGioacchino Del Regno vbus-supply: 91fe88f5f7SAngeloGioacchino Del Regno description: Phandle to the regulator providing power to SCL/SDA 92fe88f5f7SAngeloGioacchino Del Regno 93fe88f5f7SAngeloGioacchino Del Regnorequired: 94fe88f5f7SAngeloGioacchino Del Regno - compatible 95fe88f5f7SAngeloGioacchino Del Regno - reg 96fe88f5f7SAngeloGioacchino Del Regno - clocks 97fe88f5f7SAngeloGioacchino Del Regno - clock-names 98fe88f5f7SAngeloGioacchino Del Regno - clock-div 99fe88f5f7SAngeloGioacchino Del Regno - interrupts 100fe88f5f7SAngeloGioacchino Del Regno 101fe88f5f7SAngeloGioacchino Del RegnounevaluatedProperties: false 102fe88f5f7SAngeloGioacchino Del Regno 103fe88f5f7SAngeloGioacchino Del Regnoexamples: 104fe88f5f7SAngeloGioacchino Del Regno - | 105fe88f5f7SAngeloGioacchino Del Regno #include <dt-bindings/interrupt-controller/arm-gic.h> 106fe88f5f7SAngeloGioacchino Del Regno #include <dt-bindings/interrupt-controller/irq.h> 107fe88f5f7SAngeloGioacchino Del Regno 108fe88f5f7SAngeloGioacchino Del Regno i2c0: i2c@1100d000 { 109fe88f5f7SAngeloGioacchino Del Regno compatible = "mediatek,mt6577-i2c"; 110fe88f5f7SAngeloGioacchino Del Regno reg = <0x1100d000 0x70>, <0x11000300 0x80>; 111fe88f5f7SAngeloGioacchino Del Regno interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_LOW>; 112fe88f5f7SAngeloGioacchino Del Regno clocks = <&i2c0_ck>, <&ap_dma_ck>; 113fe88f5f7SAngeloGioacchino Del Regno clock-names = "main", "dma"; 114fe88f5f7SAngeloGioacchino Del Regno clock-div = <16>; 115fe88f5f7SAngeloGioacchino Del Regno clock-frequency = <400000>; 116fe88f5f7SAngeloGioacchino Del Regno mediatek,have-pmic; 117fe88f5f7SAngeloGioacchino Del Regno 118fe88f5f7SAngeloGioacchino Del Regno #address-cells = <1>; 119fe88f5f7SAngeloGioacchino Del Regno #size-cells = <0>; 120fe88f5f7SAngeloGioacchino Del Regno }; 121