xref: /freebsd/sys/contrib/device-tree/Bindings/usb/ti,am62-usb.yaml (revision 01950c46b8155250f64374fb72fc11faa44bf099)
1d5b0e70fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2d5b0e70fSEmmanuel Vadot%YAML 1.2
3d5b0e70fSEmmanuel Vadot---
4d5b0e70fSEmmanuel Vadot$id: http://devicetree.org/schemas/usb/ti,am62-usb.yaml#
5d5b0e70fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6d5b0e70fSEmmanuel Vadot
7d5b0e70fSEmmanuel Vadottitle: TI's AM62 wrapper module for the Synopsys USBSS-DRD controller
8d5b0e70fSEmmanuel Vadot
9d5b0e70fSEmmanuel Vadotmaintainers:
10d5b0e70fSEmmanuel Vadot  - Aswath Govindraju <a-govindraju@ti.com>
11d5b0e70fSEmmanuel Vadot
12d5b0e70fSEmmanuel Vadotproperties:
13d5b0e70fSEmmanuel Vadot  compatible:
14d5b0e70fSEmmanuel Vadot    const: ti,am62-usb
15d5b0e70fSEmmanuel Vadot
16d5b0e70fSEmmanuel Vadot  reg:
17*01950c46SEmmanuel Vadot    minItems: 1
18*01950c46SEmmanuel Vadot    items:
19*01950c46SEmmanuel Vadot      - description: USB CFG register space
20*01950c46SEmmanuel Vadot      - description: USB PHY2 register space
21d5b0e70fSEmmanuel Vadot
22d5b0e70fSEmmanuel Vadot  ranges: true
23d5b0e70fSEmmanuel Vadot
24d5b0e70fSEmmanuel Vadot  power-domains:
25d5b0e70fSEmmanuel Vadot    description:
26d5b0e70fSEmmanuel Vadot      PM domain provider node and an args specifier containing
27d5b0e70fSEmmanuel Vadot      the USB ISO device id value. See,
28d5b0e70fSEmmanuel Vadot      Documentation/devicetree/bindings/soc/ti/sci-pm-domain.yaml
29d5b0e70fSEmmanuel Vadot    maxItems: 1
30d5b0e70fSEmmanuel Vadot
31d5b0e70fSEmmanuel Vadot  clocks:
32d5b0e70fSEmmanuel Vadot    description: Clock phandle to usb2_refclk
33d5b0e70fSEmmanuel Vadot    maxItems: 1
34d5b0e70fSEmmanuel Vadot
35d5b0e70fSEmmanuel Vadot  clock-names:
36d5b0e70fSEmmanuel Vadot    items:
37d5b0e70fSEmmanuel Vadot      - const: ref
38d5b0e70fSEmmanuel Vadot
39d5b0e70fSEmmanuel Vadot  ti,vbus-divider:
40d5b0e70fSEmmanuel Vadot    description:
41d5b0e70fSEmmanuel Vadot      Should be present if USB VBUS line is connected to the
42d5b0e70fSEmmanuel Vadot      VBUS pin of the SoC via a 1/3 voltage divider.
43d5b0e70fSEmmanuel Vadot    type: boolean
44d5b0e70fSEmmanuel Vadot
45d5b0e70fSEmmanuel Vadot  ti,syscon-phy-pll-refclk:
46d5b0e70fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle-array
47d5b0e70fSEmmanuel Vadot    items:
48d5b0e70fSEmmanuel Vadot      - items:
49d5b0e70fSEmmanuel Vadot          - description: Phandle to the SYSCON entry
50d5b0e70fSEmmanuel Vadot          - description: USB phy control register offset within SYSCON
51d5b0e70fSEmmanuel Vadot    description:
52d5b0e70fSEmmanuel Vadot      Specifier for conveying frequency of ref clock input, for the
53d5b0e70fSEmmanuel Vadot      operation of USB2PHY.
54d5b0e70fSEmmanuel Vadot
55d5b0e70fSEmmanuel Vadot  '#address-cells':
56d5b0e70fSEmmanuel Vadot    const: 2
57d5b0e70fSEmmanuel Vadot
58d5b0e70fSEmmanuel Vadot  '#size-cells':
59d5b0e70fSEmmanuel Vadot    const: 2
60d5b0e70fSEmmanuel Vadot
61d5b0e70fSEmmanuel VadotpatternProperties:
62d5b0e70fSEmmanuel Vadot  "^usb@[0-9a-f]+$":
63d5b0e70fSEmmanuel Vadot    $ref: snps,dwc3.yaml#
64d5b0e70fSEmmanuel Vadot    description: Required child node
65d5b0e70fSEmmanuel Vadot
66d5b0e70fSEmmanuel Vadotrequired:
67d5b0e70fSEmmanuel Vadot  - compatible
68d5b0e70fSEmmanuel Vadot  - reg
69d5b0e70fSEmmanuel Vadot  - power-domains
70d5b0e70fSEmmanuel Vadot  - clocks
71d5b0e70fSEmmanuel Vadot  - clock-names
72d5b0e70fSEmmanuel Vadot  - ti,syscon-phy-pll-refclk
73d5b0e70fSEmmanuel Vadot
74d5b0e70fSEmmanuel VadotadditionalProperties: false
75d5b0e70fSEmmanuel Vadot
76d5b0e70fSEmmanuel Vadotexamples:
77d5b0e70fSEmmanuel Vadot  - |
78d5b0e70fSEmmanuel Vadot    #include <dt-bindings/soc/ti,sci_pm_domain.h>
79d5b0e70fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
80d5b0e70fSEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
81d5b0e70fSEmmanuel Vadot
82d5b0e70fSEmmanuel Vadot    bus {
83d5b0e70fSEmmanuel Vadot      #address-cells = <2>;
84d5b0e70fSEmmanuel Vadot      #size-cells = <2>;
85d5b0e70fSEmmanuel Vadot
86d5b0e70fSEmmanuel Vadot      usbss1: usb@f910000 {
87d5b0e70fSEmmanuel Vadot        compatible = "ti,am62-usb";
88*01950c46SEmmanuel Vadot        reg = <0x00 0x0f910000 0x00 0x800>,
89*01950c46SEmmanuel Vadot              <0x00 0x0f918000 0x00 0x400>;
90d5b0e70fSEmmanuel Vadot        clocks = <&k3_clks 162 3>;
91d5b0e70fSEmmanuel Vadot        clock-names = "ref";
92d5b0e70fSEmmanuel Vadot        ti,syscon-phy-pll-refclk = <&wkup_conf 0x4018>;
93d5b0e70fSEmmanuel Vadot        power-domains = <&k3_pds 179 TI_SCI_PD_EXCLUSIVE>;
94d5b0e70fSEmmanuel Vadot        #address-cells = <2>;
95d5b0e70fSEmmanuel Vadot        #size-cells = <2>;
96d5b0e70fSEmmanuel Vadot
97d5b0e70fSEmmanuel Vadot        usb@31100000 {
98d5b0e70fSEmmanuel Vadot          compatible = "snps,dwc3";
99d5b0e70fSEmmanuel Vadot          reg = <0x00 0x31100000 0x00 0x50000>;
100d5b0e70fSEmmanuel Vadot          interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>, /* irq.0 */
101d5b0e70fSEmmanuel Vadot                       <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>; /* irq.0 */
102d5b0e70fSEmmanuel Vadot          interrupt-names = "host", "peripheral";
103d5b0e70fSEmmanuel Vadot          maximum-speed = "high-speed";
104d5b0e70fSEmmanuel Vadot          dr_mode = "otg";
105d5b0e70fSEmmanuel Vadot        };
106d5b0e70fSEmmanuel Vadot      };
107d5b0e70fSEmmanuel Vadot    };
108