1*4882a593Smuzhiyun# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun%YAML 1.2 4*4882a593Smuzhiyun--- 5*4882a593Smuzhiyun$id: "http://devicetree.org/schemas/phy/qcom,qmp-usb3-dp-phy.yaml#" 6*4882a593Smuzhiyun$schema: "http://devicetree.org/meta-schemas/core.yaml#" 7*4882a593Smuzhiyun 8*4882a593Smuzhiyuntitle: Qualcomm QMP USB3 DP PHY controller 9*4882a593Smuzhiyun 10*4882a593Smuzhiyunmaintainers: 11*4882a593Smuzhiyun - Manu Gautam <mgautam@codeaurora.org> 12*4882a593Smuzhiyun 13*4882a593Smuzhiyunproperties: 14*4882a593Smuzhiyun compatible: 15*4882a593Smuzhiyun enum: 16*4882a593Smuzhiyun - qcom,sc7180-qmp-usb3-dp-phy 17*4882a593Smuzhiyun - qcom,sc7180-qmp-usb3-phy 18*4882a593Smuzhiyun - qcom,sdm845-qmp-usb3-dp-phy 19*4882a593Smuzhiyun - qcom,sdm845-qmp-usb3-phy 20*4882a593Smuzhiyun reg: 21*4882a593Smuzhiyun items: 22*4882a593Smuzhiyun - description: Address and length of PHY's USB serdes block. 23*4882a593Smuzhiyun - description: Address and length of the DP_COM control block. 24*4882a593Smuzhiyun - description: Address and length of PHY's DP serdes block. 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun reg-names: 27*4882a593Smuzhiyun items: 28*4882a593Smuzhiyun - const: usb 29*4882a593Smuzhiyun - const: dp_com 30*4882a593Smuzhiyun - const: dp 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun "#clock-cells": 33*4882a593Smuzhiyun enum: [ 1, 2 ] 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun "#address-cells": 36*4882a593Smuzhiyun enum: [ 1, 2 ] 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun "#size-cells": 39*4882a593Smuzhiyun enum: [ 1, 2 ] 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun ranges: true 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun clocks: 44*4882a593Smuzhiyun items: 45*4882a593Smuzhiyun - description: Phy aux clock. 46*4882a593Smuzhiyun - description: Phy config clock. 47*4882a593Smuzhiyun - description: 19.2 MHz ref clk. 48*4882a593Smuzhiyun - description: Phy common block aux clock. 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun clock-names: 51*4882a593Smuzhiyun items: 52*4882a593Smuzhiyun - const: aux 53*4882a593Smuzhiyun - const: cfg_ahb 54*4882a593Smuzhiyun - const: ref 55*4882a593Smuzhiyun - const: com_aux 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun resets: 58*4882a593Smuzhiyun items: 59*4882a593Smuzhiyun - description: reset of phy block. 60*4882a593Smuzhiyun - description: phy common block reset. 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun reset-names: 63*4882a593Smuzhiyun items: 64*4882a593Smuzhiyun - const: phy 65*4882a593Smuzhiyun - const: common 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun vdda-phy-supply: 68*4882a593Smuzhiyun description: 69*4882a593Smuzhiyun Phandle to a regulator supply to PHY core block. 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun vdda-pll-supply: 72*4882a593Smuzhiyun description: 73*4882a593Smuzhiyun Phandle to 1.8V regulator supply to PHY refclk pll block. 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun vddp-ref-clk-supply: 76*4882a593Smuzhiyun description: 77*4882a593Smuzhiyun Phandle to a regulator supply to any specific refclk pll block. 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun#Required nodes: 80*4882a593SmuzhiyunpatternProperties: 81*4882a593Smuzhiyun "^usb3-phy@[0-9a-f]+$": 82*4882a593Smuzhiyun type: object 83*4882a593Smuzhiyun description: 84*4882a593Smuzhiyun The USB3 PHY. 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun properties: 87*4882a593Smuzhiyun reg: 88*4882a593Smuzhiyun items: 89*4882a593Smuzhiyun - description: Address and length of TX. 90*4882a593Smuzhiyun - description: Address and length of RX. 91*4882a593Smuzhiyun - description: Address and length of PCS. 92*4882a593Smuzhiyun - description: Address and length of TX2. 93*4882a593Smuzhiyun - description: Address and length of RX2. 94*4882a593Smuzhiyun - description: Address and length of pcs_misc. 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun clocks: 97*4882a593Smuzhiyun items: 98*4882a593Smuzhiyun - description: pipe clock 99*4882a593Smuzhiyun 100*4882a593Smuzhiyun clock-names: 101*4882a593Smuzhiyun items: 102*4882a593Smuzhiyun - const: pipe0 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun clock-output-names: 105*4882a593Smuzhiyun items: 106*4882a593Smuzhiyun - const: usb3_phy_pipe_clk_src 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun '#clock-cells': 109*4882a593Smuzhiyun const: 0 110*4882a593Smuzhiyun 111*4882a593Smuzhiyun '#phy-cells': 112*4882a593Smuzhiyun const: 0 113*4882a593Smuzhiyun 114*4882a593Smuzhiyun required: 115*4882a593Smuzhiyun - reg 116*4882a593Smuzhiyun - clocks 117*4882a593Smuzhiyun - clock-names 118*4882a593Smuzhiyun - '#clock-cells' 119*4882a593Smuzhiyun - '#phy-cells' 120*4882a593Smuzhiyun 121*4882a593Smuzhiyun "^dp-phy@[0-9a-f]+$": 122*4882a593Smuzhiyun type: object 123*4882a593Smuzhiyun description: 124*4882a593Smuzhiyun The DP PHY. 125*4882a593Smuzhiyun 126*4882a593Smuzhiyun properties: 127*4882a593Smuzhiyun reg: 128*4882a593Smuzhiyun items: 129*4882a593Smuzhiyun - description: Address and length of TX. 130*4882a593Smuzhiyun - description: Address and length of RX. 131*4882a593Smuzhiyun - description: Address and length of PCS. 132*4882a593Smuzhiyun - description: Address and length of TX2. 133*4882a593Smuzhiyun - description: Address and length of RX2. 134*4882a593Smuzhiyun 135*4882a593Smuzhiyun '#clock-cells': 136*4882a593Smuzhiyun const: 1 137*4882a593Smuzhiyun 138*4882a593Smuzhiyun '#phy-cells': 139*4882a593Smuzhiyun const: 0 140*4882a593Smuzhiyun 141*4882a593Smuzhiyun required: 142*4882a593Smuzhiyun - reg 143*4882a593Smuzhiyun - '#clock-cells' 144*4882a593Smuzhiyun - '#phy-cells' 145*4882a593Smuzhiyun 146*4882a593Smuzhiyunrequired: 147*4882a593Smuzhiyun - compatible 148*4882a593Smuzhiyun - reg 149*4882a593Smuzhiyun - "#clock-cells" 150*4882a593Smuzhiyun - "#address-cells" 151*4882a593Smuzhiyun - "#size-cells" 152*4882a593Smuzhiyun - ranges 153*4882a593Smuzhiyun - clocks 154*4882a593Smuzhiyun - clock-names 155*4882a593Smuzhiyun - resets 156*4882a593Smuzhiyun - reset-names 157*4882a593Smuzhiyun - vdda-phy-supply 158*4882a593Smuzhiyun - vdda-pll-supply 159*4882a593Smuzhiyun 160*4882a593SmuzhiyunadditionalProperties: false 161*4882a593Smuzhiyun 162*4882a593Smuzhiyunexamples: 163*4882a593Smuzhiyun - | 164*4882a593Smuzhiyun #include <dt-bindings/clock/qcom,gcc-sdm845.h> 165*4882a593Smuzhiyun usb_1_qmpphy: phy-wrapper@88e9000 { 166*4882a593Smuzhiyun compatible = "qcom,sdm845-qmp-usb3-dp-phy"; 167*4882a593Smuzhiyun reg = <0x088e9000 0x18c>, 168*4882a593Smuzhiyun <0x088e8000 0x10>, 169*4882a593Smuzhiyun <0x088ea000 0x40>; 170*4882a593Smuzhiyun reg-names = "usb", "dp_com", "dp"; 171*4882a593Smuzhiyun #clock-cells = <1>; 172*4882a593Smuzhiyun #address-cells = <1>; 173*4882a593Smuzhiyun #size-cells = <1>; 174*4882a593Smuzhiyun ranges = <0x0 0x088e9000 0x2000>; 175*4882a593Smuzhiyun 176*4882a593Smuzhiyun clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>, 177*4882a593Smuzhiyun <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>, 178*4882a593Smuzhiyun <&gcc GCC_USB3_PRIM_CLKREF_CLK>, 179*4882a593Smuzhiyun <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>; 180*4882a593Smuzhiyun clock-names = "aux", "cfg_ahb", "ref", "com_aux"; 181*4882a593Smuzhiyun 182*4882a593Smuzhiyun resets = <&gcc GCC_USB3_PHY_PRIM_BCR>, 183*4882a593Smuzhiyun <&gcc GCC_USB3_DP_PHY_PRIM_BCR>; 184*4882a593Smuzhiyun reset-names = "phy", "common"; 185*4882a593Smuzhiyun 186*4882a593Smuzhiyun vdda-phy-supply = <&vdda_usb2_ss_1p2>; 187*4882a593Smuzhiyun vdda-pll-supply = <&vdda_usb2_ss_core>; 188*4882a593Smuzhiyun 189*4882a593Smuzhiyun usb3-phy@200 { 190*4882a593Smuzhiyun reg = <0x200 0x128>, 191*4882a593Smuzhiyun <0x400 0x200>, 192*4882a593Smuzhiyun <0xc00 0x218>, 193*4882a593Smuzhiyun <0x600 0x128>, 194*4882a593Smuzhiyun <0x800 0x200>, 195*4882a593Smuzhiyun <0xa00 0x100>; 196*4882a593Smuzhiyun #clock-cells = <0>; 197*4882a593Smuzhiyun #phy-cells = <0>; 198*4882a593Smuzhiyun clocks = <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>; 199*4882a593Smuzhiyun clock-names = "pipe0"; 200*4882a593Smuzhiyun clock-output-names = "usb3_phy_pipe_clk_src"; 201*4882a593Smuzhiyun }; 202*4882a593Smuzhiyun 203*4882a593Smuzhiyun dp-phy@88ea200 { 204*4882a593Smuzhiyun reg = <0xa200 0x200>, 205*4882a593Smuzhiyun <0xa400 0x200>, 206*4882a593Smuzhiyun <0xaa00 0x200>, 207*4882a593Smuzhiyun <0xa600 0x200>, 208*4882a593Smuzhiyun <0xa800 0x200>; 209*4882a593Smuzhiyun #clock-cells = <1>; 210*4882a593Smuzhiyun #phy-cells = <0>; 211*4882a593Smuzhiyun }; 212*4882a593Smuzhiyun }; 213