Skip to content

Commit 50f737a

Browse files
committed
Merge tag 'phy-for-5.6_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy into usb-next
Kishon writes: phy: for 5.6 *) Add support in PHY core to create link between PHY consumer and PHY provider *) Add DisplayPort PHY configuration set to be used for negotiating the configurations to be used between DisplayPort controller and DisplayPort PHY *) Add PHY wrapper driver (configure inputs to Cadence Sierra PHY) for TI's J721E SoC and adapt Cadence Sierra PHY driver to be used for J721E SoC (Supports USB and PCIe) *) Add PHY driver for eMMC PHY in Intel LGM SoC *) Add PHY support for 7216 and 7211 Broadcom SoCs which uses the new Synopsys USB Controller *) Add support for 16nm SATA PHY present in Broadcom 7216 SoC *) Fix lost packet issue, fix MDIO from getting inaccessible, fix occasional transaction failures, fix USB driver from crashing in Broadcom USB PHY driver *) Fix missing PCS SW reset in UFS PHY of Qualcomm SM8150 *) Use "struct phy_configure_opts_mipi_dphy" to pass parameters from display controller to rockchip-inno-dsidphy *) Other cleanups including compile testing for some of the PHY drivers, fixing Kconfig indentation, duplicate writes in drivers etc., Signed-off-by: Kishon Vijay Abraham I <[email protected]> * tag 'phy-for-5.6_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy: (54 commits) dt-bindings: phy: Add PHY_TYPE_DP definition phy: ti: j721e-wiz: Fix return value check in wiz_probe() dt-bindings: usb: Convert Allwinner A80 USB PHY controller to a schema phy: intel-lgm-emmc: Fix warning by adding missing MODULE_LICENSE phy: ti: j721e-wiz: Manage typec-gpio-dir dt-bindings: phy: ti,phy-j721e-wiz: Add Type-C dir GPIO phy: cadence: Sierra: add phy_reset hook phy: cadence: Sierra: remove redundant initialization of pointer regmap phy: Add DisplayPort configuration options phy: Enable compile testing for some of drivers phy: mediatek: Fix Kconfig indentation phy: intel-lgm-emmc: Add support for eMMC PHY dt-bindings: phy: intel-emmc-phy: Add YAML schema for LGM eMMC PHY phy: ti: j721e-wiz: Add support for WIZ module present in TI J721E SoC dt-bindings: phy: Document WIZ (SERDES wrapper) bindings phy: cadence: Sierra: Use correct dev pointer in cdns_sierra_phy_remove() phy: cadence: Sierra: Set cmn_refclk_dig_div/cmn_refclk1_dig_div frequency to 25MHz phy: cadence: Sierra: Change MAX_LANES of Sierra to 16 phy: cadence: Sierra: Check for PLL lock during PHY power on phy: cadence: Sierra: Get reset control "array" for each link ...
2 parents 4baa550 + 8a79db5 commit 50f737a

38 files changed

