Skip to content

Commit e75a58d

Browse files
committed
Merge tag 'phy-for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy into char-misc-next
Vinod writes: phy-for-5.17 - New support: - Qualcomm eDP PHY driver - Qualcomm SM8450 UFS, USB2, USB3, PCIe0 and PCIe1 phy support - Lan966x ethernet serdes PHY driver - Support for uniphier NXI & Pro4 SoC - Qualcomm SM6350 USB2 support - Amlogic Meson8 HDMI TX PHY driver - Rockchip rk3568 usb2 support - Intel Thunder Bay eMMC PHY driver - Freescale IMX8 PCIe phy driver - Updates: - Cadence Sierra driver updates for multilink configurations - Bcm usb2 updates for Phy reg space * tag 'phy-for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy: (72 commits) phy: cadence: Sierra: Add support for derived reference clock output dt-bindings: phy: cadence-sierra: Add clock ID for derived reference clock phy: cadence: Sierra: Add PCIe + QSGMII PHY multilink configuration phy: cadence: Sierra: Add support for PHY multilink configurations phy: cadence: Sierra: Fix to get correct parent for mux clocks phy: cadence: Sierra: Update single link PCIe register configuration phy: cadence: Sierra: Check PIPE mode PHY status to be ready for operation phy: cadence: Sierra: Check cmn_ready assertion during PHY power on phy: cadence: Sierra: Add PHY PCS common register configurations phy: cadence: Sierra: Rename some regmap variables to be in sync with Sierra documentation phy: cadence: Sierra: Add support to get SSC type from device tree dt-bindings: phy: cadence-sierra: Add binding to specify SSC mode dt-bindings: phy: cadence-torrent: Rename SSC macros to use generic names phy: cadence: Sierra: Prepare driver to add support for multilink configurations phy: cadence: Sierra: Use of_device_get_match_data() to get driver data phy: mediatek: Fix missing check in mtk_mipi_tx_probe phy: uniphier-usb3ss: fix unintended writing zeros to PHY register phy: phy-mtk-tphy: use new io helpers to access register phy: phy-mtk-xsphy: use new io helpers to access register phy: mediatek: add helpers to update bits of registers ...
2 parents 1563fca + 09d976b commit e75a58d

Some content is hidden

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

58 files changed

