Skip to content

Commit 90a498f

Browse files
committed
Merge tag 'phy-for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy
Pull phy updates from Vinod Koul: "New hardware support: - Qualcomm X1E80100 PCIe phy support, SM8550 PCIe1 PHY, SC7180 UFS PHY and SDM630 USBC support - Rockchip HDMI/eDP Combo PHY driver - Mediatek MT8365 CSI phy driver Updates: - Rework on Qualcomm phy PCS registers and type-c handling - Cadence torrent phy updates for multilink configuration - TI gmii resume support" * tag 'phy-for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy: (41 commits) phy: constify of_phandle_args in xlate phy: ti: tusb1210: Define device IDs phy: ti: tusb1210: Use temporary variable for struct device phy: rockchip: Add Samsung HDMI/eDP Combo PHY driver dt-bindings: phy: Add Rockchip HDMI/eDP Combo PHY schema phy: ti: gmii-sel: add resume support phy: mtk-mipi-csi: add driver for CSI phy dt-bindings: phy: add mediatek MIPI CD-PHY module v0.5 phy: cadence-torrent: Add USXGMII(156.25MHz) + SGMII/QSGMII(100MHz) multilink config for TI J7200 dt-bindings: phy: cadence-torrent: Add a separate compatible for TI J7200 phy: cadence-torrent: Add USXGMII(156.25MHz) + SGMII/QSGMII(100MHz) multilink configuration phy: cadence-torrent: Add PCIe(100MHz) + USXGMII(156.25MHz) multilink configuration dt-bindings: phy: cadence-torrent: Add optional input reference clock for PLL1 phy: qcom-qmp-ufs: Switch to devm_clk_bulk_get_all() API dt-bindings: phy: qmp-ufs: Fix PHY clocks phy: qcom: sgmii-eth: move PCS registers to separate header phy: qcom: sgmii-eth: use existing register definitions phy: qcom: qmp-usbc: drop has_pwrdn_delay handling phy: qcom: qmp: move common bits definitions to common header phy: qcom: qmp: split DP PHY registers to separate headers ...
2 parents 4438a81 + 00ca8a1 commit 90a498f

File tree

87 files changed

+4653
-1338
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

87 files changed

+4653
-1338
lines changed
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
# Copyright (c) 2023 MediaTek, BayLibre
3+
%YAML 1.2
4+
---
5+
$id: http://devicetree.org/schemas/phy/mediatek,mt8365-csi-rx.yaml#
6+
$schema: http://devicetree.org/meta-schemas/core.yaml#
7+
8+
title: Mediatek Sensor Interface MIPI CSI CD-PHY
9+
10+
maintainers:
11+
- Julien Stephan <jstephan@baylibre.com>
12+
- Andy Hsieh <andy.hsieh@mediatek.com>
13+
14+
description:
15+
The SENINF CD-PHY is a set of CD-PHY connected to the SENINF CSI-2
16+
receivers. The number of PHYs depends on the SoC model.
17+
Depending on the SoC model, each PHYs can be either CD-PHY or D-PHY only
18+
capable.
19+
20+
properties:
21+
compatible:
22+
enum:
23+
- mediatek,mt8365-csi-rx
24+
25+
reg:
26+
maxItems: 1
27+
28+
num-lanes:
29+
enum: [2, 3, 4]
30+
31+
'#phy-cells':
32+
enum: [0, 1]
33+
description: |
34+
If the PHY doesn't support mode selection then #phy-cells must be 0 and
35+
PHY mode is described using phy-type property.
36+
If the PHY supports mode selection, then #phy-cells must be 1 and mode
37+
is set in the PHY cells. Supported modes are:
38+
- PHY_TYPE_DPHY
39+
- PHY_TYPE_CPHY
40+
See include/dt-bindings/phy/phy.h for constants.
41+
42+
phy-type:
43+
description:
44+
If the PHY doesn't support mode selection then this set the operating mode.
45+
See include/dt-bindings/phy/phy.h for constants.
46+
const: 10
47+
$ref: /schemas/types.yaml#/definitions/uint32
48+
49+
required:
50+
- compatible
51+
- reg
52+
- num-lanes
53+
- '#phy-cells'
54+
55+
additionalProperties: false
56+
57+
examples:
58+
- |
59+
#include <dt-bindings/phy/phy.h>
60+
soc {
61+
#address-cells = <2>;
62+
#size-cells = <2>;
63+
64+
csi0_rx: phy@11c10000 {
65+
compatible = "mediatek,mt8365-csi-rx";
66+
reg = <0 0x11c10000 0 0x2000>;
67+
num-lanes = <2>;
68+
#phy-cells = <1>;
69+
};
70+
71+
csi1_rx: phy@11c12000 {
72+
compatible = "mediatek,mt8365-csi-rx";
73+
reg = <0 0x11c12000 0 0x2000>;
74+
phy-type = <PHY_TYPE_DPHY>;
75+
num-lanes = <2>;
76+
#phy-cells = <0>;
77+
};
78+
};
79+
...

