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