mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-11-25 12:44:01 +00:00
Controller version 0x0002450D has USB2 PHY RX sensitivity issues that needs to be worked around by enabling phyrst-a-enable bit in PHYRST_CFG register. There is no way to know controller version before device controller is started and the workaround needs to be applied for both host and device modes, so we add this DT property. Signed-off-by: Roger Quadros <rogerq@ti.com> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Felipe Balbi <balbi@kernel.org>
97 lines
2.2 KiB
YAML
97 lines
2.2 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/usb/cdns,usb3.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Cadence USBSS-DRD controller bindings
|
|
|
|
maintainers:
|
|
- Pawel Laszczak <pawell@cadence.com>
|
|
|
|
properties:
|
|
compatible:
|
|
const: cdns,usb3
|
|
|
|
reg:
|
|
items:
|
|
- description: OTG controller registers
|
|
- description: XHCI Host controller registers
|
|
- description: DEVICE controller registers
|
|
|
|
reg-names:
|
|
items:
|
|
- const: otg
|
|
- const: xhci
|
|
- const: dev
|
|
|
|
interrupts:
|
|
items:
|
|
- description: OTG/DRD controller interrupt
|
|
- description: XHCI host controller interrupt
|
|
- description: Device controller interrupt
|
|
|
|
interrupt-names:
|
|
items:
|
|
- const: host
|
|
- const: peripheral
|
|
- const: otg
|
|
|
|
dr_mode:
|
|
enum: [host, otg, peripheral]
|
|
|
|
maximum-speed:
|
|
enum: [super-speed, high-speed, full-speed]
|
|
|
|
phys:
|
|
minItems: 1
|
|
maxItems: 2
|
|
|
|
phy-names:
|
|
minItems: 1
|
|
maxItems: 2
|
|
items:
|
|
anyOf:
|
|
- const: cdns3,usb2-phy
|
|
- const: cdns3,usb3-phy
|
|
|
|
cdns,on-chip-buff-size:
|
|
description:
|
|
size of memory intended as internal memory for endpoints
|
|
buffers expressed in KB
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
|
|
cdns,phyrst-a-enable:
|
|
description: Enable resetting of PHY if Rx fail is detected
|
|
type: boolean
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- reg-names
|
|
- interrupts
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
bus {
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
|
|
usb@6000000 {
|
|
compatible = "cdns,usb3";
|
|
reg = <0x00 0x6000000 0x00 0x10000>,
|
|
<0x00 0x6010000 0x00 0x10000>,
|
|
<0x00 0x6020000 0x00 0x10000>;
|
|
reg-names = "otg", "xhci", "dev";
|
|
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-names = "host", "peripheral", "otg";
|
|
maximum-speed = "super-speed";
|
|
dr_mode = "otg";
|
|
};
|
|
};
|