1*9486e56cSBiju Das# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*9486e56cSBiju Das%YAML 1.2 3*9486e56cSBiju Das--- 4*9486e56cSBiju Das$id: http://devicetree.org/schemas/usb/renesas,rzv2m-usb3drd.yaml# 5*9486e56cSBiju Das$schema: http://devicetree.org/meta-schemas/core.yaml# 6*9486e56cSBiju Das 7*9486e56cSBiju Dastitle: Renesas RZ/V2M USB 3.1 DRD controller 8*9486e56cSBiju Das 9*9486e56cSBiju Dasmaintainers: 10*9486e56cSBiju Das - Biju Das <biju.das.jz@bp.renesas.com> 11*9486e56cSBiju Das 12*9486e56cSBiju Dasdescription: | 13*9486e56cSBiju Das The RZ/V2{M, MA} USB3.1 DRD module supports the following functions 14*9486e56cSBiju Das * Role swapping function by the ID pin of the Micro-AB receptacle 15*9486e56cSBiju Das * Battery Charging Specification Revision 1.2 16*9486e56cSBiju Das 17*9486e56cSBiju Dasproperties: 18*9486e56cSBiju Das compatible: 19*9486e56cSBiju Das items: 20*9486e56cSBiju Das - enum: 21*9486e56cSBiju Das - renesas,r9a09g011-usb3drd # RZ/V2M 22*9486e56cSBiju Das - renesas,r9a09g055-usb3drd # RZ/V2MA 23*9486e56cSBiju Das - const: renesas,rzv2m-usb3drd 24*9486e56cSBiju Das 25*9486e56cSBiju Das reg: 26*9486e56cSBiju Das maxItems: 1 27*9486e56cSBiju Das 28*9486e56cSBiju Das interrupts: 29*9486e56cSBiju Das items: 30*9486e56cSBiju Das - description: Dual Role Device (DRD) 31*9486e56cSBiju Das - description: Battery Charging 32*9486e56cSBiju Das - description: Global Purpose Input 33*9486e56cSBiju Das 34*9486e56cSBiju Das interrupt-names: 35*9486e56cSBiju Das items: 36*9486e56cSBiju Das - const: drd 37*9486e56cSBiju Das - const: bc 38*9486e56cSBiju Das - const: gpi 39*9486e56cSBiju Das 40*9486e56cSBiju Das clocks: 41*9486e56cSBiju Das items: 42*9486e56cSBiju Das - description: Peripheral AXI clock 43*9486e56cSBiju Das - description: APB clock 44*9486e56cSBiju Das 45*9486e56cSBiju Das clock-names: 46*9486e56cSBiju Das items: 47*9486e56cSBiju Das - const: axi 48*9486e56cSBiju Das - const: reg 49*9486e56cSBiju Das 50*9486e56cSBiju Das power-domains: 51*9486e56cSBiju Das maxItems: 1 52*9486e56cSBiju Das 53*9486e56cSBiju Das resets: 54*9486e56cSBiju Das maxItems: 1 55*9486e56cSBiju Das 56*9486e56cSBiju Das ranges: true 57*9486e56cSBiju Das 58*9486e56cSBiju Das '#address-cells': 59*9486e56cSBiju Das enum: [ 1, 2 ] 60*9486e56cSBiju Das 61*9486e56cSBiju Das '#size-cells': 62*9486e56cSBiju Das enum: [ 1, 2 ] 63*9486e56cSBiju Das 64*9486e56cSBiju DaspatternProperties: 65*9486e56cSBiju Das "^usb3peri@[0-9a-f]+$": 66*9486e56cSBiju Das type: object 67*9486e56cSBiju Das $ref: /schemas/usb/renesas,usb3-peri.yaml 68*9486e56cSBiju Das 69*9486e56cSBiju Das "^usb@[0-9a-f]+$": 70*9486e56cSBiju Das type: object 71*9486e56cSBiju Das $ref: renesas,usb-xhci.yaml# 72*9486e56cSBiju Das 73*9486e56cSBiju Dasrequired: 74*9486e56cSBiju Das - compatible 75*9486e56cSBiju Das - reg 76*9486e56cSBiju Das - interrupts 77*9486e56cSBiju Das - interrupt-names 78*9486e56cSBiju Das - clocks 79*9486e56cSBiju Das - clock-names 80*9486e56cSBiju Das - power-domains 81*9486e56cSBiju Das - resets 82*9486e56cSBiju Das 83*9486e56cSBiju DasadditionalProperties: false 84*9486e56cSBiju Das 85*9486e56cSBiju Dasexamples: 86*9486e56cSBiju Das - | 87*9486e56cSBiju Das #include <dt-bindings/clock/r9a09g011-cpg.h> 88*9486e56cSBiju Das #include <dt-bindings/interrupt-controller/arm-gic.h> 89*9486e56cSBiju Das 90*9486e56cSBiju Das usb3drd: usb@85070400 { 91*9486e56cSBiju Das compatible = "renesas,r9a09g011-usb3drd", "renesas,rzv2m-usb3drd"; 92*9486e56cSBiju Das reg = <0x85070400 0x100>; 93*9486e56cSBiju Das interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>, 94*9486e56cSBiju Das <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>, 95*9486e56cSBiju Das <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>; 96*9486e56cSBiju Das interrupt-names = "drd", "bc", "gpi"; 97*9486e56cSBiju Das clocks = <&cpg CPG_MOD R9A09G011_USB_ACLK_P>, 98*9486e56cSBiju Das <&cpg CPG_MOD R9A09G011_USB_PCLK>; 99*9486e56cSBiju Das clock-names = "axi", "reg"; 100*9486e56cSBiju Das power-domains = <&cpg>; 101*9486e56cSBiju Das resets = <&cpg R9A09G011_USB_DRD_RESET>; 102*9486e56cSBiju Das ranges; 103*9486e56cSBiju Das #address-cells = <1>; 104*9486e56cSBiju Das #size-cells = <1>; 105*9486e56cSBiju Das 106*9486e56cSBiju Das usb3host: usb@85060000 { 107*9486e56cSBiju Das compatible = "renesas,r9a09g011-xhci", 108*9486e56cSBiju Das "renesas,rzv2m-xhci"; 109*9486e56cSBiju Das reg = <0x85060000 0x2000>; 110*9486e56cSBiju Das interrupts = <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>; 111*9486e56cSBiju Das clocks = <&cpg CPG_MOD R9A09G011_USB_ACLK_H>, 112*9486e56cSBiju Das <&cpg CPG_MOD R9A09G011_USB_PCLK>; 113*9486e56cSBiju Das clock-names = "axi", "reg"; 114*9486e56cSBiju Das power-domains = <&cpg>; 115*9486e56cSBiju Das resets = <&cpg R9A09G011_USB_ARESETN_H>; 116*9486e56cSBiju Das }; 117*9486e56cSBiju Das 118*9486e56cSBiju Das usb3peri: usb3peri@85070000 { 119*9486e56cSBiju Das compatible = "renesas,r9a09g011-usb3-peri", 120*9486e56cSBiju Das "renesas,rzv2m-usb3-peri"; 121*9486e56cSBiju Das reg = <0x85070000 0x400>; 122*9486e56cSBiju Das interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>; 123*9486e56cSBiju Das clocks = <&cpg CPG_MOD R9A09G011_USB_ACLK_P>, 124*9486e56cSBiju Das <&cpg CPG_MOD R9A09G011_USB_PCLK>; 125*9486e56cSBiju Das clock-names = "axi", "reg"; 126*9486e56cSBiju Das power-domains = <&cpg>; 127*9486e56cSBiju Das resets = <&cpg R9A09G011_USB_ARESETN_P>; 128*9486e56cSBiju Das }; 129*9486e56cSBiju Das }; 130