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 Device Tree Bindings 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 - const: allwinner,sun8i-a23-i2c 22 - const: allwinner,sun6i-a31-i2c 23 - items: 24 - const: allwinner,sun8i-a83t-i2c 25 - const: allwinner,sun6i-a31-i2c 26 - items: 27 - const: allwinner,sun50i-a64-i2c 28 - const: allwinner,sun6i-a31-i2c 29 - items: 30 - const: allwinner,sun50i-a100-i2c 31 - const: allwinner,sun6i-a31-i2c 32 - items: 33 - const: allwinner,sun50i-h6-i2c 34 - const: allwinner,sun6i-a31-i2c 35 36 - const: marvell,mv64xxx-i2c 37 - const: marvell,mv78230-i2c 38 - const: marvell,mv78230-a0-i2c 39 40 description: 41 Only use "marvell,mv78230-a0-i2c" for a very rare, initial 42 version of the SoC which had broken offload support. Linux 43 auto-detects this and sets it appropriately. 44 45 reg: 46 maxItems: 1 47 48 interrupts: 49 maxItems: 1 50 51 clocks: 52 minItems: 1 53 maxItems: 2 54 items: 55 - description: Reference clock for the I2C bus 56 - description: Bus clock (Only for Armada 7K/8K) 57 58 clock-names: 59 minItems: 1 60 maxItems: 2 61 items: 62 - const: core 63 - const: reg 64 description: 65 Mandatory if two clocks are used (only for Armada 7k and 8k). 66 67 resets: 68 maxItems: 1 69 70required: 71 - compatible 72 - reg 73 - interrupts 74 75allOf: 76 - $ref: /schemas/i2c/i2c-controller.yaml# 77 - if: 78 properties: 79 compatible: 80 contains: 81 enum: 82 - allwinner,sun4i-a10-i2c 83 - allwinner,sun6i-a31-i2c 84 85 then: 86 required: 87 - clocks 88 89 - if: 90 properties: 91 compatible: 92 contains: 93 const: allwinner,sun6i-a31-i2c 94 95 then: 96 required: 97 - resets 98 99unevaluatedProperties: false 100 101examples: 102 - | 103 i2c@11000 { 104 compatible = "marvell,mv64xxx-i2c"; 105 reg = <0x11000 0x20>; 106 interrupts = <29>; 107 clock-frequency = <100000>; 108 }; 109 110 - | 111 i2c@11000 { 112 compatible = "marvell,mv78230-i2c"; 113 reg = <0x11000 0x100>; 114 interrupts = <29>; 115 clock-frequency = <100000>; 116 }; 117 118 - | 119 i2c@701000 { 120 compatible = "marvell,mv78230-i2c"; 121 reg = <0x701000 0x20>; 122 interrupts = <29>; 123 clock-frequency = <100000>; 124 clock-names = "core", "reg"; 125 clocks = <&core_clock>, <®_clock>; 126 }; 127 128... 129