brintos

brintos / linux-shallow public Read only

0
0
Text · 3.1 KiB · fda0467 Raw
130 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/i2c/i2c-mt65xx.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: MediaTek I2C controller8 9description:10  This driver interfaces with the native I2C controller present in11  various MediaTek SoCs.12 13allOf:14  - $ref: /schemas/i2c/i2c-controller.yaml#15 16maintainers:17  - Qii Wang <qii.wang@mediatek.com>18 19properties:20  compatible:21    oneOf:22      - const: mediatek,mt2712-i2c23      - const: mediatek,mt6577-i2c24      - const: mediatek,mt6589-i2c25      - const: mediatek,mt7622-i2c26      - const: mediatek,mt7981-i2c27      - const: mediatek,mt7986-i2c28      - const: mediatek,mt8168-i2c29      - const: mediatek,mt8173-i2c30      - const: mediatek,mt8183-i2c31      - const: mediatek,mt8186-i2c32      - const: mediatek,mt8188-i2c33      - const: mediatek,mt8192-i2c34      - items:35          - enum:36              - mediatek,mt7629-i2c37              - mediatek,mt8516-i2c38          - const: mediatek,mt2712-i2c39      - items:40          - enum:41              - mediatek,mt2701-i2c42              - mediatek,mt6797-i2c43              - mediatek,mt7623-i2c44          - const: mediatek,mt6577-i2c45      - items:46          - enum:47              - mediatek,mt8365-i2c48          - const: mediatek,mt8168-i2c49      - items:50          - enum:51              - mediatek,mt6795-i2c52          - const: mediatek,mt8173-i2c53      - items:54          - enum:55              - mediatek,mt8195-i2c56          - const: mediatek,mt8192-i2c57 58  reg:59    items:60      - description: Physical base address61      - description: DMA base address62 63  interrupts:64    maxItems: 165 66  clocks:67    minItems: 268    items:69      - description: Main clock for I2C bus70      - description: Clock for I2C via DMA71      - description: Bus arbitrator clock72      - description: Clock for I2C from PMIC73 74  clock-names:75    minItems: 276    items:77      - const: main78      - const: dma79      - const: arb80      - const: pmic81 82  clock-div:83    $ref: /schemas/types.yaml#/definitions/uint3284    description: Frequency divider of clock source in I2C module85 86  clock-frequency:87    default: 10000088    description:89      SCL frequency to use (in Hz). If omitted, 100kHz is used.90 91  mediatek,have-pmic:92    description: Platform controls I2C from PMIC side93    type: boolean94 95  mediatek,use-push-pull:96    description: Use push-pull mode I/O config97    type: boolean98 99  vbus-supply:100    description: Phandle to the regulator providing power to SCL/SDA101 102required:103  - compatible104  - reg105  - clocks106  - clock-names107  - clock-div108  - interrupts109 110unevaluatedProperties: false111 112examples:113  - |114    #include <dt-bindings/interrupt-controller/arm-gic.h>115    #include <dt-bindings/interrupt-controller/irq.h>116 117    i2c0: i2c@1100d000 {118      compatible = "mediatek,mt6577-i2c";119      reg = <0x1100d000 0x70>, <0x11000300 0x80>;120      interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_LOW>;121      clocks = <&i2c0_ck>, <&ap_dma_ck>;122      clock-names = "main", "dma";123      clock-div = <16>;124      clock-frequency = <400000>;125      mediatek,have-pmic;126 127      #address-cells = <1>;128      #size-cells = <0>;129    };130