Staging
v0.5.1
https://github.com/torvalds/linux
Raw File
Tip revision: fdf0eaf11452d72945af31804e2a1048ee1b574c authored by Linus Torvalds on 16 July 2023, 22:10:37 UTC
Linux 6.5-rc2
Tip revision: fdf0eaf
socionext,uniphier-regulator.yaml
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/regulator/socionext,uniphier-regulator.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Socionext UniPhier regulator controller

description: |
  This regulator controls VBUS and belongs to USB3 glue layer. Before using
  the regulator, it is necessary to control the clocks and resets to enable
  this layer. These clocks and resets should be described in each property.

maintainers:
  - Kunihiko Hayashi <hayashi.kunihiko@socionext.com>

# USB3 Controller

properties:
  compatible:
    enum:
      - socionext,uniphier-pro4-usb3-regulator
      - socionext,uniphier-pro5-usb3-regulator
      - socionext,uniphier-pxs2-usb3-regulator
      - socionext,uniphier-ld20-usb3-regulator
      - socionext,uniphier-pxs3-usb3-regulator
      - socionext,uniphier-nx1-usb3-regulator

  reg:
    maxItems: 1

  clocks:
    minItems: 1
    maxItems: 2

  clock-names: true

  resets:
    minItems: 1
    maxItems: 2

  reset-names: true

allOf:
  - $ref: regulator.yaml#
  - if:
      properties:
        compatible:
          contains:
            enum:
              - socionext,uniphier-pro4-usb3-regulator
              - socionext,uniphier-pro5-usb3-regulator
    then:
      properties:
        clocks:
          minItems: 2
          maxItems: 2
        clock-names:
          items:
            - const: gio
            - const: link
        resets:
          minItems: 2
          maxItems: 2
        reset-names:
          items:
            - const: gio
            - const: link
    else:
      properties:
        clocks:
          maxItems: 1
        clock-names:
          const: link
        resets:
          maxItems: 1
        reset-names:
          const: link

unevaluatedProperties: false

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - resets
  - reset-names

examples:
  - |
    usb_vbus0: regulators@100 {
        compatible = "socionext,uniphier-ld20-usb3-regulator";
        reg = <0x100 0x10>;
        clock-names = "link";
        clocks = <&sys_clk 14>;
        reset-names = "link";
        resets = <&sys_rst 14>;
    };
back to top