# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/reset/socionext,uniphier-glue-reset.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Socionext UniPhier peripheral core reset in glue layer description: | Some peripheral core reset belongs to its own glue layer. Before using this core reset, 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> properties: compatible: enum: - socionext,uniphier-pro4-usb3-reset - socionext,uniphier-pro5-usb3-reset - socionext,uniphier-pxs2-usb3-reset - socionext,uniphier-ld20-usb3-reset - socionext,uniphier-pxs3-usb3-reset - socionext,uniphier-nx1-usb3-reset - socionext,uniphier-pro4-ahci-reset - socionext,uniphier-pxs2-ahci-reset - socionext,uniphier-pxs3-ahci-reset reg: maxItems: 1 "#reset-cells": const: 1 clocks: minItems: 1 maxItems: 2 clock-names: true resets: minItems: 1 maxItems: 2 reset-names: true allOf: - if: properties: compatible: contains: enum: - socionext,uniphier-pro4-usb3-reset - socionext,uniphier-pro5-usb3-reset - socionext,uniphier-pro4-ahci-reset 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 additionalProperties: false required: - compatible - reg - "#reset-cells" - clocks - clock-names - resets - reset-names examples: - | usb_rst: reset-controller@0 { compatible = "socionext,uniphier-ld20-usb3-reset"; reg = <0x0 0x4>; #reset-cells = <1>; clock-names = "link"; clocks = <&sys_clk 14>; reset-names = "link"; resets = <&sys_rst 14>; };