| 
     1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
    2 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/regulator/socionext,uniphier-regulator.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: Socionext UniPhier regulator controller
    8 
    9 description: |
   10   This regulator controls VBUS and belongs to USB3 glue layer. Before using
   11   the regulator, it is necessary to control the clocks and resets to enable
   12   this layer. These clocks and resets should be described in each property.
   13 
   14 maintainers:
   15   - Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
   16 
   17 # USB3 Controller
   18 
   19 properties:
   20   compatible:
   21     enum:
   22       - socionext,uniphier-pro4-usb3-regulator
   23       - socionext,uniphier-pro5-usb3-regulator
   24       - socionext,uniphier-pxs2-usb3-regulator
   25       - socionext,uniphier-ld20-usb3-regulator
   26       - socionext,uniphier-pxs3-usb3-regulator
   27       - socionext,uniphier-nx1-usb3-regulator
   28 
   29   reg:
   30     maxItems: 1
   31 
   32   clocks:
   33     minItems: 1
   34     maxItems: 2
   35 
   36   clock-names: true
   37 
   38   resets:
   39     minItems: 1
   40     maxItems: 2
   41 
   42   reset-names: true
   43 
   44 allOf:
   45   - $ref: "regulator.yaml#"
   46   - if:
   47       properties:
   48         compatible:
   49           contains:
   50             enum:
   51               - socionext,uniphier-pro4-usb3-regulator
   52               - socionext,uniphier-pro5-usb3-regulator
   53     then:
   54       properties:
   55         clocks:
   56           minItems: 2
   57           maxItems: 2
   58         clock-names:
   59           items:
   60             - const: gio
   61             - const: link
   62         resets:
   63           minItems: 2
   64           maxItems: 2
   65         reset-names:
   66           items:
   67             - const: gio
   68             - const: link
   69     else:
   70       properties:
   71         clocks:
   72           maxItems: 1
   73         clock-names:
   74           const: link
   75         resets:
   76           maxItems: 1
   77         reset-names:
   78           const: link
   79 
   80 unevaluatedProperties: false
   81 
   82 required:
   83   - compatible
   84   - reg
   85   - clocks
   86   - clock-names
   87   - resets
   88   - reset-names
   89 
   90 examples:
   91   - |
   92     usb-glue@65b00000 {
   93         compatible = "simple-mfd";
   94         #address-cells = <1>;
   95         #size-cells = <1>;
   96         ranges = <0 0x65b00000 0x400>;
   97 
   98         usb_vbus0: regulators@100 {
   99             compatible = "socionext,uniphier-ld20-usb3-regulator";
  100             reg = <0x100 0x10>;
  101             clock-names = "link";
  102             clocks = <&sys_clk 14>;
  103             reset-names = "link";
  104             resets = <&sys_rst 14>;
  105         };
  106     };
Cache object: ee5675d0745ab1a7a02da4a91d5f4992 
 
 |