xref: /linux/Documentation/devicetree/bindings/usb/intel,keembay-dwc3.yaml (revision 02680c23d7b3febe45ea3d4f9818c2b2dc89020a)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/intel,keembay-dwc3.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Intel Keem Bay DWC3 USB controller
8
9maintainers:
10  - Wan Ahmad Zainie <wan.ahmad.zainie.wan.mohamad@intel.com>
11
12properties:
13  compatible:
14    const: intel,keembay-dwc3
15
16  clocks:
17    maxItems: 4
18
19  clock-names:
20    items:
21      - const: async_master
22      - const: ref
23      - const: alt_ref
24      - const: suspend
25
26  ranges: true
27
28  '#address-cells':
29    enum: [ 1, 2 ]
30
31  '#size-cells':
32    enum: [ 1, 2 ]
33
34# Required child node:
35
36patternProperties:
37  "^usb@[0-9a-f]+$":
38    $ref: snps,dwc3.yaml#
39
40required:
41  - compatible
42  - clocks
43  - clock-names
44  - ranges
45
46additionalProperties: false
47
48examples:
49  - |
50    #include <dt-bindings/interrupt-controller/arm-gic.h>
51    #include <dt-bindings/interrupt-controller/irq.h>
52    #define KEEM_BAY_A53_AUX_USB
53    #define KEEM_BAY_A53_AUX_USB_REF
54    #define KEEM_BAY_A53_AUX_USB_ALT_REF
55    #define KEEM_BAY_A53_AUX_USB_SUSPEND
56
57    usb {
58          compatible = "intel,keembay-dwc3";
59          clocks = <&scmi_clk KEEM_BAY_A53_AUX_USB>,
60                   <&scmi_clk KEEM_BAY_A53_AUX_USB_REF>,
61                   <&scmi_clk KEEM_BAY_A53_AUX_USB_ALT_REF>,
62                   <&scmi_clk KEEM_BAY_A53_AUX_USB_SUSPEND>;
63          clock-names = "async_master", "ref", "alt_ref", "suspend";
64          ranges;
65          #address-cells = <1>;
66          #size-cells = <1>;
67
68          usb@34000000 {
69                compatible = "snps,dwc3";
70                reg = <0x34000000 0x10000>;
71                interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
72                dr_mode = "peripheral";
73          };
74    };
75