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 };