183 lines
4.2 KiB
YAML
183 lines
4.2 KiB
YAML
|
# SPDX-License-Identifier: GPL-2.0-only
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: http://devicetree.org/schemas/usb/renesas,usb3-peri.yaml#
|
||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
|
||
|
title: Renesas USB 3.0 Peripheral controller
|
||
|
|
||
|
maintainers:
|
||
|
- Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
oneOf:
|
||
|
- items:
|
||
|
- enum:
|
||
|
- renesas,r8a774a1-usb3-peri # RZ/G2M
|
||
|
- renesas,r8a774b1-usb3-peri # RZ/G2N
|
||
|
- renesas,r8a774c0-usb3-peri # RZ/G2E
|
||
|
- renesas,r8a774e1-usb3-peri # RZ/G2H
|
||
|
- renesas,r8a7795-usb3-peri # R-Car H3
|
||
|
- renesas,r8a7796-usb3-peri # R-Car M3-W
|
||
|
- renesas,r8a77961-usb3-peri # R-Car M3-W+
|
||
|
- renesas,r8a77965-usb3-peri # R-Car M3-N
|
||
|
- renesas,r8a77990-usb3-peri # R-Car E3
|
||
|
- const: renesas,rcar-gen3-usb3-peri
|
||
|
|
||
|
- items:
|
||
|
- enum:
|
||
|
- renesas,r9a09g011-usb3-peri # RZ/V2M
|
||
|
- const: renesas,rzv2m-usb3-peri
|
||
|
|
||
|
reg:
|
||
|
maxItems: 1
|
||
|
|
||
|
interrupts:
|
||
|
minItems: 1
|
||
|
items:
|
||
|
- description: Combined interrupt for DMA, SYS and ERR
|
||
|
- description: Dual Role Device (DRD)
|
||
|
- description: Battery Charging
|
||
|
- description: Global Purpose Input
|
||
|
|
||
|
interrupt-names:
|
||
|
minItems: 1
|
||
|
items:
|
||
|
- const: all_p
|
||
|
- const: drd
|
||
|
- const: bc
|
||
|
- const: gpi
|
||
|
|
||
|
clocks:
|
||
|
minItems: 1
|
||
|
items:
|
||
|
- description: Main clock
|
||
|
- description: Register access clock
|
||
|
|
||
|
clock-names:
|
||
|
minItems: 1
|
||
|
items:
|
||
|
- const: aclk
|
||
|
- const: reg
|
||
|
|
||
|
phys:
|
||
|
maxItems: 1
|
||
|
|
||
|
phy-names:
|
||
|
const: usb
|
||
|
|
||
|
power-domains:
|
||
|
maxItems: 1
|
||
|
|
||
|
resets:
|
||
|
minItems: 1
|
||
|
items:
|
||
|
- description: Peripheral reset
|
||
|
- description: DRD reset
|
||
|
|
||
|
reset-names:
|
||
|
items:
|
||
|
- const: aresetn_p
|
||
|
- const: drd_reset
|
||
|
|
||
|
usb-role-switch:
|
||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||
|
description: Support role switch.
|
||
|
|
||
|
companion:
|
||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||
|
description: phandle of a companion.
|
||
|
|
||
|
ports:
|
||
|
$ref: /schemas/graph.yaml#/properties/ports
|
||
|
description: |
|
||
|
any connector to the data bus of this controller should be modelled
|
||
|
using the OF graph bindings specified, if the "usb-role-switch"
|
||
|
property is used.
|
||
|
|
||
|
properties:
|
||
|
port@0:
|
||
|
$ref: /schemas/graph.yaml#/properties/port
|
||
|
description: High Speed (HS) data bus.
|
||
|
|
||
|
port@1:
|
||
|
$ref: /schemas/graph.yaml#/properties/port
|
||
|
description: Super Speed (SS) data bus.
|
||
|
|
||
|
required:
|
||
|
- port@0
|
||
|
- port@1
|
||
|
|
||
|
required:
|
||
|
- compatible
|
||
|
- interrupts
|
||
|
- clocks
|
||
|
|
||
|
allOf:
|
||
|
- if:
|
||
|
properties:
|
||
|
compatible:
|
||
|
contains:
|
||
|
enum:
|
||
|
- renesas,rzv2m-usb3-peri
|
||
|
then:
|
||
|
properties:
|
||
|
clocks:
|
||
|
minItems: 2
|
||
|
clock-names:
|
||
|
minItems: 2
|
||
|
interrupts:
|
||
|
minItems: 4
|
||
|
interrupt-names:
|
||
|
minItems: 4
|
||
|
resets:
|
||
|
minItems: 2
|
||
|
required:
|
||
|
- clock-names
|
||
|
- interrupt-names
|
||
|
- resets
|
||
|
- reset-names
|
||
|
else:
|
||
|
properties:
|
||
|
clocks:
|
||
|
maxItems: 1
|
||
|
interrupts:
|
||
|
maxItems: 1
|
||
|
resets:
|
||
|
maxItems: 1
|
||
|
|
||
|
additionalProperties: false
|
||
|
|
||
|
examples:
|
||
|
- |
|
||
|
#include <dt-bindings/clock/r8a774c0-cpg-mssr.h>
|
||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||
|
#include <dt-bindings/power/r8a774c0-sysc.h>
|
||
|
|
||
|
usb3_peri0: usb@ee020000 {
|
||
|
compatible = "renesas,r8a774c0-usb3-peri", "renesas,rcar-gen3-usb3-peri";
|
||
|
reg = <0xee020000 0x400>;
|
||
|
interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
|
||
|
clocks = <&cpg CPG_MOD 328>;
|
||
|
companion = <&xhci0>;
|
||
|
usb-role-switch;
|
||
|
|
||
|
ports {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
port@0 {
|
||
|
reg = <0>;
|
||
|
usb3_hs_ep: endpoint {
|
||
|
remote-endpoint = <&hs_ep>;
|
||
|
};
|
||
|
};
|
||
|
port@1 {
|
||
|
reg = <1>;
|
||
|
usb3_role_switch: endpoint {
|
||
|
remote-endpoint = <&hd3ss3220_out_ep>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|