0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/usb/samsung,exynos-dwc3.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Samsung Exynos SoC USB 3.0 DWC3 Controller
0008
0009 maintainers:
0010 - Krzysztof Kozlowski <krzk@kernel.org>
0011
0012 properties:
0013 compatible:
0014 enum:
0015 - samsung,exynos5250-dwusb3
0016 - samsung,exynos5433-dwusb3
0017 - samsung,exynos7-dwusb3
0018
0019 '#address-cells':
0020 const: 1
0021
0022 clocks:
0023 minItems: 1
0024 maxItems: 4
0025
0026 clock-names:
0027 minItems: 1
0028 maxItems: 4
0029
0030 ranges: true
0031
0032 '#size-cells':
0033 const: 1
0034
0035 vdd10-supply:
0036 description: 1.0V power supply
0037
0038 vdd33-supply:
0039 description: 3.0V/3.3V power supply
0040
0041 patternProperties:
0042 "^usb@[0-9a-f]+$":
0043 $ref: snps,dwc3.yaml#
0044 description: Required child node
0045
0046 required:
0047 - compatible
0048 - '#address-cells'
0049 - clocks
0050 - clock-names
0051 - ranges
0052 - '#size-cells'
0053 - vdd10-supply
0054 - vdd33-supply
0055
0056 allOf:
0057 - if:
0058 properties:
0059 compatible:
0060 contains:
0061 const: samsung,exynos5250-dwusb3
0062 then:
0063 properties:
0064 clocks:
0065 minItems: 1
0066 maxItems: 1
0067 clock-names:
0068 items:
0069 - const: usbdrd30
0070
0071 - if:
0072 properties:
0073 compatible:
0074 contains:
0075 const: samsung,exynos54333-dwusb3
0076 then:
0077 properties:
0078 clocks:
0079 minItems: 4
0080 maxItems: 4
0081 clock-names:
0082 items:
0083 - const: aclk
0084 - const: susp_clk
0085 - const: pipe_pclk
0086 - const: phyclk
0087
0088 - if:
0089 properties:
0090 compatible:
0091 contains:
0092 const: samsung,exynos7-dwusb3
0093 then:
0094 properties:
0095 clocks:
0096 minItems: 3
0097 maxItems: 3
0098 clock-names:
0099 items:
0100 - const: usbdrd30
0101 - const: usbdrd30_susp_clk
0102 - const: usbdrd30_axius_clk
0103
0104 additionalProperties: false
0105
0106 examples:
0107 - |
0108 #include <dt-bindings/clock/exynos5420.h>
0109 #include <dt-bindings/interrupt-controller/arm-gic.h>
0110
0111 usb {
0112 compatible = "samsung,exynos5250-dwusb3";
0113 #address-cells = <1>;
0114 #size-cells = <1>;
0115 ranges;
0116 clocks = <&clock CLK_USBD300>;
0117 clock-names = "usbdrd30";
0118 vdd33-supply = <&ldo9_reg>;
0119 vdd10-supply = <&ldo11_reg>;
0120
0121 usb@12000000 {
0122 compatible = "snps,dwc3";
0123 reg = <0x12000000 0x10000>;
0124 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
0125 phys = <&usbdrd_phy0 0>, <&usbdrd_phy0 1>;
0126 phy-names = "usb2-phy", "usb3-phy";
0127 snps,dis_u3_susphy_quirk;
0128 };
0129 };