1fb87c979SLinus Walleij# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2fb87c979SLinus Walleij# Copyright 2022 Linaro Ltd.
3fb87c979SLinus Walleij%YAML 1.2
4fb87c979SLinus Walleij---
5fb87c979SLinus Walleij$id: http://devicetree.org/schemas/usb/faraday,fotg210.yaml#
6fb87c979SLinus Walleij$schema: http://devicetree.org/meta-schemas/core.yaml#
7fb87c979SLinus Walleij
8*8867258eSLinus Walleijtitle: Faraday Technology FOTG200 series HS OTG USB 2.0 controller
9fb87c979SLinus Walleij
10fb87c979SLinus Walleijmaintainers:
11fb87c979SLinus Walleij  - Linus Walleij <linus.walleij@linaro.org>
12fb87c979SLinus Walleij
13fb87c979SLinus WalleijallOf:
14fb87c979SLinus Walleij  - $ref: usb-drd.yaml#
15fb87c979SLinus Walleij  - $ref: usb-hcd.yaml#
16fb87c979SLinus Walleij
17fb87c979SLinus Walleijproperties:
18fb87c979SLinus Walleij  compatible:
19fb87c979SLinus Walleij    oneOf:
20*8867258eSLinus Walleij      - const: faraday,fotg200
21fb87c979SLinus Walleij      - const: faraday,fotg210
22fb87c979SLinus Walleij      - items:
23fb87c979SLinus Walleij          - const: cortina,gemini-usb
24*8867258eSLinus Walleij          - const: faraday,fotg200
25fb87c979SLinus Walleij
26fb87c979SLinus Walleij  reg:
27fb87c979SLinus Walleij    maxItems: 1
28fb87c979SLinus Walleij
29fb87c979SLinus Walleij  interrupts:
30fb87c979SLinus Walleij    maxItems: 1
31fb87c979SLinus Walleij
32fb87c979SLinus Walleij  clocks:
33fb87c979SLinus Walleij    maxItems: 1
34fb87c979SLinus Walleij
35fb87c979SLinus Walleij  clock-names:
36fb87c979SLinus Walleij    items:
37fb87c979SLinus Walleij      - const: PCLK
38fb87c979SLinus Walleij
39fb87c979SLinus Walleij  resets:
40fb87c979SLinus Walleij    maxItems: 1
41fb87c979SLinus Walleij
42fb87c979SLinus Walleij  syscon:
43fb87c979SLinus Walleij    $ref: /schemas/types.yaml#/definitions/phandle
44fb87c979SLinus Walleij    description: a phandle to the global Gemini system controller on
45fb87c979SLinus Walleij      Gemini systems
46fb87c979SLinus Walleij
47fb87c979SLinus Walleij  dr_mode: true
48fb87c979SLinus Walleij
49fb87c979SLinus Walleij  phys:
50fb87c979SLinus Walleij    maxItems: 1
51fb87c979SLinus Walleij
52fb87c979SLinus Walleij  phy-names:
53fb87c979SLinus Walleij    const: usb2-phy
54fb87c979SLinus Walleij
55fb87c979SLinus Walleijrequired:
56fb87c979SLinus Walleij  - compatible
57fb87c979SLinus Walleij  - reg
58fb87c979SLinus Walleij  - interrupts
59fb87c979SLinus Walleij  - clocks
60fb87c979SLinus Walleij  - clock-names
61fb87c979SLinus Walleij
62fb87c979SLinus WalleijadditionalProperties: false
63fb87c979SLinus Walleij
64fb87c979SLinus Walleijexamples:
65fb87c979SLinus Walleij  - |
66fb87c979SLinus Walleij    #include <dt-bindings/interrupt-controller/irq.h>
67fb87c979SLinus Walleij    #include <dt-bindings/clock/cortina,gemini-clock.h>
68fb87c979SLinus Walleij    #include <dt-bindings/reset/cortina,gemini-reset.h>
69fb87c979SLinus Walleij    usb0: usb@68000000 {
70*8867258eSLinus Walleij        compatible = "cortina,gemini-usb", "faraday,fotg200";
71fb87c979SLinus Walleij        reg = <0x68000000 0x1000>;
72fb87c979SLinus Walleij        interrupts = <10 IRQ_TYPE_LEVEL_HIGH>;
73fb87c979SLinus Walleij        resets = <&syscon GEMINI_RESET_USB0>;
74fb87c979SLinus Walleij        clocks = <&syscon GEMINI_CLK_GATE_USB0>;
75fb87c979SLinus Walleij        clock-names = "PCLK";
76fb87c979SLinus Walleij        syscon = <&syscon>;
77fb87c979SLinus Walleij        dr_mode = "host";
78fb87c979SLinus Walleij    };
79