162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/soc/socionext/socionext,uniphier-dwc3-glue.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Socionext UniPhier SoC DWC3 USB3.0 glue layer
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription: |+
1362306a36Sopenharmony_ci  DWC3 USB3.0 glue layer implemented on Socionext UniPhier SoCs is
1462306a36Sopenharmony_ci  a sideband logic handling signals to DWC3 host controller inside
1562306a36Sopenharmony_ci  USB3.0 component.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciproperties:
1862306a36Sopenharmony_ci  compatible:
1962306a36Sopenharmony_ci    items:
2062306a36Sopenharmony_ci      - enum:
2162306a36Sopenharmony_ci          - socionext,uniphier-pro4-dwc3-glue
2262306a36Sopenharmony_ci          - socionext,uniphier-pro5-dwc3-glue
2362306a36Sopenharmony_ci          - socionext,uniphier-pxs2-dwc3-glue
2462306a36Sopenharmony_ci          - socionext,uniphier-ld20-dwc3-glue
2562306a36Sopenharmony_ci          - socionext,uniphier-pxs3-dwc3-glue
2662306a36Sopenharmony_ci          - socionext,uniphier-nx1-dwc3-glue
2762306a36Sopenharmony_ci      - const: simple-mfd
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci  reg:
3062306a36Sopenharmony_ci    maxItems: 1
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci  "#address-cells":
3362306a36Sopenharmony_ci    const: 1
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci  "#size-cells":
3662306a36Sopenharmony_ci    const: 1
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci  ranges: true
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_cipatternProperties:
4162306a36Sopenharmony_ci  "^reset-controller@[0-9a-f]+$":
4262306a36Sopenharmony_ci    $ref: /schemas/reset/socionext,uniphier-glue-reset.yaml#
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci  "^regulator@[0-9a-f]+$":
4562306a36Sopenharmony_ci    $ref: /schemas/regulator/socionext,uniphier-regulator.yaml#
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci  "^phy@[0-9a-f]+$":
4862306a36Sopenharmony_ci    oneOf:
4962306a36Sopenharmony_ci      - $ref: /schemas/phy/socionext,uniphier-usb3hs-phy.yaml#
5062306a36Sopenharmony_ci      - $ref: /schemas/phy/socionext,uniphier-usb3ss-phy.yaml#
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_cirequired:
5362306a36Sopenharmony_ci  - compatible
5462306a36Sopenharmony_ci  - reg
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ciadditionalProperties: false
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ciexamples:
5962306a36Sopenharmony_ci  - |
6062306a36Sopenharmony_ci    usb@65b00000 {
6162306a36Sopenharmony_ci        compatible = "socionext,uniphier-ld20-dwc3-glue", "simple-mfd";
6262306a36Sopenharmony_ci        reg = <0x65b00000 0x400>;
6362306a36Sopenharmony_ci        #address-cells = <1>;
6462306a36Sopenharmony_ci        #size-cells = <1>;
6562306a36Sopenharmony_ci        ranges = <0 0x65b00000 0x400>;
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci        reset-controller@0 {
6862306a36Sopenharmony_ci            compatible = "socionext,uniphier-ld20-usb3-reset";
6962306a36Sopenharmony_ci            reg = <0x0 0x4>;
7062306a36Sopenharmony_ci            #reset-cells = <1>;
7162306a36Sopenharmony_ci            clock-names = "link";
7262306a36Sopenharmony_ci            clocks = <&sys_clk 14>;
7362306a36Sopenharmony_ci            reset-names = "link";
7462306a36Sopenharmony_ci            resets = <&sys_rst 14>;
7562306a36Sopenharmony_ci        };
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci        regulator@100 {
7862306a36Sopenharmony_ci            compatible = "socionext,uniphier-ld20-usb3-regulator";
7962306a36Sopenharmony_ci            reg = <0x100 0x10>;
8062306a36Sopenharmony_ci            clock-names = "link";
8162306a36Sopenharmony_ci            clocks = <&sys_clk 14>;
8262306a36Sopenharmony_ci            reset-names = "link";
8362306a36Sopenharmony_ci            resets = <&sys_rst 14>;
8462306a36Sopenharmony_ci        };
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci        phy@200 {
8762306a36Sopenharmony_ci            compatible = "socionext,uniphier-ld20-usb3-hsphy";
8862306a36Sopenharmony_ci            reg = <0x200 0x10>;
8962306a36Sopenharmony_ci            #phy-cells = <0>;
9062306a36Sopenharmony_ci            clock-names = "link", "phy";
9162306a36Sopenharmony_ci            clocks = <&sys_clk 14>, <&sys_clk 16>;
9262306a36Sopenharmony_ci            reset-names = "link", "phy";
9362306a36Sopenharmony_ci            resets = <&sys_rst 14>, <&sys_rst 16>;
9462306a36Sopenharmony_ci        };
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ci        phy@300 {
9762306a36Sopenharmony_ci            compatible = "socionext,uniphier-ld20-usb3-ssphy";
9862306a36Sopenharmony_ci            reg = <0x300 0x10>;
9962306a36Sopenharmony_ci            #phy-cells = <0>;
10062306a36Sopenharmony_ci            clock-names = "link", "phy";
10162306a36Sopenharmony_ci            clocks = <&sys_clk 14>, <&sys_clk 18>;
10262306a36Sopenharmony_ci            reset-names = "link", "phy";
10362306a36Sopenharmony_ci            resets = <&sys_rst 14>, <&sys_rst 18>;
10462306a36Sopenharmony_ci        };
10562306a36Sopenharmony_ci    };
10662306a36Sopenharmony_ci
107