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