xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/phy/renesas,usb3-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/renesas,usb3-phy.yaml#
5*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml#
6*4882a593Smuzhiyun
7*4882a593Smuzhiyuntitle: Renesas R-Car generation 3 USB 3.0 PHY
8*4882a593Smuzhiyun
9*4882a593Smuzhiyunmaintainers:
10*4882a593Smuzhiyun  - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
11*4882a593Smuzhiyun
12*4882a593Smuzhiyunproperties:
13*4882a593Smuzhiyun  compatible:
14*4882a593Smuzhiyun    items:
15*4882a593Smuzhiyun      - enum:
16*4882a593Smuzhiyun          - renesas,r8a774a1-usb3-phy # RZ/G2M
17*4882a593Smuzhiyun          - renesas,r8a774b1-usb3-phy # RZ/G2N
18*4882a593Smuzhiyun          - renesas,r8a774e1-usb3-phy # RZ/G2H
19*4882a593Smuzhiyun          - renesas,r8a7795-usb3-phy  # R-Car H3
20*4882a593Smuzhiyun          - renesas,r8a7796-usb3-phy  # R-Car M3-W
21*4882a593Smuzhiyun          - renesas,r8a77961-usb3-phy # R-Car M3-W+
22*4882a593Smuzhiyun          - renesas,r8a77965-usb3-phy # R-Car M3-N
23*4882a593Smuzhiyun      - const: renesas,rcar-gen3-usb3-phy
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun  reg:
26*4882a593Smuzhiyun    maxItems: 1
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun  clocks:
29*4882a593Smuzhiyun    minItems: 2
30*4882a593Smuzhiyun    maxItems: 3
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun  clock-names:
33*4882a593Smuzhiyun    # If you want to use the ssc, the clock-frequency of usb_extal
34*4882a593Smuzhiyun    # must not be 0.
35*4882a593Smuzhiyun    minItems: 2
36*4882a593Smuzhiyun    maxItems: 3
37*4882a593Smuzhiyun    items:
38*4882a593Smuzhiyun      - const: usb3-if # The funcional clock
39*4882a593Smuzhiyun      - const: usb3s_clk # The usb3's external clock
40*4882a593Smuzhiyun      - const: usb_extal # The usb2's external clock
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun  '#phy-cells':
43*4882a593Smuzhiyun    # see phy-bindings.txt in the same directory
44*4882a593Smuzhiyun    const: 0
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun  power-domains:
47*4882a593Smuzhiyun    maxItems: 1
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun  resets:
50*4882a593Smuzhiyun    maxItems: 1
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun  renesas,ssc-range:
53*4882a593Smuzhiyun    description: |
54*4882a593Smuzhiyun      Enable/disable spread spectrum clock (ssc). 0 or the property doesn't
55*4882a593Smuzhiyun      exist means disabling the ssc. The actual value will be -<value> ppm.
56*4882a593Smuzhiyun    $ref: /schemas/types.yaml#/definitions/uint32
57*4882a593Smuzhiyun    enum: [ 0, 4003, 4492, 4980 ]
58*4882a593Smuzhiyun
59*4882a593Smuzhiyunrequired:
60*4882a593Smuzhiyun  - compatible
61*4882a593Smuzhiyun  - reg
62*4882a593Smuzhiyun  - clocks
63*4882a593Smuzhiyun  - clock-names
64*4882a593Smuzhiyun  - '#phy-cells'
65*4882a593Smuzhiyun
66*4882a593SmuzhiyunadditionalProperties: false
67*4882a593Smuzhiyun
68*4882a593Smuzhiyunexamples:
69*4882a593Smuzhiyun  - |
70*4882a593Smuzhiyun    #include <dt-bindings/clock/r8a7795-cpg-mssr.h>
71*4882a593Smuzhiyun    #include <dt-bindings/power/r8a7795-sysc.h>
72*4882a593Smuzhiyun
73*4882a593Smuzhiyun    usb-phy@e65ee000 {
74*4882a593Smuzhiyun        compatible = "renesas,r8a7795-usb3-phy", "renesas,rcar-gen3-usb3-phy";
75*4882a593Smuzhiyun        reg = <0xe65ee000 0x90>;
76*4882a593Smuzhiyun        clocks = <&cpg CPG_MOD 328>, <&usb3s0_clk>, <&usb_extal>;
77*4882a593Smuzhiyun        clock-names = "usb3-if", "usb3s_clk", "usb_extal";
78*4882a593Smuzhiyun        #phy-cells = <0>;
79*4882a593Smuzhiyun    };
80