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