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

dt-bindings: phy: qcom,sc8280xp-qmp-pcie-phy: document PHY AUX clock on SM8[456]50 SoCs

The PCIe Gen4x2 PHY found in the SM8[456]50 SoCs have a second clock named
"PHY_AUX_CLK" which is an input of the Global Clock Controller (GCC) which
is muxed & gated then returned to the PHY as an input.

Document the clock IDs to select the PIPE clock or the AUX clock,
also enforce a second clock-output-names and a #clock-cells value of 1
for the PCIe Gen4x2 PHY found in the SM8[456]50 SoCs.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20240322-topic-sm8x50-upstream-pcie-1-phy-aux-clk-v2-1-3ec0a966d52f@linaro.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>

authored by

Neil Armstrong and committed by
Vinod Koul
72bea132 7dcb8668

+28 -3
+24 -3
Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml
··· 88 88 - description: offset of PCIe 4-lane configuration register 89 89 - description: offset of configuration bit for this PHY 90 90 91 - "#clock-cells": 92 - const: 0 91 + "#clock-cells": true 93 92 94 93 clock-output-names: 95 - maxItems: 1 94 + minItems: 1 95 + maxItems: 2 96 96 97 97 "#phy-cells": 98 98 const: 0 ··· 212 212 maxItems: 1 213 213 reset-names: 214 214 maxItems: 1 215 + 216 + - if: 217 + properties: 218 + compatible: 219 + contains: 220 + enum: 221 + - qcom,sm8450-qmp-gen4x2-pcie-phy 222 + - qcom,sm8550-qmp-gen4x2-pcie-phy 223 + - qcom,sm8650-qmp-gen4x2-pcie-phy 224 + then: 225 + properties: 226 + clock-output-names: 227 + minItems: 2 228 + "#clock-cells": 229 + const: 1 230 + else: 231 + properties: 232 + clock-output-names: 233 + maxItems: 1 234 + "#clock-cells": 235 + const: 0 215 236 216 237 examples: 217 238 - |
+4
include/dt-bindings/phy/phy-qcom-qmp.h
··· 17 17 #define QMP_USB43DP_USB3_PHY 0 18 18 #define QMP_USB43DP_DP_PHY 1 19 19 20 + /* QMP PCIE PHYs */ 21 + #define QMP_PCIE_PIPE_CLK 0 22 + #define QMP_PCIE_PHY_AUX_CLK 1 23 + 20 24 #endif /* _DT_BINDINGS_PHY_QMP */