linux/Documentation/devicetree/bindings/usb/renesas,usb-xhci.yaml
Biju Das e696d70f60 dt-bindings: usb: renesas,usb-xhci: Document RZ/V2M support
Document the RZ/V2M SoC bindings.
The RZ/V2M SoC is a little different to the R-Car implementations.
You can access the registers associated with the currently set DRD mode,
therefore as part of init, we have to set the DRD mode to host.

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-2-biju.das.jz@bp.renesas.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-01-25 15:47:03 +01:00

120 lines
2.8 KiB
YAML

# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/renesas,usb-xhci.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Renesas USB xHCI controllers
maintainers:
- Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
- Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
properties:
compatible:
oneOf:
- items:
- enum:
- renesas,xhci-r8a7742 # RZ/G1H
- renesas,xhci-r8a7743 # RZ/G1M
- renesas,xhci-r8a7744 # RZ/G1N
- renesas,xhci-r8a7790 # R-Car H2
- renesas,xhci-r8a7791 # R-Car M2-W
- renesas,xhci-r8a7793 # R-Car M2-N
- const: renesas,rcar-gen2-xhci # R-Car Gen2 and RZ/G1
- items:
- enum:
- renesas,xhci-r8a774a1 # RZ/G2M
- renesas,xhci-r8a774b1 # RZ/G2N
- renesas,xhci-r8a774c0 # RZ/G2E
- renesas,xhci-r8a774e1 # RZ/G2H
- renesas,xhci-r8a7795 # R-Car H3
- renesas,xhci-r8a7796 # R-Car M3-W
- renesas,xhci-r8a77961 # R-Car M3-W+
- renesas,xhci-r8a77965 # R-Car M3-N
- renesas,xhci-r8a77990 # R-Car E3
- const: renesas,rcar-gen3-xhci # R-Car Gen3 and RZ/G2
- items:
- enum:
- renesas,r9a09g011-xhci # RZ/V2M
- renesas,r9a09g055-xhci # RZ/V2MA
- const: renesas,rzv2m-xhci # RZ/{V2M, V2MA}
reg:
maxItems: 1
interrupts:
maxItems: 1
clocks:
minItems: 1
items:
- description: Main clock for host
- description: Register access clock
clock-names:
minItems: 1
items:
- const: axi
- const: reg
phys:
maxItems: 1
phy-names:
items:
- const: usb
power-domains:
maxItems: 1
resets:
maxItems: 1
required:
- compatible
- reg
- interrupts
- clocks
- power-domains
- resets
allOf:
- $ref: usb-xhci.yaml
- if:
properties:
compatible:
contains:
enum:
- renesas,rzv2m-xhci
then:
properties:
clocks:
minItems: 2
clock-names:
minItems: 2
required:
- clock-names
else:
properties:
clocks:
maxItems: 1
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/clock/r8a7795-cpg-mssr.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/power/r8a7795-sysc.h>
xhci0: usb@ee000000 {
compatible = "renesas,xhci-r8a7795", "renesas,rcar-gen3-xhci";
reg = <0xee000000 0xc00>;
interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 328>;
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
resets = <&cpg 328>;
};