1*30638230SJohan Hovold# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*30638230SJohan Hovold%YAML 1.2 3*30638230SJohan Hovold--- 4*30638230SJohan Hovold$id: http://devicetree.org/schemas/phy/qcom,sc8280xp-qmp-pcie-phy.yaml# 5*30638230SJohan Hovold$schema: http://devicetree.org/meta-schemas/core.yaml# 6*30638230SJohan Hovold 7*30638230SJohan Hovoldtitle: Qualcomm QMP PHY controller (PCIe, SC8280XP) 8*30638230SJohan Hovold 9*30638230SJohan Hovoldmaintainers: 10*30638230SJohan Hovold - Vinod Koul <vkoul@kernel.org> 11*30638230SJohan Hovold 12*30638230SJohan Hovolddescription: 13*30638230SJohan Hovold The QMP PHY controller supports physical layer functionality for a number of 14*30638230SJohan Hovold controllers on Qualcomm chipsets, such as, PCIe, UFS, and USB. 15*30638230SJohan Hovold 16*30638230SJohan Hovoldproperties: 17*30638230SJohan Hovold compatible: 18*30638230SJohan Hovold enum: 19*30638230SJohan Hovold - qcom,sc8280xp-qmp-gen3x1-pcie-phy 20*30638230SJohan Hovold - qcom,sc8280xp-qmp-gen3x2-pcie-phy 21*30638230SJohan Hovold - qcom,sc8280xp-qmp-gen3x4-pcie-phy 22*30638230SJohan Hovold 23*30638230SJohan Hovold reg: 24*30638230SJohan Hovold minItems: 1 25*30638230SJohan Hovold maxItems: 2 26*30638230SJohan Hovold 27*30638230SJohan Hovold clocks: 28*30638230SJohan Hovold maxItems: 6 29*30638230SJohan Hovold 30*30638230SJohan Hovold clock-names: 31*30638230SJohan Hovold items: 32*30638230SJohan Hovold - const: aux 33*30638230SJohan Hovold - const: cfg_ahb 34*30638230SJohan Hovold - const: ref 35*30638230SJohan Hovold - const: rchng 36*30638230SJohan Hovold - const: pipe 37*30638230SJohan Hovold - const: pipediv2 38*30638230SJohan Hovold 39*30638230SJohan Hovold power-domains: 40*30638230SJohan Hovold maxItems: 1 41*30638230SJohan Hovold 42*30638230SJohan Hovold resets: 43*30638230SJohan Hovold maxItems: 1 44*30638230SJohan Hovold 45*30638230SJohan Hovold reset-names: 46*30638230SJohan Hovold items: 47*30638230SJohan Hovold - const: phy 48*30638230SJohan Hovold 49*30638230SJohan Hovold vdda-phy-supply: true 50*30638230SJohan Hovold 51*30638230SJohan Hovold vdda-pll-supply: true 52*30638230SJohan Hovold 53*30638230SJohan Hovold qcom,4ln-config-sel: 54*30638230SJohan Hovold description: PCIe 4-lane configuration 55*30638230SJohan Hovold $ref: /schemas/types.yaml#/definitions/phandle-array 56*30638230SJohan Hovold items: 57*30638230SJohan Hovold - items: 58*30638230SJohan Hovold - description: phandle of TCSR syscon 59*30638230SJohan Hovold - description: offset of PCIe 4-lane configuration register 60*30638230SJohan Hovold - description: offset of configuration bit for this PHY 61*30638230SJohan Hovold 62*30638230SJohan Hovold "#clock-cells": 63*30638230SJohan Hovold const: 0 64*30638230SJohan Hovold 65*30638230SJohan Hovold clock-output-names: 66*30638230SJohan Hovold maxItems: 1 67*30638230SJohan Hovold 68*30638230SJohan Hovold "#phy-cells": 69*30638230SJohan Hovold const: 0 70*30638230SJohan Hovold 71*30638230SJohan Hovoldrequired: 72*30638230SJohan Hovold - compatible 73*30638230SJohan Hovold - reg 74*30638230SJohan Hovold - clocks 75*30638230SJohan Hovold - clock-names 76*30638230SJohan Hovold - power-domains 77*30638230SJohan Hovold - resets 78*30638230SJohan Hovold - reset-names 79*30638230SJohan Hovold - vdda-phy-supply 80*30638230SJohan Hovold - vdda-pll-supply 81*30638230SJohan Hovold - "#clock-cells" 82*30638230SJohan Hovold - clock-output-names 83*30638230SJohan Hovold - "#phy-cells" 84*30638230SJohan Hovold 85*30638230SJohan HovoldadditionalProperties: false 86*30638230SJohan Hovold 87*30638230SJohan HovoldallOf: 88*30638230SJohan Hovold - if: 89*30638230SJohan Hovold properties: 90*30638230SJohan Hovold compatible: 91*30638230SJohan Hovold contains: 92*30638230SJohan Hovold enum: 93*30638230SJohan Hovold - qcom,sc8280xp-qmp-gen3x4-pcie-phy 94*30638230SJohan Hovold then: 95*30638230SJohan Hovold properties: 96*30638230SJohan Hovold reg: 97*30638230SJohan Hovold items: 98*30638230SJohan Hovold - description: port a 99*30638230SJohan Hovold - description: port b 100*30638230SJohan Hovold required: 101*30638230SJohan Hovold - qcom,4ln-config-sel 102*30638230SJohan Hovold else: 103*30638230SJohan Hovold properties: 104*30638230SJohan Hovold reg: 105*30638230SJohan Hovold maxItems: 1 106*30638230SJohan Hovold 107*30638230SJohan Hovoldexamples: 108*30638230SJohan Hovold - | 109*30638230SJohan Hovold #include <dt-bindings/clock/qcom,gcc-sc8280xp.h> 110*30638230SJohan Hovold 111*30638230SJohan Hovold pcie2b_phy: phy@1c18000 { 112*30638230SJohan Hovold compatible = "qcom,sc8280xp-qmp-gen3x2-pcie-phy"; 113*30638230SJohan Hovold reg = <0x01c18000 0x2000>; 114*30638230SJohan Hovold 115*30638230SJohan Hovold clocks = <&gcc GCC_PCIE_2B_AUX_CLK>, 116*30638230SJohan Hovold <&gcc GCC_PCIE_2B_CFG_AHB_CLK>, 117*30638230SJohan Hovold <&gcc GCC_PCIE_2A2B_CLKREF_CLK>, 118*30638230SJohan Hovold <&gcc GCC_PCIE2B_PHY_RCHNG_CLK>, 119*30638230SJohan Hovold <&gcc GCC_PCIE_2B_PIPE_CLK>, 120*30638230SJohan Hovold <&gcc GCC_PCIE_2B_PIPEDIV2_CLK>; 121*30638230SJohan Hovold clock-names = "aux", "cfg_ahb", "ref", "rchng", 122*30638230SJohan Hovold "pipe", "pipediv2"; 123*30638230SJohan Hovold 124*30638230SJohan Hovold power-domains = <&gcc PCIE_2B_GDSC>; 125*30638230SJohan Hovold 126*30638230SJohan Hovold resets = <&gcc GCC_PCIE_2B_PHY_BCR>; 127*30638230SJohan Hovold reset-names = "phy"; 128*30638230SJohan Hovold 129*30638230SJohan Hovold vdda-phy-supply = <&vreg_l6d>; 130*30638230SJohan Hovold vdda-pll-supply = <&vreg_l4d>; 131*30638230SJohan Hovold 132*30638230SJohan Hovold #clock-cells = <0>; 133*30638230SJohan Hovold clock-output-names = "pcie_2b_pipe_clk"; 134*30638230SJohan Hovold 135*30638230SJohan Hovold #phy-cells = <0>; 136*30638230SJohan Hovold }; 137*30638230SJohan Hovold 138*30638230SJohan Hovold pcie2a_phy: phy@1c24000 { 139*30638230SJohan Hovold compatible = "qcom,sc8280xp-qmp-gen3x4-pcie-phy"; 140*30638230SJohan Hovold reg = <0x01c24000 0x2000>, <0x01c26000 0x2000>; 141*30638230SJohan Hovold 142*30638230SJohan Hovold clocks = <&gcc GCC_PCIE_2A_AUX_CLK>, 143*30638230SJohan Hovold <&gcc GCC_PCIE_2A_CFG_AHB_CLK>, 144*30638230SJohan Hovold <&gcc GCC_PCIE_2A2B_CLKREF_CLK>, 145*30638230SJohan Hovold <&gcc GCC_PCIE2A_PHY_RCHNG_CLK>, 146*30638230SJohan Hovold <&gcc GCC_PCIE_2A_PIPE_CLK>, 147*30638230SJohan Hovold <&gcc GCC_PCIE_2A_PIPEDIV2_CLK>; 148*30638230SJohan Hovold clock-names = "aux", "cfg_ahb", "ref", "rchng", 149*30638230SJohan Hovold "pipe", "pipediv2"; 150*30638230SJohan Hovold 151*30638230SJohan Hovold power-domains = <&gcc PCIE_2A_GDSC>; 152*30638230SJohan Hovold 153*30638230SJohan Hovold resets = <&gcc GCC_PCIE_2A_PHY_BCR>; 154*30638230SJohan Hovold reset-names = "phy"; 155*30638230SJohan Hovold 156*30638230SJohan Hovold vdda-phy-supply = <&vreg_l6d>; 157*30638230SJohan Hovold vdda-pll-supply = <&vreg_l4d>; 158*30638230SJohan Hovold 159*30638230SJohan Hovold qcom,4ln-config-sel = <&tcsr 0xa044 0>; 160*30638230SJohan Hovold 161*30638230SJohan Hovold #clock-cells = <0>; 162*30638230SJohan Hovold clock-output-names = "pcie_2a_pipe_clk"; 163*30638230SJohan Hovold 164*30638230SJohan Hovold #phy-cells = <0>; 165*30638230SJohan Hovold }; 166