+3614
-630
lines changed
Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/phy/allwinner,sun9i-a80-usb-phy.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Allwinner A80 USB PHY Device Tree Bindings
8+
9+
maintainers:
10+
- Chen-Yu Tsai <[email protected]>
11+
- Maxime Ripard <[email protected]>
12+
13+
properties:
14+
"#phy-cells":
15+
const: 0
16+
17+
compatible:
18+
const: allwinner,sun9i-a80-usb-phy
19+
20+
reg:
21+
maxItems: 1
22+
23+
clocks:
24+
anyOf:
25+
- description: Main PHY Clock
26+
27+
- items:
28+
- description: Main PHY clock
29+
- description: HSIC 12MHz clock
30+
- description: HSIC 480MHz clock
31+
32+
clock-names:
33+
oneOf:
34+
- const: phy
35+
36+
- items:
37+
- const: phy
38+
- const: hsic_12M
39+
- const: hsic_480M
40+
41+
resets:
42+
anyOf:
43+
- description: Normal USB PHY reset
44+
45+
- items:
46+
- description: Normal USB PHY reset
47+
- description: HSIC Reset
48+
49+
reset-names:
50+
oneOf:
51+
- const: phy
52+
53+
- items:
54+
- const: phy
55+
- const: hsic
56+
57+
phy_type:
58+
const: hsic
59+
description:
60+
When absent, the PHY type will be assumed to be normal USB.
61+
62+
phy-supply:
63+
description:
64+
Regulator that powers VBUS
65+
66+
required:
67+
- "#phy-cells"
68+
- compatible
69+
- reg
70+
- clocks
71+
- clock-names
72+
- resets
73+
- reset-names
74+
75+
additionalProperties: false
76+
77+
if:
78+
properties:
79+
phy_type:
80+
const: hsic
81+
82+
required:
83+
- phy_type
84+
85+
then:
86+
properties:
87+
clocks:
88+
maxItems: 3
89+
90+
clock-names:
91+
maxItems: 3
92+
93+
resets:
94+
maxItems: 2
95+
96+
reset-names:
97+
maxItems: 2
98+
99+
examples:
100+
- |
101+
#include <dt-bindings/clock/sun9i-a80-usb.h>
102+
#include <dt-bindings/reset/sun9i-a80-usb.h>
103+
104+
usbphy1: phy@a00800 {
105+
compatible = "allwinner,sun9i-a80-usb-phy";
106+
reg = <0x00a00800 0x4>;
107+
clocks = <&usb_clocks CLK_USB0_PHY>;
108+
clock-names = "phy";
109+
resets = <&usb_clocks RST_USB0_PHY>;
110+
reset-names = "phy";
111+
phy-supply = <&reg_usb1_vbus>;
112+
#phy-cells = <0>;
113+
};
114+
115+
- |
116+
#include <dt-bindings/clock/sun9i-a80-usb.h>
117+
#include <dt-bindings/reset/sun9i-a80-usb.h>
118+
119+
usbphy3: phy@a02800 {
120+
compatible = "allwinner,sun9i-a80-usb-phy";
121+
reg = <0x00a02800 0x4>;
122+
clocks = <&usb_clocks CLK_USB2_PHY>,
123+
<&usb_clocks CLK_USB_HSIC>,
124+
<&usb_clocks CLK_USB2_HSIC>;
125+
clock-names = "phy",
126+
"hsic_12M",
127+
"hsic_480M";
128+
resets = <&usb_clocks RST_USB2_PHY>,
129+
<&usb_clocks RST_USB2_HSIC>;
130+
reset-names = "phy",
131+
"hsic";
132+
phy_type = "hsic";
133+
phy-supply = <&reg_usb3_vbus>;
134+
#phy-cells = <0>;
135+
};
Lines changed: 56 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,49 @@
11
Broadcom STB USB PHY
22

33
Required properties:
4-
- compatible: brcm,brcmstb-usb-phy
5-
- reg: two offset and length pairs.
6-
The first pair specifies a manditory set of memory mapped
7-
registers used for general control of the PHY.
8-
The second pair specifies optional registers used by some of
9-
the SoCs that support USB 3.x
10-
- #phy-cells: Shall be 1 as it expects one argument for setting
11-
the type of the PHY. Possible values are:
12-
- PHY_TYPE_USB2 for USB1.1/2.0 PHY
13-
- PHY_TYPE_USB3 for USB3.x PHY
4+
- compatible: should be one of
5+
"brcm,brcmstb-usb-phy"
6+
"brcm,bcm7216-usb-phy"
7+
"brcm,bcm7211-usb-phy"
8+
9+
- reg and reg-names properties requirements are specific to the
10+
compatible string.
11+
"brcm,brcmstb-usb-phy":
12+
- reg: 1 or 2 offset and length pairs. One for the base CTRL registers
13+
and an optional pair for systems with USB 3.x support
14+
- reg-names: not specified
15+
"brcm,bcm7216-usb-phy":
16+
- reg: 3 offset and length pairs for CTRL, XHCI_EC and XHCI_GBL
17+
registers
18+
- reg-names: "ctrl", "xhci_ec", "xhci_gbl"
19+
"brcm,bcm7211-usb-phy":
20+
- reg: 5 offset and length pairs for CTRL, XHCI_EC, XHCI_GBL,
21+
USB_PHY and USB_MDIO registers and an optional pair
22+
for the BDC registers
23+
- reg-names: "ctrl", "xhci_ec", "xhci_gbl", "usb_phy", "usb_mdio", "bdc_ec"
24+
25+
- #phy-cells: Shall be 1 as it expects one argument for setting
26+
the type of the PHY. Possible values are:
27+
- PHY_TYPE_USB2 for USB1.1/2.0 PHY
28+
- PHY_TYPE_USB3 for USB3.x PHY
1429

