Skip to content

Commit

Permalink
Merge tag 'phy-for-6.1' of git://git.kernel.org/pub/scm/linux/kernel/…
Browse files Browse the repository at this point in the history
…git/phy/linux-phy

Pull phy updates from Vinod Koul:
 "This contains bunch of new device support and one new Sunplus driver
  along with updates which include another big round of qmp phy
  conversion.

  New support:
   - Qualcomm SC8280XP eDP & DP and USB3 UNI phy (Bjorn Andersson)
   - Rockchip rk3568 inno dsidphy (Chris Morgan)
   - ocelot-serdes phy yaml binding (Colin Foster)
   - Renesas gen2-usb phy yaml binding (Geert Uytterhoeven)
   - RGMII suport in lan966x driver (Horatiu Vultur)
   - Qualcomm SM6375 usb snps-femto-v2 bindings (Konrad Dybcio)
   - Rockchip rk356x csi-dphya (Michael Riesch)
   - Qualcomm sdm670 usb2 bindings (Richard Acayan)
   - Sunplus USB2 PHY (Vincent Shih)

  Updates:
   - Mediatek hdmi, ufs, tphy and xsphy updates to use bitfield helpers
     (Chunfeng Yun)
   - Continued Qualcomm qmp phy driver split and cleanup. More patches
     are under review and expected that next cycle might see completion
     of this activity (Dmitry Baryshkov & Johan Hovold)
   - TI wiz driver support for j7200 10g (Roger Quadros)
   - Qualcomm femto phy driver support for override params to help with
     tuning (Sandeep Maheswaram)
   - SGMII support in TI wiz driver (Siddharth Vadapalli)
   - dev_err_probe simplification (Yuan Can)"

* tag 'phy-for-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy: (170 commits)
  phy: phy-mtk-dp: make array driving_params static const
  dt-bindings: phy: qcom,qusb2: document sdm670 compatible
  phy: qcom-qmp-pcie: fix resource mapping for SDM845 QHP PHY
  phy: rockchip-snps-pcie3: only look for rockchip,pipe-grf on rk3588
  phy: tegra: xusb: Enable usb role switch attribute
  phy: mediatek: fix build warning of FIELD_PREP()
  phy: qcom-qmp-usb: Use dev_err_probe() to simplify code
  phy: qcom-qmp-ufs: Use dev_err_probe() to simplify code
  phy: qcom-qmp-pcie-msm8996: Use dev_err_probe() to simplify code
  phy: qcom-qmp-combo: Use dev_err_probe() to simplify code
  phy: qualcomm: call clk_disable_unprepare in the error handling
  phy: intel: Use dev_err_probe() to simplify code
  phy: tegra: xusb: Use dev_err_probe() to simplify code
  phy: qcom-snps: Use dev_err_probe() to simplify code
  phy: qcom-qusb2: Use dev_err_probe() to simplify code
  phy: qcom-qmp-pcie: Use dev_err_probe() to simplify code
  phy: ti: phy-j721e-wiz: fix reference leaks in wiz_probe()
  phy: mediatek: mipi: remove register access helpers
  phy: mediatek: mipi: mt8183: use common helper to access registers
  phy: mediatek: mipi: mt8183: use GENMASK to generate bits mask
  ...
  • Loading branch information
torvalds committed Oct 7, 2022
2 parents 416a2f4 + 9aa0dad commit 33e591d
Show file tree
Hide file tree
Showing 77 changed files with 5,351 additions and 2,654 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,12 @@ patternProperties:
description:
Clock provider for TI EHRPWM nodes.

"phy@[0-9a-f]+$":
type: object
$ref: /schemas/phy/ti,phy-gmii-sel.yaml#
description:
The phy node corresponding to the ethernet MAC.

required:
- compatible
- reg
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ properties:
patternProperties:
"^pcie-phy@[0-9]+$":
type: object
additionalProperties: false
description: >
PCIe PHY child nodes
Expand Down
2 changes: 1 addition & 1 deletion Documentation/devicetree/bindings/phy/cdns,dphy-rx.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Cadence DPHY Rx Device Tree Bindings

