Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/phy/samsung,usb3-drd-phy.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Samsung Exynos SoC USB 3.0 DRD PHY USB 2.0 PHY
0008 
0009 maintainers:
0010   - Krzysztof Kozlowski <krzk@kernel.org>
0011   - Marek Szyprowski <m.szyprowski@samsung.com>
0012   - Sylwester Nawrocki <s.nawrocki@samsung.com>
0013 
0014 description: |
0015   For samsung,exynos5250-usbdrd-phy and samsung,exynos5420-usbdrd-phy
0016   compatible PHYs, the second cell in the PHY specifier identifies the
0017   PHY id, which is interpreted as follows::
0018     0 - UTMI+ type phy,
0019     1 - PIPE3 type phy.
0020 
0021   For SoCs like Exynos5420 having multiple USB 3.0 DRD PHY controllers,
0022   'usbdrd_phy' nodes should have numbered alias in the aliases node, in the
0023   form of usbdrdphyN, N = 0, 1... (depending on number of controllers).
0024 
0025 properties:
0026   compatible:
0027     enum:
0028       - samsung,exynos5250-usbdrd-phy
0029       - samsung,exynos5420-usbdrd-phy
0030       - samsung,exynos5433-usbdrd-phy
0031       - samsung,exynos7-usbdrd-phy
0032 
0033   clocks:
0034     minItems: 2
0035     maxItems: 5
0036 
0037   clock-names:
0038     minItems: 2
0039     maxItems: 5
0040     description: |
0041       At least two clocks::
0042         - Main PHY clock (same as USB DRD controller i.e. DWC3 IP clock), used
0043           for register access.
0044         - PHY reference clock (usually crystal clock), used for PHY operations,
0045           associated by phy name. It is used to determine bit values for clock
0046           settings register.  For Exynos5420 this is given as 'sclk_usbphy30'
0047           in the CMU.
0048 
0049   "#phy-cells":
0050     const: 1
0051 
0052   port:
0053     $ref: /schemas/graph.yaml#/properties/port
0054     description:
0055       Any connector to the data bus of this controller should be modelled using
0056       the OF graph bindings specified.
0057 
0058   reg:
0059     maxItems: 1
0060 
0061   samsung,pmu-syscon:
0062     $ref: /schemas/types.yaml#/definitions/phandle
0063     description:
0064       Phandle to PMU system controller interface.
0065 
0066   vbus-supply:
0067     description:
0068       VBUS power source.
0069 
0070   vbus-boost-supply:
0071     description:
0072       VBUS Boost 5V power source.
0073 
0074 required:
0075   - compatible
0076   - clocks
0077   - clock-names
0078   - "#phy-cells"
0079   - reg
0080   - samsung,pmu-syscon
0081 
0082 allOf:
0083   - if:
0084       properties:
0085         compatible:
0086           contains:
0087             enum:
0088               - samsung,exynos5433-usbdrd-phy
0089               - samsung,exynos7-usbdrd-phy
0090     then:
0091       properties:
0092         clocks:
0093           minItems: 5
0094           maxItems: 5
0095         clock-names:
0096           items:
0097             - const: phy
0098             - const: ref
0099             - const: phy_utmi
0100             - const: phy_pipe
0101             - const: itp
0102     else:
0103       properties:
0104         clocks:
0105           minItems: 2
0106           maxItems: 2
0107         clock-names:
0108           items:
0109             - const: phy
0110             - const: ref
0111 
0112 additionalProperties: false
0113 
0114 examples:
0115   - |
0116     #include <dt-bindings/clock/exynos5420.h>
0117 
0118     phy@12100000 {
0119         compatible = "samsung,exynos5420-usbdrd-phy";
0120         reg = <0x12100000 0x100>;
0121         #phy-cells = <1>;
0122         clocks = <&clock CLK_USBD300>, <&clock CLK_SCLK_USBPHY300>;
0123         clock-names = "phy", "ref";
0124         samsung,pmu-syscon = <&pmu_system_controller>;
0125         vbus-supply = <&usb300_vbus_reg>;
0126     };