Path: blob/master/Documentation/devicetree/bindings/i2c/i2c-mt65xx.yaml
29282 views
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)1%YAML 1.22---3$id: http://devicetree.org/schemas/i2c/i2c-mt65xx.yaml#4$schema: http://devicetree.org/meta-schemas/core.yaml#56title: MediaTek I2C controller78description:9This driver interfaces with the native I2C controller present in10various MediaTek SoCs.1112allOf:13- $ref: /schemas/i2c/i2c-controller.yaml#1415maintainers:16- Qii Wang <qii.wang@mediatek.com>1718properties:19compatible:20oneOf:21- const: mediatek,mt2712-i2c22- const: mediatek,mt6577-i2c23- const: mediatek,mt6589-i2c24- const: mediatek,mt7622-i2c25- const: mediatek,mt7981-i2c26- const: mediatek,mt7986-i2c27- const: mediatek,mt8168-i2c28- const: mediatek,mt8173-i2c29- const: mediatek,mt8183-i2c30- const: mediatek,mt8186-i2c31- const: mediatek,mt8188-i2c32- const: mediatek,mt8192-i2c33- items:34- enum:35- mediatek,mt7629-i2c36- mediatek,mt8516-i2c37- const: mediatek,mt2712-i2c38- items:39- enum:40- mediatek,mt2701-i2c41- mediatek,mt6797-i2c42- mediatek,mt7623-i2c43- const: mediatek,mt6577-i2c44- items:45- enum:46- mediatek,mt8365-i2c47- const: mediatek,mt8168-i2c48- items:49- enum:50- mediatek,mt6795-i2c51- const: mediatek,mt8173-i2c52- items:53- enum:54- mediatek,mt6878-i2c55- mediatek,mt6991-i2c56- mediatek,mt8196-i2c57- const: mediatek,mt8188-i2c58- items:59- enum:60- mediatek,mt6893-i2c61- mediatek,mt8195-i2c62- const: mediatek,mt8192-i2c6364reg:65items:66- description: Physical base address67- description: DMA base address6869interrupts:70maxItems: 17172clocks:73minItems: 274items:75- description: Main clock for I2C bus76- description: Clock for I2C via DMA77- description: Bus arbitrator clock78- description: Clock for I2C from PMIC7980clock-names:81minItems: 282items:83- const: main84- const: dma85- const: arb86- const: pmic8788clock-div:89$ref: /schemas/types.yaml#/definitions/uint3290description: Frequency divider of clock source in I2C module9192clock-frequency:93default: 10000094description:95SCL frequency to use (in Hz). If omitted, 100kHz is used.9697mediatek,have-pmic:98description: Platform controls I2C from PMIC side99type: boolean100101mediatek,use-push-pull:102description: Use push-pull mode I/O config103type: boolean104105vbus-supply:106description: Phandle to the regulator providing power to SCL/SDA107108required:109- compatible110- reg111- clocks112- clock-names113- clock-div114- interrupts115116unevaluatedProperties: false117118examples:119- |120#include <dt-bindings/interrupt-controller/arm-gic.h>121#include <dt-bindings/interrupt-controller/irq.h>122123i2c0: i2c@1100d000 {124compatible = "mediatek,mt6577-i2c";125reg = <0x1100d000 0x70>, <0x11000300 0x80>;126interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_LOW>;127clocks = <&i2c0_ck>, <&ap_dma_ck>;128clock-names = "main", "dma";129clock-div = <16>;130clock-frequency = <400000>;131mediatek,have-pmic;132133#address-cells = <1>;134#size-cells = <0>;135};136137138