1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2c66ec88fSEmmanuel Vadot 3c66ec88fSEmmanuel Vadot%YAML 1.2 4c66ec88fSEmmanuel Vadot--- 5c66ec88fSEmmanuel Vadot$id: "http://devicetree.org/schemas/phy/qcom,qmp-usb3-dp-phy.yaml#" 6c66ec88fSEmmanuel Vadot$schema: "http://devicetree.org/meta-schemas/core.yaml#" 7c66ec88fSEmmanuel Vadot 8c66ec88fSEmmanuel Vadottitle: Qualcomm QMP USB3 DP PHY controller 9c66ec88fSEmmanuel Vadot 10c66ec88fSEmmanuel Vadotmaintainers: 11d5b0e70fSEmmanuel Vadot - Wesley Cheng <quic_wcheng@quicinc.com> 12c66ec88fSEmmanuel Vadot 13c66ec88fSEmmanuel Vadotproperties: 14c66ec88fSEmmanuel Vadot compatible: 15c66ec88fSEmmanuel Vadot enum: 166be33864SEmmanuel Vadot - qcom,sc7180-qmp-usb3-dp-phy 17354d7675SEmmanuel Vadot - qcom,sc7280-qmp-usb3-dp-phy 18354d7675SEmmanuel Vadot - qcom,sc8180x-qmp-usb3-dp-phy 19*7ef62cebSEmmanuel Vadot - qcom,sc8280xp-qmp-usb43dp-phy 206be33864SEmmanuel Vadot - qcom,sdm845-qmp-usb3-dp-phy 212eb4d8dcSEmmanuel Vadot - qcom,sm8250-qmp-usb3-dp-phy 22c66ec88fSEmmanuel Vadot reg: 23c66ec88fSEmmanuel Vadot items: 246be33864SEmmanuel Vadot - description: Address and length of PHY's USB serdes block. 25c66ec88fSEmmanuel Vadot - description: Address and length of the DP_COM control block. 266be33864SEmmanuel Vadot - description: Address and length of PHY's DP serdes block. 27c66ec88fSEmmanuel Vadot 28c66ec88fSEmmanuel Vadot reg-names: 29c66ec88fSEmmanuel Vadot items: 306be33864SEmmanuel Vadot - const: usb 31c66ec88fSEmmanuel Vadot - const: dp_com 326be33864SEmmanuel Vadot - const: dp 33c66ec88fSEmmanuel Vadot 34c66ec88fSEmmanuel Vadot "#address-cells": 35c66ec88fSEmmanuel Vadot enum: [ 1, 2 ] 36c66ec88fSEmmanuel Vadot 37c66ec88fSEmmanuel Vadot "#size-cells": 38c66ec88fSEmmanuel Vadot enum: [ 1, 2 ] 39c66ec88fSEmmanuel Vadot 40c66ec88fSEmmanuel Vadot ranges: true 41c66ec88fSEmmanuel Vadot 42c66ec88fSEmmanuel Vadot clocks: 43c66ec88fSEmmanuel Vadot items: 44c66ec88fSEmmanuel Vadot - description: Phy aux clock. 45c66ec88fSEmmanuel Vadot - description: Phy config clock. 46c66ec88fSEmmanuel Vadot - description: 19.2 MHz ref clk. 47c66ec88fSEmmanuel Vadot - description: Phy common block aux clock. 48c66ec88fSEmmanuel Vadot 49c66ec88fSEmmanuel Vadot clock-names: 50c66ec88fSEmmanuel Vadot items: 51c66ec88fSEmmanuel Vadot - const: aux 52c66ec88fSEmmanuel Vadot - const: cfg_ahb 53c66ec88fSEmmanuel Vadot - const: ref 54c66ec88fSEmmanuel Vadot - const: com_aux 55c66ec88fSEmmanuel Vadot 56*7ef62cebSEmmanuel Vadot power-domains: 57*7ef62cebSEmmanuel Vadot maxItems: 1 58*7ef62cebSEmmanuel Vadot 59c66ec88fSEmmanuel Vadot resets: 60c66ec88fSEmmanuel Vadot items: 61c66ec88fSEmmanuel Vadot - description: reset of phy block. 62c66ec88fSEmmanuel Vadot - description: phy common block reset. 63c66ec88fSEmmanuel Vadot 64c66ec88fSEmmanuel Vadot reset-names: 65c66ec88fSEmmanuel Vadot items: 66c66ec88fSEmmanuel Vadot - const: phy 67c66ec88fSEmmanuel Vadot - const: common 68c66ec88fSEmmanuel Vadot 69c66ec88fSEmmanuel Vadot vdda-phy-supply: 70c66ec88fSEmmanuel Vadot description: 71c66ec88fSEmmanuel Vadot Phandle to a regulator supply to PHY core block. 72c66ec88fSEmmanuel Vadot 73c66ec88fSEmmanuel Vadot vdda-pll-supply: 74c66ec88fSEmmanuel Vadot description: 75c66ec88fSEmmanuel Vadot Phandle to 1.8V regulator supply to PHY refclk pll block. 76c66ec88fSEmmanuel Vadot 77c66ec88fSEmmanuel Vadot vddp-ref-clk-supply: 78c66ec88fSEmmanuel Vadot description: 79c66ec88fSEmmanuel Vadot Phandle to a regulator supply to any specific refclk pll block. 80c66ec88fSEmmanuel Vadot 81c66ec88fSEmmanuel Vadot#Required nodes: 82c66ec88fSEmmanuel VadotpatternProperties: 836be33864SEmmanuel Vadot "^usb3-phy@[0-9a-f]+$": 84c66ec88fSEmmanuel Vadot type: object 85*7ef62cebSEmmanuel Vadot additionalProperties: false 86c66ec88fSEmmanuel Vadot description: 876be33864SEmmanuel Vadot The USB3 PHY. 886be33864SEmmanuel Vadot 896be33864SEmmanuel Vadot properties: 906be33864SEmmanuel Vadot reg: 916be33864SEmmanuel Vadot items: 926be33864SEmmanuel Vadot - description: Address and length of TX. 936be33864SEmmanuel Vadot - description: Address and length of RX. 946be33864SEmmanuel Vadot - description: Address and length of PCS. 956be33864SEmmanuel Vadot - description: Address and length of TX2. 966be33864SEmmanuel Vadot - description: Address and length of RX2. 976be33864SEmmanuel Vadot - description: Address and length of pcs_misc. 986be33864SEmmanuel Vadot 996be33864SEmmanuel Vadot clocks: 1006be33864SEmmanuel Vadot items: 1016be33864SEmmanuel Vadot - description: pipe clock 1026be33864SEmmanuel Vadot 1036be33864SEmmanuel Vadot clock-names: 104*7ef62cebSEmmanuel Vadot deprecated: true 1056be33864SEmmanuel Vadot items: 1066be33864SEmmanuel Vadot - const: pipe0 1076be33864SEmmanuel Vadot 1086be33864SEmmanuel Vadot clock-output-names: 1096be33864SEmmanuel Vadot items: 1106be33864SEmmanuel Vadot - const: usb3_phy_pipe_clk_src 1116be33864SEmmanuel Vadot 1126be33864SEmmanuel Vadot '#clock-cells': 1136be33864SEmmanuel Vadot const: 0 1146be33864SEmmanuel Vadot 1156be33864SEmmanuel Vadot '#phy-cells': 1166be33864SEmmanuel Vadot const: 0 1176be33864SEmmanuel Vadot 1186be33864SEmmanuel Vadot required: 1196be33864SEmmanuel Vadot - reg 1206be33864SEmmanuel Vadot - clocks 1216be33864SEmmanuel Vadot - '#clock-cells' 1226be33864SEmmanuel Vadot - '#phy-cells' 1236be33864SEmmanuel Vadot 1246be33864SEmmanuel Vadot "^dp-phy@[0-9a-f]+$": 1256be33864SEmmanuel Vadot type: object 126*7ef62cebSEmmanuel Vadot additionalProperties: false 1276be33864SEmmanuel Vadot description: 1286be33864SEmmanuel Vadot The DP PHY. 1296be33864SEmmanuel Vadot 1306be33864SEmmanuel Vadot properties: 1316be33864SEmmanuel Vadot reg: 1326be33864SEmmanuel Vadot items: 1336be33864SEmmanuel Vadot - description: Address and length of TX. 1346be33864SEmmanuel Vadot - description: Address and length of RX. 1356be33864SEmmanuel Vadot - description: Address and length of PCS. 1366be33864SEmmanuel Vadot - description: Address and length of TX2. 1376be33864SEmmanuel Vadot - description: Address and length of RX2. 1386be33864SEmmanuel Vadot 1396be33864SEmmanuel Vadot '#clock-cells': 1406be33864SEmmanuel Vadot const: 1 1416be33864SEmmanuel Vadot 1426be33864SEmmanuel Vadot '#phy-cells': 1436be33864SEmmanuel Vadot const: 0 1446be33864SEmmanuel Vadot 1456be33864SEmmanuel Vadot required: 1466be33864SEmmanuel Vadot - reg 1476be33864SEmmanuel Vadot - '#clock-cells' 1486be33864SEmmanuel Vadot - '#phy-cells' 149c66ec88fSEmmanuel Vadot 150c66ec88fSEmmanuel Vadotrequired: 151c66ec88fSEmmanuel Vadot - compatible 152c66ec88fSEmmanuel Vadot - reg 153c66ec88fSEmmanuel Vadot - "#address-cells" 154c66ec88fSEmmanuel Vadot - "#size-cells" 155c66ec88fSEmmanuel Vadot - ranges 156c66ec88fSEmmanuel Vadot - clocks 157c66ec88fSEmmanuel Vadot - clock-names 158c66ec88fSEmmanuel Vadot - resets 159c66ec88fSEmmanuel Vadot - reset-names 160c66ec88fSEmmanuel Vadot - vdda-phy-supply 161c66ec88fSEmmanuel Vadot - vdda-pll-supply 162c66ec88fSEmmanuel Vadot 163c66ec88fSEmmanuel VadotadditionalProperties: false 164c66ec88fSEmmanuel Vadot 165*7ef62cebSEmmanuel VadotallOf: 166*7ef62cebSEmmanuel Vadot - if: 167*7ef62cebSEmmanuel Vadot properties: 168*7ef62cebSEmmanuel Vadot compatible: 169*7ef62cebSEmmanuel Vadot contains: 170*7ef62cebSEmmanuel Vadot enum: 171*7ef62cebSEmmanuel Vadot - qcom,sc8280xp-qmp-usb43dp-phy 172*7ef62cebSEmmanuel Vadot then: 173*7ef62cebSEmmanuel Vadot required: 174*7ef62cebSEmmanuel Vadot - power-domains 175*7ef62cebSEmmanuel Vadot 176c66ec88fSEmmanuel Vadotexamples: 177c66ec88fSEmmanuel Vadot - | 178c66ec88fSEmmanuel Vadot #include <dt-bindings/clock/qcom,gcc-sdm845.h> 179c66ec88fSEmmanuel Vadot usb_1_qmpphy: phy-wrapper@88e9000 { 1806be33864SEmmanuel Vadot compatible = "qcom,sdm845-qmp-usb3-dp-phy"; 181c66ec88fSEmmanuel Vadot reg = <0x088e9000 0x18c>, 1826be33864SEmmanuel Vadot <0x088e8000 0x10>, 1836be33864SEmmanuel Vadot <0x088ea000 0x40>; 1846be33864SEmmanuel Vadot reg-names = "usb", "dp_com", "dp"; 185c66ec88fSEmmanuel Vadot #address-cells = <1>; 186c66ec88fSEmmanuel Vadot #size-cells = <1>; 1876be33864SEmmanuel Vadot ranges = <0x0 0x088e9000 0x2000>; 188c66ec88fSEmmanuel Vadot 189c66ec88fSEmmanuel Vadot clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>, 190c66ec88fSEmmanuel Vadot <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>, 191c66ec88fSEmmanuel Vadot <&gcc GCC_USB3_PRIM_CLKREF_CLK>, 192c66ec88fSEmmanuel Vadot <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>; 193c66ec88fSEmmanuel Vadot clock-names = "aux", "cfg_ahb", "ref", "com_aux"; 194c66ec88fSEmmanuel Vadot 195c66ec88fSEmmanuel Vadot resets = <&gcc GCC_USB3_PHY_PRIM_BCR>, 196c66ec88fSEmmanuel Vadot <&gcc GCC_USB3_DP_PHY_PRIM_BCR>; 197c66ec88fSEmmanuel Vadot reset-names = "phy", "common"; 198c66ec88fSEmmanuel Vadot 199c66ec88fSEmmanuel Vadot vdda-phy-supply = <&vdda_usb2_ss_1p2>; 200c66ec88fSEmmanuel Vadot vdda-pll-supply = <&vdda_usb2_ss_core>; 201c66ec88fSEmmanuel Vadot 2026be33864SEmmanuel Vadot usb3-phy@200 { 203c66ec88fSEmmanuel Vadot reg = <0x200 0x128>, 204c66ec88fSEmmanuel Vadot <0x400 0x200>, 205c66ec88fSEmmanuel Vadot <0xc00 0x218>, 206c66ec88fSEmmanuel Vadot <0x600 0x128>, 207c66ec88fSEmmanuel Vadot <0x800 0x200>, 208c66ec88fSEmmanuel Vadot <0xa00 0x100>; 209c66ec88fSEmmanuel Vadot #clock-cells = <0>; 210c66ec88fSEmmanuel Vadot #phy-cells = <0>; 211c66ec88fSEmmanuel Vadot clocks = <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>; 212c66ec88fSEmmanuel Vadot clock-output-names = "usb3_phy_pipe_clk_src"; 213c66ec88fSEmmanuel Vadot }; 2146be33864SEmmanuel Vadot 2156be33864SEmmanuel Vadot dp-phy@88ea200 { 2166be33864SEmmanuel Vadot reg = <0xa200 0x200>, 2176be33864SEmmanuel Vadot <0xa400 0x200>, 2186be33864SEmmanuel Vadot <0xaa00 0x200>, 2196be33864SEmmanuel Vadot <0xa600 0x200>, 2206be33864SEmmanuel Vadot <0xa800 0x200>; 2216be33864SEmmanuel Vadot #clock-cells = <1>; 2226be33864SEmmanuel Vadot #phy-cells = <0>; 2236be33864SEmmanuel Vadot }; 224c66ec88fSEmmanuel Vadot }; 225