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

Configure Feed

Select the types of activity you want to include in your feed.

dt-bindings: phy: add QMP PCIe PHY schema

The QMP PHY DT schema is getting unwieldy. Break out the PCIe PHY
binding in a separate file.

Add an example node based on a cleaned up version of sm8250.dtsi.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Link: https://lore.kernel.org/r/20220830112923.3725-13-johan+linaro@kernel.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>

authored by

Johan Hovold and committed by
Vinod Koul
492e8786 f858940e

+205 -68
+205
Documentation/devicetree/bindings/phy/qcom,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,qmp-pcie-phy.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Qualcomm QMP PHY controller (PCIe) 8 + 9 + maintainers: 10 + - Vinod Koul <vkoul@kernel.org> 11 + 12 + description: 13 + 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 + enum: 19 + - qcom,ipq6018-qmp-pcie-phy 20 + - qcom,ipq8074-qmp-gen3-pcie-phy 21 + - qcom,ipq8074-qmp-pcie-phy 22 + - qcom,msm8998-qmp-pcie-phy 23 + - qcom,sc8180x-qmp-pcie-phy 24 + - qcom,sdm845-qhp-pcie-phy 25 + - qcom,sdm845-qmp-pcie-phy 26 + - qcom,sdx55-qmp-pcie-phy 27 + - qcom,sm8250-qmp-gen3x1-pcie-phy 28 + - qcom,sm8250-qmp-gen3x2-pcie-phy 29 + - qcom,sm8250-qmp-modem-pcie-phy 30 + - qcom,sm8450-qmp-gen3x1-pcie-phy 31 + - qcom,sm8450-qmp-gen4x2-pcie-phy 32 + 33 + reg: 34 + items: 35 + - description: serdes 36 + 37 + "#address-cells": 38 + enum: [ 1, 2 ] 39 + 40 + "#size-cells": 41 + enum: [ 1, 2 ] 42 + 43 + ranges: true 44 + 45 + clocks: 46 + minItems: 2 47 + maxItems: 4 48 + 49 + clock-names: 50 + minItems: 2 51 + maxItems: 4 52 + 53 + resets: 54 + minItems: 1 55 + maxItems: 2 56 + 57 + reset-names: 58 + minItems: 1 59 + maxItems: 2 60 + 61 + vdda-phy-supply: true 62 + 63 + vdda-pll-supply: true 64 + 65 + vddp-ref-clk-supply: true 66 + 67 + patternProperties: 68 + "^phy@[0-9a-f]+$": 69 + type: object 70 + description: single PHY-provider child node 71 + 72 + required: 73 + - compatible 74 + - reg 75 + - "#address-cells" 76 + - "#size-cells" 77 + - ranges 78 + - clocks 79 + - clock-names 80 + - resets 81 + - reset-names 82 + 83 + additionalProperties: false 84 + 85 + allOf: 86 + - if: 87 + properties: 88 + compatible: 89 + contains: 90 + enum: 91 + - qcom,msm8998-qmp-pcie-phy 92 + then: 93 + properties: 94 + clocks: 95 + maxItems: 3 96 + clock-names: 97 + items: 98 + - const: aux 99 + - const: cfg_ahb 100 + - const: ref 101 + resets: 102 + maxItems: 2 103 + reset-names: 104 + items: 105 + - const: phy 106 + - const: common 107 + required: 108 + - vdda-phy-supply 109 + - vdda-pll-supply 110 + 111 + - if: 112 + properties: 113 + compatible: 114 + contains: 115 + enum: 116 + - qcom,ipq6018-qmp-pcie-phy 117 + - qcom,ipq8074-qmp-gen3-pcie-phy 118 + - qcom,ipq8074-qmp-pcie-phy 119 + then: 120 + properties: 121 + clocks: 122 + maxItems: 2 123 + clock-names: 124 + items: 125 + - const: aux 126 + - const: cfg_ahb 127 + resets: 128 + maxItems: 2 129 + reset-names: 130 + items: 131 + - const: phy 132 + - const: common 133 + 134 + - if: 135 + properties: 136 + compatible: 137 + contains: 138 + enum: 139 + - qcom,sc8180x-qmp-pcie-phy 140 + - qcom,sdm845-qhp-pcie-phy 141 + - qcom,sdm845-qmp-pcie-phy 142 + - qcom,sdx55-qmp-pcie-phy 143 + - qcom,sm8250-qmp-gen3x1-pcie-phy 144 + - qcom,sm8250-qmp-gen3x2-pcie-phy 145 + - qcom,sm8250-qmp-modem-pcie-phy 146 + - qcom,sm8450-qmp-gen3x1-pcie-phy 147 + - qcom,sm8450-qmp-gen4x2-pcie-phy 148 + then: 149 + properties: 150 + clocks: 151 + maxItems: 4 152 + clock-names: 153 + items: 154 + - const: aux 155 + - const: cfg_ahb 156 + - const: ref 157 + - const: refgen 158 + resets: 159 + maxItems: 1 160 + reset-names: 161 + items: 162 + - const: phy 163 + required: 164 + - vdda-phy-supply 165 + - vdda-pll-supply 166 + 167 + examples: 168 + - | 169 + #include <dt-bindings/clock/qcom,gcc-sm8250.h> 170 + phy-wrapper@1c0e000 { 171 + compatible = "qcom,sm8250-qmp-gen3x2-pcie-phy"; 172 + reg = <0x01c0e000 0x1c0>; 173 + #address-cells = <1>; 174 + #size-cells = <1>; 175 + ranges = <0x0 0x01c0e000 0x1000>; 176 + 177 + clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>, 178 + <&gcc GCC_PCIE_1_CFG_AHB_CLK>, 179 + <&gcc GCC_PCIE_WIGIG_CLKREF_EN>, 180 + <&gcc GCC_PCIE1_PHY_REFGEN_CLK>; 181 + clock-names = "aux", "cfg_ahb", "ref", "refgen"; 182 + 183 + resets = <&gcc GCC_PCIE_1_PHY_BCR>; 184 + reset-names = "phy"; 185 + 186 + vdda-phy-supply = <&vreg_l10c_0p88>; 187 + vdda-pll-supply = <&vreg_l6b_1p2>; 188 + 189 + phy@200 { 190 + reg = <0x200 0x170>, 191 + <0x400 0x200>, 192 + <0xa00 0x1f0>, 193 + <0x600 0x170>, 194 + <0x800 0x200>, 195 + <0xe00 0xf4>; 196 + 197 + clocks = <&gcc GCC_PCIE_1_PIPE_CLK>; 198 + clock-names = "pipe0"; 199 + 200 + #clock-cells = <0>; 201 + clock-output-names = "pcie_1_pipe_clk"; 202 + 203 + #phy-cells = <0>; 204 + }; 205 + };
-68
Documentation/devicetree/bindings/phy/qcom,qmp-phy.yaml
··· 17 17 properties: 18 18 compatible: 19 19 enum: 20 - - qcom,ipq6018-qmp-pcie-phy 21 20 - qcom,ipq6018-qmp-usb3-phy 22 - - qcom,ipq8074-qmp-gen3-pcie-phy 23 - - qcom,ipq8074-qmp-pcie-phy 24 21 - qcom,ipq8074-qmp-usb3-phy 25 22 - qcom,msm8996-qmp-ufs-phy 26 23 - qcom,msm8996-qmp-usb3-phy 27 - - qcom,msm8998-qmp-pcie-phy 28 24 - qcom,msm8998-qmp-ufs-phy 29 25 - qcom,msm8998-qmp-usb3-phy 30 26 - qcom,qcm2290-qmp-usb3-phy 31 27 - qcom,sc7180-qmp-usb3-phy 32 - - qcom,sc8180x-qmp-pcie-phy 33 28 - qcom,sc8180x-qmp-ufs-phy 34 29 - qcom,sc8180x-qmp-usb3-phy 35 30 - qcom,sc8280xp-qmp-ufs-phy 36 31 - qcom,sc8280xp-qmp-usb3-uni-phy 37 - - qcom,sdm845-qhp-pcie-phy 38 - - qcom,sdm845-qmp-pcie-phy 39 32 - qcom,sdm845-qmp-ufs-phy 40 33 - qcom,sdm845-qmp-usb3-phy 41 34 - qcom,sdm845-qmp-usb3-uni-phy 42 - - qcom,sdx55-qmp-pcie-phy 43 35 - qcom,sdx55-qmp-usb3-uni-phy 44 36 - qcom,sdx65-qmp-usb3-uni-phy 45 37 - qcom,sm6115-qmp-ufs-phy ··· 39 47 - qcom,sm8150-qmp-ufs-phy 40 48 - qcom,sm8150-qmp-usb3-phy 41 49 - qcom,sm8150-qmp-usb3-uni-phy 42 - - qcom,sm8250-qmp-gen3x1-pcie-phy 43 - - qcom,sm8250-qmp-gen3x2-pcie-phy 44 - - qcom,sm8250-qmp-modem-pcie-phy 45 50 - qcom,sm8250-qmp-ufs-phy 46 51 - qcom,sm8250-qmp-usb3-phy 47 52 - qcom,sm8250-qmp-usb3-uni-phy 48 53 - qcom,sm8350-qmp-ufs-phy 49 54 - qcom,sm8350-qmp-usb3-phy 50 55 - qcom,sm8350-qmp-usb3-uni-phy 51 - - qcom,sm8450-qmp-gen3x1-pcie-phy 52 - - qcom,sm8450-qmp-gen4x2-pcie-phy 53 56 - qcom,sm8450-qmp-ufs-phy 54 57 - qcom,sm8450-qmp-usb3-phy 55 58 ··· 160 173 enum: 161 174 - qcom,ipq8074-qmp-usb3-phy 162 175 - qcom,msm8996-qmp-usb3-phy 163 - - qcom,msm8998-qmp-pcie-phy 164 176 - qcom,msm8998-qmp-usb3-phy 165 177 then: 166 178 properties: ··· 225 239 reset-names: 226 240 items: 227 241 - const: ufsphy 228 - required: 229 - - vdda-phy-supply 230 - - vdda-pll-supply 231 - - if: 232 - properties: 233 - compatible: 234 - contains: 235 - enum: 236 - - qcom,ipq6018-qmp-pcie-phy 237 - - qcom,ipq8074-qmp-gen3-pcie-phy 238 - - qcom,ipq8074-qmp-pcie-phy 239 - then: 240 - properties: 241 - clocks: 242 - maxItems: 2 243 - clock-names: 244 - items: 245 - - const: aux 246 - - const: cfg_ahb 247 - resets: 248 - maxItems: 2 249 - reset-names: 250 - items: 251 - - const: phy 252 - - const: common 253 - - if: 254 - properties: 255 - compatible: 256 - contains: 257 - enum: 258 - - qcom,sc8180x-qmp-pcie-phy 259 - - qcom,sdm845-qhp-pcie-phy 260 - - qcom,sdm845-qmp-pcie-phy 261 - - qcom,sdx55-qmp-pcie-phy 262 - - qcom,sm8250-qmp-gen3x1-pcie-phy 263 - - qcom,sm8250-qmp-gen3x2-pcie-phy 264 - - qcom,sm8250-qmp-modem-pcie-phy 265 - - qcom,sm8450-qmp-gen3x1-pcie-phy 266 - - qcom,sm8450-qmp-gen4x2-pcie-phy 267 - then: 268 - properties: 269 - clocks: 270 - maxItems: 4 271 - clock-names: 272 - items: 273 - - const: aux 274 - - const: cfg_ahb 275 - - const: ref 276 - - const: refgen 277 - resets: 278 - maxItems: 1 279 - reset-names: 280 - items: 281 - - const: phy 282 242 required: 283 243 - vdda-phy-supply 284 244 - vdda-pll-supply