1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-C 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/phy/qcom,ms 4 $id: http://devicetree.org/schemas/phy/qcom,msm8998-qmp-usb3-phy.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: Qualcomm QMP PHY controller (USB, MSM89 7 title: Qualcomm QMP PHY controller (USB, MSM8998) 8 8 9 maintainers: 9 maintainers: 10 - Vinod Koul <vkoul@kernel.org> 10 - Vinod Koul <vkoul@kernel.org> 11 11 12 description: 12 description: 13 The QMP PHY controller supports physical lay 13 The QMP PHY controller supports physical layer functionality for USB-C on 14 several Qualcomm chipsets. 14 several Qualcomm chipsets. 15 15 16 properties: 16 properties: 17 compatible: 17 compatible: 18 enum: 18 enum: 19 - qcom,msm8998-qmp-usb3-phy 19 - qcom,msm8998-qmp-usb3-phy 20 - qcom,qcm2290-qmp-usb3-phy 20 - qcom,qcm2290-qmp-usb3-phy 21 - qcom,sdm660-qmp-usb3-phy 21 - qcom,sdm660-qmp-usb3-phy 22 - qcom,sm6115-qmp-usb3-phy 22 - qcom,sm6115-qmp-usb3-phy 23 23 24 reg: 24 reg: 25 maxItems: 1 25 maxItems: 1 26 26 27 clocks: 27 clocks: 28 maxItems: 4 28 maxItems: 4 29 29 30 clock-names: 30 clock-names: 31 maxItems: 4 31 maxItems: 4 32 32 33 resets: 33 resets: 34 maxItems: 2 34 maxItems: 2 35 35 36 reset-names: 36 reset-names: 37 items: 37 items: 38 - const: phy 38 - const: phy 39 - const: phy_phy 39 - const: phy_phy 40 40 41 vdda-phy-supply: true 41 vdda-phy-supply: true 42 42 43 vdda-pll-supply: true 43 vdda-pll-supply: true 44 44 45 "#clock-cells": 45 "#clock-cells": 46 const: 0 46 const: 0 47 47 48 clock-output-names: 48 clock-output-names: 49 maxItems: 1 49 maxItems: 1 50 50 51 "#phy-cells": 51 "#phy-cells": 52 const: 0 52 const: 0 53 53 54 orientation-switch: 54 orientation-switch: 55 description: 55 description: 56 Flag the PHY as possible handler of USB 56 Flag the PHY as possible handler of USB Type-C orientation switching 57 type: boolean 57 type: boolean 58 58 59 qcom,tcsr-reg: 59 qcom,tcsr-reg: 60 $ref: /schemas/types.yaml#/definitions/pha 60 $ref: /schemas/types.yaml#/definitions/phandle-array 61 items: 61 items: 62 - items: 62 - items: 63 - description: phandle to TCSR hardw 63 - description: phandle to TCSR hardware block 64 - description: offset of the VLS CLA 64 - description: offset of the VLS CLAMP register 65 description: Clamp register present in the 65 description: Clamp register present in the TCSR 66 66 67 ports: 67 ports: 68 $ref: /schemas/graph.yaml#/properties/port 68 $ref: /schemas/graph.yaml#/properties/ports 69 properties: 69 properties: 70 port@0: 70 port@0: 71 $ref: /schemas/graph.yaml#/properties/ 71 $ref: /schemas/graph.yaml#/properties/port 72 description: Output endpoint of the PH 72 description: Output endpoint of the PHY 73 73 74 port@1: 74 port@1: 75 $ref: /schemas/graph.yaml#/properties/ 75 $ref: /schemas/graph.yaml#/properties/port 76 description: Incoming endpoint from th 76 description: Incoming endpoint from the USB controller 77 77 78 required: 78 required: 79 - compatible 79 - compatible 80 - reg 80 - reg 81 - clocks 81 - clocks 82 - clock-names 82 - clock-names 83 - resets 83 - resets 84 - reset-names 84 - reset-names 85 - vdda-phy-supply 85 - vdda-phy-supply 86 - vdda-pll-supply 86 - vdda-pll-supply 87 - "#clock-cells" 87 - "#clock-cells" 88 - clock-output-names 88 - clock-output-names 89 - "#phy-cells" 89 - "#phy-cells" 90 - qcom,tcsr-reg 90 - qcom,tcsr-reg 91 91 92 allOf: 92 allOf: 93 - if: 93 - if: 94 properties: 94 properties: 95 compatible: 95 compatible: 96 contains: 96 contains: 97 enum: 97 enum: 98 - qcom,msm8998-qmp-usb3-phy 98 - qcom,msm8998-qmp-usb3-phy 99 - qcom,sdm660-qmp-usb3-phy 99 - qcom,sdm660-qmp-usb3-phy 100 then: 100 then: 101 properties: 101 properties: 102 clocks: 102 clocks: 103 maxItems: 4 103 maxItems: 4 104 clock-names: 104 clock-names: 105 items: 105 items: 106 - const: aux 106 - const: aux 107 - const: ref 107 - const: ref 108 - const: cfg_ahb 108 - const: cfg_ahb 109 - const: pipe 109 - const: pipe 110 110 111 - if: 111 - if: 112 properties: 112 properties: 113 compatible: 113 compatible: 114 contains: 114 contains: 115 enum: 115 enum: 116 - qcom,qcm2290-qmp-usb3-phy 116 - qcom,qcm2290-qmp-usb3-phy 117 - qcom,sm6115-qmp-usb3-phy 117 - qcom,sm6115-qmp-usb3-phy 118 then: 118 then: 119 properties: 119 properties: 120 clocks: 120 clocks: 121 maxItems: 4 121 maxItems: 4 122 clock-names: 122 clock-names: 123 items: 123 items: 124 - const: cfg_ahb 124 - const: cfg_ahb 125 - const: ref 125 - const: ref 126 - const: com_aux 126 - const: com_aux 127 - const: pipe 127 - const: pipe 128 128 129 additionalProperties: false 129 additionalProperties: false 130 130 131 examples: 131 examples: 132 - | 132 - | 133 #include <dt-bindings/clock/qcom,gcc-msm89 133 #include <dt-bindings/clock/qcom,gcc-msm8998.h> 134 #include <dt-bindings/clock/qcom,rpmh.h> 134 #include <dt-bindings/clock/qcom,rpmh.h> 135 135 136 phy@c010000 { 136 phy@c010000 { 137 compatible = "qcom,msm8998-qmp-usb3-phy" 137 compatible = "qcom,msm8998-qmp-usb3-phy"; 138 reg = <0x0c010000 0x1000>; 138 reg = <0x0c010000 0x1000>; 139 139 140 clocks = <&gcc GCC_USB3_PHY_AUX_CLK>, 140 clocks = <&gcc GCC_USB3_PHY_AUX_CLK>, 141 <&gcc GCC_USB3_CLKREF_CLK>, 141 <&gcc GCC_USB3_CLKREF_CLK>, 142 <&gcc GCC_USB_PHY_CFG_AHB2PHY_C 142 <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>, 143 <&gcc GCC_USB3_PHY_PIPE_CLK>; 143 <&gcc GCC_USB3_PHY_PIPE_CLK>; 144 clock-names = "aux", 144 clock-names = "aux", 145 "ref", 145 "ref", 146 "cfg_ahb", 146 "cfg_ahb", 147 "pipe"; 147 "pipe"; 148 clock-output-names = "usb3_phy_pipe_clk_ 148 clock-output-names = "usb3_phy_pipe_clk_src"; 149 #clock-cells = <0>; 149 #clock-cells = <0>; 150 #phy-cells = <0>; 150 #phy-cells = <0>; 151 151 152 resets = <&gcc GCC_USB3_PHY_BCR>, 152 resets = <&gcc GCC_USB3_PHY_BCR>, 153 <&gcc GCC_USB3PHY_PHY_BCR>; 153 <&gcc GCC_USB3PHY_PHY_BCR>; 154 reset-names = "phy", 154 reset-names = "phy", 155 "phy_phy"; 155 "phy_phy"; 156 156 157 vdda-phy-supply = <&vreg_l1a_0p875>; 157 vdda-phy-supply = <&vreg_l1a_0p875>; 158 vdda-pll-supply = <&vreg_l2a_1p2>; 158 vdda-pll-supply = <&vreg_l2a_1p2>; 159 159 160 orientation-switch; 160 orientation-switch; 161 161 162 qcom,tcsr-reg = <&tcsr_regs_1 0x6b244>; 162 qcom,tcsr-reg = <&tcsr_regs_1 0x6b244>; 163 163 164 ports { 164 ports { 165 #address-cells = <1>; 165 #address-cells = <1>; 166 #size-cells = <0>; 166 #size-cells = <0>; 167 167 168 port@0 { 168 port@0 { 169 reg = <0>; 169 reg = <0>; 170 170 171 endpoint { 171 endpoint { 172 remote-endpoint = <&pmic_typec_mux 172 remote-endpoint = <&pmic_typec_mux_in>; 173 }; 173 }; 174 }; 174 }; 175 175 176 port@1 { 176 port@1 { 177 reg = <1>; 177 reg = <1>; 178 178 179 endpoint { 179 endpoint { 180 remote-endpoint = <&usb_dwc3_ss>; 180 remote-endpoint = <&usb_dwc3_ss>; 181 }; 181 }; 182 }; 182 }; 183 }; 183 }; 184 }; 184 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.