168989fe1SRoger Quadros# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 268989fe1SRoger Quadros%YAML 1.2 368989fe1SRoger Quadros--- 468989fe1SRoger Quadros$id: http://devicetree.org/schemas/usb/cdns,usb3.yaml# 568989fe1SRoger Quadros$schema: http://devicetree.org/meta-schemas/core.yaml# 668989fe1SRoger Quadros 784e85359SKrzysztof Kozlowskititle: Cadence USBSS-DRD controller 868989fe1SRoger Quadros 968989fe1SRoger Quadrosmaintainers: 1068989fe1SRoger Quadros - Pawel Laszczak <pawell@cadence.com> 1168989fe1SRoger Quadros 1268989fe1SRoger Quadrosproperties: 1368989fe1SRoger Quadros compatible: 1468989fe1SRoger Quadros const: cdns,usb3 1568989fe1SRoger Quadros 1668989fe1SRoger Quadros reg: 1768989fe1SRoger Quadros items: 1868989fe1SRoger Quadros - description: OTG controller registers 1968989fe1SRoger Quadros - description: XHCI Host controller registers 2068989fe1SRoger Quadros - description: DEVICE controller registers 2168989fe1SRoger Quadros 2268989fe1SRoger Quadros reg-names: 2368989fe1SRoger Quadros items: 2468989fe1SRoger Quadros - const: otg 2568989fe1SRoger Quadros - const: xhci 2668989fe1SRoger Quadros - const: dev 2768989fe1SRoger Quadros 2868989fe1SRoger Quadros interrupts: 291bc514dfSPeter Chen minItems: 3 3068989fe1SRoger Quadros items: 3168989fe1SRoger Quadros - description: XHCI host controller interrupt 3268989fe1SRoger Quadros - description: Device controller interrupt 33309f5d79SGeert Uytterhoeven - description: OTG/DRD controller interrupt 341bc514dfSPeter Chen - description: interrupt used to wake up core, e.g when usbcmd.rs is 351bc514dfSPeter Chen cleared by xhci core, this interrupt is optional 3668989fe1SRoger Quadros 3768989fe1SRoger Quadros interrupt-names: 381bc514dfSPeter Chen minItems: 3 3968989fe1SRoger Quadros items: 4068989fe1SRoger Quadros - const: host 4168989fe1SRoger Quadros - const: peripheral 4268989fe1SRoger Quadros - const: otg 431bc514dfSPeter Chen - const: wakeup 4468989fe1SRoger Quadros 4568989fe1SRoger Quadros dr_mode: 4668989fe1SRoger Quadros enum: [host, otg, peripheral] 4768989fe1SRoger Quadros 4868989fe1SRoger Quadros maximum-speed: 4968989fe1SRoger Quadros enum: [super-speed, high-speed, full-speed] 5068989fe1SRoger Quadros 5168989fe1SRoger Quadros phys: 5268989fe1SRoger Quadros minItems: 1 5368989fe1SRoger Quadros maxItems: 2 5468989fe1SRoger Quadros 5568989fe1SRoger Quadros phy-names: 5668989fe1SRoger Quadros minItems: 1 5768989fe1SRoger Quadros maxItems: 2 5868989fe1SRoger Quadros items: 5968989fe1SRoger Quadros anyOf: 6068989fe1SRoger Quadros - const: cdns3,usb2-phy 6168989fe1SRoger Quadros - const: cdns3,usb3-phy 6268989fe1SRoger Quadros 6368989fe1SRoger Quadros cdns,on-chip-buff-size: 6468989fe1SRoger Quadros description: 6568989fe1SRoger Quadros size of memory intended as internal memory for endpoints 6668989fe1SRoger Quadros buffers expressed in KB 67*50a1726bSFrank Li $ref: /schemas/types.yaml#/definitions/uint16 6868989fe1SRoger Quadros 695261e48fSRoger Quadros cdns,phyrst-a-enable: 705261e48fSRoger Quadros description: Enable resetting of PHY if Rx fail is detected 715261e48fSRoger Quadros type: boolean 725261e48fSRoger Quadros 7368989fe1SRoger Quadrosrequired: 7468989fe1SRoger Quadros - compatible 7568989fe1SRoger Quadros - reg 7668989fe1SRoger Quadros - reg-names 7768989fe1SRoger Quadros - interrupts 78ab1150e9SAswath Govindraju - interrupt-names 7968989fe1SRoger Quadros 8068989fe1SRoger QuadrosadditionalProperties: false 8168989fe1SRoger Quadros 8268989fe1SRoger Quadrosexamples: 8368989fe1SRoger Quadros - | 8468989fe1SRoger Quadros #include <dt-bindings/interrupt-controller/arm-gic.h> 8568989fe1SRoger Quadros bus { 8668989fe1SRoger Quadros #address-cells = <2>; 8768989fe1SRoger Quadros #size-cells = <2>; 8868989fe1SRoger Quadros 8968989fe1SRoger Quadros usb@6000000 { 9068989fe1SRoger Quadros compatible = "cdns,usb3"; 9168989fe1SRoger Quadros reg = <0x00 0x6000000 0x00 0x10000>, 9268989fe1SRoger Quadros <0x00 0x6010000 0x00 0x10000>, 9368989fe1SRoger Quadros <0x00 0x6020000 0x00 0x10000>; 9468989fe1SRoger Quadros reg-names = "otg", "xhci", "dev"; 9568989fe1SRoger Quadros interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, 9668989fe1SRoger Quadros <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, 9768989fe1SRoger Quadros <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; 9868989fe1SRoger Quadros interrupt-names = "host", "peripheral", "otg"; 9968989fe1SRoger Quadros maximum-speed = "super-speed"; 10068989fe1SRoger Quadros dr_mode = "otg"; 10168989fe1SRoger Quadros }; 10268989fe1SRoger Quadros }; 103