Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: phy: migrate QMP PCIe PHY bindings to qcom,sc8280xp-qmp-pcie-phy.yaml

Migrate legacy bindings (described in qcom,ipq8074-qmp-pcie-phy.yaml)
to qcom,sc8280xp-qmp-pcie-phy.yaml. This removes a need to declare
the child PHY node or split resource regions.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230820142035.89903-2-dmitry.baryshkov@linaro.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>

authored by

Dmitry Baryshkov and committed by
Vinod Koul
505fb254 9f266c1c

+161 -246
+35 -243
Documentation/devicetree/bindings/phy/qcom,ipq8074-qmp-pcie-phy.yaml
··· 13 13 QMP PHY controller supports physical layer functionality for a number of 14 14 controllers on Qualcomm chipsets, such as, PCIe, UFS, and USB. 15 15 16 - Note that these bindings are for SoCs up to SC8180X. For newer SoCs, see 17 - qcom,sc8280xp-qmp-pcie-phy.yaml. 18 - 19 16 properties: 20 17 compatible: 21 18 enum: 22 19 - qcom,ipq6018-qmp-pcie-phy 23 20 - qcom,ipq8074-qmp-gen3-pcie-phy 24 21 - 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 35 22 36 23 reg: 37 24 items: 38 25 - description: serdes 39 26 40 - "#address-cells": 41 - enum: [ 1, 2 ] 42 - 43 - "#size-cells": 44 - enum: [ 1, 2 ] 45 - 46 - ranges: true 47 - 48 27 clocks: 49 - minItems: 2 50 - maxItems: 4 28 + maxItems: 3 51 29 52 30 clock-names: 53 - minItems: 2 54 - maxItems: 4 31 + items: 32 + - const: aux 33 + - const: cfg_ahb 34 + - const: pipe 55 35 56 36 resets: 57 - minItems: 1 58 37 maxItems: 2 59 38 60 39 reset-names: 61 - minItems: 1 62 - maxItems: 2 40 + items: 41 + - const: phy 42 + - const: common 63 43 64 - vdda-phy-supply: true 44 + "#clock-cells": 45 + const: 0 65 46 66 - vdda-pll-supply: true 47 + clock-output-names: 48 + maxItems: 1 67 49 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 93 - 94 - "#phy-cells": 95 - const: 0 96 - 97 - required: 98 - - reg 99 - - clocks 100 - - "#clock-cells" 101 - - clock-output-names 102 - - "#phy-cells" 103 - 104 - additionalProperties: false 50 + "#phy-cells": 51 + const: 0 105 52 106 53 required: 107 54 - compatible 108 55 - reg 109 - - "#address-cells" 110 - - "#size-cells" 111 - - ranges 112 56 - clocks 113 57 - clock-names 114 58 - resets 115 59 - reset-names 60 + - "#clock-cells" 61 + - clock-output-names 62 + - "#phy-cells" 116 63 117 64 additionalProperties: false 118 65 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 - 262 66 examples: 263 67 - | 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>; 68 + #include <dt-bindings/clock/qcom,gcc-ipq6018.h> 69 + #include <dt-bindings/reset/qcom,gcc-ipq6018.h> 271 70 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"; 71 + phy@84000 { 72 + compatible = "qcom,ipq6018-qmp-pcie-phy"; 73 + reg = <0x0 0x00084000 0x0 0x1000>; 277 74 278 - resets = <&gcc GCC_PCIE_1_PHY_BCR>; 279 - reset-names = "phy"; 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"; 280 81 281 - vdda-phy-supply = <&vreg_l10c_0p88>; 282 - vdda-pll-supply = <&vreg_l6b_1p2>; 82 + clock-output-names = "gcc_pcie0_pipe_clk_src"; 83 + #clock-cells = <0>; 283 84 284 - phy@200 { 285 - reg = <0x200 0x170>, 286 - <0x400 0x200>, 287 - <0xa00 0x1f0>, 288 - <0x600 0x170>, 289 - <0x800 0x200>, 290 - <0xe00 0xf4>; 85 + #phy-cells = <0>; 291 86 292 - clocks = <&gcc GCC_PCIE_1_PIPE_CLK>; 293 - 294 - #clock-cells = <0>; 295 - clock-output-names = "pcie_1_pipe_clk"; 296 - 297 - #phy-cells = <0>; 298 - }; 87 + resets = <&gcc GCC_PCIE0_PHY_BCR>, 88 + <&gcc GCC_PCIE0PHY_PHY_BCR>; 89 + reset-names = "phy", 90 + "common"; 299 91 };
+97
Documentation/devicetree/bindings/phy/qcom,msm8998-qmp-pcie-phy.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/phy/qcom,msm8998-qmp-pcie-phy.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Qualcomm QMP PHY controller (PCIe, MSM8998) 8 + 9 + maintainers: 10 + - Vinod Koul <vkoul@kernel.org> 11 + 12 + description: 13 + The QMP PHY controller supports physical layer functionality for a number of 14 + controllers on Qualcomm chipsets, such as, PCIe, UFS, and USB. 15 + 16 + properties: 17 + compatible: 18 + const: qcom,msm8998-qmp-pcie-phy 19 + 20 + reg: 21 + items: 22 + - description: serdes 23 + 24 + clocks: 25 + maxItems: 4 26 + 27 + clock-names: 28 + items: 29 + - const: aux 30 + - const: cfg_ahb 31 + - const: ref 32 + - const: pipe 33 + 34 + resets: 35 + maxItems: 2 36 + 37 + reset-names: 38 + items: 39 + - const: phy 40 + - const: common 41 + 42 + vdda-phy-supply: true 43 + 44 + vdda-pll-supply: true 45 + 46 + "#clock-cells": 47 + const: 0 48 + 49 + clock-output-names: 50 + maxItems: 1 51 + 52 + "#phy-cells": 53 + const: 0 54 + 55 + required: 56 + - compatible 57 + - reg 58 + - clocks 59 + - clock-names 60 + - resets 61 + - reset-names 62 + - vdda-phy-supply 63 + - vdda-pll-supply 64 + - "#clock-cells" 65 + - clock-output-names 66 + - "#phy-cells" 67 + 68 + additionalProperties: false 69 + 70 + examples: 71 + - | 72 + #include <dt-bindings/clock/qcom,gcc-msm8998.h> 73 + 74 + phy@1c18000 { 75 + compatible = "qcom,msm8998-qmp-pcie-phy"; 76 + reg = <0x01c06000 0x1000>; 77 + 78 + clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>, 79 + <&gcc GCC_PCIE_0_CFG_AHB_CLK>, 80 + <&gcc GCC_PCIE_CLKREF_CLK>, 81 + <&gcc GCC_PCIE_0_PIPE_CLK>; 82 + clock-names = "aux", 83 + "cfg_ahb", 84 + "ref", 85 + "pipe"; 86 + 87 + clock-output-names = "pcie_0_pipe_clk_src"; 88 + #clock-cells = <0>; 89 + 90 + #phy-cells = <0>; 91 + 92 + resets = <&gcc GCC_PCIE_0_PHY_BCR>, <&gcc GCC_PCIE_PHY_BCR>; 93 + reset-names = "phy", "common"; 94 + 95 + vdda-phy-supply = <&vreg_l1a_0p875>; 96 + vdda-pll-supply = <&vreg_l2a_1p2>; 97 + };
+29 -3
Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml
··· 18 18 enum: 19 19 - qcom,sa8775p-qmp-gen4x2-pcie-phy 20 20 - qcom,sa8775p-qmp-gen4x4-pcie-phy 21 + - qcom,sc8180x-qmp-pcie-phy 21 22 - qcom,sc8280xp-qmp-gen3x1-pcie-phy 22 23 - qcom,sc8280xp-qmp-gen3x2-pcie-phy 23 24 - qcom,sc8280xp-qmp-gen3x4-pcie-phy 25 + - qcom,sdm845-qhp-pcie-phy 26 + - qcom,sdm845-qmp-pcie-phy 27 + - qcom,sdx55-qmp-pcie-phy 24 28 - qcom,sdx65-qmp-gen4x2-pcie-phy 29 + - qcom,sm8250-qmp-gen3x1-pcie-phy 30 + - qcom,sm8250-qmp-gen3x2-pcie-phy 31 + - qcom,sm8250-qmp-modem-pcie-phy 25 32 - qcom,sm8350-qmp-gen3x1-pcie-phy 33 + - qcom,sm8450-qmp-gen3x1-pcie-phy 34 + - qcom,sm8450-qmp-gen4x2-pcie-phy 26 35 - qcom,sm8550-qmp-gen3x2-pcie-phy 27 36 - qcom,sm8550-qmp-gen4x2-pcie-phy 28 37 ··· 49 40 - const: aux 50 41 - const: cfg_ahb 51 42 - const: ref 52 - - const: rchng 43 + - enum: [rchng, refgen] 53 44 - const: pipe 54 45 - const: pipediv2 55 46 - const: phy_aux ··· 96 87 - reg 97 88 - clocks 98 89 - clock-names 99 - - power-domains 100 90 - resets 101 91 - reset-names 102 92 - vdda-phy-supply ··· 131 123 compatible: 132 124 contains: 133 125 enum: 126 + - qcom,sc8180x-qmp-pcie-phy 127 + - qcom,sdm845-qhp-pcie-phy 128 + - qcom,sdm845-qmp-pcie-phy 129 + - qcom,sdx55-qmp-pcie-phy 130 + - qcom,sm8250-qmp-gen3x1-pcie-phy 131 + - qcom,sm8250-qmp-gen3x2-pcie-phy 132 + - qcom,sm8250-qmp-modem-pcie-phy 134 133 - qcom,sm8350-qmp-gen3x1-pcie-phy 134 + - qcom,sm8450-qmp-gen3x1-pcie-phy 135 + - qcom,sm8450-qmp-gen3x2-pcie-phy 135 136 - qcom,sm8550-qmp-gen3x2-pcie-phy 136 137 - qcom,sm8550-qmp-gen4x2-pcie-phy 137 138 then: ··· 149 132 maxItems: 5 150 133 clock-names: 151 134 maxItems: 5 152 - else: 135 + 136 + - if: 137 + properties: 138 + compatible: 139 + contains: 140 + enum: 141 + - qcom,sc8280xp-qmp-gen3x1-pcie-phy 142 + - qcom,sc8280xp-qmp-gen3x2-pcie-phy 143 + - qcom,sc8280xp-qmp-gen3x4-pcie-phy 144 + then: 153 145 properties: 154 146 clocks: 155 147 minItems: 6