160c24dbfSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 260c24dbfSKrzysztof Kozlowski%YAML 1.2 360c24dbfSKrzysztof Kozlowski--- 460c24dbfSKrzysztof Kozlowski$id: http://devicetree.org/schemas/phy/samsung,usb3-drd-phy.yaml# 560c24dbfSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 660c24dbfSKrzysztof Kozlowski 760c24dbfSKrzysztof Kozlowskititle: Samsung Exynos SoC USB 3.0 DRD PHY USB 2.0 PHY 860c24dbfSKrzysztof Kozlowski 960c24dbfSKrzysztof Kozlowskimaintainers: 108a1e6bb3SKrzysztof Kozlowski - Krzysztof Kozlowski <krzk@kernel.org> 1160c24dbfSKrzysztof Kozlowski - Marek Szyprowski <m.szyprowski@samsung.com> 1260c24dbfSKrzysztof Kozlowski - Sylwester Nawrocki <s.nawrocki@samsung.com> 1360c24dbfSKrzysztof Kozlowski 1460c24dbfSKrzysztof Kozlowskidescription: | 1560c24dbfSKrzysztof Kozlowski For samsung,exynos5250-usbdrd-phy and samsung,exynos5420-usbdrd-phy 1660c24dbfSKrzysztof Kozlowski compatible PHYs, the second cell in the PHY specifier identifies the 1760c24dbfSKrzysztof Kozlowski PHY id, which is interpreted as follows:: 1860c24dbfSKrzysztof Kozlowski 0 - UTMI+ type phy, 1960c24dbfSKrzysztof Kozlowski 1 - PIPE3 type phy. 2060c24dbfSKrzysztof Kozlowski 2160c24dbfSKrzysztof Kozlowski For SoCs like Exynos5420 having multiple USB 3.0 DRD PHY controllers, 2260c24dbfSKrzysztof Kozlowski 'usbdrd_phy' nodes should have numbered alias in the aliases node, in the 2360c24dbfSKrzysztof Kozlowski form of usbdrdphyN, N = 0, 1... (depending on number of controllers). 2460c24dbfSKrzysztof Kozlowski 2560c24dbfSKrzysztof Kozlowskiproperties: 2660c24dbfSKrzysztof Kozlowski compatible: 2760c24dbfSKrzysztof Kozlowski enum: 28e340c041SAndré Draszik - google,gs101-usb31drd-phy 29*e4c9a7b4SIvaylo Ivanov - samsung,exynos2200-usb32drd-phy 3060c24dbfSKrzysztof Kozlowski - samsung,exynos5250-usbdrd-phy 3160c24dbfSKrzysztof Kozlowski - samsung,exynos5420-usbdrd-phy 3260c24dbfSKrzysztof Kozlowski - samsung,exynos5433-usbdrd-phy 3360c24dbfSKrzysztof Kozlowski - samsung,exynos7-usbdrd-phy 3423f79385SKaustabh Chakraborty - samsung,exynos7870-usbdrd-phy 350b76bdceSSam Protsenko - samsung,exynos850-usbdrd-phy 3660c24dbfSKrzysztof Kozlowski - samsung,exynos990-usbdrd-phy 3760c24dbfSKrzysztof Kozlowski 38*e4c9a7b4SIvaylo Ivanov clocks: 3960c24dbfSKrzysztof Kozlowski minItems: 1 4060c24dbfSKrzysztof Kozlowski maxItems: 5 4160c24dbfSKrzysztof Kozlowski 42*e4c9a7b4SIvaylo Ivanov clock-names: 4360c24dbfSKrzysztof Kozlowski minItems: 1 4460c24dbfSKrzysztof Kozlowski maxItems: 5 45*e4c9a7b4SIvaylo Ivanov description: | 4660c24dbfSKrzysztof Kozlowski Typically two clocks: 4760c24dbfSKrzysztof Kozlowski - Main PHY clock (same as USB DRD controller i.e. DWC3 IP clock), used 4860c24dbfSKrzysztof Kozlowski for register access. 4960c24dbfSKrzysztof Kozlowski - PHY reference clock (usually crystal clock), used for PHY operations, 5060c24dbfSKrzysztof Kozlowski associated by phy name. It is used to determine bit values for clock 51*e4c9a7b4SIvaylo Ivanov settings register. For Exynos5420 this is given as 'sclk_usbphy30' 5260c24dbfSKrzysztof Kozlowski in the CMU. It's not needed for Exynos2200. 5360c24dbfSKrzysztof Kozlowski 5460c24dbfSKrzysztof Kozlowski "#phy-cells": 5560c24dbfSKrzysztof Kozlowski const: 1 56*e4c9a7b4SIvaylo Ivanov 57*e4c9a7b4SIvaylo Ivanov phys: 58*e4c9a7b4SIvaylo Ivanov maxItems: 1 59*e4c9a7b4SIvaylo Ivanov description: 60*e4c9a7b4SIvaylo Ivanov USBDRD-underlying high-speed PHY 61*e4c9a7b4SIvaylo Ivanov 62*e4c9a7b4SIvaylo Ivanov phy-names: 63*e4c9a7b4SIvaylo Ivanov const: hs 6460c24dbfSKrzysztof Kozlowski 6560c24dbfSKrzysztof Kozlowski port: 6660c24dbfSKrzysztof Kozlowski $ref: /schemas/graph.yaml#/properties/port 6760c24dbfSKrzysztof Kozlowski description: 6860c24dbfSKrzysztof Kozlowski Any connector to the data bus of this controller should be modelled using 6960c24dbfSKrzysztof Kozlowski the OF graph bindings specified. 7060c24dbfSKrzysztof Kozlowski 71e340c041SAndré Draszik reg: 72e340c041SAndré Draszik minItems: 1 73e340c041SAndré Draszik maxItems: 3 74e340c041SAndré Draszik 75e340c041SAndré Draszik reg-names: 76e340c041SAndré Draszik minItems: 1 77e340c041SAndré Draszik items: 78e340c041SAndré Draszik - const: phy 79e340c041SAndré Draszik - const: pcs 8060c24dbfSKrzysztof Kozlowski - const: pma 8160c24dbfSKrzysztof Kozlowski 8260c24dbfSKrzysztof Kozlowski samsung,pmu-syscon: 8360c24dbfSKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/phandle 8460c24dbfSKrzysztof Kozlowski description: 8560c24dbfSKrzysztof Kozlowski Phandle to PMU system controller interface. 8660c24dbfSKrzysztof Kozlowski 8760c24dbfSKrzysztof Kozlowski vbus-supply: 8860c24dbfSKrzysztof Kozlowski description: 8960c24dbfSKrzysztof Kozlowski VBUS power source. 9060c24dbfSKrzysztof Kozlowski 9160c24dbfSKrzysztof Kozlowski vbus-boost-supply: 9260c24dbfSKrzysztof Kozlowski description: 9360c24dbfSKrzysztof Kozlowski VBUS Boost 5V power source. 94e340c041SAndré Draszik 95e340c041SAndré Draszik pll-supply: 96642b1ed4SAndré Draszik description: Power supply for the USB PLL. 97e340c041SAndré Draszik 98e340c041SAndré Draszik dvdd-usb20-supply: 99642b1ed4SAndré Draszik description: DVDD power supply for the USB 2.0 phy. 100e340c041SAndré Draszik 101e340c041SAndré Draszik vddh-usb20-supply: 102642b1ed4SAndré Draszik description: VDDh power supply for the USB 2.0 phy. 103e340c041SAndré Draszik 104e340c041SAndré Draszik vdd33-usb20-supply: 105642b1ed4SAndré Draszik description: 3.3V power supply for the USB 2.0 phy. 106e340c041SAndré Draszik 107e340c041SAndré Draszik vdda-usbdp-supply: 108642b1ed4SAndré Draszik description: VDDa power supply for the USB DP phy. 109e340c041SAndré Draszik 110e340c041SAndré Draszik vddh-usbdp-supply: 111e340c041SAndré Draszik description: VDDh power supply for the USB DP phy. 11260c24dbfSKrzysztof Kozlowski 11360c24dbfSKrzysztof Kozlowskirequired: 11460c24dbfSKrzysztof Kozlowski - compatible 11560c24dbfSKrzysztof Kozlowski - clocks 11660c24dbfSKrzysztof Kozlowski - clock-names 11760c24dbfSKrzysztof Kozlowski - "#phy-cells" 11860c24dbfSKrzysztof Kozlowski - reg 11960c24dbfSKrzysztof Kozlowski - samsung,pmu-syscon 12060c24dbfSKrzysztof Kozlowski 12160c24dbfSKrzysztof KozlowskiallOf: 12260c24dbfSKrzysztof Kozlowski - if: 12360c24dbfSKrzysztof Kozlowski properties: 12460c24dbfSKrzysztof Kozlowski compatible: 125e340c041SAndré Draszik contains: 126e340c041SAndré Draszik const: google,gs101-usb31drd-phy 127c3852881SAndré Draszik then: 128c3852881SAndré Draszik $ref: /schemas/usb/usb-switch.yaml# 129e340c041SAndré Draszik 130e340c041SAndré Draszik properties: 131e340c041SAndré Draszik clocks: 132e340c041SAndré Draszik items: 133e340c041SAndré Draszik - description: Gate of main PHY clock 134e340c041SAndré Draszik - description: Gate of PHY reference clock 135e340c041SAndré Draszik - description: Gate of control interface AXI clock 136e340c041SAndré Draszik - description: Gate of control interface APB clock 137642b1ed4SAndré Draszik - description: Gate of SCL APB clock 138e340c041SAndré Draszik 139e340c041SAndré Draszik clock-names: 140e340c041SAndré Draszik items: 141e340c041SAndré Draszik - const: phy 142e340c041SAndré Draszik - const: ref 143e340c041SAndré Draszik - const: ctrl_aclk 144e340c041SAndré Draszik - const: ctrl_pclk 145642b1ed4SAndré Draszik - const: scl_pclk 146e340c041SAndré Draszik 147e340c041SAndré Draszik reg: 148642b1ed4SAndré Draszik minItems: 3 149e340c041SAndré Draszik 150e340c041SAndré Draszik reg-names: 151642b1ed4SAndré Draszik minItems: 3 152e340c041SAndré Draszik 153e340c041SAndré Draszik required: 154c3852881SAndré Draszik - reg-names 155c3852881SAndré Draszik - orientation-switch 156e340c041SAndré Draszik - port 157e340c041SAndré Draszik - pll-supply 158e340c041SAndré Draszik - dvdd-usb20-supply 159e340c041SAndré Draszik - vddh-usb20-supply 160e340c041SAndré Draszik - vdd33-usb20-supply 161e340c041SAndré Draszik - vdda-usbdp-supply 162e340c041SAndré Draszik - vddh-usbdp-supply 163e340c041SAndré Draszik 164e340c041SAndré Draszik - if: 165e340c041SAndré Draszik properties: 166e340c041SAndré Draszik compatible: 16760c24dbfSKrzysztof Kozlowski contains: 168*e4c9a7b4SIvaylo Ivanov enum: 169*e4c9a7b4SIvaylo Ivanov - samsung,exynos2200-usb32drd-phy 170*e4c9a7b4SIvaylo Ivanov then: 171*e4c9a7b4SIvaylo Ivanov properties: 172*e4c9a7b4SIvaylo Ivanov clocks: 173*e4c9a7b4SIvaylo Ivanov maxItems: 1 174*e4c9a7b4SIvaylo Ivanov clock-names: 175*e4c9a7b4SIvaylo Ivanov items: 176*e4c9a7b4SIvaylo Ivanov - const: phy 177*e4c9a7b4SIvaylo Ivanov reg: 178*e4c9a7b4SIvaylo Ivanov maxItems: 1 179*e4c9a7b4SIvaylo Ivanov reg-names: 180*e4c9a7b4SIvaylo Ivanov maxItems: 1 181*e4c9a7b4SIvaylo Ivanov required: 182*e4c9a7b4SIvaylo Ivanov - phys 183*e4c9a7b4SIvaylo Ivanov - phy-names 184*e4c9a7b4SIvaylo Ivanov 185*e4c9a7b4SIvaylo Ivanov - if: 186*e4c9a7b4SIvaylo Ivanov properties: 187*e4c9a7b4SIvaylo Ivanov compatible: 188*e4c9a7b4SIvaylo Ivanov contains: 18960c24dbfSKrzysztof Kozlowski enum: 19060c24dbfSKrzysztof Kozlowski - samsung,exynos5433-usbdrd-phy 19160c24dbfSKrzysztof Kozlowski - samsung,exynos7-usbdrd-phy 19260c24dbfSKrzysztof Kozlowski then: 19360c24dbfSKrzysztof Kozlowski properties: 19460c24dbfSKrzysztof Kozlowski clocks: 19560c24dbfSKrzysztof Kozlowski minItems: 5 196642b1ed4SAndré Draszik maxItems: 5 19760c24dbfSKrzysztof Kozlowski 19860c24dbfSKrzysztof Kozlowski clock-names: 19960c24dbfSKrzysztof Kozlowski items: 20060c24dbfSKrzysztof Kozlowski - const: phy 20160c24dbfSKrzysztof Kozlowski - const: ref 20260c24dbfSKrzysztof Kozlowski - const: phy_utmi 20360c24dbfSKrzysztof Kozlowski - const: phy_pipe 204642b1ed4SAndré Draszik - const: itp 205e340c041SAndré Draszik 206e340c041SAndré Draszik reg: 207642b1ed4SAndré Draszik maxItems: 1 208e340c041SAndré Draszik 209e340c041SAndré Draszik reg-names: 210e340c041SAndré Draszik maxItems: 1 211e340c041SAndré Draszik 212e340c041SAndré Draszik - if: 213e340c041SAndré Draszik properties: 214e340c041SAndré Draszik compatible: 215e340c041SAndré Draszik contains: 216e340c041SAndré Draszik enum: 217e340c041SAndré Draszik - samsung,exynos5250-usbdrd-phy 21823f79385SKaustabh Chakraborty - samsung,exynos5420-usbdrd-phy 219e340c041SAndré Draszik - samsung,exynos7870-usbdrd-phy 220e340c041SAndré Draszik - samsung,exynos850-usbdrd-phy 22160c24dbfSKrzysztof Kozlowski - samsung,exynos990-usbdrd-phy 22260c24dbfSKrzysztof Kozlowski then: 22360c24dbfSKrzysztof Kozlowski properties: 22460c24dbfSKrzysztof Kozlowski clocks: 225642b1ed4SAndré Draszik minItems: 2 22660c24dbfSKrzysztof Kozlowski maxItems: 2 22760c24dbfSKrzysztof Kozlowski 22860c24dbfSKrzysztof Kozlowski clock-names: 22960c24dbfSKrzysztof Kozlowski items: 230642b1ed4SAndré Draszik - const: phy 231e340c041SAndré Draszik - const: ref 232e340c041SAndré Draszik 233642b1ed4SAndré Draszik reg: 234e340c041SAndré Draszik maxItems: 1 235e340c041SAndré Draszik 23660c24dbfSKrzysztof Kozlowski reg-names: 237c3852881SAndré Draszik maxItems: 1 23860c24dbfSKrzysztof Kozlowski 23960c24dbfSKrzysztof KozlowskiunevaluatedProperties: false 24060c24dbfSKrzysztof Kozlowski 24160c24dbfSKrzysztof Kozlowskiexamples: 24260c24dbfSKrzysztof Kozlowski - | 24360c24dbfSKrzysztof Kozlowski #include <dt-bindings/clock/exynos5420.h> 24460c24dbfSKrzysztof Kozlowski 24560c24dbfSKrzysztof Kozlowski phy@12100000 { 24660c24dbfSKrzysztof Kozlowski compatible = "samsung,exynos5420-usbdrd-phy"; 24760c24dbfSKrzysztof Kozlowski reg = <0x12100000 0x100>; 24860c24dbfSKrzysztof Kozlowski #phy-cells = <1>; 24960c24dbfSKrzysztof Kozlowski clocks = <&clock CLK_USBD300>, <&clock CLK_SCLK_USBPHY300>; 25060c24dbfSKrzysztof Kozlowski clock-names = "phy", "ref"; 25160c24dbfSKrzysztof Kozlowski samsung,pmu-syscon = <&pmu_system_controller>; 252 vbus-supply = <&usb300_vbus_reg>; 253 }; 254