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,usb2-phy.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Samsung S5P/Exynos SoC 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 The first phandle argument in the PHY specifier identifies the PHY, its
0016 meaning is compatible dependent. For the currently supported SoCs (Exynos4210
0017 and Exynos4212) it is as follows::
0018 0 - USB device ("device"),
0019 1 - USB host ("host"),
0020 2 - HSIC0 ("hsic0"),
0021 3 - HSIC1 ("hsic1"),
0022 Exynos3250 has only USB device phy available as phy 0.
0023
0024 Exynos4210 and Exynos4212 use mode switching and require that mode switch
0025 register is supplied.
0026
0027 properties:
0028 compatible:
0029 enum:
0030 - samsung,exynos3250-usb2-phy
0031 - samsung,exynos4210-usb2-phy
0032 - samsung,exynos4x12-usb2-phy
0033 - samsung,exynos5250-usb2-phy
0034 - samsung,exynos5420-usb2-phy
0035 - samsung,s5pv210-usb2-phy
0036
0037 clocks:
0038 items:
0039 - description: PHY module gate clock.
0040 - description: Reference rate clock of PHY module.
0041
0042 clock-names:
0043 items:
0044 - const: phy
0045 - const: ref
0046
0047 "#phy-cells":
0048 const: 1
0049
0050 reg:
0051 maxItems: 1
0052
0053 samsung,pmureg-phandle:
0054 $ref: /schemas/types.yaml#/definitions/phandle
0055 description:
0056 Phandle to PMU system controller interface.
0057
0058 samsung,sysreg-phandle:
0059 $ref: /schemas/types.yaml#/definitions/phandle
0060 description:
0061 Phandle to system registers interface.
0062
0063 vbus-supply:
0064 description:
0065 VBUS power source.
0066
0067 required:
0068 - compatible
0069 - clocks
0070 - clock-names
0071 - "#phy-cells"
0072 - reg
0073 - samsung,pmureg-phandle
0074
0075 allOf:
0076 - if:
0077 properties:
0078 compatible:
0079 contains:
0080 enum:
0081 - samsung,exynos4x12-usb2-phy
0082 - samsung,exynos5250-usb2-phy
0083 - samsung,exynos5420-usb2-phy
0084 then:
0085 required:
0086 - samsung,sysreg-phandle
0087
0088 additionalProperties: false
0089
0090 examples:
0091 - |
0092 #include <dt-bindings/clock/exynos5420.h>
0093
0094 phy@12130000 {
0095 compatible = "samsung,exynos5420-usb2-phy";
0096 reg = <0x12130000 0x100>;
0097 #phy-cells = <1>;
0098 clocks = <&clock CLK_USBH20>, <&clock CLK_SCLK_USBPHY300>;
0099 clock-names = "phy", "ref";
0100 samsung,sysreg-phandle = <&sysreg_system_controller>;
0101 samsung,pmureg-phandle = <&pmu_system_controller>;
0102 };