0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/phy/socionext,uniphier-usb3ss-phy.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Socionext UniPhier USB3 Super-Speed (SS) PHY
0008
0009 description: |
0010 This describes the devicetree bindings for PHY interfaces built into
0011 USB3 controller implemented on Socionext UniPhier SoCs.
0012 Although the controller includes High-Speed PHY and Super-Speed PHY,
0013 this describes about Super-Speed PHY.
0014
0015 maintainers:
0016 - Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
0017
0018 properties:
0019 compatible:
0020 enum:
0021 - socionext,uniphier-pro4-usb3-ssphy
0022 - socionext,uniphier-pro5-usb3-ssphy
0023 - socionext,uniphier-pxs2-usb3-ssphy
0024 - socionext,uniphier-ld20-usb3-ssphy
0025 - socionext,uniphier-pxs3-usb3-ssphy
0026 - socionext,uniphier-nx1-usb3-ssphy
0027
0028 reg:
0029 maxItems: 1
0030
0031 "#phy-cells":
0032 const: 0
0033
0034 clocks:
0035 minItems: 2
0036 maxItems: 3
0037
0038 clock-names: true
0039
0040 resets:
0041 maxItems: 2
0042
0043 reset-names: true
0044
0045 vbus-supply:
0046 description: A phandle to the regulator for USB VBUS, only for USB host
0047
0048 allOf:
0049 - if:
0050 properties:
0051 compatible:
0052 contains:
0053 enum:
0054 - socionext,uniphier-pro4-usb3-ssphy
0055 - socionext,uniphier-pro5-usb3-ssphy
0056 then:
0057 properties:
0058 clocks:
0059 minItems: 2
0060 maxItems: 2
0061 clock-names:
0062 items:
0063 - const: gio
0064 - const: link
0065 resets:
0066 minItems: 2
0067 maxItems: 2
0068 reset-names:
0069 items:
0070 - const: gio
0071 - const: link
0072 - if:
0073 properties:
0074 compatible:
0075 contains:
0076 enum:
0077 - socionext,uniphier-pxs2-usb3-ssphy
0078 - socionext,uniphier-ld20-usb3-ssphy
0079 then:
0080 properties:
0081 clocks:
0082 minItems: 2
0083 maxItems: 2
0084 clock-names:
0085 items:
0086 - const: link
0087 - const: phy
0088 resets:
0089 minItems: 2
0090 maxItems: 2
0091 reset-names:
0092 items:
0093 - const: link
0094 - const: phy
0095 - if:
0096 properties:
0097 compatible:
0098 contains:
0099 enum:
0100 - socionext,uniphier-pxs3-usb3-ssphy
0101 - socionext,uniphier-nx1-usb3-ssphy
0102 then:
0103 properties:
0104 clocks:
0105 minItems: 2
0106 maxItems: 3
0107 clock-names:
0108 minItems: 2
0109 items:
0110 - const: link
0111 - const: phy
0112 - const: phy-ext
0113 resets:
0114 minItems: 2
0115 maxItems: 2
0116 reset-names:
0117 items:
0118 - const: link
0119 - const: phy
0120
0121 required:
0122 - compatible
0123 - reg
0124 - "#phy-cells"
0125 - clocks
0126 - clock-names
0127 - resets
0128 - reset-names
0129
0130 additionalProperties: false
0131
0132 examples:
0133 - |
0134 usb-glue@65b00000 {
0135 compatible = "socionext,uniphier-ld20-dwc3-glue",
0136 "simple-mfd";
0137 #address-cells = <1>;
0138 #size-cells = <1>;
0139 ranges = <0 0x65b00000 0x400>;
0140
0141 usb_ssphy0: ss-phy@300 {
0142 compatible = "socionext,uniphier-ld20-usb3-ssphy";
0143 reg = <0x300 0x10>;
0144 #phy-cells = <0>;
0145 clock-names = "link", "phy";
0146 clocks = <&sys_clk 14>, <&sys_clk 16>;
0147 reset-names = "link", "phy";
0148 resets = <&sys_rst 14>, <&sys_rst 16>;
0149 vbus-supply = <&usb_vbus0>;
0150 };
0151 };