1*4506dc82SJohan Hovold# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*4506dc82SJohan Hovold%YAML 1.2 3*4506dc82SJohan Hovold--- 4*4506dc82SJohan Hovold$id: http://devicetree.org/schemas/phy/qcom,msm8996-qmp-pcie-phy.yaml# 5*4506dc82SJohan Hovold$schema: http://devicetree.org/meta-schemas/core.yaml# 6*4506dc82SJohan Hovold 7*4506dc82SJohan Hovoldtitle: Qualcomm QMP PHY controller (MSM8996 PCIe) 8*4506dc82SJohan Hovold 9*4506dc82SJohan Hovoldmaintainers: 10*4506dc82SJohan Hovold - Vinod Koul <vkoul@kernel.org> 11*4506dc82SJohan Hovold 12*4506dc82SJohan Hovolddescription: 13*4506dc82SJohan Hovold QMP PHY controller supports physical layer functionality for a number of 14*4506dc82SJohan Hovold controllers on Qualcomm chipsets, such as, PCIe, UFS, and USB. 15*4506dc82SJohan Hovold 16*4506dc82SJohan Hovoldproperties: 17*4506dc82SJohan Hovold compatible: 18*4506dc82SJohan Hovold const: qcom,msm8996-qmp-pcie-phy 19*4506dc82SJohan Hovold 20*4506dc82SJohan Hovold reg: 21*4506dc82SJohan Hovold items: 22*4506dc82SJohan Hovold - description: serdes 23*4506dc82SJohan Hovold 24*4506dc82SJohan Hovold "#address-cells": 25*4506dc82SJohan Hovold enum: [ 1, 2 ] 26*4506dc82SJohan Hovold 27*4506dc82SJohan Hovold "#size-cells": 28*4506dc82SJohan Hovold enum: [ 1, 2 ] 29*4506dc82SJohan Hovold 30*4506dc82SJohan Hovold ranges: true 31*4506dc82SJohan Hovold 32*4506dc82SJohan Hovold clocks: 33*4506dc82SJohan Hovold maxItems: 3 34*4506dc82SJohan Hovold 35*4506dc82SJohan Hovold clock-names: 36*4506dc82SJohan Hovold items: 37*4506dc82SJohan Hovold - const: aux 38*4506dc82SJohan Hovold - const: cfg_ahb 39*4506dc82SJohan Hovold - const: ref 40*4506dc82SJohan Hovold 41*4506dc82SJohan Hovold resets: 42*4506dc82SJohan Hovold maxItems: 3 43*4506dc82SJohan Hovold 44*4506dc82SJohan Hovold reset-names: 45*4506dc82SJohan Hovold items: 46*4506dc82SJohan Hovold - const: phy 47*4506dc82SJohan Hovold - const: common 48*4506dc82SJohan Hovold - const: cfg 49*4506dc82SJohan Hovold 50*4506dc82SJohan Hovold vdda-phy-supply: true 51*4506dc82SJohan Hovold 52*4506dc82SJohan Hovold vdda-pll-supply: true 53*4506dc82SJohan Hovold 54*4506dc82SJohan Hovold vddp-ref-clk-supply: true 55*4506dc82SJohan Hovold 56*4506dc82SJohan HovoldpatternProperties: 57*4506dc82SJohan Hovold "^phy@[0-9a-f]+$": 58*4506dc82SJohan Hovold type: object 59*4506dc82SJohan Hovold description: one child node per PHY provided by this block 60*4506dc82SJohan Hovold 61*4506dc82SJohan Hovoldrequired: 62*4506dc82SJohan Hovold - compatible 63*4506dc82SJohan Hovold - reg 64*4506dc82SJohan Hovold - "#address-cells" 65*4506dc82SJohan Hovold - "#size-cells" 66*4506dc82SJohan Hovold - ranges 67*4506dc82SJohan Hovold - clocks 68*4506dc82SJohan Hovold - clock-names 69*4506dc82SJohan Hovold - resets 70*4506dc82SJohan Hovold - reset-names 71*4506dc82SJohan Hovold - vdda-phy-supply 72*4506dc82SJohan Hovold - vdda-pll-supply 73*4506dc82SJohan Hovold 74*4506dc82SJohan HovoldadditionalProperties: false 75*4506dc82SJohan Hovold 76*4506dc82SJohan Hovoldexamples: 77*4506dc82SJohan Hovold - | 78*4506dc82SJohan Hovold #include <dt-bindings/clock/qcom,gcc-msm8996.h> 79*4506dc82SJohan Hovold pcie_phy: phy-wrapper@34000 { 80*4506dc82SJohan Hovold compatible = "qcom,msm8996-qmp-pcie-phy"; 81*4506dc82SJohan Hovold reg = <0x34000 0x488>; 82*4506dc82SJohan Hovold #address-cells = <1>; 83*4506dc82SJohan Hovold #size-cells = <1>; 84*4506dc82SJohan Hovold ranges = <0x0 0x34000 0x4000>; 85*4506dc82SJohan Hovold 86*4506dc82SJohan Hovold clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>, 87*4506dc82SJohan Hovold <&gcc GCC_PCIE_PHY_CFG_AHB_CLK>, 88*4506dc82SJohan Hovold <&gcc GCC_PCIE_CLKREF_CLK>; 89*4506dc82SJohan Hovold clock-names = "aux", "cfg_ahb", "ref"; 90*4506dc82SJohan Hovold 91*4506dc82SJohan Hovold resets = <&gcc GCC_PCIE_PHY_BCR>, 92*4506dc82SJohan Hovold <&gcc GCC_PCIE_PHY_COM_BCR>, 93*4506dc82SJohan Hovold <&gcc GCC_PCIE_PHY_COM_NOCSR_BCR>; 94*4506dc82SJohan Hovold reset-names = "phy", "common", "cfg"; 95*4506dc82SJohan Hovold 96*4506dc82SJohan Hovold vdda-phy-supply = <&vreg_l28a_0p925>; 97*4506dc82SJohan Hovold vdda-pll-supply = <&vreg_l12a_1p8>; 98*4506dc82SJohan Hovold 99*4506dc82SJohan Hovold pciephy_0: phy@1000 { 100*4506dc82SJohan Hovold reg = <0x1000 0x130>, 101*4506dc82SJohan Hovold <0x1200 0x200>, 102*4506dc82SJohan Hovold <0x1400 0x1dc>; 103*4506dc82SJohan Hovold 104*4506dc82SJohan Hovold clocks = <&gcc GCC_PCIE_0_PIPE_CLK>; 105*4506dc82SJohan Hovold clock-names = "pipe0"; 106*4506dc82SJohan Hovold resets = <&gcc GCC_PCIE_0_PHY_BCR>; 107*4506dc82SJohan Hovold reset-names = "lane0"; 108*4506dc82SJohan Hovold 109*4506dc82SJohan Hovold #clock-cells = <0>; 110*4506dc82SJohan Hovold clock-output-names = "pcie_0_pipe_clk_src"; 111*4506dc82SJohan Hovold 112*4506dc82SJohan Hovold #phy-cells = <0>; 113*4506dc82SJohan Hovold }; 114*4506dc82SJohan Hovold 115*4506dc82SJohan Hovold pciephy_1: phy@2000 { 116*4506dc82SJohan Hovold reg = <0x2000 0x130>, 117*4506dc82SJohan Hovold <0x2200 0x200>, 118*4506dc82SJohan Hovold <0x2400 0x1dc>; 119*4506dc82SJohan Hovold 120*4506dc82SJohan Hovold clocks = <&gcc GCC_PCIE_1_PIPE_CLK>; 121*4506dc82SJohan Hovold clock-names = "pipe1"; 122*4506dc82SJohan Hovold resets = <&gcc GCC_PCIE_1_PHY_BCR>; 123*4506dc82SJohan Hovold reset-names = "lane1"; 124*4506dc82SJohan Hovold 125*4506dc82SJohan Hovold #clock-cells = <0>; 126*4506dc82SJohan Hovold clock-output-names = "pcie_1_pipe_clk_src"; 127*4506dc82SJohan Hovold 128*4506dc82SJohan Hovold #phy-cells = <0>; 129*4506dc82SJohan Hovold }; 130*4506dc82SJohan Hovold 131*4506dc82SJohan Hovold pciephy_2: phy@3000 { 132*4506dc82SJohan Hovold reg = <0x3000 0x130>, 133*4506dc82SJohan Hovold <0x3200 0x200>, 134*4506dc82SJohan Hovold <0x3400 0x1dc>; 135*4506dc82SJohan Hovold 136*4506dc82SJohan Hovold clocks = <&gcc GCC_PCIE_2_PIPE_CLK>; 137*4506dc82SJohan Hovold clock-names = "pipe2"; 138*4506dc82SJohan Hovold resets = <&gcc GCC_PCIE_2_PHY_BCR>; 139*4506dc82SJohan Hovold reset-names = "lane2"; 140*4506dc82SJohan Hovold 141*4506dc82SJohan Hovold #clock-cells = <0>; 142*4506dc82SJohan Hovold clock-output-names = "pcie_2_pipe_clk_src"; 143*4506dc82SJohan Hovold 144*4506dc82SJohan Hovold #phy-cells = <0>; 145*4506dc82SJohan Hovold }; 146*4506dc82SJohan Hovold }; 147