Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/usb/cdns,usb3.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Cadence USBSS-DRD controller bindings
0008 
0009 maintainers:
0010   - Pawel Laszczak <pawell@cadence.com>
0011 
0012 properties:
0013   compatible:
0014     const: cdns,usb3
0015 
0016   reg:
0017     items:
0018       - description: OTG controller registers
0019       - description: XHCI Host controller registers
0020       - description: DEVICE controller registers
0021 
0022   reg-names:
0023     items:
0024       - const: otg
0025       - const: xhci
0026       - const: dev
0027 
0028   interrupts:
0029     minItems: 3
0030     items:
0031       - description: XHCI host controller interrupt
0032       - description: Device controller interrupt
0033       - description: OTG/DRD controller interrupt
0034       - description: interrupt used to wake up core, e.g when usbcmd.rs is
0035                      cleared by xhci core, this interrupt is optional
0036 
0037   interrupt-names:
0038     minItems: 3
0039     items:
0040       - const: host
0041       - const: peripheral
0042       - const: otg
0043       - const: wakeup
0044 
0045   dr_mode:
0046     enum: [host, otg, peripheral]
0047 
0048   maximum-speed:
0049     enum: [super-speed, high-speed, full-speed]
0050 
0051   phys:
0052     minItems: 1
0053     maxItems: 2
0054 
0055   phy-names:
0056     minItems: 1
0057     maxItems: 2
0058     items:
0059       anyOf:
0060         - const: cdns3,usb2-phy
0061         - const: cdns3,usb3-phy
0062 
0063   cdns,on-chip-buff-size:
0064     description:
0065       size of memory intended as internal memory for endpoints
0066       buffers expressed in KB
0067     $ref: /schemas/types.yaml#/definitions/uint32
0068 
0069   cdns,phyrst-a-enable:
0070     description: Enable resetting of PHY if Rx fail is detected
0071     type: boolean
0072 
0073 required:
0074   - compatible
0075   - reg
0076   - reg-names
0077   - interrupts
0078   - interrupt-names
0079 
0080 additionalProperties: false
0081 
0082 examples:
0083   - |
0084     #include <dt-bindings/interrupt-controller/arm-gic.h>
0085     bus {
0086         #address-cells = <2>;
0087         #size-cells = <2>;
0088 
0089         usb@6000000 {
0090             compatible = "cdns,usb3";
0091             reg = <0x00 0x6000000 0x00 0x10000>,
0092                   <0x00 0x6010000 0x00 0x10000>,
0093                   <0x00 0x6020000 0x00 0x10000>;
0094             reg-names = "otg", "xhci", "dev";
0095             interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
0096                          <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
0097                          <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
0098             interrupt-names = "host", "peripheral", "otg";
0099             maximum-speed = "super-speed";
0100             dr_mode = "otg";
0101         };
0102     };