+5464
-624
lines changed
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: "http://devicetree.org/schemas/phy/amlogic,meson8-hdmi-tx-phy.yaml#"
5+
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
6+
7+
title: Amlogic Meson8, Meson8b and Meson8m2 HDMI TX PHY
8+
9+
maintainers:
10+
- Martin Blumenstingl <[email protected]>
11+
12+
description: |+
13+
The HDMI TX PHY node should be the child of a syscon node with the
14+
required property:
15+
16+
compatible = "amlogic,meson-hhi-sysctrl", "simple-mfd", "syscon"
17+
18+
Refer to the bindings described in
19+
Documentation/devicetree/bindings/mfd/syscon.yaml
20+
21+
properties:
22+
$nodename:
23+
pattern: "^hdmi-phy@[0-9a-f]+$"
24+
25+
compatible:
26+
oneOf:
27+
- items:
28+
- enum:
29+
- amlogic,meson8b-hdmi-tx-phy
30+
- amlogic,meson8m2-hdmi-tx-phy
31+
- const: amlogic,meson8-hdmi-tx-phy
32+
- const: amlogic,meson8-hdmi-tx-phy
33+
34+
reg:
35+
maxItems: 1
36+
37+
clocks:
38+
minItems: 1
39+
description:
40+
HDMI TMDS clock
41+
42+
"#phy-cells":
43+
const: 0
44+
45+
required:
46+
- compatible
47+
- "#phy-cells"
48+
49+
additionalProperties: false
50+
51+
examples:
52+
- |
53+
hdmi-phy@3a0 {
54+
compatible = "amlogic,meson8-hdmi-tx-phy";
55+
reg = <0x3a0 0xc>;
56+
clocks = <&tmds_clock>;
57+
#phy-cells = <0>;
58+
};
59+
- |
60+
hdmi-phy@3a0 {
61+
compatible = "amlogic,meson8b-hdmi-tx-phy", "amlogic,meson8-hdmi-tx-phy";
62+
reg = <0x3a0 0xc>;
63+
clocks = <&tmds_clock>;
64+
#phy-cells = <0>;
65+
};
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/phy/fsl,imx8-pcie-phy.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Freescale i.MX8 SoC series PCIe PHY Device Tree Bindings
8+
9+
maintainers:
10+
- Richard Zhu <[email protected]>
11+
12+
properties:
13+
"#phy-cells":
14+
const: 0
15+
16+
compatible:
17+
enum:
18+
- fsl,imx8mm-pcie-phy
19+
20+
reg:
21+
maxItems: 1
22+
23+
clocks:
24+
maxItems: 1
25+
26+
clock-names:
27+
items:
28+
- const: ref
29+
30+
resets:
31+
maxItems: 1
32+
33+
reset-names:
34+
items:
35+
- const: pciephy
36+
37+
fsl,refclk-pad-mode:
38+
description: |
39+
Specifies the mode of the refclk pad used. It can be UNUSED(PHY
40+
refclock is derived from SoC internal source), INPUT(PHY refclock
41+
is provided externally via the refclk pad) or OUTPUT(PHY refclock
42+
is derived from SoC internal source and provided on the refclk pad).
43+
Refer include/dt-bindings/phy/phy-imx8-pcie.h for the constants
44+
to be used.
45+
$ref: /schemas/types.yaml#/definitions/uint32
46+
enum: [ 0, 1, 2 ]
47+
48+
fsl,tx-deemph-gen1:
49+
description: Gen1 De-emphasis value (optional).
50+
$ref: /schemas/types.yaml#/definitions/uint32
51+
default: 0
52+
53+
fsl,tx-deemph-gen2:
54+
description: Gen2 De-emphasis value (optional).
55+
$ref: /schemas/types.yaml#/definitions/uint32
56+
default: 0
57+
58+
fsl,clkreq-unsupported:
59+
type: boolean
60+
description: A boolean property indicating the CLKREQ# signal is
61+
not supported in the board design (optional)
62+
63+
required:
64+
- "#phy-cells"
65+
- compatible
66+
- reg
67+
- clocks
68+
- clock-names
69+
- fsl,refclk-pad-mode
70+
71+
additionalProperties: false
72+
73+
examples:
74+
- |
75+
#include <dt-bindings/clock/imx8mm-clock.h>
76+
#include <dt-bindings/phy/phy-imx8-pcie.h>
77+
#include <dt-bindings/reset/imx8mq-reset.h>
78+
79+
pcie_phy: pcie-phy@32f00000 {
80+
compatible = "fsl,imx8mm-pcie-phy";
81+
reg = <0x32f00000 0x10000>;
82+
clocks = <&clk IMX8MM_CLK_PCIE1_PHY>;
83+
clock-names = "ref";
84+
assigned-clocks = <&clk IMX8MM_CLK_PCIE1_PHY>;
85+
assigned-clock-rates = <100000000>;
86+
assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_100M>;
87+
resets = <&src IMX8MQ_RESET_PCIEPHY>;
88+
reset-names = "pciephy";
89+
fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>;
90+
#phy-cells = <0>;
91+
};
92+
...
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/phy/intel,phy-thunderbay-emmc.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Intel Thunder Bay eMMC PHY bindings
8+
9+
maintainers:
10+
- Srikandan Nandhini <[email protected]>
11+
12+
properties:
13+
compatible:
14+
const: intel,thunderbay-emmc-phy
15+
16+
"#phy-cells":
17+
const: 0
18+
19+
reg:
20+
maxItems: 1
21+
22+
clocks:
23+
maxItems: 1
24+
25+
clock-names:
26+
items:
27+
- const: emmcclk
28+
29+
required:
30+
- "#phy-cells"
31+
- compatible
32+
- reg
33+
- clocks
34+
35+
additionalProperties: false
36+
37+
examples:
38+
- |
39+
mmc_phy@80440800 {
40+
#phy-cells = <0x0>;
41+
compatible = "intel,thunderbay-emmc-phy";
42+
status = "okay";
43+
reg = <0x80440800 0x100>;
44+
clocks = <&emmc>;
45+
clock-names = "emmcclk";
46+
};

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

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,24 @@ patternProperties:
160160
- PHY_TYPE_PCIE
161161
- PHY_TYPE_SATA
162162
163+
nvmem-cells:
164+
items:
165+
- description: internal R efuse for U2 PHY or U3/PCIe PHY
166+
- description: rx_imp_sel efuse for U3/PCIe PHY
167+
- description: tx_imp_sel efuse for U3/PCIe PHY
168+
description: |
169+
Phandles to nvmem cell that contains the efuse data;
170+
Available only for U2 PHY or U3/PCIe PHY of version 2/3, these
171+
three items should be provided at the same time for U3/PCIe PHY,
172+
when use software to load efuse;
173+
If unspecified, will use hardware auto-load efuse.
174+
175+
nvmem-cell-names:
176+
items:
177+
- const: intr
178+
- const: rx_imp
179+
- const: tx_imp
180+
163181
# The following optional vendor properties are only for debug or HQA test
164182
mediatek,eye-src:
165183
description:
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-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/phy/microchip,lan966x-serdes.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Microchip Lan966x Serdes controller
8+
9+
maintainers:
10+
- Horatiu Vultur <[email protected]>
11+
12+
description: |
13+
Lan966x has 7 interfaces, consisting of 2 copper transceivers(CU),
14+
3 SERDES6G and 2 RGMII interfaces. Two of the SERDES6G support QSGMII.
15+
Also it has 8 logical Ethernet ports which can be connected to these
16+
interfaces. The Serdes controller will allow to configure these interfaces
17+
and allows to "mux" the interfaces to different ports.
18+
19+
For simple selection of the interface that is used with a port, the
20+
following macros are defined CU(X), SERDES6G(X), RGMII(X). Where X is a
21+
number that represents the index of that interface type. For example
22+
CU(1) means use interface copper transceivers 1. SERDES6G(2) means use
23+
interface SerDes 2.
24+
25+
properties:
26+
$nodename:
27+
pattern: "^serdes@[0-9a-f]+$"
28+
29+
compatible:
30+
const: microchip,lan966x-serdes
31+
32+
reg:
33+
items:
34+
- description: HSIO registers
35+
- description: HW_STAT register
36+
37+
'#phy-cells':
38+
const: 2
39+
description: |
40+
- Input port to use for a given macro.
41+
- The macro to be used. The macros are defined in
42+
dt-bindings/phy/phy-lan966x-serdes.
43+
44+
required:
45+
- compatible
46+
- reg
47+
- '#phy-cells'
48+
49+
additionalProperties: false
50+
51+
examples:
52+
- |
53+
serdes: serdes@e2004010 {
54+
compatible = "microchip,lan966x-serdes";
55+
reg = <0xe202c000 0x9c>, <0xe2004010 0x4>;
56+
#phy-cells = <2>;
57+
};
58+
59+
...

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,15 @@ patternProperties:
113113
minimum: 1
114114
maximum: 16
115115

