1f8bbde72SMaxime Ripard# SPDX-License-Identifier: GPL-2.0 2f8bbde72SMaxime Ripard%YAML 1.2 3f8bbde72SMaxime Ripard--- 4f8bbde72SMaxime Ripard$id: http://devicetree.org/schemas/i2c/marvell,mv64xxx-i2c.yaml# 5f8bbde72SMaxime Ripard$schema: http://devicetree.org/meta-schemas/core.yaml# 6f8bbde72SMaxime Ripard 7dd3cb467SAndrew Lunntitle: Marvell MV64XXX I2C Controller 8f8bbde72SMaxime Ripard 9f8bbde72SMaxime Ripardmaintainers: 10f8bbde72SMaxime Ripard - Gregory CLEMENT <gregory.clement@bootlin.com> 11f8bbde72SMaxime Ripard 12f8bbde72SMaxime Ripardproperties: 13f8bbde72SMaxime Ripard compatible: 14f8bbde72SMaxime Ripard oneOf: 15f8bbde72SMaxime Ripard - const: allwinner,sun4i-a10-i2c 16f8bbde72SMaxime Ripard - items: 17f8bbde72SMaxime Ripard - const: allwinner,sun7i-a20-i2c 18f8bbde72SMaxime Ripard - const: allwinner,sun4i-a10-i2c 19f8bbde72SMaxime Ripard - const: allwinner,sun6i-a31-i2c 20f8bbde72SMaxime Ripard - items: 213567932cSAndre Przywara - enum: 22*a072f249SAndre Przywara - allwinner,suniv-f1c100s-i2c 233567932cSAndre Przywara - allwinner,sun8i-a23-i2c 243567932cSAndre Przywara - allwinner,sun8i-a83t-i2c 25e01f242aSSamuel Holland - allwinner,sun8i-v536-i2c 263567932cSAndre Przywara - allwinner,sun50i-a64-i2c 273567932cSAndre Przywara - allwinner,sun50i-h6-i2c 28e01f242aSSamuel Holland - const: allwinner,sun6i-a31-i2c 29e01f242aSSamuel Holland - description: Allwinner SoCs with offload support 30e01f242aSSamuel Holland items: 31e01f242aSSamuel Holland - enum: 32e01f242aSSamuel Holland - allwinner,sun20i-d1-i2c 33e01f242aSSamuel Holland - allwinner,sun50i-a100-i2c 343567932cSAndre Przywara - allwinner,sun50i-h616-i2c 35e01f242aSSamuel Holland - allwinner,sun50i-r329-i2c 36e01f242aSSamuel Holland - const: allwinner,sun8i-v536-i2c 37f8bbde72SMaxime Ripard - const: allwinner,sun6i-a31-i2c 38f8bbde72SMaxime Ripard - const: marvell,mv64xxx-i2c 39f8bbde72SMaxime Ripard - const: marvell,mv78230-i2c 40f8bbde72SMaxime Ripard - const: marvell,mv78230-a0-i2c 41f8bbde72SMaxime Ripard 42f8bbde72SMaxime Ripard description: 43f8bbde72SMaxime Ripard Only use "marvell,mv78230-a0-i2c" for a very rare, initial 44f8bbde72SMaxime Ripard version of the SoC which had broken offload support. Linux 45f8bbde72SMaxime Ripard auto-detects this and sets it appropriately. 46f8bbde72SMaxime Ripard 47f8bbde72SMaxime Ripard reg: 48f8bbde72SMaxime Ripard maxItems: 1 49f8bbde72SMaxime Ripard 50f8bbde72SMaxime Ripard interrupts: 51f8bbde72SMaxime Ripard maxItems: 1 52f8bbde72SMaxime Ripard 53f8bbde72SMaxime Ripard clocks: 54f8bbde72SMaxime Ripard minItems: 1 55f8bbde72SMaxime Ripard items: 56f8bbde72SMaxime Ripard - description: Reference clock for the I2C bus 57f8bbde72SMaxime Ripard - description: Bus clock (Only for Armada 7K/8K) 58f8bbde72SMaxime Ripard 59f8bbde72SMaxime Ripard clock-names: 60f8bbde72SMaxime Ripard minItems: 1 61f8bbde72SMaxime Ripard items: 62f8bbde72SMaxime Ripard - const: core 63f8bbde72SMaxime Ripard - const: reg 64f8bbde72SMaxime Ripard description: 65f8bbde72SMaxime Ripard Mandatory if two clocks are used (only for Armada 7k and 8k). 66f8bbde72SMaxime Ripard 67f8bbde72SMaxime Ripard resets: 68f8bbde72SMaxime Ripard maxItems: 1 69f8bbde72SMaxime Ripard 70d2601193SSamuel Holland dmas: 71d2601193SSamuel Holland items: 72d2601193SSamuel Holland - description: RX DMA Channel 73d2601193SSamuel Holland - description: TX DMA Channel 74d2601193SSamuel Holland 75d2601193SSamuel Holland dma-names: 76d2601193SSamuel Holland items: 77d2601193SSamuel Holland - const: rx 78d2601193SSamuel Holland - const: tx 79d2601193SSamuel Holland 80d2601193SSamuel Hollanddependencies: 81d2601193SSamuel Holland dmas: [ dma-names ] 82d2601193SSamuel Holland 83f8bbde72SMaxime Ripardrequired: 84f8bbde72SMaxime Ripard - compatible 85f8bbde72SMaxime Ripard - reg 86f8bbde72SMaxime Ripard - interrupts 87f8bbde72SMaxime Ripard 88f8bbde72SMaxime RipardallOf: 89f8bbde72SMaxime Ripard - $ref: /schemas/i2c/i2c-controller.yaml# 90f8bbde72SMaxime Ripard - if: 91f8bbde72SMaxime Ripard properties: 92f8bbde72SMaxime Ripard compatible: 93f8bbde72SMaxime Ripard contains: 94f8bbde72SMaxime Ripard enum: 95f8bbde72SMaxime Ripard - allwinner,sun4i-a10-i2c 96f8bbde72SMaxime Ripard - allwinner,sun6i-a31-i2c 97f8bbde72SMaxime Ripard 98f8bbde72SMaxime Ripard then: 99f8bbde72SMaxime Ripard required: 100f8bbde72SMaxime Ripard - clocks 101f8bbde72SMaxime Ripard 102f8bbde72SMaxime Ripard - if: 103f8bbde72SMaxime Ripard properties: 104f8bbde72SMaxime Ripard compatible: 105f8bbde72SMaxime Ripard contains: 106f8bbde72SMaxime Ripard const: allwinner,sun6i-a31-i2c 107f8bbde72SMaxime Ripard 108f8bbde72SMaxime Ripard then: 109f8bbde72SMaxime Ripard required: 110f8bbde72SMaxime Ripard - resets 111f8bbde72SMaxime Ripard 112454f5d9dSMaxime RipardunevaluatedProperties: false 113f8bbde72SMaxime Ripard 114f8bbde72SMaxime Ripardexamples: 115f8bbde72SMaxime Ripard - | 116f8bbde72SMaxime Ripard i2c@11000 { 117f8bbde72SMaxime Ripard compatible = "marvell,mv64xxx-i2c"; 118f8bbde72SMaxime Ripard reg = <0x11000 0x20>; 119f8bbde72SMaxime Ripard interrupts = <29>; 120f8bbde72SMaxime Ripard clock-frequency = <100000>; 121f8bbde72SMaxime Ripard }; 122f8bbde72SMaxime Ripard 123f8bbde72SMaxime Ripard - | 124f8bbde72SMaxime Ripard i2c@11000 { 125166f28c3SMaxime Ripard compatible = "marvell,mv78230-i2c"; 126f8bbde72SMaxime Ripard reg = <0x11000 0x100>; 127f8bbde72SMaxime Ripard interrupts = <29>; 128f8bbde72SMaxime Ripard clock-frequency = <100000>; 129f8bbde72SMaxime Ripard }; 130f8bbde72SMaxime Ripard 131f8bbde72SMaxime Ripard - | 132f8bbde72SMaxime Ripard i2c@701000 { 133f8bbde72SMaxime Ripard compatible = "marvell,mv78230-i2c"; 134f8bbde72SMaxime Ripard reg = <0x701000 0x20>; 135f8bbde72SMaxime Ripard interrupts = <29>; 136f8bbde72SMaxime Ripard clock-frequency = <100000>; 137f8bbde72SMaxime Ripard clock-names = "core", "reg"; 138f8bbde72SMaxime Ripard clocks = <&core_clock>, <®_clock>; 139f8bbde72SMaxime Ripard }; 140f8bbde72SMaxime Ripard 141f8bbde72SMaxime Ripard... 142