162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/phy/samsung,usb3-drd-phy.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Samsung Exynos SoC USB 3.0 DRD PHY USB 2.0 PHY 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Krzysztof Kozlowski <krzk@kernel.org> 1162306a36Sopenharmony_ci - Marek Szyprowski <m.szyprowski@samsung.com> 1262306a36Sopenharmony_ci - Sylwester Nawrocki <s.nawrocki@samsung.com> 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_cidescription: | 1562306a36Sopenharmony_ci For samsung,exynos5250-usbdrd-phy and samsung,exynos5420-usbdrd-phy 1662306a36Sopenharmony_ci compatible PHYs, the second cell in the PHY specifier identifies the 1762306a36Sopenharmony_ci PHY id, which is interpreted as follows:: 1862306a36Sopenharmony_ci 0 - UTMI+ type phy, 1962306a36Sopenharmony_ci 1 - PIPE3 type phy. 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci For SoCs like Exynos5420 having multiple USB 3.0 DRD PHY controllers, 2262306a36Sopenharmony_ci 'usbdrd_phy' nodes should have numbered alias in the aliases node, in the 2362306a36Sopenharmony_ci form of usbdrdphyN, N = 0, 1... (depending on number of controllers). 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ciproperties: 2662306a36Sopenharmony_ci compatible: 2762306a36Sopenharmony_ci enum: 2862306a36Sopenharmony_ci - samsung,exynos5250-usbdrd-phy 2962306a36Sopenharmony_ci - samsung,exynos5420-usbdrd-phy 3062306a36Sopenharmony_ci - samsung,exynos5433-usbdrd-phy 3162306a36Sopenharmony_ci - samsung,exynos7-usbdrd-phy 3262306a36Sopenharmony_ci - samsung,exynos850-usbdrd-phy 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci clocks: 3562306a36Sopenharmony_ci minItems: 2 3662306a36Sopenharmony_ci maxItems: 5 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci clock-names: 3962306a36Sopenharmony_ci minItems: 2 4062306a36Sopenharmony_ci maxItems: 5 4162306a36Sopenharmony_ci description: | 4262306a36Sopenharmony_ci At least two clocks:: 4362306a36Sopenharmony_ci - Main PHY clock (same as USB DRD controller i.e. DWC3 IP clock), used 4462306a36Sopenharmony_ci for register access. 4562306a36Sopenharmony_ci - PHY reference clock (usually crystal clock), used for PHY operations, 4662306a36Sopenharmony_ci associated by phy name. It is used to determine bit values for clock 4762306a36Sopenharmony_ci settings register. For Exynos5420 this is given as 'sclk_usbphy30' 4862306a36Sopenharmony_ci in the CMU. 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci "#phy-cells": 5162306a36Sopenharmony_ci const: 1 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci port: 5462306a36Sopenharmony_ci $ref: /schemas/graph.yaml#/properties/port 5562306a36Sopenharmony_ci description: 5662306a36Sopenharmony_ci Any connector to the data bus of this controller should be modelled using 5762306a36Sopenharmony_ci the OF graph bindings specified. 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci reg: 6062306a36Sopenharmony_ci maxItems: 1 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci samsung,pmu-syscon: 6362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/phandle 6462306a36Sopenharmony_ci description: 6562306a36Sopenharmony_ci Phandle to PMU system controller interface. 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci vbus-supply: 6862306a36Sopenharmony_ci description: 6962306a36Sopenharmony_ci VBUS power source. 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci vbus-boost-supply: 7262306a36Sopenharmony_ci description: 7362306a36Sopenharmony_ci VBUS Boost 5V power source. 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_cirequired: 7662306a36Sopenharmony_ci - compatible 7762306a36Sopenharmony_ci - clocks 7862306a36Sopenharmony_ci - clock-names 7962306a36Sopenharmony_ci - "#phy-cells" 8062306a36Sopenharmony_ci - reg 8162306a36Sopenharmony_ci - samsung,pmu-syscon 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ciallOf: 8462306a36Sopenharmony_ci - if: 8562306a36Sopenharmony_ci properties: 8662306a36Sopenharmony_ci compatible: 8762306a36Sopenharmony_ci contains: 8862306a36Sopenharmony_ci enum: 8962306a36Sopenharmony_ci - samsung,exynos5433-usbdrd-phy 9062306a36Sopenharmony_ci - samsung,exynos7-usbdrd-phy 9162306a36Sopenharmony_ci then: 9262306a36Sopenharmony_ci properties: 9362306a36Sopenharmony_ci clocks: 9462306a36Sopenharmony_ci minItems: 5 9562306a36Sopenharmony_ci maxItems: 5 9662306a36Sopenharmony_ci clock-names: 9762306a36Sopenharmony_ci items: 9862306a36Sopenharmony_ci - const: phy 9962306a36Sopenharmony_ci - const: ref 10062306a36Sopenharmony_ci - const: phy_utmi 10162306a36Sopenharmony_ci - const: phy_pipe 10262306a36Sopenharmony_ci - const: itp 10362306a36Sopenharmony_ci else: 10462306a36Sopenharmony_ci properties: 10562306a36Sopenharmony_ci clocks: 10662306a36Sopenharmony_ci minItems: 2 10762306a36Sopenharmony_ci maxItems: 2 10862306a36Sopenharmony_ci clock-names: 10962306a36Sopenharmony_ci items: 11062306a36Sopenharmony_ci - const: phy 11162306a36Sopenharmony_ci - const: ref 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ciadditionalProperties: false 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ciexamples: 11662306a36Sopenharmony_ci - | 11762306a36Sopenharmony_ci #include <dt-bindings/clock/exynos5420.h> 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ci phy@12100000 { 12062306a36Sopenharmony_ci compatible = "samsung,exynos5420-usbdrd-phy"; 12162306a36Sopenharmony_ci reg = <0x12100000 0x100>; 12262306a36Sopenharmony_ci #phy-cells = <1>; 12362306a36Sopenharmony_ci clocks = <&clock CLK_USBD300>, <&clock CLK_SCLK_USBPHY300>; 12462306a36Sopenharmony_ci clock-names = "phy", "ref"; 12562306a36Sopenharmony_ci samsung,pmu-syscon = <&pmu_system_controller>; 12662306a36Sopenharmony_ci vbus-supply = <&usb300_vbus_reg>; 12762306a36Sopenharmony_ci }; 128