xref: /freebsd/sys/contrib/device-tree/Bindings/phy/socionext,uniphier-usb3hs-phy.yaml (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/phy/socionext,uniphier-usb3hs-phy.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadottitle: Socionext UniPhier USB3 High-Speed (HS) PHY
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotdescription: |
10c66ec88fSEmmanuel Vadot  This describes the devicetree bindings for PHY interfaces built into
11c66ec88fSEmmanuel Vadot  USB3 controller implemented on Socionext UniPhier SoCs.
12c66ec88fSEmmanuel Vadot  Although the controller includes High-Speed PHY and Super-Speed PHY,
13c66ec88fSEmmanuel Vadot  this describes about High-Speed PHY.
14c66ec88fSEmmanuel Vadot
15c66ec88fSEmmanuel Vadotmaintainers:
16c66ec88fSEmmanuel Vadot  - Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
17c66ec88fSEmmanuel Vadot
18c66ec88fSEmmanuel Vadotproperties:
19c66ec88fSEmmanuel Vadot  compatible:
20c66ec88fSEmmanuel Vadot    enum:
21c66ec88fSEmmanuel Vadot      - socionext,uniphier-pro5-usb3-hsphy
22c66ec88fSEmmanuel Vadot      - socionext,uniphier-pxs2-usb3-hsphy
23c66ec88fSEmmanuel Vadot      - socionext,uniphier-ld20-usb3-hsphy
24c66ec88fSEmmanuel Vadot      - socionext,uniphier-pxs3-usb3-hsphy
25e67e8565SEmmanuel Vadot      - socionext,uniphier-nx1-usb3-hsphy
26c66ec88fSEmmanuel Vadot
27c66ec88fSEmmanuel Vadot  reg:
285def4c47SEmmanuel Vadot    maxItems: 1
29c66ec88fSEmmanuel Vadot
30c66ec88fSEmmanuel Vadot  "#phy-cells":
31c66ec88fSEmmanuel Vadot    const: 0
32c66ec88fSEmmanuel Vadot
33c66ec88fSEmmanuel Vadot  clocks:
34d5b0e70fSEmmanuel Vadot    minItems: 2
35c66ec88fSEmmanuel Vadot    maxItems: 3
36c66ec88fSEmmanuel Vadot
37d5b0e70fSEmmanuel Vadot  clock-names: true
38c66ec88fSEmmanuel Vadot
39c66ec88fSEmmanuel Vadot  resets:
40c66ec88fSEmmanuel Vadot    maxItems: 2
41c66ec88fSEmmanuel Vadot
42d5b0e70fSEmmanuel Vadot  reset-names: true
43c66ec88fSEmmanuel Vadot
44c66ec88fSEmmanuel Vadot  vbus-supply:
45c66ec88fSEmmanuel Vadot    description: A phandle to the regulator for USB VBUS
46c66ec88fSEmmanuel Vadot
47c66ec88fSEmmanuel Vadot  nvmem-cells:
48c66ec88fSEmmanuel Vadot    maxItems: 3
49c66ec88fSEmmanuel Vadot    description:
50c66ec88fSEmmanuel Vadot      Phandles to nvmem cell that contains the trimming data.
51c66ec88fSEmmanuel Vadot      Available only for HS-PHY implemented on LD20 and PXs3, and
52c66ec88fSEmmanuel Vadot      if unspecified, default value is used.
53c66ec88fSEmmanuel Vadot
54c66ec88fSEmmanuel Vadot  nvmem-cell-names:
55c66ec88fSEmmanuel Vadot    items:
56c66ec88fSEmmanuel Vadot      - const: rterm
57c66ec88fSEmmanuel Vadot      - const: sel_t
58c66ec88fSEmmanuel Vadot      - const: hs_i
59c66ec88fSEmmanuel Vadot    description:
60c66ec88fSEmmanuel Vadot      Should be the following names, which correspond to each nvmem-cells.
61c66ec88fSEmmanuel Vadot      All of the 3 parameters associated with the above names are
62c66ec88fSEmmanuel Vadot      required for each port, if any one is omitted, the trimming data
63c66ec88fSEmmanuel Vadot      of the port will not be set at all.
64c66ec88fSEmmanuel Vadot
65d5b0e70fSEmmanuel VadotallOf:
66d5b0e70fSEmmanuel Vadot  - if:
67d5b0e70fSEmmanuel Vadot      properties:
68d5b0e70fSEmmanuel Vadot        compatible:
69d5b0e70fSEmmanuel Vadot          contains:
70d5b0e70fSEmmanuel Vadot            const: socionext,uniphier-pro5-usb3-hsphy
71d5b0e70fSEmmanuel Vadot    then:
72d5b0e70fSEmmanuel Vadot      properties:
73d5b0e70fSEmmanuel Vadot        clocks:
74d5b0e70fSEmmanuel Vadot          minItems: 2
75d5b0e70fSEmmanuel Vadot          maxItems: 2
76d5b0e70fSEmmanuel Vadot        clock-names:
77d5b0e70fSEmmanuel Vadot          items:
78d5b0e70fSEmmanuel Vadot            - const: gio
79d5b0e70fSEmmanuel Vadot            - const: link
80d5b0e70fSEmmanuel Vadot        resets:
81d5b0e70fSEmmanuel Vadot          minItems: 2
82d5b0e70fSEmmanuel Vadot          maxItems: 2
83d5b0e70fSEmmanuel Vadot        reset-names:
84d5b0e70fSEmmanuel Vadot          items:
85d5b0e70fSEmmanuel Vadot            - const: gio
86d5b0e70fSEmmanuel Vadot            - const: link
87d5b0e70fSEmmanuel Vadot  - if:
88d5b0e70fSEmmanuel Vadot      properties:
89d5b0e70fSEmmanuel Vadot        compatible:
90d5b0e70fSEmmanuel Vadot          contains:
91d5b0e70fSEmmanuel Vadot            enum:
92d5b0e70fSEmmanuel Vadot              - socionext,uniphier-pxs2-usb3-hsphy
93d5b0e70fSEmmanuel Vadot              - socionext,uniphier-ld20-usb3-hsphy
94d5b0e70fSEmmanuel Vadot    then:
95d5b0e70fSEmmanuel Vadot      properties:
96d5b0e70fSEmmanuel Vadot        clocks:
97d5b0e70fSEmmanuel Vadot          minItems: 2
98d5b0e70fSEmmanuel Vadot          maxItems: 2
99d5b0e70fSEmmanuel Vadot        clock-names:
100d5b0e70fSEmmanuel Vadot          items:
101d5b0e70fSEmmanuel Vadot            - const: link
102d5b0e70fSEmmanuel Vadot            - const: phy
103d5b0e70fSEmmanuel Vadot        resets:
104d5b0e70fSEmmanuel Vadot          minItems: 2
105d5b0e70fSEmmanuel Vadot          maxItems: 2
106d5b0e70fSEmmanuel Vadot        reset-names:
107d5b0e70fSEmmanuel Vadot          items:
108d5b0e70fSEmmanuel Vadot            - const: link
109d5b0e70fSEmmanuel Vadot            - const: phy
110d5b0e70fSEmmanuel Vadot  - if:
111d5b0e70fSEmmanuel Vadot      properties:
112d5b0e70fSEmmanuel Vadot        compatible:
113d5b0e70fSEmmanuel Vadot          contains:
114d5b0e70fSEmmanuel Vadot            enum:
115d5b0e70fSEmmanuel Vadot              - socionext,uniphier-pxs3-usb3-hsphy
116d5b0e70fSEmmanuel Vadot              - socionext,uniphier-nx1-usb3-hsphy
117d5b0e70fSEmmanuel Vadot    then:
118d5b0e70fSEmmanuel Vadot      properties:
119d5b0e70fSEmmanuel Vadot        clocks:
120d5b0e70fSEmmanuel Vadot          minItems: 2
121d5b0e70fSEmmanuel Vadot          maxItems: 3
122d5b0e70fSEmmanuel Vadot        clock-names:
123d5b0e70fSEmmanuel Vadot          minItems: 2
124d5b0e70fSEmmanuel Vadot          items:
125d5b0e70fSEmmanuel Vadot            - const: link
126d5b0e70fSEmmanuel Vadot            - const: phy
127d5b0e70fSEmmanuel Vadot            - const: phy-ext
128d5b0e70fSEmmanuel Vadot        resets:
129d5b0e70fSEmmanuel Vadot          minItems: 2
130d5b0e70fSEmmanuel Vadot          maxItems: 2
131d5b0e70fSEmmanuel Vadot        reset-names:
132d5b0e70fSEmmanuel Vadot          items:
133d5b0e70fSEmmanuel Vadot            - const: link
134d5b0e70fSEmmanuel Vadot            - const: phy
135d5b0e70fSEmmanuel Vadot
136c66ec88fSEmmanuel Vadotrequired:
137c66ec88fSEmmanuel Vadot  - compatible
138c66ec88fSEmmanuel Vadot  - reg
139c66ec88fSEmmanuel Vadot  - "#phy-cells"
140c66ec88fSEmmanuel Vadot  - clocks
141c66ec88fSEmmanuel Vadot  - clock-names
142c66ec88fSEmmanuel Vadot  - resets
143c66ec88fSEmmanuel Vadot  - reset-names
144c66ec88fSEmmanuel Vadot
145c66ec88fSEmmanuel VadotadditionalProperties: false
146c66ec88fSEmmanuel Vadot
147c66ec88fSEmmanuel Vadotexamples:
148c66ec88fSEmmanuel Vadot  - |
149*cb7aa33aSEmmanuel Vadot    usb_hsphy0: phy@200 {
150c66ec88fSEmmanuel Vadot        compatible = "socionext,uniphier-ld20-usb3-hsphy";
151c66ec88fSEmmanuel Vadot        reg = <0x200 0x10>;
152c66ec88fSEmmanuel Vadot        #phy-cells = <0>;
153c66ec88fSEmmanuel Vadot        clock-names = "link", "phy";
154c66ec88fSEmmanuel Vadot        clocks = <&sys_clk 14>, <&sys_clk 16>;
155c66ec88fSEmmanuel Vadot        reset-names = "link", "phy";
156c66ec88fSEmmanuel Vadot        resets = <&sys_rst 14>, <&sys_rst 16>;
157c66ec88fSEmmanuel Vadot        vbus-supply = <&usb_vbus0>;
158c66ec88fSEmmanuel Vadot        nvmem-cell-names = "rterm", "sel_t", "hs_i";
159c66ec88fSEmmanuel Vadot        nvmem-cells = <&usb_rterm0>, <&usb_sel_t0>, <&usb_hs_i0>;
160c66ec88fSEmmanuel Vadot    };
161