Skip to content

Commit db906f0

Browse files
committed
Merge tag 'phy-for-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy
Pull phy updates from Vinod Koul: "As usual a couple of new drivers, a bunch of new device support and few updates to existing drivers New Support: - Starfive dphy rx, JH7110 usb and pcie support - Rockchip rv1126 inno-dsi phy, rk3588 usb and pcie support - Qualcomm sa8775p PCIe support, M31 USB PHY driver - Samsung Exynos850 usb support Updates: - Mediatek dsi driver clock updates - Qualcomm sm8150 combo phy with reworking of qmp pcie driver - Xilinx zynqmp runtime PM support" * tag 'phy-for-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy: (83 commits) phy: exynos5-usbdrd: Add Exynos850 support phy: exynos5-usbdrd: Add 26MHz ref clk support phy: exynos5-usbdrd: Make it possible to pass custom phy ops dt-bindings: phy: samsung,usb3-drd-phy: Add Exynos850 support phy: qcom-qmp-combo: fix clock probing phy: qcom-qmp-pcie: support SM8150 PCIe QMP PHYs phy: qcom-qmp-pcie: populate offsets configuration phy: qcom-qmp-pcie: simplify clock handling phy: qcom-qmp-pcie: keep offset tables sorted phy: qcom-qmp-pcie: drop ln_shrd from v5_20 config dt-bindings: phy: qcom,qmp-pcie: describe SM8150 PCIe PHYs dt-bindings: phy: migrate QMP PCIe PHY bindings to qcom,sc8280xp-qmp-pcie-phy.yaml phy: fsl-imx8mq-usb: add dev_err_probe if getting vbus failed phy: qcom: Introduce M31 USB PHY driver dt-bindings: phy: qcom,m31: Document qcom,m31 USB phy phy: rockchip: inno-dsidphy: Add rv1126 support dt-bindings: phy: rockchip-inno-dsidphy: Document rv1126 dt-bindings: phy: mediatek,tphy: allow simple nodename pattern phy: amlogic: meson-g12a-usb2: fix Wvoid-pointer-to-enum-cast warning phy: marvell pxa-usb: fix Wvoid-pointer-to-enum-cast warning ...
2 parents 6e32dfc + 6915250 commit db906f0

File tree

125 files changed

+5148
-3088
lines changed

Some content is hidden

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

125 files changed

+5148
-3088
lines changed

Documentation/devicetree/bindings/phy/mediatek,tphy.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ description: |
6464
6565
properties:
6666
$nodename:
67-
pattern: "^t-phy@[0-9a-f]+$"
67+
pattern: "^t-phy(@[0-9a-f]+)?$"
6868

