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