2020-05-15 08:09:15 +05:30
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
2022-10-28 18:04:32 +02:00
$id : http://devicetree.org/schemas/phy/qcom,msm8996-qmp-usb3-phy.yaml#
2022-08-30 13:29:12 +02:00
$schema : http://devicetree.org/meta-schemas/core.yaml#
2020-05-15 08:09:15 +05:30
2022-10-28 18:04:32 +02:00
title : Qualcomm QMP PHY controller (USB, MSM8996)
2020-05-15 08:09:15 +05:30
maintainers :
2021-09-27 15:16:39 +08:00
- Vinod Koul <vkoul@kernel.org>
2020-05-15 08:09:15 +05:30
description :
2022-08-30 13:28:58 +02:00
QMP PHY controller supports physical layer functionality for a number of
2020-05-15 08:09:15 +05:30
controllers on Qualcomm chipsets, such as, PCIe, UFS, and USB.
2022-10-28 18:04:32 +02:00
Note that these bindings are for SoCs up to SC8180X. For newer SoCs, see
qcom,sc8280xp-qmp-usb3-uni-phy.yaml.
2020-05-15 08:09:15 +05:30
properties :
compatible :
enum :
2021-08-04 17:05:05 +03:00
- qcom,ipq6018-qmp-usb3-phy
2020-06-08 19:41:15 +05:30
- qcom,ipq8074-qmp-usb3-phy
2020-05-15 08:09:15 +05:30
- qcom,msm8996-qmp-usb3-phy
- qcom,msm8998-qmp-usb3-phy
2021-09-27 14:48:28 +08:00
- qcom,qcm2290-qmp-usb3-phy
dt-bindings: phy: qcom,qmp-usb3-dp-phy: move usb3 compatibles back to qcom,qmp-phy.yaml
The commit 724fabf5df13 ("dt-bindings: phy: qcom,qmp-usb3-dp: Add DP phy
information") has support for DP part of USB3+DP combo PHYs. However
this change is not backwards compatible, placing additional requirements
onto qcom,sc7180-qmp-usb3-phy and qcom,sdm845-qmp-usb3-phy device nodes
(to include separate DP part, etc). However the aforementioned nodes do
not inclue DP part, they strictly follow the schema defined in the
qcom,qmp-phy.yaml file. Move those compatibles, leaving
qcom,qmp-usb3-dp-phy.yaml to describe only real "combo" USB3+DP device nodes.
Fixes: 724fabf5df13 ("dt-bindings: phy: qcom,qmp-usb3-dp: Add DP phy information")
Cc: Stephen Boyd <swboyd@chromium.org>
Cc: Sandeep Maheswaram <sanm@codeaurora.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20210331151614.3810197-2-dmitry.baryshkov@linaro.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2021-03-31 18:16:08 +03:00
- qcom,sc7180-qmp-usb3-phy
2021-01-20 17:43:38 -08:00
- qcom,sc8180x-qmp-usb3-phy
dt-bindings: phy: qcom,qmp-usb3-dp-phy: move usb3 compatibles back to qcom,qmp-phy.yaml
The commit 724fabf5df13 ("dt-bindings: phy: qcom,qmp-usb3-dp: Add DP phy
information") has support for DP part of USB3+DP combo PHYs. However
this change is not backwards compatible, placing additional requirements
onto qcom,sc7180-qmp-usb3-phy and qcom,sdm845-qmp-usb3-phy device nodes
(to include separate DP part, etc). However the aforementioned nodes do
not inclue DP part, they strictly follow the schema defined in the
qcom,qmp-phy.yaml file. Move those compatibles, leaving
qcom,qmp-usb3-dp-phy.yaml to describe only real "combo" USB3+DP device nodes.
Fixes: 724fabf5df13 ("dt-bindings: phy: qcom,qmp-usb3-dp: Add DP phy information")
Cc: Stephen Boyd <swboyd@chromium.org>
Cc: Sandeep Maheswaram <sanm@codeaurora.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20210331151614.3810197-2-dmitry.baryshkov@linaro.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2021-03-31 18:16:08 +03:00
- qcom,sdm845-qmp-usb3-phy
2020-05-15 08:09:15 +05:30
- qcom,sdm845-qmp-usb3-uni-phy
2022-08-30 13:28:55 +02:00
- qcom,sdx55-qmp-usb3-uni-phy
- qcom,sdx65-qmp-usb3-uni-phy
2022-12-13 17:58:41 +05:30
- qcom,sm6115-qmp-usb3-phy
2021-01-15 09:47:20 -08:00
- qcom,sm8150-qmp-usb3-phy
- qcom,sm8150-qmp-usb3-uni-phy
- qcom,sm8250-qmp-usb3-phy
- qcom,sm8250-qmp-usb3-uni-phy
- qcom,sm8350-qmp-usb3-phy
- qcom,sm8350-qmp-usb3-uni-phy
2021-12-13 18:44:49 +05:30
- qcom,sm8450-qmp-usb3-phy
2020-05-15 08:09:15 +05:30
reg :
2021-01-15 09:47:20 -08:00
minItems : 1
2020-05-15 08:09:15 +05:30
items :
2022-08-30 13:28:58 +02:00
- description : serdes
- description : DP_COM
2020-05-15 08:09:15 +05:30
"#address-cells" :
enum : [ 1 , 2 ]
"#size-cells" :
enum : [ 1 , 2 ]
2020-06-11 08:52:38 -06:00
ranges : true
2020-05-15 08:09:15 +05:30
clocks :
2022-08-30 13:29:12 +02:00
minItems : 3
2020-05-15 08:09:15 +05:30
maxItems : 4
clock-names :
2022-08-30 13:29:12 +02:00
minItems : 3
2020-05-15 08:09:15 +05:30
maxItems : 4
2022-09-02 10:07:04 +02:00
power-domains :
maxItems : 1
2020-05-15 08:09:15 +05:30
resets :
2022-08-30 13:29:12 +02:00
maxItems : 2
2020-05-15 08:09:15 +05:30
reset-names :
2022-08-30 13:29:12 +02:00
maxItems : 2
2020-05-15 08:09:15 +05:30
2022-08-30 13:28:56 +02:00
vdda-phy-supply : true
2020-05-15 08:09:15 +05:30
2022-08-30 13:28:56 +02:00
vdda-pll-supply : true
2020-05-15 08:09:15 +05:30
2022-08-30 13:28:56 +02:00
vddp-ref-clk-supply : true
2020-05-15 08:09:15 +05:30
patternProperties :
"^phy@[0-9a-f]+$" :
type : object
2022-08-30 13:29:12 +02:00
description : single PHY-provider child node
2022-08-30 13:29:13 +02:00
properties :
reg :
minItems : 3
maxItems : 6
clocks :
items :
- description : PIPE clock
clock-names :
2022-08-30 13:29:14 +02:00
deprecated : true
2022-08-30 13:29:13 +02:00
items :
- const : pipe0
"#clock-cells" :
const : 0
clock-output-names :
maxItems : 1
"#phy-cells" :
const : 0
required :
- reg
- clocks
- "#clock-cells"
- clock-output-names
- "#phy-cells"
additionalProperties : false
2020-05-15 08:09:15 +05:30
required :
- compatible
- reg
- "#address-cells"
- "#size-cells"
2020-06-11 08:52:38 -06:00
- ranges
2020-05-15 08:09:15 +05:30
- clocks
- clock-names
- resets
- reset-names
2022-08-30 13:29:12 +02:00
- vdda-phy-supply
- vdda-pll-supply
2020-05-15 08:09:15 +05:30
additionalProperties : false
allOf :
2022-08-30 13:29:15 +02:00
- if :
properties :
compatible :
contains :
enum :
- qcom,sc7180-qmp-usb3-phy
then :
properties :
clocks :
maxItems : 4
clock-names :
items :
- const : aux
- const : cfg_ahb
- const : ref
- const : com_aux
resets :
maxItems : 1
reset-names :
items :
- const : phy
2020-05-15 08:09:15 +05:30
- if :
properties :
compatible :
contains :
enum :
- qcom,sdm845-qmp-usb3-uni-phy
then :
properties :
clocks :
2022-08-30 13:28:56 +02:00
maxItems : 4
2020-05-15 08:09:15 +05:30
clock-names :
items :
- const : aux
- const : cfg_ahb
- const : ref
- const : com_aux
resets :
2022-08-30 13:28:56 +02:00
maxItems : 2
2020-05-15 08:09:15 +05:30
reset-names :
items :
- const : phy
- const : common
2022-08-30 13:29:12 +02:00
2020-05-15 08:09:15 +05:30
- if :
properties :
compatible :
contains :
enum :
2020-06-08 19:41:15 +05:30
- qcom,ipq8074-qmp-usb3-phy
2020-05-15 08:09:15 +05:30
- qcom,msm8996-qmp-usb3-phy
- qcom,msm8998-qmp-usb3-phy
2022-08-30 13:29:12 +02:00
- qcom,sdx55-qmp-usb3-uni-phy
- qcom,sdx65-qmp-usb3-uni-phy
2020-05-15 08:09:15 +05:30
then :
properties :
clocks :
2022-08-30 13:28:56 +02:00
maxItems : 3
2020-05-15 08:09:15 +05:30
clock-names :
items :
- const : aux
- const : cfg_ahb
- const : ref
resets :
2022-08-30 13:28:56 +02:00
maxItems : 2
2020-05-15 08:09:15 +05:30
reset-names :
items :
2020-04-20 21:24:47 -05:00
- const : phy
- const : common
2022-08-30 13:29:12 +02:00
2021-01-15 09:47:20 -08:00
- if :
properties :
compatible :
contains :
enum :
- qcom,sm8150-qmp-usb3-phy
- qcom,sm8150-qmp-usb3-uni-phy
- qcom,sm8250-qmp-usb3-uni-phy
- qcom,sm8350-qmp-usb3-uni-phy
then :
properties :
clocks :
2022-08-30 13:28:56 +02:00
maxItems : 4
2021-01-15 09:47:20 -08:00
clock-names :
items :
- const : aux
- const : ref_clk_src
- const : ref
- const : com_aux
resets :
2022-08-30 13:28:56 +02:00
maxItems : 2
2021-01-15 09:47:20 -08:00
reset-names :
items :
- const : phy
- const : common
2022-08-30 13:29:12 +02:00
2021-01-15 09:47:20 -08:00
- if :
properties :
compatible :
contains :
enum :
- qcom,sm8250-qmp-usb3-phy
- qcom,sm8350-qmp-usb3-phy
then :
properties :
clocks :
2022-08-30 13:28:56 +02:00
maxItems : 3
2021-01-15 09:47:20 -08:00
clock-names :
items :
- const : aux
- const : ref_clk_src
- const : com_aux
resets :
2022-08-30 13:28:56 +02:00
maxItems : 2
2021-01-15 09:47:20 -08:00
reset-names :
items :
- const : phy
- const : common
2022-08-30 13:29:12 +02:00
2021-09-27 14:48:28 +08:00
- if :
properties :
compatible :
contains :
enum :
- qcom,qcm2290-qmp-usb3-phy
2022-12-13 17:58:41 +05:30
- qcom,sm6115-qmp-usb3-phy
2021-09-27 14:48:28 +08:00
then :
properties :
clocks :
2022-08-30 13:28:56 +02:00
maxItems : 3
2021-09-27 14:48:28 +08:00
clock-names :
items :
- const : cfg_ahb
- const : ref
- const : com_aux
resets :
2022-08-30 13:28:56 +02:00
maxItems : 2
2021-09-27 14:48:28 +08:00
reset-names :
items :
- const : phy_phy
- const : phy
2020-05-15 08:09:15 +05:30
2022-08-30 13:29:13 +02:00
- if :
properties :
compatible :
contains :
enum :
- qcom,sdm845-qmp-usb3-phy
- qcom,sm8150-qmp-usb3-phy
- qcom,sm8350-qmp-usb3-phy
- qcom,sm8450-qmp-usb3-phy
then :
patternProperties :
"^phy@[0-9a-f]+$" :
properties :
reg :
items :
- description : TX lane 1
- description : RX lane 1
- description : PCS
- description : TX lane 2
- description : RX lane 2
- description : PCS_MISC
- if :
properties :
compatible :
contains :
enum :
- qcom,msm8998-qmp-usb3-phy
then :
patternProperties :
"^phy@[0-9a-f]+$" :
properties :
reg :
items :
- description : TX lane 1
- description : RX lane 1
- description : PCS
- description : TX lane 2
- description : RX lane 2
- if :
properties :
compatible :
contains :
enum :
- qcom,ipq6018-qmp-usb3-phy
- qcom,ipq8074-qmp-usb3-phy
- qcom,qcm2290-qmp-usb3-phy
- qcom,sc7180-qmp-usb3-phy
- qcom,sc8180x-qmp-usb3-phy
- qcom,sdx55-qmp-usb3-uni-phy
- qcom,sdx65-qmp-usb3-uni-phy
2022-12-13 17:58:41 +05:30
- qcom,sm6115-qmp-usb3-phy
2022-08-30 13:29:13 +02:00
- qcom,sm8150-qmp-usb3-uni-phy
- qcom,sm8250-qmp-usb3-phy
then :
patternProperties :
"^phy@[0-9a-f]+$" :
properties :
reg :
items :
- description : TX
- description : RX
- description : PCS
- description : PCS_MISC
- if :
properties :
compatible :
contains :
enum :
- qcom,msm8996-qmp-usb3-phy
- qcom,sm8250-qmp-usb3-uni-phy
- qcom,sm8350-qmp-usb3-uni-phy
then :
patternProperties :
"^phy@[0-9a-f]+$" :
properties :
reg :
items :
- description : TX
- description : RX
- description : PCS
2020-05-15 08:09:15 +05:30
examples :
- |
#include <dt-bindings/clock/qcom,gcc-sdm845.h>
2020-05-15 08:09:16 +05:30
usb_2_qmpphy : phy-wrapper@88eb000 {
compatible = "qcom,sdm845-qmp-usb3-uni-phy";
2020-06-11 08:52:38 -06:00
reg = <0x088eb000 0x18c>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x0 0x088eb000 0x2000>;
2020-05-15 08:09:15 +05:30
2020-05-15 08:09:16 +05:30
clocks = <&gcc GCC_USB3_SEC_PHY_AUX_CLK >,
2020-05-15 08:09:15 +05:30
<&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
2020-05-15 08:09:16 +05:30
<&gcc GCC_USB3_SEC_CLKREF_CLK>,
<&gcc GCC_USB3_SEC_PHY_COM_AUX_CLK>;
2020-05-15 08:09:15 +05:30
clock-names = "aux", "cfg_ahb", "ref", "com_aux";
2020-05-15 08:09:16 +05:30
resets = <&gcc GCC_USB3PHY_PHY_SEC_BCR>,
<&gcc GCC_USB3_PHY_SEC_BCR>;
2020-05-15 08:09:15 +05:30
reset-names = "phy", "common";
vdda-phy-supply = <&vdda_usb2_ss_1p2>;
vdda-pll-supply = <&vdda_usb2_ss_core>;
2020-06-11 08:52:38 -06:00
usb_2_ssphy : phy@200 {
reg = <0x200 0x128>,
<0x400 0x1fc>,
<0x800 0x218>,
<0x600 0x70>;
2022-08-30 13:28:59 +02:00
2020-05-15 08:09:16 +05:30
clocks = <&gcc GCC_USB3_SEC_PHY_PIPE_CLK>;
2022-08-30 13:28:59 +02:00
#clock-cells = <0>;
2020-05-15 08:09:16 +05:30
clock-output-names = "usb3_uni_phy_pipe_clk_src";
2022-08-30 13:28:59 +02:00
#phy-cells = <0>;
2020-05-15 08:09:15 +05:30
};
};