xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/phy/socionext,uniphier-usb3hs-phy.yaml (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*4882a593Smuzhiyun%YAML 1.2
3*4882a593Smuzhiyun---
4*4882a593Smuzhiyun$id: http://devicetree.org/schemas/phy/socionext,uniphier-usb3hs-phy.yaml#
5*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml#
6*4882a593Smuzhiyun
7*4882a593Smuzhiyuntitle: Socionext UniPhier USB3 High-Speed (HS) PHY
8*4882a593Smuzhiyun
9*4882a593Smuzhiyundescription: |
10*4882a593Smuzhiyun  This describes the devicetree bindings for PHY interfaces built into
11*4882a593Smuzhiyun  USB3 controller implemented on Socionext UniPhier SoCs.
12*4882a593Smuzhiyun  Although the controller includes High-Speed PHY and Super-Speed PHY,
13*4882a593Smuzhiyun  this describes about High-Speed PHY.
14*4882a593Smuzhiyun
15*4882a593Smuzhiyunmaintainers:
16*4882a593Smuzhiyun  - Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
17*4882a593Smuzhiyun
18*4882a593Smuzhiyunproperties:
19*4882a593Smuzhiyun  compatible:
20*4882a593Smuzhiyun    enum:
21*4882a593Smuzhiyun      - socionext,uniphier-pro5-usb3-hsphy
22*4882a593Smuzhiyun      - socionext,uniphier-pxs2-usb3-hsphy
23*4882a593Smuzhiyun      - socionext,uniphier-ld20-usb3-hsphy
24*4882a593Smuzhiyun      - socionext,uniphier-pxs3-usb3-hsphy
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun  reg:
27*4882a593Smuzhiyun    description: PHY register region (offset and length)
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun  "#phy-cells":
30*4882a593Smuzhiyun    const: 0
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun  clocks:
33*4882a593Smuzhiyun    minItems: 1
34*4882a593Smuzhiyun    maxItems: 3
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun  clock-names:
37*4882a593Smuzhiyun    oneOf:
38*4882a593Smuzhiyun      - const: link          # for PXs2
39*4882a593Smuzhiyun      - items:               # for PXs3 with phy-ext
40*4882a593Smuzhiyun          - const: link
41*4882a593Smuzhiyun          - const: phy
42*4882a593Smuzhiyun          - const: phy-ext
43*4882a593Smuzhiyun      - items:               # for others
44*4882a593Smuzhiyun          - const: link
45*4882a593Smuzhiyun          - const: phy
46*4882a593Smuzhiyun
47*4882a593Smuzhiyun  resets:
48*4882a593Smuzhiyun    maxItems: 2
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun  reset-names:
51*4882a593Smuzhiyun    items:
52*4882a593Smuzhiyun      - const: link
53*4882a593Smuzhiyun      - const: phy
54*4882a593Smuzhiyun
55*4882a593Smuzhiyun  vbus-supply:
56*4882a593Smuzhiyun    description: A phandle to the regulator for USB VBUS
57*4882a593Smuzhiyun
58*4882a593Smuzhiyun  nvmem-cells:
59*4882a593Smuzhiyun    maxItems: 3
60*4882a593Smuzhiyun    description:
61*4882a593Smuzhiyun      Phandles to nvmem cell that contains the trimming data.
62*4882a593Smuzhiyun      Available only for HS-PHY implemented on LD20 and PXs3, and
63*4882a593Smuzhiyun      if unspecified, default value is used.
64*4882a593Smuzhiyun
65*4882a593Smuzhiyun  nvmem-cell-names:
66*4882a593Smuzhiyun    items:
67*4882a593Smuzhiyun      - const: rterm
68*4882a593Smuzhiyun      - const: sel_t
69*4882a593Smuzhiyun      - const: hs_i
70*4882a593Smuzhiyun    description:
71*4882a593Smuzhiyun      Should be the following names, which correspond to each nvmem-cells.
72*4882a593Smuzhiyun      All of the 3 parameters associated with the above names are
73*4882a593Smuzhiyun      required for each port, if any one is omitted, the trimming data
74*4882a593Smuzhiyun      of the port will not be set at all.
75*4882a593Smuzhiyun
76*4882a593Smuzhiyunrequired:
77*4882a593Smuzhiyun  - compatible
78*4882a593Smuzhiyun  - reg
79*4882a593Smuzhiyun  - "#phy-cells"
80*4882a593Smuzhiyun  - clocks
81*4882a593Smuzhiyun  - clock-names
82*4882a593Smuzhiyun  - resets
83*4882a593Smuzhiyun  - reset-names
84*4882a593Smuzhiyun
85*4882a593SmuzhiyunadditionalProperties: false
86*4882a593Smuzhiyun
87*4882a593Smuzhiyunexamples:
88*4882a593Smuzhiyun  - |
89*4882a593Smuzhiyun    usb-glue@65b00000 {
90*4882a593Smuzhiyun        compatible = "socionext,uniphier-ld20-dwc3-glue", "simple-mfd";
91*4882a593Smuzhiyun        #address-cells = <1>;
92*4882a593Smuzhiyun        #size-cells = <1>;
93*4882a593Smuzhiyun        ranges = <0 0x65b00000 0x400>;
94*4882a593Smuzhiyun
95*4882a593Smuzhiyun        usb_hsphy0: hs-phy@200 {
96*4882a593Smuzhiyun            compatible = "socionext,uniphier-ld20-usb3-hsphy";
97*4882a593Smuzhiyun            reg = <0x200 0x10>;
98*4882a593Smuzhiyun            #phy-cells = <0>;
99*4882a593Smuzhiyun            clock-names = "link", "phy";
100*4882a593Smuzhiyun            clocks = <&sys_clk 14>, <&sys_clk 16>;
101*4882a593Smuzhiyun            reset-names = "link", "phy";
102*4882a593Smuzhiyun            resets = <&sys_rst 14>, <&sys_rst 16>;
103*4882a593Smuzhiyun            vbus-supply = <&usb_vbus0>;
104*4882a593Smuzhiyun            nvmem-cell-names = "rterm", "sel_t", "hs_i";
105*4882a593Smuzhiyun            nvmem-cells = <&usb_rterm0>, <&usb_sel_t0>, <&usb_hs_i0>;
106*4882a593Smuzhiyun        };
107*4882a593Smuzhiyun    };
108