1530
Optional Properties:
1631
- clocks : clock phandles.
1732
- clock-names: String, clock name.
33+
- interrupts: wakeup interrupt
34+
- interrupt-names: "wakeup"
1835
- brcm,ipp: Boolean, Invert Port Power.
1936
Possible values are: 0 (Don't invert), 1 (Invert)
2037
- brcm,ioc: Boolean, Invert Over Current detection.
2138
Possible values are: 0 (Don't invert), 1 (Invert)
22-
NOTE: one or both of the following two properties must be set
23-
- brcm,has-xhci: Boolean indicating the phy has an XHCI phy.
24-
- brcm,has-eohci: Boolean indicating the phy has an EHCI/OHCI phy.
2539
- dr_mode: String, PHY Device mode.
2640
Possible values are: "host", "peripheral ", "drd" or "typec-pd"
2741
If this property is not defined, the phy will default to "host" mode.
42+
- brcm,syscon-piarbctl: phandle to syscon for handling config registers
43+
NOTE: one or both of the following two properties must be set
44+
- brcm,has-xhci: Boolean indicating the phy has an XHCI phy.
45+
- brcm,has-eohci: Boolean indicating the phy has an EHCI/OHCI phy.
46+
2847

2948
Example:
3049

@@ -41,3 +60,27 @@ usbphy_0: usb-phy@f0470200 {
4160
clocks = <&usb20>, <&usb30>;
4261
clock-names = "sw_usb", "sw_usb3";
4362
};
63+
64+
usb-phy@29f0200 {
65+
reg = <0x29f0200 0x200>,
66+
<0x29c0880 0x30>,
67+
<0x29cc100 0x534>,
68+
<0x2808000 0x24>,
69+
<0x2980080 0x8>;
70+
reg-names = "ctrl",
71+
"xhci_ec",
72+
"xhci_gbl",
73+
"usb_phy",
74+
"usb_mdio";
75+
brcm,ioc = <0x0>;
76+
brcm,ipp = <0x0>;
77+
compatible = "brcm,bcm7211-usb-phy";
78+
interrupts = <0x30>;
79+
interrupt-parent = <&vpu_intr1_nosec_intc>;
80+
interrupt-names = "wake";
81+
#phy-cells = <0x1>;
82+
brcm,has-xhci;
83+
syscon-piarbctl = <&syscon_piarbctl>;
84+
clocks = <&scmi_clk 256>;
85+
clock-names = "sw_usb";
86+
};

Documentation/devicetree/bindings/phy/brcm-sata-phy.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
Required properties:
44
- compatible: should be one or more of
5+
"brcm,bcm7216-sata-phy"
56
"brcm,bcm7425-sata-phy"
67
"brcm,bcm7445-sata-phy"
78
"brcm,iproc-ns2-sata-phy"
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
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,lgm-emmc-phy.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Intel Lightning Mountain(LGM) eMMC PHY Device Tree Bindings
8+
9+
maintainers:
10+
- Ramuthevar Vadivel Murugan <[email protected]>
11+
12+
description: |+
13+
Bindings for eMMC PHY on Intel's Lightning Mountain SoC, syscon
14+
node is used to reference the base address of eMMC phy registers.
15+
16+
The eMMC PHY node should be the child of a syscon node with the
17+
required property:
18+
19+
- compatible: Should be one of the following:
20+
"intel,lgm-syscon", "syscon"
21+
- reg:
22+
maxItems: 1
23+
24+
properties:
25+
compatible:
26+
const: intel,lgm-emmc-phy
27+
28+
"#phy-cells":
29+
const: 0
30+
31+
reg:
32+
maxItems: 1
33+
34+
clocks:
35+
maxItems: 1
36+
37+
required:
38+
- "#phy-cells"
39+
- compatible
40+
- reg
41+
- clocks
42+
43+
examples:
44+
- |
45+
sysconf: chiptop@e0200000 {
46+
compatible = "intel,lgm-syscon", "syscon";
47+
reg = <0xe0200000 0x100>;
48+
49+
emmc-phy: emmc-phy@a8 {
50+
compatible = "intel,lgm-emmc-phy";
51+
reg = <0x00a8 0x10>;
52+
clocks = <&emmc>;
53+
#phy-cells = <0>;
54+
};
55+
};
56+
...

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

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,24 @@ Cadence Sierra PHY
22
-----------------------
33

44
Required properties:
5-
- compatible: cdns,sierra-phy-t0
6-
- clocks: Must contain an entry in clock-names.
7-
See ../clocks/clock-bindings.txt for details.
8-
- clock-names: Must be "phy_clk"
5+
- compatible: Must be "cdns,sierra-phy-t0" for Sierra in Cadence platform
6+
Must be "ti,sierra-phy-t0" for Sierra in TI's J721E SoC.
97
- resets: Must contain an entry for each in reset-names.
108
See ../reset/reset.txt for details.
119
- reset-names: Must include "sierra_reset" and "sierra_apb".
1210
"sierra_reset" must control the reset line to the PHY.
1311
"sierra_apb" must control the reset line to the APB PHY
14-
interface.
12+
interface ("sierra_apb" is optional).
1513
- reg: register range for the PHY.
1614
- #address-cells: Must be 1
1715
- #size-cells: Must be 0
1816

1917
Optional properties:
18+
- clocks: Must contain an entry in clock-names.
19+
See ../clocks/clock-bindings.txt for details.
20+
- clock-names: Must contain "cmn_refclk_dig_div" and
21+
"cmn_refclk1_dig_div" for configuring the frequency of
22+
the clock to the lanes. "phy_clk" is deprecated.
2023
- cdns,autoconf: A boolean property whose presence indicates that the
2124
PHY registers will be configured by hardware. If not
2225
present, all sub-node optional properties must be

Documentation/devicetree/bindings/phy/rockchip,px30-dsi-dphy.yaml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@ properties:
1313
"#phy-cells":
1414
const: 0
1515

16-
"#clock-cells":
17-
const: 0
18-
1916
compatible:
2017
enum:
2118
- rockchip,px30-dsi-dphy
@@ -49,7 +46,6 @@ properties:
4946

5047
required:
5148
- "#phy-cells"
52-
- "#clock-cells"
5349
- compatible
5450
- reg
5551
- clocks
@@ -66,7 +62,6 @@ examples:
6662
reg = <0x0 0xff2e0000 0x0 0x10000>;
6763
clocks = <&pmucru 13>, <&cru 12>;
6864
clock-names = "ref", "pclk";
69-
#clock-cells = <0>;
7065
resets = <&cru 12>;
7166
reset-names = "apb";
7267
#phy-cells = <0>;

Documentation/devicetree/bindings/phy/sun9i-usb-phy.txt

Lines changed: 0 additions & 37 deletions
This file was deleted.

0 commit comments

Comments
 (0)