xref: /freebsd/sys/contrib/device-tree/Bindings/phy/renesas,rcar-gen2-usb-phy.yaml (revision 7ef62cebc2f965b0f640263e179276928885e33d)
1*7ef62cebSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*7ef62cebSEmmanuel Vadot%YAML 1.2
3*7ef62cebSEmmanuel Vadot---
4*7ef62cebSEmmanuel Vadot$id: http://devicetree.org/schemas/phy/renesas,rcar-gen2-usb-phy.yaml#
5*7ef62cebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*7ef62cebSEmmanuel Vadot
7*7ef62cebSEmmanuel Vadottitle: Renesas R-Car Gen2 USB PHY
8*7ef62cebSEmmanuel Vadot
9*7ef62cebSEmmanuel Vadotmaintainers:
10*7ef62cebSEmmanuel Vadot  - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
11*7ef62cebSEmmanuel Vadot
12*7ef62cebSEmmanuel Vadotproperties:
13*7ef62cebSEmmanuel Vadot  compatible:
14*7ef62cebSEmmanuel Vadot    items:
15*7ef62cebSEmmanuel Vadot      - enum:
16*7ef62cebSEmmanuel Vadot          - renesas,usb-phy-r8a7742      # RZ/G1H
17*7ef62cebSEmmanuel Vadot          - renesas,usb-phy-r8a7743      # RZ/G1M
18*7ef62cebSEmmanuel Vadot          - renesas,usb-phy-r8a7744      # RZ/G1N
19*7ef62cebSEmmanuel Vadot          - renesas,usb-phy-r8a7745      # RZ/G1E
20*7ef62cebSEmmanuel Vadot          - renesas,usb-phy-r8a77470     # RZ/G1C
21*7ef62cebSEmmanuel Vadot          - renesas,usb-phy-r8a7790      # R-Car H2
22*7ef62cebSEmmanuel Vadot          - renesas,usb-phy-r8a7791      # R-Car M2-W
23*7ef62cebSEmmanuel Vadot          - renesas,usb-phy-r8a7794      # R-Car E2
24*7ef62cebSEmmanuel Vadot      - const: renesas,rcar-gen2-usb-phy # R-Car Gen2 or RZ/G1
25*7ef62cebSEmmanuel Vadot
26*7ef62cebSEmmanuel Vadot  reg:
27*7ef62cebSEmmanuel Vadot    maxItems: 1
28*7ef62cebSEmmanuel Vadot
29*7ef62cebSEmmanuel Vadot  '#address-cells':
30*7ef62cebSEmmanuel Vadot    const: 1
31*7ef62cebSEmmanuel Vadot
32*7ef62cebSEmmanuel Vadot  '#size-cells':
33*7ef62cebSEmmanuel Vadot    const: 0
34*7ef62cebSEmmanuel Vadot
35*7ef62cebSEmmanuel Vadot  clocks:
36*7ef62cebSEmmanuel Vadot    maxItems: 1
37*7ef62cebSEmmanuel Vadot
38*7ef62cebSEmmanuel Vadot  clock-names:
39*7ef62cebSEmmanuel Vadot    items:
40*7ef62cebSEmmanuel Vadot      - const: usbhs
41*7ef62cebSEmmanuel Vadot
42*7ef62cebSEmmanuel Vadot  power-domains:
43*7ef62cebSEmmanuel Vadot    maxItems: 1
44*7ef62cebSEmmanuel Vadot
45*7ef62cebSEmmanuel Vadot  resets:
46*7ef62cebSEmmanuel Vadot    maxItems: 1
47*7ef62cebSEmmanuel Vadot
48*7ef62cebSEmmanuel VadotpatternProperties:
49*7ef62cebSEmmanuel Vadot  "^usb-phy@[02]$":
50*7ef62cebSEmmanuel Vadot    type: object
51*7ef62cebSEmmanuel Vadot    description: Subnode corresponding to a USB channel.
52*7ef62cebSEmmanuel Vadot
53*7ef62cebSEmmanuel Vadot    properties:
54*7ef62cebSEmmanuel Vadot      reg:
55*7ef62cebSEmmanuel Vadot        description: FIXME RZ/G1C supports channel 0 only
56*7ef62cebSEmmanuel Vadot        enum: [0, 2]
57*7ef62cebSEmmanuel Vadot
58*7ef62cebSEmmanuel Vadot      '#phy-cells':
59*7ef62cebSEmmanuel Vadot        description: |
60*7ef62cebSEmmanuel Vadot          The phandle's argument in the PHY specifier is the USB controller
61*7ef62cebSEmmanuel Vadot          selector for the USB channel.
62*7ef62cebSEmmanuel Vadot          For RZ/G1C:
63*7ef62cebSEmmanuel Vadot            - 0 for EHCI/OHCI
64*7ef62cebSEmmanuel Vadot            - 1 for HS-USB
65*7ef62cebSEmmanuel Vadot          For all other SoCS:
66*7ef62cebSEmmanuel Vadot            - 0 for PCI EHCI/OHCI
67*7ef62cebSEmmanuel Vadot            - 1 for HS-USB (channel 0) or xHCI (channel 2)
68*7ef62cebSEmmanuel Vadot        const: 1
69*7ef62cebSEmmanuel Vadot
70*7ef62cebSEmmanuel Vadot    required:
71*7ef62cebSEmmanuel Vadot      - reg
72*7ef62cebSEmmanuel Vadot      - '#phy-cells'
73*7ef62cebSEmmanuel Vadot
74*7ef62cebSEmmanuel Vadot    additionalProperties: false
75*7ef62cebSEmmanuel Vadot
76*7ef62cebSEmmanuel Vadotrequired:
77*7ef62cebSEmmanuel Vadot  - compatible
78*7ef62cebSEmmanuel Vadot  - reg
79*7ef62cebSEmmanuel Vadot  - '#address-cells'
80*7ef62cebSEmmanuel Vadot  - '#size-cells'
81*7ef62cebSEmmanuel Vadot  - clocks
82*7ef62cebSEmmanuel Vadot  - clock-names
83*7ef62cebSEmmanuel Vadot  - resets
84*7ef62cebSEmmanuel Vadot  - power-domains
85*7ef62cebSEmmanuel Vadot  - usb-phy@0
86*7ef62cebSEmmanuel Vadot
87*7ef62cebSEmmanuel Vadotif:
88*7ef62cebSEmmanuel Vadot  properties:
89*7ef62cebSEmmanuel Vadot    compatible:
90*7ef62cebSEmmanuel Vadot      contains:
91*7ef62cebSEmmanuel Vadot        const: renesas,usb-phy-r8a77470
92*7ef62cebSEmmanuel Vadotthen:
93*7ef62cebSEmmanuel Vadot  properties:
94*7ef62cebSEmmanuel Vadot    usb-phy@2: false
95*7ef62cebSEmmanuel Vadotelse:
96*7ef62cebSEmmanuel Vadot  required:
97*7ef62cebSEmmanuel Vadot    - usb-phy@2
98*7ef62cebSEmmanuel Vadot
99*7ef62cebSEmmanuel VadotadditionalProperties: false
100*7ef62cebSEmmanuel Vadot
101*7ef62cebSEmmanuel Vadotexamples:
102*7ef62cebSEmmanuel Vadot  - |
103*7ef62cebSEmmanuel Vadot    #include <dt-bindings/clock/r8a7790-cpg-mssr.h>
104*7ef62cebSEmmanuel Vadot    #include <dt-bindings/power/r8a7790-sysc.h>
105*7ef62cebSEmmanuel Vadot    usb-phy-controller@e6590100 {
106*7ef62cebSEmmanuel Vadot        compatible = "renesas,usb-phy-r8a7790", "renesas,rcar-gen2-usb-phy";
107*7ef62cebSEmmanuel Vadot        reg = <0xe6590100 0x100>;
108*7ef62cebSEmmanuel Vadot        #address-cells = <1>;
109*7ef62cebSEmmanuel Vadot        #size-cells = <0>;
110*7ef62cebSEmmanuel Vadot        clocks = <&cpg CPG_MOD 704>;
111*7ef62cebSEmmanuel Vadot        clock-names = "usbhs";
112*7ef62cebSEmmanuel Vadot        power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
113*7ef62cebSEmmanuel Vadot        resets = <&cpg 704>;
114*7ef62cebSEmmanuel Vadot
115*7ef62cebSEmmanuel Vadot        usb0: usb-phy@0 {
116*7ef62cebSEmmanuel Vadot            reg = <0>;
117*7ef62cebSEmmanuel Vadot            #phy-cells = <1>;
118*7ef62cebSEmmanuel Vadot        };
119*7ef62cebSEmmanuel Vadot        usb2: usb-phy@2 {
120*7ef62cebSEmmanuel Vadot            reg = <2>;
121*7ef62cebSEmmanuel Vadot            #phy-cells = <1>;
122*7ef62cebSEmmanuel Vadot        };
123*7ef62cebSEmmanuel Vadot    };
124