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  reg:
17    maxItems: 1
18
19  clocks:
20    maxItems: 4
21
22  clock-names:
23    items:
24      - const: async_master
25      - const: ref
26      - const: alt_ref
27      - const: suspend
28
29  ranges: true
30
31  '#address-cells':
32    enum: [ 1, 2 ]
33
34  '#size-cells':
35    enum: [ 1, 2 ]
36
37# Required child node:
38
39patternProperties:
40  "^usb@[0-9a-f]+$":
41    $ref: snps,dwc3.yaml#
42
43required:
44  - compatible
45  - clocks
46  - clock-names
47  - ranges
48
49additionalProperties: false
50
51examples:
52  - |
53    #include <dt-bindings/interrupt-controller/arm-gic.h>
54    #include <dt-bindings/interrupt-controller/irq.h>
55    #define KEEM_BAY_A53_AUX_USB
56    #define KEEM_BAY_A53_AUX_USB_REF
57    #define KEEM_BAY_A53_AUX_USB_ALT_REF
58    #define KEEM_BAY_A53_AUX_USB_SUSPEND
59
60    usb {
61          compatible = "intel,keembay-dwc3";
62          clocks = <&scmi_clk KEEM_BAY_A53_AUX_USB>,
63                   <&scmi_clk KEEM_BAY_A53_AUX_USB_REF>,
64                   <&scmi_clk KEEM_BAY_A53_AUX_USB_ALT_REF>,
65                   <&scmi_clk KEEM_BAY_A53_AUX_USB_SUSPEND>;
66          clock-names = "async_master", "ref", "alt_ref", "suspend";
67          ranges;
68          #address-cells = <1>;
69          #size-cells = <1>;
70
71          usb@34000000 {
72                compatible = "snps,dwc3";
73                reg = <0x34000000 0x10000>;
74                interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
75                dr_mode = "peripheral";
76          };
77    };
78