maintainers:
- Pratyush Yadav <[email protected]>
- Pratyush Yadav <[email protected]>

properties:
compatible:
Expand Down
2 changes: 1 addition & 1 deletion Documentation/devicetree/bindings/phy/cdns,dphy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Cadence DPHY Device Tree Bindings

maintainers:
- Pratyush Yadav <[email protected]>
- Pratyush Yadav <[email protected]>

properties:
compatible:
Expand Down
11 changes: 11 additions & 0 deletions Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,7 @@ patternProperties:
- PHY_TYPE_USB3
- PHY_TYPE_PCIE
- PHY_TYPE_SATA
- PHY_TYPE_SGMII
nvmem-cells:
items:
Expand Down Expand Up @@ -218,6 +219,16 @@ patternProperties:
minimum: 1
maximum: 15

mediatek,pre-emphasis:
description:
The level of pre-emphasis which used to widen the eye opening and
boost eye swing, the unit step is about 4.16% increment; e.g. the
level 1 means amplitude increases about 4.16%, the level 2 is about
8.3% etc. (U2 phy)
$ref: /schemas/types.yaml#/definitions/uint32
minimum: 1
maximum: 3

mediatek,bc12:
description:
Specify the flag to enable BC1.2 if support it
Expand Down
56 changes: 56 additions & 0 deletions Documentation/devicetree/bindings/phy/mscc,vsc7514-serdes.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/phy/mscc,vsc7514-serdes.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Microsemi Ocelot SerDes muxing

maintainers:
- Alexandre Belloni <[email protected]>
- [email protected]

description: |
On Microsemi Ocelot, there is a handful of registers in HSIO address
space for setting up the SerDes to switch port muxing.
A SerDes X can be "muxed" to work with switch port Y or Z for example.
One specific SerDes can also be used as a PCIe interface.
Hence, a SerDes represents an interface, be it an Ethernet or a PCIe one.
There are two kinds of SerDes: SERDES1G supports 10/100Mbps in
half/full-duplex and 1000Mbps in full-duplex mode while SERDES6G supports
10/100Mbps in half/full-duplex and 1000/2500Mbps in full-duplex mode.
Also, SERDES6G number (aka "macro") 0 is the only interface supporting
QSGMII.
This is a child of the HSIO syscon ("mscc,ocelot-hsio", see
Documentation/devicetree/bindings/mips/mscc.txt) on the Microsemi Ocelot.
properties:
compatible:
enum:
- mscc,vsc7514-serdes

"#phy-cells":
const: 2
description: |
The first number defines the input port to use for a given SerDes macro.
The second defines the macro to use. They are defined in
dt-bindings/phy/phy-ocelot-serdes.h
required:
- compatible
- "#phy-cells"

additionalProperties:
false

examples:
- |
serdes: serdes {
compatible = "mscc,vsc7514-serdes";
#phy-cells = <2>;
};
43 changes: 0 additions & 43 deletions Documentation/devicetree/bindings/phy/phy-ocelot-serdes.txt

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ properties:
compatible:
enum:
- rockchip,px30-usb2phy
- rockchip,rk3128-usb2phy
- rockchip,rk3228-usb2phy
- rockchip,rk3308-usb2phy
- rockchip,rk3328-usb2phy
Expand Down
2 changes: 2 additions & 0 deletions Documentation/devicetree/bindings/phy/phy-stm32-usbphyc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,8 @@ patternProperties:
connector:
type: object
$ref: /schemas/connector/usb-connector.yaml
unevaluatedProperties: false

properties:
vbus-supply: true

Expand Down
2 changes: 2 additions & 0 deletions Documentation/devicetree/bindings/phy/qcom,edp-phy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ properties:
enum:
- qcom,sc7280-edp-phy
- qcom,sc8180x-edp-phy
- qcom,sc8280xp-dp-phy
- qcom,sc8280xp-edp-phy

