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