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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/phy/ti,phy-usb3.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: TI PIPE3 PHY Module
maintainers:
- Roger Quadros <rogerq@ti.com>
description:
The TI PIPE3 PHY is a high-speed SerDes (Serializer/Deserializer)
transceiver integrated in OMAP5, DRA7xx/AM57xx, and similar SoCs.
It supports multiple protocols (USB3, SATA, PCIe) using the PIPE3
interface standard, which defines a common physical layer for
high-speed serial interfaces.
properties:
$nodename:
pattern: "^(pcie-phy|usb3-phy|phy)@[0-9a-f]+$"
compatible:
enum:
- ti,omap-usb3
- ti,phy-pipe3-pcie
- ti,phy-pipe3-sata
- ti,phy-usb3
reg:
minItems: 2
maxItems: 3
reg-names:
minItems: 2
items:
- const: phy_rx
- const: phy_tx
- const: pll_ctrl
"#phy-cells":
const: 0
clocks:
minItems: 2
maxItems: 7
clock-names:
minItems: 2
maxItems: 7
items:
enum: [wkupclk, sysclk, refclk, dpll_ref,
dpll_ref_m2, phy-div, div-clk]
syscon-phy-power:
$ref: /schemas/types.yaml#/definitions/phandle-array
maxItems: 1
items:
items:
- description: Phandle to the system control module
- description: Register offset controlling PHY power
syscon-pllreset:
$ref: /schemas/types.yaml#/definitions/phandle-array
maxItems: 1
items:
items:
- description: Phandle to the system control module
- description: Register offset of CTRL_CORE_SMA_SW_0
syscon-pcs:
$ref: /schemas/types.yaml#/definitions/phandle-array
maxItems: 1
items:
items:
- description: Phandle to the system control module
- description: Register offset for PCS delay programming
ctrl-module:
$ref: /schemas/types.yaml#/definitions/phandle
description:
Phandle of control module for PHY power on.
deprecated: true
allOf:
- if:
properties:
compatible:
contains:
const: ti,phy-pipe3-sata
then:
properties:
syscon-pllreset: true
else:
properties:
syscon-pllreset: false
required:
- reg
- compatible
- reg-names
- "#phy-cells"
- clocks
- clock-names
unevaluatedProperties: false
examples:
- |
/* TI PIPE3 USB3 PHY */
usb3-phy@4a084400 {
compatible = "ti,phy-usb3";
reg = <0x4a084400 0x80>,
<0x4a084800 0x64>,
<0x4a084c00 0x40>;
reg-names = "phy_rx", "phy_tx", "pll_ctrl";
#phy-cells = <0>;
clocks = <&usb_phy_cm_clk32k>,
<&sys_clkin>,
<&usb_otg_ss_refclk960m>;
clock-names = "wkupclk", "sysclk", "refclk";
ctrl-module = <&omap_control_usb>;
};
- |
/* TI PIPE3 SATA PHY */
phy@4a096000 {
compatible = "ti,phy-pipe3-sata";
reg = <0x4a096000 0x80>, /* phy_rx */
<0x4a096400 0x64>, /* phy_tx */
<0x4a096800 0x40>; /* pll_ctrl */
reg-names = "phy_rx", "phy_tx", "pll_ctrl";
clocks = <&sys_clkin1>, <&sata_ref_clk>;
clock-names = "sysclk", "refclk";
syscon-pllreset = <&scm_conf 0x3fc>;
#phy-cells = <0>;
};
...
|