# 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 # 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>; };