Documentation/devicetree/bindings/phy/phy-cadence-torrent.yaml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ properties:
2020
compatible:
2121
enum:
2222
- cdns,torrent-phy
23+
- ti,j7200-serdes-10g
2324
- ti,j721e-serdes-10g
2425

2526
'#address-cells':
@@ -35,14 +36,18 @@ properties:
3536
minItems: 1
3637
maxItems: 2
3738
description:
38-
PHY reference clock for 1 item. Must contain an entry in clock-names.
39-
Optional Parent to enable output reference clock.
39+
PHY input reference clocks - refclk (for PLL0) & pll1_refclk (for PLL1).
40+
pll1_refclk is optional and used for multi-protocol configurations requiring
41+
separate reference clock for each protocol.
42+
Same refclk is used for both PLL0 and PLL1 if no separate pll1_refclk is used.
43+
Optional parent clock (phy_en_refclk) to enable a reference clock output feature
44+
on some platforms to output either derived or received reference clock.
4045

4146
clock-names:
4247
minItems: 1
4348
items:
4449
- const: refclk
45-
- const: phy_en_refclk
50+
- enum: [ pll1_refclk, phy_en_refclk ]
4651

4752
reg:
4853
minItems: 1
Lines changed: 184 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,184 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/phy/qcom,msm8998-qmp-usb3-phy.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm QMP PHY controller (USB, MSM8998)
8+
9+
maintainers:
10+
- Vinod Koul <vkoul@kernel.org>
11+
12+
description:
13+
The QMP PHY controller supports physical layer functionality for USB-C on
14+
several Qualcomm chipsets.
15+
16+
properties:
17+
compatible:
18+
enum:
19+
- qcom,msm8998-qmp-usb3-phy
20+
- qcom,qcm2290-qmp-usb3-phy
21+
- qcom,sdm660-qmp-usb3-phy
22+
- qcom,sm6115-qmp-usb3-phy
23+
24+
reg:
25+
maxItems: 1
26+
27+
clocks:
28+
maxItems: 4
29+
30+
clock-names:
31+
maxItems: 4
32+
33+
resets:
34+
maxItems: 2
35+
36+
reset-names:
37+
items:
38+
- const: phy
39+
- const: phy_phy
40+
41+
vdda-phy-supply: true
42+
43+
vdda-pll-supply: true
44+
45+
"#clock-cells":
46+
const: 0
47+
48+
clock-output-names:
49+
maxItems: 1
50+
51+
"#phy-cells":
52+
const: 0
53+
54+
orientation-switch:
55+
description:
56+
Flag the PHY as possible handler of USB Type-C orientation switching
57+
type: boolean
58+
59+
qcom,tcsr-reg:
60+
$ref: /schemas/types.yaml#/definitions/phandle-array
61+
items:
62+
- items:
63+
- description: phandle to TCSR hardware block
64+
- description: offset of the VLS CLAMP register
65+
description: Clamp register present in the TCSR
66+
67+
ports:
68+
$ref: /schemas/graph.yaml#/properties/ports
69+
properties:
70+
port@0:
71+
$ref: /schemas/graph.yaml#/properties/port
72+
description: Output endpoint of the PHY
73+
74+
port@1:
75+
$ref: /schemas/graph.yaml#/properties/port
76+
description: Incoming endpoint from the USB controller
77+
78+
required:
79+
- compatible
80+
- reg
81+
- clocks
82+
- clock-names
83+
- resets
84+
- reset-names
85+
- vdda-phy-supply
86+
- vdda-pll-supply
87+
- "#clock-cells"
88+
- clock-output-names
89+
- "#phy-cells"
90+
- qcom,tcsr-reg
91+
92+
allOf:
93+
- if:
94+
properties:
95+
compatible:
96+
contains:
97+
enum:
98+
- qcom,msm8998-qmp-usb3-phy
99+
- qcom,sdm660-qmp-usb3-phy
100+
then:
101+
properties:
102+
clocks:
103+
maxItems: 4
104+
clock-names:
105+
items:
106+
- const: aux
107+
- const: ref
108+
- const: cfg_ahb
109+
- const: pipe
110+
111+
- if:
112+
properties:
113+
compatible:
114+
contains:
115+
enum:
116+
- qcom,qcm2290-qmp-usb3-phy
117+
- qcom,sm6115-qmp-usb3-phy
118+
then:
119+
properties:
120+
clocks:
121+
maxItems: 4
122+
clock-names:
123+
items:
124+
- const: cfg_ahb
125+
- const: ref
126+
- const: com_aux
127+
- const: pipe
128+
129+
additionalProperties: false
130+
131+
examples:
132+
- |
133+
#include <dt-bindings/clock/qcom,gcc-msm8998.h>
134+
#include <dt-bindings/clock/qcom,rpmh.h>
135+
136+
phy@c010000 {
137+
compatible = "qcom,msm8998-qmp-usb3-phy";
138+
reg = <0x0c010000 0x1000>;
139+
140+
clocks = <&gcc GCC_USB3_PHY_AUX_CLK>,
141+
<&gcc GCC_USB3_CLKREF_CLK>,
142+
<&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
143+
<&gcc GCC_USB3_PHY_PIPE_CLK>;
144+
clock-names = "aux",
145+
"ref",
146+
"cfg_ahb",
147+
"pipe";
148+
clock-output-names = "usb3_phy_pipe_clk_src";
149+
#clock-cells = <0>;
150+
#phy-cells = <0>;
151+
152+
resets = <&gcc GCC_USB3_PHY_BCR>,
153+
<&gcc GCC_USB3PHY_PHY_BCR>;
154+
reset-names = "phy",
155+
"phy_phy";
156+
157+
vdda-phy-supply = <&vreg_l1a_0p875>;
158+
vdda-pll-supply = <&vreg_l2a_1p2>;
159+
160+
orientation-switch;
161+
162+
qcom,tcsr-reg = <&tcsr_regs_1 0x6b244>;
163+
164+
ports {
165+
#address-cells = <1>;
166+
#size-cells = <0>;
167+
168+
port@0 {
169+
reg = <0>;
170+
171+
endpoint {
172+
remote-endpoint = <&pmic_typec_mux_in>;
173+
};
174+
};
175+
176+
port@1 {
177+
reg = <1>;
178+
179+
endpoint {
180+
remote-endpoint = <&usb_dwc3_ss>;
181+
};
182+
};
183+
};
184+
};

Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ properties:
3838
- qcom,sm8550-qmp-gen4x2-pcie-phy
3939
- qcom,sm8650-qmp-gen3x2-pcie-phy
4040
- qcom,sm8650-qmp-gen4x2-pcie-phy
41+
- qcom,x1e80100-qmp-gen3x2-pcie-phy
42+
- qcom,x1e80100-qmp-gen4x2-pcie-phy
4143

4244
reg:
4345
minItems: 1
@@ -151,6 +153,8 @@ allOf:
151153
- qcom,sm8550-qmp-gen4x2-pcie-phy
152154
- qcom,sm8650-qmp-gen3x2-pcie-phy
153155
- qcom,sm8650-qmp-gen4x2-pcie-phy
156+
- qcom,x1e80100-qmp-gen3x2-pcie-phy
157+
- qcom,x1e80100-qmp-gen4x2-pcie-phy
154158
then:
155159
properties:
156160
clocks:
@@ -194,6 +198,8 @@ allOf:
194198
enum:
195199
- qcom,sm8550-qmp-gen4x2-pcie-phy
196200
- qcom,sm8650-qmp-gen4x2-pcie-phy
201+
- qcom,x1e80100-qmp-gen3x2-pcie-phy
202+
- qcom,x1e80100-qmp-gen4x2-pcie-phy
197203
then:
198204
properties:
199205
resets:

0 commit comments

Comments
 (0)