116+
cdns,ssc-mode:
117+
description:
118+
Specifies the Spread Spectrum Clocking mode used. It can be NO_SSC,
119+
EXTERNAL_SSC or INTERNAL_SSC.
120+
Refer include/dt-bindings/phy/phy-cadence.h for the constants to be used.
121+
$ref: /schemas/types.yaml#/definitions/uint32
122+
enum: [0, 1, 2]
123+
default: 1
124+
116125
required:
117126
- reg
118127
- resets

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ examples:
202202
#phy-cells = <0>;
203203
cdns,phy-type = <PHY_TYPE_PCIE>;
204204
cdns,num-lanes = <2>;
205-
cdns,ssc-mode = <TORRENT_SERDES_NO_SSC>;
205+
cdns,ssc-mode = <CDNS_SERDES_NO_SSC>;
206206
};
207207
208208
phy@2 {
@@ -211,7 +211,7 @@ examples:
211211
#phy-cells = <0>;
212212
cdns,phy-type = <PHY_TYPE_SGMII>;
213213
cdns,num-lanes = <1>;
214-
cdns,ssc-mode = <TORRENT_SERDES_NO_SSC>;
214+
cdns,ssc-mode = <CDNS_SERDES_NO_SSC>;
215215
};
216216
};
217217
};

0 commit comments

Comments
 (0)