1c9ccf3a3SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2c9ccf3a3SEmmanuel Vadot%YAML 1.2 3c9ccf3a3SEmmanuel Vadot--- 4c9ccf3a3SEmmanuel Vadot$id: http://devicetree.org/schemas/phy/samsung,usb3-drd-phy.yaml# 5c9ccf3a3SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c9ccf3a3SEmmanuel Vadot 7c9ccf3a3SEmmanuel Vadottitle: Samsung Exynos SoC USB 3.0 DRD PHY USB 2.0 PHY 8c9ccf3a3SEmmanuel Vadot 9c9ccf3a3SEmmanuel Vadotmaintainers: 10c9ccf3a3SEmmanuel Vadot - Krzysztof Kozlowski <krzk@kernel.org> 11c9ccf3a3SEmmanuel Vadot - Marek Szyprowski <m.szyprowski@samsung.com> 12c9ccf3a3SEmmanuel Vadot - Sylwester Nawrocki <s.nawrocki@samsung.com> 13c9ccf3a3SEmmanuel Vadot 14c9ccf3a3SEmmanuel Vadotdescription: | 15c9ccf3a3SEmmanuel Vadot For samsung,exynos5250-usbdrd-phy and samsung,exynos5420-usbdrd-phy 16c9ccf3a3SEmmanuel Vadot compatible PHYs, the second cell in the PHY specifier identifies the 17c9ccf3a3SEmmanuel Vadot PHY id, which is interpreted as follows:: 18c9ccf3a3SEmmanuel Vadot 0 - UTMI+ type phy, 19c9ccf3a3SEmmanuel Vadot 1 - PIPE3 type phy. 20c9ccf3a3SEmmanuel Vadot 21c9ccf3a3SEmmanuel Vadot For SoCs like Exynos5420 having multiple USB 3.0 DRD PHY controllers, 22c9ccf3a3SEmmanuel Vadot 'usbdrd_phy' nodes should have numbered alias in the aliases node, in the 23c9ccf3a3SEmmanuel Vadot form of usbdrdphyN, N = 0, 1... (depending on number of controllers). 24c9ccf3a3SEmmanuel Vadot 25c9ccf3a3SEmmanuel Vadotproperties: 26c9ccf3a3SEmmanuel Vadot compatible: 27c9ccf3a3SEmmanuel Vadot enum: 28c9ccf3a3SEmmanuel Vadot - samsung,exynos5250-usbdrd-phy 29c9ccf3a3SEmmanuel Vadot - samsung,exynos5420-usbdrd-phy 30c9ccf3a3SEmmanuel Vadot - samsung,exynos5433-usbdrd-phy 31c9ccf3a3SEmmanuel Vadot - samsung,exynos7-usbdrd-phy 32*aa1a8ff2SEmmanuel Vadot - samsung,exynos850-usbdrd-phy 33c9ccf3a3SEmmanuel Vadot 34c9ccf3a3SEmmanuel Vadot clocks: 35c9ccf3a3SEmmanuel Vadot minItems: 2 36c9ccf3a3SEmmanuel Vadot maxItems: 5 37c9ccf3a3SEmmanuel Vadot 38c9ccf3a3SEmmanuel Vadot clock-names: 39c9ccf3a3SEmmanuel Vadot minItems: 2 40c9ccf3a3SEmmanuel Vadot maxItems: 5 41c9ccf3a3SEmmanuel Vadot description: | 42c9ccf3a3SEmmanuel Vadot At least two clocks:: 43c9ccf3a3SEmmanuel Vadot - Main PHY clock (same as USB DRD controller i.e. DWC3 IP clock), used 44c9ccf3a3SEmmanuel Vadot for register access. 45c9ccf3a3SEmmanuel Vadot - PHY reference clock (usually crystal clock), used for PHY operations, 46c9ccf3a3SEmmanuel Vadot associated by phy name. It is used to determine bit values for clock 47c9ccf3a3SEmmanuel Vadot settings register. For Exynos5420 this is given as 'sclk_usbphy30' 48c9ccf3a3SEmmanuel Vadot in the CMU. 49c9ccf3a3SEmmanuel Vadot 50c9ccf3a3SEmmanuel Vadot "#phy-cells": 51c9ccf3a3SEmmanuel Vadot const: 1 52c9ccf3a3SEmmanuel Vadot 53c9ccf3a3SEmmanuel Vadot port: 54c9ccf3a3SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 55c9ccf3a3SEmmanuel Vadot description: 56c9ccf3a3SEmmanuel Vadot Any connector to the data bus of this controller should be modelled using 57c9ccf3a3SEmmanuel Vadot the OF graph bindings specified. 58c9ccf3a3SEmmanuel Vadot 59c9ccf3a3SEmmanuel Vadot reg: 60c9ccf3a3SEmmanuel Vadot maxItems: 1 61c9ccf3a3SEmmanuel Vadot 62c9ccf3a3SEmmanuel Vadot samsung,pmu-syscon: 63c9ccf3a3SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 64c9ccf3a3SEmmanuel Vadot description: 65c9ccf3a3SEmmanuel Vadot Phandle to PMU system controller interface. 66c9ccf3a3SEmmanuel Vadot 67c9ccf3a3SEmmanuel Vadot vbus-supply: 68c9ccf3a3SEmmanuel Vadot description: 69c9ccf3a3SEmmanuel Vadot VBUS power source. 70c9ccf3a3SEmmanuel Vadot 71c9ccf3a3SEmmanuel Vadot vbus-boost-supply: 72c9ccf3a3SEmmanuel Vadot description: 73c9ccf3a3SEmmanuel Vadot VBUS Boost 5V power source. 74c9ccf3a3SEmmanuel Vadot 75c9ccf3a3SEmmanuel Vadotrequired: 76c9ccf3a3SEmmanuel Vadot - compatible 77c9ccf3a3SEmmanuel Vadot - clocks 78c9ccf3a3SEmmanuel Vadot - clock-names 79c9ccf3a3SEmmanuel Vadot - "#phy-cells" 80c9ccf3a3SEmmanuel Vadot - reg 81c9ccf3a3SEmmanuel Vadot - samsung,pmu-syscon 82c9ccf3a3SEmmanuel Vadot 83c9ccf3a3SEmmanuel VadotallOf: 84c9ccf3a3SEmmanuel Vadot - if: 85c9ccf3a3SEmmanuel Vadot properties: 86c9ccf3a3SEmmanuel Vadot compatible: 87c9ccf3a3SEmmanuel Vadot contains: 88c9ccf3a3SEmmanuel Vadot enum: 89c9ccf3a3SEmmanuel Vadot - samsung,exynos5433-usbdrd-phy 90c9ccf3a3SEmmanuel Vadot - samsung,exynos7-usbdrd-phy 91c9ccf3a3SEmmanuel Vadot then: 92c9ccf3a3SEmmanuel Vadot properties: 93c9ccf3a3SEmmanuel Vadot clocks: 94c9ccf3a3SEmmanuel Vadot minItems: 5 95c9ccf3a3SEmmanuel Vadot maxItems: 5 96c9ccf3a3SEmmanuel Vadot clock-names: 97c9ccf3a3SEmmanuel Vadot items: 98c9ccf3a3SEmmanuel Vadot - const: phy 99c9ccf3a3SEmmanuel Vadot - const: ref 100c9ccf3a3SEmmanuel Vadot - const: phy_utmi 101c9ccf3a3SEmmanuel Vadot - const: phy_pipe 102c9ccf3a3SEmmanuel Vadot - const: itp 103c9ccf3a3SEmmanuel Vadot else: 104c9ccf3a3SEmmanuel Vadot properties: 105c9ccf3a3SEmmanuel Vadot clocks: 106c9ccf3a3SEmmanuel Vadot minItems: 2 107c9ccf3a3SEmmanuel Vadot maxItems: 2 108c9ccf3a3SEmmanuel Vadot clock-names: 109c9ccf3a3SEmmanuel Vadot items: 110c9ccf3a3SEmmanuel Vadot - const: phy 111c9ccf3a3SEmmanuel Vadot - const: ref 112c9ccf3a3SEmmanuel Vadot 113c9ccf3a3SEmmanuel VadotadditionalProperties: false 114c9ccf3a3SEmmanuel Vadot 115c9ccf3a3SEmmanuel Vadotexamples: 116c9ccf3a3SEmmanuel Vadot - | 117c9ccf3a3SEmmanuel Vadot #include <dt-bindings/clock/exynos5420.h> 118c9ccf3a3SEmmanuel Vadot 119c9ccf3a3SEmmanuel Vadot phy@12100000 { 120c9ccf3a3SEmmanuel Vadot compatible = "samsung,exynos5420-usbdrd-phy"; 121c9ccf3a3SEmmanuel Vadot reg = <0x12100000 0x100>; 122c9ccf3a3SEmmanuel Vadot #phy-cells = <1>; 123c9ccf3a3SEmmanuel Vadot clocks = <&clock CLK_USBD300>, <&clock CLK_SCLK_USBPHY300>; 124c9ccf3a3SEmmanuel Vadot clock-names = "phy", "ref"; 125c9ccf3a3SEmmanuel Vadot samsung,pmu-syscon = <&pmu_system_controller>; 126c9ccf3a3SEmmanuel Vadot vbus-supply = <&usb300_vbus_reg>; 127c9ccf3a3SEmmanuel Vadot }; 128