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/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     };