122 lines
2.7 KiB
YAML
122 lines
2.7 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/usb/spacemit,k1-dwc3.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: SpacemiT K1 SuperSpeed DWC3 USB SoC Controller
|
|
|
|
maintainers:
|
|
- Ze Huang <huang.ze@linux.dev>
|
|
|
|
description: |
|
|
The SpacemiT K1 embeds a DWC3 USB IP Core which supports Host functions
|
|
for USB 3.0 and DRD for USB 2.0.
|
|
|
|
Key features:
|
|
- USB3.0 SuperSpeed and USB2.0 High/Full/Low-Speed support
|
|
- Supports low-power modes (USB2.0 suspend, USB3.0 U1/U2/U3)
|
|
- Internal DMA controller and flexible endpoint FIFO sizing
|
|
|
|
Communication Interface:
|
|
- Use of PIPE3 (125MHz) interface for USB3.0 PHY
|
|
- Use of UTMI+ (30/60MHz) interface for USB2.0 PHY
|
|
|
|
allOf:
|
|
- $ref: snps,dwc3-common.yaml#
|
|
|
|
properties:
|
|
compatible:
|
|
const: spacemit,k1-dwc3
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
maxItems: 1
|
|
|
|
clock-names:
|
|
const: usbdrd30
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
phys:
|
|
items:
|
|
- description: phandle to USB2/HS PHY
|
|
- description: phandle to USB3/SS PHY
|
|
|
|
phy-names:
|
|
items:
|
|
- const: usb2-phy
|
|
- const: usb3-phy
|
|
|
|
resets:
|
|
items:
|
|
- description: USB3.0 AHB reset
|
|
- description: USB3.0 VCC reset
|
|
- description: USB3.0 PHY reset
|
|
|
|
reset-names:
|
|
items:
|
|
- const: ahb
|
|
- const: vcc
|
|
- const: phy
|
|
|
|
reset-delay:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
default: 2
|
|
description: delay after reset sequence [us]
|
|
|
|
vbus-supply:
|
|
description: A phandle to the regulator supplying the VBUS voltage.
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- clocks
|
|
- clock-names
|
|
- interrupts
|
|
- phys
|
|
- phy-names
|
|
- resets
|
|
- reset-names
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
usb@c0a00000 {
|
|
compatible = "spacemit,k1-dwc3";
|
|
reg = <0xc0a00000 0x10000>;
|
|
clocks = <&syscon_apmu 16>;
|
|
clock-names = "usbdrd30";
|
|
interrupts = <125>;
|
|
phys = <&usb2phy>, <&usb3phy>;
|
|
phy-names = "usb2-phy", "usb3-phy";
|
|
resets = <&syscon_apmu 8>,
|
|
<&syscon_apmu 9>,
|
|
<&syscon_apmu 10>;
|
|
reset-names = "ahb", "vcc", "phy";
|
|
reset-delay = <2>;
|
|
vbus-supply = <&usb3_vbus>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
hub_2_0: hub@1 {
|
|
compatible = "usb2109,2817";
|
|
reg = <1>;
|
|
vdd-supply = <&usb3_vhub>;
|
|
peer-hub = <&hub_3_0>;
|
|
reset-gpios = <&gpio 3 28 1>;
|
|
};
|
|
|
|
hub_3_0: hub@2 {
|
|
compatible = "usb2109,817";
|
|
reg = <2>;
|
|
vdd-supply = <&usb3_vhub>;
|
|
peer-hub = <&hub_2_0>;
|
|
reset-gpios = <&gpio 3 28 1>;
|
|
};
|
|
};
|