1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/renesas,rzn1-usbf.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Renesas RZ/N1 SoCs USBF (USB Function) controller
8
9description: |
10   The Renesas USBF controller is an USB2.0 device
11   controller (UDC).
12
13maintainers:
14  - Herve Codina <herve.codina@bootlin.com>
15
16properties:
17  compatible:
18    items:
19      - enum:
20          - renesas,r9a06g032-usbf
21      - const: renesas,rzn1-usbf
22
23  reg:
24    maxItems: 1
25
26  clocks:
27    items:
28      - description: Internal bus clock (AHB) for Function
29      - description: Internal bus clock (AHB) for Power Management
30
31  clock-names:
32    items:
33      - const: hclkf
34      - const: hclkpm
35
36  power-domains:
37    maxItems: 1
38
39  interrupts:
40    items:
41      - description: The USBF EPC interrupt
42      - description: The USBF AHB-EPC interrupt
43
44required:
45  - compatible
46  - reg
47  - clocks
48  - clock-names
49  - power-domains
50  - interrupts
51
52additionalProperties: false
53
54examples:
55  - |
56    #include <dt-bindings/interrupt-controller/arm-gic.h>
57    #include <dt-bindings/clock/r9a06g032-sysctrl.h>
58
59    usb@4001e000 {
60        compatible = "renesas,r9a06g032-usbf", "renesas,rzn1-usbf";
61        reg = <0x4001e000 0x2000>;
62        interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
63                     <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
64        clocks = <&sysctrl R9A06G032_HCLK_USBF>,
65                 <&sysctrl R9A06G032_HCLK_USBPM>;
66        clock-names = "hclkf", "hclkpm";
67        power-domains = <&sysctrl>;
68    };
69