6969
compatible:
7070
oneOf:
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/phy/qcom,ipq5332-usb-hsphy.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: M31 USB PHY
8+
9+
maintainers:
10+
- Sricharan Ramabadhran <quic_srichara@quicinc.com>
11+
- Varadarajan Narayanan <quic_varada@quicinc.com>
12+
13+
description:
14+
USB M31 PHY (https://www.m31tech.com) found in Qualcomm
15+
IPQ5018, IPQ5332 SoCs.
16+
17+
properties:
18+
compatible:
19+
items:
20+
- const: qcom,ipq5332-usb-hsphy
21+
22+
"#phy-cells":
23+
const: 0
24+
25+
reg:
26+
maxItems: 1
27+
28+
clocks:
29+
maxItems: 1
30+
31+
clock-names:
32+
items:
33+
- const: cfg_ahb
34+
35+
resets:
36+
maxItems: 1
37+
38+
vdd-supply:
39+
description:
40+
Phandle to 5V regulator supply to PHY digital circuit.
41+
42+
additionalProperties: false
43+
44+
examples:
45+
- |
46+
#include <dt-bindings/clock/qcom,ipq5332-gcc.h>
47+
usb-phy@7b000 {
48+
compatible = "qcom,ipq5332-usb-hsphy";
49+
reg = <0x0007b000 0x12c>;
50+
51+
clocks = <&gcc GCC_USB0_PHY_CFG_AHB_CLK>;
52+
clock-names = "cfg_ahb";
53+
54+
#phy-cells = <0>;
55+
56+
resets = <&gcc GCC_QUSB2_0_PHY_BCR>;
57+
58+
vdd-supply = <&regulator_fixed_5p0>;
59+
};

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

Lines changed: 35 additions & 243 deletions
Original file line numberDiff line numberDiff line change
@@ -13,287 +13,79 @@ description:
1313
QMP PHY controller supports physical layer functionality for a number of
1414
controllers on Qualcomm chipsets, such as, PCIe, UFS, and USB.
1515

16-
Note that these bindings are for SoCs up to SC8180X. For newer SoCs, see
17-
qcom,sc8280xp-qmp-pcie-phy.yaml.
18-
1916
properties:
2017
compatible:
2118
enum:
2219
- qcom,ipq6018-qmp-pcie-phy
2320
- qcom,ipq8074-qmp-gen3-pcie-phy
2421
- qcom,ipq8074-qmp-pcie-phy
25-
- qcom,msm8998-qmp-pcie-phy
26-
- qcom,sc8180x-qmp-pcie-phy
27-
- qcom,sdm845-qhp-pcie-phy
28-
- qcom,sdm845-qmp-pcie-phy
29-
- qcom,sdx55-qmp-pcie-phy
30-
- qcom,sm8250-qmp-gen3x1-pcie-phy
31-
- qcom,sm8250-qmp-gen3x2-pcie-phy
32-
- qcom,sm8250-qmp-modem-pcie-phy
33-
- qcom,sm8450-qmp-gen3x1-pcie-phy
34-
- qcom,sm8450-qmp-gen4x2-pcie-phy
3522

3623
reg:
3724
items:
3825
- description: serdes
3926

40-
"#address-cells":
41-
enum: [ 1, 2 ]
42-
43-
"#size-cells":
44-
enum: [ 1, 2 ]
45-
46-
ranges: true
47-
4827
clocks:
49-
minItems: 2
50-
maxItems: 4
28+
maxItems: 3
5129

5230
clock-names:
53-
minItems: 2
54-
maxItems: 4
31+
items:
32+
- const: aux
33+
- const: cfg_ahb
34+
- const: pipe
5535

5636
resets:
57-
minItems: 1
5837
maxItems: 2
5938

6039
reset-names:
61-
minItems: 1
62-
maxItems: 2
63-
64-
vdda-phy-supply: true
65-
66-
vdda-pll-supply: true
67-
68-
vddp-ref-clk-supply: true
69-
70-
patternProperties:
71-
"^phy@[0-9a-f]+$":
72-
type: object
73-
description: single PHY-provider child node
74-
properties:
75-
reg:
76-
minItems: 3
77-
maxItems: 6
78-
79-
clocks:
80-
items:
81-
- description: PIPE clock
82-
83-
clock-names:
84-
deprecated: true
85-
items:
86-
- const: pipe0
87-
88-
"#clock-cells":
89-
const: 0
90-
91-
clock-output-names:
92-
maxItems: 1
40+
items:
41+
- const: phy
42+
- const: common
9343

94-
"#phy-cells":
95-
const: 0
44+
"#clock-cells":
45+
const: 0
9646

97-
required:
98-
- reg
99-
- clocks
100-
- "#clock-cells"
101-
- clock-output-names
102-
- "#phy-cells"
47+
clock-output-names:
48+
maxItems: 1
10349

104-
additionalProperties: false
50+
"#phy-cells":
51+
const: 0
10552

10653
required:
10754
- compatible
10855
- reg
109-
- "#address-cells"
110-
- "#size-cells"
111-
- ranges
11256
- clocks
11357
- clock-names
11458
- resets
11559
- reset-names
60+
- "#clock-cells"
61+
- clock-output-names
62+
- "#phy-cells"
11663

11764
additionalProperties: false
11865

119-
allOf:
120-
- if:
121-
properties:
122-
compatible:
123-
contains:
124-
enum:
125-
- qcom,msm8998-qmp-pcie-phy
126-
then:
127-
properties:
128-
clocks:
129-
maxItems: 3
130-
clock-names:
131-
items:
132-
- const: aux
133-
- const: cfg_ahb
134-
- const: ref
135-
resets:
136-
maxItems: 2
137-
reset-names:
138-
items:
139-
- const: phy
140-
- const: common
141-
required:
142-
- vdda-phy-supply
143-
- vdda-pll-supply
144-
145-
- if:
146-
properties:
147-
compatible:
148-
contains:
149-
enum:
150-
- qcom,ipq6018-qmp-pcie-phy
151-
- qcom,ipq8074-qmp-gen3-pcie-phy
152-
- qcom,ipq8074-qmp-pcie-phy
153-
then:
154-
properties:
155-
clocks:
156-
maxItems: 2
157-
clock-names:
158-
items:
159-
- const: aux
160-
- const: cfg_ahb
161-
resets:
162-
maxItems: 2
163-
reset-names:
164-
items:
165-
- const: phy
166-
- const: common
167-
168-
- if:
169-
properties:
170-
compatible:
171-
contains:
172-
enum:
173-
- qcom,sc8180x-qmp-pcie-phy
174-
- qcom,sdm845-qhp-pcie-phy
175-
- qcom,sdm845-qmp-pcie-phy
176-
- qcom,sdx55-qmp-pcie-phy
177-
- qcom,sm8250-qmp-gen3x1-pcie-phy
178-
- qcom,sm8250-qmp-gen3x2-pcie-phy
179-
- qcom,sm8250-qmp-modem-pcie-phy
180-
- qcom,sm8450-qmp-gen3x1-pcie-phy
181-
- qcom,sm8450-qmp-gen4x2-pcie-phy
182-
then:
183-
properties:
184-
clocks:
185-
maxItems: 4
186-
clock-names:
187-
items:
188-
- const: aux
189-
- const: cfg_ahb
190-
- const: ref
191-
- const: refgen
192-
resets:
193-
maxItems: 1
194-
reset-names:
195-
items:
196-
- const: phy
197-
required:
198-
- vdda-phy-supply
199-
- vdda-pll-supply
200-
201-
- if:
202-
properties:
203-
compatible:
204-
contains:
205-
enum:
206-
- qcom,sc8180x-qmp-pcie-phy
207-
- qcom,sm8250-qmp-gen3x2-pcie-phy
208-
- qcom,sm8250-qmp-modem-pcie-phy
209-
- qcom,sm8450-qmp-gen4x2-pcie-phy
210-
then:
211-
patternProperties:
212-
"^phy@[0-9a-f]+$":
213-
properties:
214-
reg:
215-
items:
216-
- description: TX lane 1
217-
- description: RX lane 1
218-
- description: PCS
219-
- description: TX lane 2
220-
- description: RX lane 2
221-
- description: PCS_MISC
222-
223-
- if:
224-
properties:
225-
compatible:
226-
contains:
227-
enum:
228-
- qcom,sdm845-qmp-pcie-phy
229-
- qcom,sdx55-qmp-pcie-phy
230-
- qcom,sm8250-qmp-gen3x1-pcie-phy
231-
- qcom,sm8450-qmp-gen3x1-pcie-phy
232-
then:
233-
patternProperties:
234-
"^phy@[0-9a-f]+$":
235-
properties:
236-
reg:
237-
items:
238-
- description: TX
239-
- description: RX
240-
- description: PCS
241-
- description: PCS_MISC
242-
243-
- if:
244-
properties:
245-
compatible:
246-
contains:
247-
enum:
248-
- qcom,ipq6018-qmp-pcie-phy
249-
- qcom,ipq8074-qmp-pcie-phy
250-
- qcom,msm8998-qmp-pcie-phy
251-
- qcom,sdm845-qhp-pcie-phy
252-
then:
253-
patternProperties:
254-
"^phy@[0-9a-f]+$":
255-
properties:
256-
reg:
257-
items:
258-
- description: TX
259-
- description: RX
260-
- description: PCS
261-
26266
examples:
26367
- |
264-
#include <dt-bindings/clock/qcom,gcc-sm8250.h>
265-
phy-wrapper@1c0e000 {
266-
compatible = "qcom,sm8250-qmp-gen3x2-pcie-phy";
267-
reg = <0x01c0e000 0x1c0>;
268-
#address-cells = <1>;
269-
#size-cells = <1>;
270-
ranges = <0x0 0x01c0e000 0x1000>;
271-
272-
clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>,
273-
<&gcc GCC_PCIE_1_CFG_AHB_CLK>,
274-
<&gcc GCC_PCIE_WIGIG_CLKREF_EN>,
275-
<&gcc GCC_PCIE1_PHY_REFGEN_CLK>;
276-
clock-names = "aux", "cfg_ahb", "ref", "refgen";
277-
278-
resets = <&gcc GCC_PCIE_1_PHY_BCR>;
279-
reset-names = "phy";
68+
#include <dt-bindings/clock/qcom,gcc-ipq6018.h>
69+
#include <dt-bindings/reset/qcom,gcc-ipq6018.h>
28070
281-
vdda-phy-supply = <&vreg_l10c_0p88>;
282-
vdda-pll-supply = <&vreg_l6b_1p2>;
71+
phy@84000 {
72+
compatible = "qcom,ipq6018-qmp-pcie-phy";
73+
reg = <0x0 0x00084000 0x0 0x1000>;
28374
284-
phy@200 {
285-
reg = <0x200 0x170>,
286-
<0x400 0x200>,
287-
<0xa00 0x1f0>,
288-
<0x600 0x170>,
289-
<0x800 0x200>,
290-
<0xe00 0xf4>;
75+
clocks = <&gcc GCC_PCIE0_AUX_CLK>,
76+
<&gcc GCC_PCIE0_AHB_CLK>,
77+
<&gcc GCC_PCIE0_PIPE_CLK>;
78+
clock-names = "aux",
79+
"cfg_ahb",
80+
"pipe";
29181
292-
clocks = <&gcc GCC_PCIE_1_PIPE_CLK>;
82+
clock-output-names = "gcc_pcie0_pipe_clk_src";
83+
#clock-cells = <0>;
29384
294-
#clock-cells = <0>;
295-
clock-output-names = "pcie_1_pipe_clk";
85+
#phy-cells = <0>;
29686
297-
#phy-cells = <0>;
298-
};
87+
resets = <&gcc GCC_PCIE0_PHY_BCR>,
88+
<&gcc GCC_PCIE0PHY_PHY_BCR>;
89+
reset-names = "phy",
90+
"common";
29991
};

0 commit comments

Comments
 (0)