18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ci%YAML 1.2 48c2ecf20Sopenharmony_ci--- 58c2ecf20Sopenharmony_ci$id: "http://devicetree.org/schemas/phy/qcom,qmp-usb3-dp-phy.yaml#" 68c2ecf20Sopenharmony_ci$schema: "http://devicetree.org/meta-schemas/core.yaml#" 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_cititle: Qualcomm QMP USB3 DP PHY controller 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_cimaintainers: 118c2ecf20Sopenharmony_ci - Manu Gautam <mgautam@codeaurora.org> 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ciproperties: 148c2ecf20Sopenharmony_ci compatible: 158c2ecf20Sopenharmony_ci enum: 168c2ecf20Sopenharmony_ci - qcom,sc7180-qmp-usb3-dp-phy 178c2ecf20Sopenharmony_ci - qcom,sc7180-qmp-usb3-phy 188c2ecf20Sopenharmony_ci - qcom,sdm845-qmp-usb3-dp-phy 198c2ecf20Sopenharmony_ci - qcom,sdm845-qmp-usb3-phy 208c2ecf20Sopenharmony_ci reg: 218c2ecf20Sopenharmony_ci items: 228c2ecf20Sopenharmony_ci - description: Address and length of PHY's USB serdes block. 238c2ecf20Sopenharmony_ci - description: Address and length of the DP_COM control block. 248c2ecf20Sopenharmony_ci - description: Address and length of PHY's DP serdes block. 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci reg-names: 278c2ecf20Sopenharmony_ci items: 288c2ecf20Sopenharmony_ci - const: usb 298c2ecf20Sopenharmony_ci - const: dp_com 308c2ecf20Sopenharmony_ci - const: dp 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci "#clock-cells": 338c2ecf20Sopenharmony_ci enum: [ 1, 2 ] 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci "#address-cells": 368c2ecf20Sopenharmony_ci enum: [ 1, 2 ] 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ci "#size-cells": 398c2ecf20Sopenharmony_ci enum: [ 1, 2 ] 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci ranges: true 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci clocks: 448c2ecf20Sopenharmony_ci items: 458c2ecf20Sopenharmony_ci - description: Phy aux clock. 468c2ecf20Sopenharmony_ci - description: Phy config clock. 478c2ecf20Sopenharmony_ci - description: 19.2 MHz ref clk. 488c2ecf20Sopenharmony_ci - description: Phy common block aux clock. 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci clock-names: 518c2ecf20Sopenharmony_ci items: 528c2ecf20Sopenharmony_ci - const: aux 538c2ecf20Sopenharmony_ci - const: cfg_ahb 548c2ecf20Sopenharmony_ci - const: ref 558c2ecf20Sopenharmony_ci - const: com_aux 568c2ecf20Sopenharmony_ci 578c2ecf20Sopenharmony_ci resets: 588c2ecf20Sopenharmony_ci items: 598c2ecf20Sopenharmony_ci - description: reset of phy block. 608c2ecf20Sopenharmony_ci - description: phy common block reset. 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_ci reset-names: 638c2ecf20Sopenharmony_ci items: 648c2ecf20Sopenharmony_ci - const: phy 658c2ecf20Sopenharmony_ci - const: common 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ci vdda-phy-supply: 688c2ecf20Sopenharmony_ci description: 698c2ecf20Sopenharmony_ci Phandle to a regulator supply to PHY core block. 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ci vdda-pll-supply: 728c2ecf20Sopenharmony_ci description: 738c2ecf20Sopenharmony_ci Phandle to 1.8V regulator supply to PHY refclk pll block. 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ci vddp-ref-clk-supply: 768c2ecf20Sopenharmony_ci description: 778c2ecf20Sopenharmony_ci Phandle to a regulator supply to any specific refclk pll block. 788c2ecf20Sopenharmony_ci 798c2ecf20Sopenharmony_ci#Required nodes: 808c2ecf20Sopenharmony_cipatternProperties: 818c2ecf20Sopenharmony_ci "^usb3-phy@[0-9a-f]+$": 828c2ecf20Sopenharmony_ci type: object 838c2ecf20Sopenharmony_ci description: 848c2ecf20Sopenharmony_ci The USB3 PHY. 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_ci properties: 878c2ecf20Sopenharmony_ci reg: 888c2ecf20Sopenharmony_ci items: 898c2ecf20Sopenharmony_ci - description: Address and length of TX. 908c2ecf20Sopenharmony_ci - description: Address and length of RX. 918c2ecf20Sopenharmony_ci - description: Address and length of PCS. 928c2ecf20Sopenharmony_ci - description: Address and length of TX2. 938c2ecf20Sopenharmony_ci - description: Address and length of RX2. 948c2ecf20Sopenharmony_ci - description: Address and length of pcs_misc. 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_ci clocks: 978c2ecf20Sopenharmony_ci items: 988c2ecf20Sopenharmony_ci - description: pipe clock 998c2ecf20Sopenharmony_ci 1008c2ecf20Sopenharmony_ci clock-names: 1018c2ecf20Sopenharmony_ci items: 1028c2ecf20Sopenharmony_ci - const: pipe0 1038c2ecf20Sopenharmony_ci 1048c2ecf20Sopenharmony_ci clock-output-names: 1058c2ecf20Sopenharmony_ci items: 1068c2ecf20Sopenharmony_ci - const: usb3_phy_pipe_clk_src 1078c2ecf20Sopenharmony_ci 1088c2ecf20Sopenharmony_ci '#clock-cells': 1098c2ecf20Sopenharmony_ci const: 0 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ci '#phy-cells': 1128c2ecf20Sopenharmony_ci const: 0 1138c2ecf20Sopenharmony_ci 1148c2ecf20Sopenharmony_ci required: 1158c2ecf20Sopenharmony_ci - reg 1168c2ecf20Sopenharmony_ci - clocks 1178c2ecf20Sopenharmony_ci - clock-names 1188c2ecf20Sopenharmony_ci - '#clock-cells' 1198c2ecf20Sopenharmony_ci - '#phy-cells' 1208c2ecf20Sopenharmony_ci 1218c2ecf20Sopenharmony_ci "^dp-phy@[0-9a-f]+$": 1228c2ecf20Sopenharmony_ci type: object 1238c2ecf20Sopenharmony_ci description: 1248c2ecf20Sopenharmony_ci The DP PHY. 1258c2ecf20Sopenharmony_ci 1268c2ecf20Sopenharmony_ci properties: 1278c2ecf20Sopenharmony_ci reg: 1288c2ecf20Sopenharmony_ci items: 1298c2ecf20Sopenharmony_ci - description: Address and length of TX. 1308c2ecf20Sopenharmony_ci - description: Address and length of RX. 1318c2ecf20Sopenharmony_ci - description: Address and length of PCS. 1328c2ecf20Sopenharmony_ci - description: Address and length of TX2. 1338c2ecf20Sopenharmony_ci - description: Address and length of RX2. 1348c2ecf20Sopenharmony_ci 1358c2ecf20Sopenharmony_ci '#clock-cells': 1368c2ecf20Sopenharmony_ci const: 1 1378c2ecf20Sopenharmony_ci 1388c2ecf20Sopenharmony_ci '#phy-cells': 1398c2ecf20Sopenharmony_ci const: 0 1408c2ecf20Sopenharmony_ci 1418c2ecf20Sopenharmony_ci required: 1428c2ecf20Sopenharmony_ci - reg 1438c2ecf20Sopenharmony_ci - '#clock-cells' 1448c2ecf20Sopenharmony_ci - '#phy-cells' 1458c2ecf20Sopenharmony_ci 1468c2ecf20Sopenharmony_cirequired: 1478c2ecf20Sopenharmony_ci - compatible 1488c2ecf20Sopenharmony_ci - reg 1498c2ecf20Sopenharmony_ci - "#clock-cells" 1508c2ecf20Sopenharmony_ci - "#address-cells" 1518c2ecf20Sopenharmony_ci - "#size-cells" 1528c2ecf20Sopenharmony_ci - ranges 1538c2ecf20Sopenharmony_ci - clocks 1548c2ecf20Sopenharmony_ci - clock-names 1558c2ecf20Sopenharmony_ci - resets 1568c2ecf20Sopenharmony_ci - reset-names 1578c2ecf20Sopenharmony_ci - vdda-phy-supply 1588c2ecf20Sopenharmony_ci - vdda-pll-supply 1598c2ecf20Sopenharmony_ci 1608c2ecf20Sopenharmony_ciadditionalProperties: false 1618c2ecf20Sopenharmony_ci 1628c2ecf20Sopenharmony_ciexamples: 1638c2ecf20Sopenharmony_ci - | 1648c2ecf20Sopenharmony_ci #include <dt-bindings/clock/qcom,gcc-sdm845.h> 1658c2ecf20Sopenharmony_ci usb_1_qmpphy: phy-wrapper@88e9000 { 1668c2ecf20Sopenharmony_ci compatible = "qcom,sdm845-qmp-usb3-dp-phy"; 1678c2ecf20Sopenharmony_ci reg = <0x088e9000 0x18c>, 1688c2ecf20Sopenharmony_ci <0x088e8000 0x10>, 1698c2ecf20Sopenharmony_ci <0x088ea000 0x40>; 1708c2ecf20Sopenharmony_ci reg-names = "usb", "dp_com", "dp"; 1718c2ecf20Sopenharmony_ci #clock-cells = <1>; 1728c2ecf20Sopenharmony_ci #address-cells = <1>; 1738c2ecf20Sopenharmony_ci #size-cells = <1>; 1748c2ecf20Sopenharmony_ci ranges = <0x0 0x088e9000 0x2000>; 1758c2ecf20Sopenharmony_ci 1768c2ecf20Sopenharmony_ci clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>, 1778c2ecf20Sopenharmony_ci <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>, 1788c2ecf20Sopenharmony_ci <&gcc GCC_USB3_PRIM_CLKREF_CLK>, 1798c2ecf20Sopenharmony_ci <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>; 1808c2ecf20Sopenharmony_ci clock-names = "aux", "cfg_ahb", "ref", "com_aux"; 1818c2ecf20Sopenharmony_ci 1828c2ecf20Sopenharmony_ci resets = <&gcc GCC_USB3_PHY_PRIM_BCR>, 1838c2ecf20Sopenharmony_ci <&gcc GCC_USB3_DP_PHY_PRIM_BCR>; 1848c2ecf20Sopenharmony_ci reset-names = "phy", "common"; 1858c2ecf20Sopenharmony_ci 1868c2ecf20Sopenharmony_ci vdda-phy-supply = <&vdda_usb2_ss_1p2>; 1878c2ecf20Sopenharmony_ci vdda-pll-supply = <&vdda_usb2_ss_core>; 1888c2ecf20Sopenharmony_ci 1898c2ecf20Sopenharmony_ci usb3-phy@200 { 1908c2ecf20Sopenharmony_ci reg = <0x200 0x128>, 1918c2ecf20Sopenharmony_ci <0x400 0x200>, 1928c2ecf20Sopenharmony_ci <0xc00 0x218>, 1938c2ecf20Sopenharmony_ci <0x600 0x128>, 1948c2ecf20Sopenharmony_ci <0x800 0x200>, 1958c2ecf20Sopenharmony_ci <0xa00 0x100>; 1968c2ecf20Sopenharmony_ci #clock-cells = <0>; 1978c2ecf20Sopenharmony_ci #phy-cells = <0>; 1988c2ecf20Sopenharmony_ci clocks = <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>; 1998c2ecf20Sopenharmony_ci clock-names = "pipe0"; 2008c2ecf20Sopenharmony_ci clock-output-names = "usb3_phy_pipe_clk_src"; 2018c2ecf20Sopenharmony_ci }; 2028c2ecf20Sopenharmony_ci 2038c2ecf20Sopenharmony_ci dp-phy@88ea200 { 2048c2ecf20Sopenharmony_ci reg = <0xa200 0x200>, 2058c2ecf20Sopenharmony_ci <0xa400 0x200>, 2068c2ecf20Sopenharmony_ci <0xaa00 0x200>, 2078c2ecf20Sopenharmony_ci <0xa600 0x200>, 2088c2ecf20Sopenharmony_ci <0xa800 0x200>; 2098c2ecf20Sopenharmony_ci #clock-cells = <1>; 2108c2ecf20Sopenharmony_ci #phy-cells = <0>; 2118c2ecf20Sopenharmony_ci }; 2128c2ecf20Sopenharmony_ci }; 213