Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/i2c/marvell,mv64xxx-i2c.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Marvell MV64XXX I2C Controller Device Tree Bindings
0008 
0009 maintainers:
0010   - Gregory CLEMENT <gregory.clement@bootlin.com>
0011 
0012 properties:
0013   compatible:
0014     oneOf:
0015       - const: allwinner,sun4i-a10-i2c
0016       - items:
0017           - const: allwinner,sun7i-a20-i2c
0018           - const: allwinner,sun4i-a10-i2c
0019       - const: allwinner,sun6i-a31-i2c
0020       - items:
0021           - enum:
0022               - allwinner,sun8i-a23-i2c
0023               - allwinner,sun8i-a83t-i2c
0024               - allwinner,sun8i-v536-i2c
0025               - allwinner,sun50i-a64-i2c
0026               - allwinner,sun50i-h6-i2c
0027           - const: allwinner,sun6i-a31-i2c
0028       - description: Allwinner SoCs with offload support
0029         items:
0030           - enum:
0031               - allwinner,sun20i-d1-i2c
0032               - allwinner,sun50i-a100-i2c
0033               - allwinner,sun50i-h616-i2c
0034               - allwinner,sun50i-r329-i2c
0035           - const: allwinner,sun8i-v536-i2c
0036           - const: allwinner,sun6i-a31-i2c
0037       - const: marvell,mv64xxx-i2c
0038       - const: marvell,mv78230-i2c
0039       - const: marvell,mv78230-a0-i2c
0040 
0041     description:
0042       Only use "marvell,mv78230-a0-i2c" for a very rare, initial
0043       version of the SoC which had broken offload support. Linux
0044       auto-detects this and sets it appropriately.
0045 
0046   reg:
0047     maxItems: 1
0048 
0049   interrupts:
0050     maxItems: 1
0051 
0052   clocks:
0053     minItems: 1
0054     items:
0055       - description: Reference clock for the I2C bus
0056       - description: Bus clock (Only for Armada 7K/8K)
0057 
0058   clock-names:
0059     minItems: 1
0060     items:
0061       - const: core
0062       - const: reg
0063     description:
0064       Mandatory if two clocks are used (only for Armada 7k and 8k).
0065 
0066   resets:
0067     maxItems: 1
0068 
0069 required:
0070   - compatible
0071   - reg
0072   - interrupts
0073 
0074 allOf:
0075   - $ref: /schemas/i2c/i2c-controller.yaml#
0076   - if:
0077       properties:
0078         compatible:
0079           contains:
0080             enum:
0081               - allwinner,sun4i-a10-i2c
0082               - allwinner,sun6i-a31-i2c
0083 
0084     then:
0085       required:
0086         - clocks
0087 
0088   - if:
0089       properties:
0090         compatible:
0091           contains:
0092             const: allwinner,sun6i-a31-i2c
0093 
0094     then:
0095       required:
0096         - resets
0097 
0098 unevaluatedProperties: false
0099 
0100 examples:
0101   - |
0102     i2c@11000 {
0103         compatible = "marvell,mv64xxx-i2c";
0104         reg = <0x11000 0x20>;
0105         interrupts = <29>;
0106         clock-frequency = <100000>;
0107     };
0108 
0109   - |
0110     i2c@11000 {
0111         compatible = "marvell,mv78230-i2c";
0112         reg = <0x11000 0x100>;
0113         interrupts = <29>;
0114         clock-frequency = <100000>;
0115     };
0116 
0117   - |
0118     i2c@701000 {
0119         compatible = "marvell,mv78230-i2c";
0120         reg = <0x701000 0x20>;
0121         interrupts = <29>;
0122         clock-frequency = <100000>;
0123         clock-names = "core", "reg";
0124         clocks = <&core_clock>, <&reg_clock>;
0125     };
0126 
0127 ...