Commit 28edf1d7 authored by Kunihiko Hayashi's avatar Kunihiko Hayashi Committed by Philipp Zabel
Browse files

dt-bindings: reset: Convert UniPhier glue reset to json-schema



Convert the UniPhier peripheral glue reset binding to DT schema format.

Signed-off-by: default avatarKunihiko Hayashi <hayashi.kunihiko@socionext.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/1624413208-17562-1-git-send-email-hayashi.kunihiko@socionext.com


Signed-off-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
parent 08218a08
Loading
Loading
Loading
Loading
+88 −0
Original line number Diff line number Diff line
# 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-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:
    oneOf:
      - items:           # for Pro4, Pro5
          - const: gio
          - const: link
      - items:           # for others
          - const: link

  resets:
    minItems: 1
    maxItems: 2

  reset-names:
    oneOf:
      - items:           # for Pro4, Pro5
          - const: gio
          - const: link
      - items:           # for others
          - const: link

additionalProperties: false

required:
  - compatible
  - reg
  - "#reset-cells"
  - clocks
  - clock-names
  - resets
  - reset-names

examples:
  - |
    usb-glue@65b00000 {
        compatible = "simple-mfd";
        #address-cells = <1>;
        #size-cells = <1>;
        ranges = <0 0x65b00000 0x400>;

        usb_rst: reset@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>;
        };
    };
+0 −61
Original line number Diff line number Diff line
UniPhier glue reset controller


Peripheral core reset in glue layer
-----------------------------------

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.

Required properties:
- compatible: Should be
    "socionext,uniphier-pro4-usb3-reset" - for Pro4 SoC USB3
    "socionext,uniphier-pro5-usb3-reset" - for Pro5 SoC USB3
    "socionext,uniphier-pxs2-usb3-reset" - for PXs2 SoC USB3
    "socionext,uniphier-ld20-usb3-reset" - for LD20 SoC USB3
    "socionext,uniphier-pxs3-usb3-reset" - for PXs3 SoC USB3
    "socionext,uniphier-pro4-ahci-reset" - for Pro4 SoC AHCI
    "socionext,uniphier-pxs2-ahci-reset" - for PXs2 SoC AHCI
    "socionext,uniphier-pxs3-ahci-reset" - for PXs3 SoC AHCI
- #reset-cells: Should be 1.
- reg: Specifies offset and length of the register set for the device.
- clocks: A list of phandles to the clock gate for the glue layer.
	According to the clock-names, appropriate clocks are required.
- clock-names: Should contain
    "gio", "link" - for Pro4 and Pro5 SoCs
    "link"        - for others
- resets: A list of phandles to the reset control for the glue layer.
	According to the reset-names, appropriate resets are required.
- reset-names: Should contain
    "gio", "link" - for Pro4 and Pro5 SoCs
    "link"        - for others

Example:

	usb-glue@65b00000 {
		compatible = "socionext,uniphier-ld20-dwc3-glue",
			     "simple-mfd";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges = <0 0x65b00000 0x400>;

		usb_rst: reset@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>;
		};

		regulator {
			...
		};

		phy {
			...
		};
		...
	};