reg:
items:
Expand Down
189 changes: 189 additions & 0 deletions Documentation/devicetree/bindings/phy/qcom,msm8996-qmp-pcie-phy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,189 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/phy/qcom,msm8996-qmp-pcie-phy.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm QMP PHY controller (MSM8996 PCIe)

maintainers:
- Vinod Koul <[email protected]>

description:
QMP PHY controller supports physical layer functionality for a number of
controllers on Qualcomm chipsets, such as, PCIe, UFS, and USB.

properties:
compatible:
const: qcom,msm8996-qmp-pcie-phy

reg:
items:
- description: serdes

"#address-cells":
enum: [ 1, 2 ]

"#size-cells":
enum: [ 1, 2 ]

ranges: true

clocks:
maxItems: 3

clock-names:
items:
- const: aux
- const: cfg_ahb
- const: ref

resets:
maxItems: 3

reset-names:
items:
- const: phy
- const: common
- const: cfg

vdda-phy-supply: true

vdda-pll-supply: true

vddp-ref-clk-supply: true

patternProperties:
"^phy@[0-9a-f]+$":
type: object
description: one child node per PHY provided by this block
properties:
reg:
items:
- description: TX
- description: RX
- description: PCS

clocks:
items:
- description: PIPE clock

clock-names:
deprecated: true
items:
- enum:
- pipe0
- pipe1
- pipe2

resets:
items:
- description: PHY reset

reset-names:
deprecated: true
items:
- enum:
- lane0
- lane1
- lane2

"#clock-cells":
const: 0

clock-output-names:
maxItems: 1

"#phy-cells":
const: 0

required:
- reg
- clocks
- resets
- "#clock-cells"
- clock-output-names
- "#phy-cells"

additionalProperties: false

required:
- compatible
- reg
- "#address-cells"
- "#size-cells"
- ranges
- clocks
- clock-names
- resets
- reset-names
- vdda-phy-supply
- vdda-pll-supply

additionalProperties: false

examples:
- |
#include <dt-bindings/clock/qcom,gcc-msm8996.h>
pcie_phy: phy-wrapper@34000 {
compatible = "qcom,msm8996-qmp-pcie-phy";
reg = <0x34000 0x488>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x0 0x34000 0x4000>;
clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>,
<&gcc GCC_PCIE_PHY_CFG_AHB_CLK>,
<&gcc GCC_PCIE_CLKREF_CLK>;
clock-names = "aux", "cfg_ahb", "ref";
resets = <&gcc GCC_PCIE_PHY_BCR>,
<&gcc GCC_PCIE_PHY_COM_BCR>,
<&gcc GCC_PCIE_PHY_COM_NOCSR_BCR>;
reset-names = "phy", "common", "cfg";
vdda-phy-supply = <&vreg_l28a_0p925>;
vdda-pll-supply = <&vreg_l12a_1p8>;
pciephy_0: phy@1000 {
reg = <0x1000 0x130>,
<0x1200 0x200>,
<0x1400 0x1dc>;
clocks = <&gcc GCC_PCIE_0_PIPE_CLK>;
resets = <&gcc GCC_PCIE_0_PHY_BCR>;
#clock-cells = <0>;
clock-output-names = "pcie_0_pipe_clk_src";
#phy-cells = <0>;
};
pciephy_1: phy@2000 {
reg = <0x2000 0x130>,
<0x2200 0x200>,
<0x2400 0x1dc>;
clocks = <&gcc GCC_PCIE_1_PIPE_CLK>;
resets = <&gcc GCC_PCIE_1_PHY_BCR>;
#clock-cells = <0>;
clock-output-names = "pcie_1_pipe_clk_src";
#phy-cells = <0>;
};
pciephy_2: phy@3000 {
reg = <0x3000 0x130>,
<0x3200 0x200>,
<0x3400 0x1dc>;
clocks = <&gcc GCC_PCIE_2_PIPE_CLK>;
resets = <&gcc GCC_PCIE_2_PHY_BCR>;
#clock-cells = <0>;
clock-output-names = "pcie_2_pipe_clk_src";
#phy-cells = <0>;
};
};
Loading

0 comments on commit 33e591d

Please sign in to comment.