2019-11-06 19:34:53 +09:00
# 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 :
2022-08-04 20:22:19 +01:00
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
2023-01-21 14:58:44 +00:00
- renesas,r9a09g055-usb3-peri # RZ/V2MA
2022-08-04 20:22:19 +01:00
- const : renesas,rzv2m-usb3-peri
2019-11-06 19:34:53 +09:00
reg :
maxItems : 1
interrupts :
dt-bindings: usb: renesas,usb3-peri: Update reset, clock-name and interrupts properties
On RZ/V2M, USB3DRD module manages the drd_reset. Moreover, the interrupts
drd, gpi and bc are part of USB3DRD block. This patch removes
drd_reset and the interrupts drd, bc and gpi from usb3_peri bindings.
After this, there is only one reset and interrupts and therefore
removing reset-names and interrupt-names as well.
Whilst, Update the clock-name "aclk"->"axi" to make it consistent with
DRD and host blocks.
There is any harm in making such a change as, no users of
renesas,r9a09g011-usb3-peri yet in kernel release.
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230121145853.4792-3-biju.das.jz@bp.renesas.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-01-21 14:58:43 +00:00
maxItems : 1
2019-11-06 19:34:53 +09:00
clocks :
2022-08-04 20:22:19 +01:00
minItems : 1
items :
- description : Main clock
- description : Register access clock
clock-names :
minItems : 1
items :
dt-bindings: usb: renesas,usb3-peri: Update reset, clock-name and interrupts properties
On RZ/V2M, USB3DRD module manages the drd_reset. Moreover, the interrupts
drd, gpi and bc are part of USB3DRD block. This patch removes
drd_reset and the interrupts drd, bc and gpi from usb3_peri bindings.
After this, there is only one reset and interrupts and therefore
removing reset-names and interrupt-names as well.
Whilst, Update the clock-name "aclk"->"axi" to make it consistent with
DRD and host blocks.
There is any harm in making such a change as, no users of
renesas,r9a09g011-usb3-peri yet in kernel release.
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230121145853.4792-3-biju.das.jz@bp.renesas.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-01-21 14:58:43 +00:00
- const : axi
2022-08-04 20:22:19 +01:00
- const : reg
2019-11-06 19:34:53 +09:00
phys :
maxItems : 1
phy-names :
const : usb
power-domains :
maxItems : 1
resets :
dt-bindings: usb: renesas,usb3-peri: Update reset, clock-name and interrupts properties
On RZ/V2M, USB3DRD module manages the drd_reset. Moreover, the interrupts
drd, gpi and bc are part of USB3DRD block. This patch removes
drd_reset and the interrupts drd, bc and gpi from usb3_peri bindings.
After this, there is only one reset and interrupts and therefore
removing reset-names and interrupt-names as well.
Whilst, Update the clock-name "aclk"->"axi" to make it consistent with
DRD and host blocks.
There is any harm in making such a change as, no users of
renesas,r9a09g011-usb3-peri yet in kernel release.
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230121145853.4792-3-biju.das.jz@bp.renesas.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-01-21 14:58:43 +00:00
maxItems : 1
2019-11-06 19:34:53 +09:00
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.
2020-09-20 14:49:02 +01:00
ports :
2021-01-12 09:35:27 -06:00
$ref : /schemas/graph.yaml#/properties/ports
2019-11-06 19:34:53 +09:00
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.
2021-01-12 09:35:27 -06:00
2020-09-20 14:49:02 +01:00
properties :
port@0 :
2021-01-12 09:35:27 -06:00
$ref : /schemas/graph.yaml#/properties/port
2020-09-20 14:49:02 +01:00
description : High Speed (HS) data bus.
port@1 :
2021-01-12 09:35:27 -06:00
$ref : /schemas/graph.yaml#/properties/port
2020-09-20 14:49:02 +01:00
description : Super Speed (SS) data bus.
required :
- port@0
- port@1
2019-11-06 19:34:53 +09:00
required :
- compatible
- interrupts
- clocks
2022-08-04 20:22:19 +01:00
allOf :
- if :
properties :
compatible :
contains :
enum :
- renesas,rzv2m-usb3-peri
then :
properties :
clocks :
minItems : 2
clock-names :
minItems : 2
required :
- clock-names
- resets
else :
properties :
clocks :
maxItems : 1
2019-11-06 19:34:53 +09:00
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";
2020-05-12 15:45:43 -05:00
reg = <0xee020000 0x400>;
2019-11-06 19:34:53 +09:00
interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 328>;
companion = <&xhci0>;
usb-role-switch;
2020-09-20 14:49:02 +01:00
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>;
};
};
2019-11-06 19:34:53 +09:00
};
};