Here are the large set of USB and PHY driver updates for 5.8-rc1. Nothing huge, just lots of little things: - USB gadget fixes and additions all over the place - new PHY drivers - PHY driver fixes and updates - XHCI driver updates - musb driver updates - more USB-serial driver ids added - various USB quirks added - thunderbolt minor updates and fixes - typec updates and additions Full details are in the shortlog. All of these have been in linux-next for a while with no reported issues. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -----BEGIN PGP SIGNATURE----- iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCXtzqVA8cZ3JlZ0Brcm9h aC5jb20ACgkQMUfUDdst+ynftwCfeanyI6TR5AdfJVZN50B6/ySvVwcAn07i9VRX tnt2kz0UqReYpLt0wyJ7 =YP7o -----END PGP SIGNATURE----- Merge tag 'usb-5.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB/PHY driver updates from Greg KH: "Here are the large set of USB and PHY driver updates for 5.8-rc1. Nothing huge, just lots of little things: - USB gadget fixes and additions all over the place - new PHY drivers - PHY driver fixes and updates - XHCI driver updates - musb driver updates - more USB-serial driver ids added - various USB quirks added - thunderbolt minor updates and fixes - typec updates and additions All of these have been in linux-next for a while with no reported issues" * tag 'usb-5.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (245 commits) usb: dwc3: meson-g12a: fix USB2 PHY initialization on G12A and A1 SoCs usb: dwc3: meson-g12a: fix error path when fetching the reset line fails Revert "dt-bindings: usb: qcom,dwc3: Convert USB DWC3 bindings" Revert "dt-bindings: usb: qcom,dwc3: Add compatible for SC7180" Revert "dt-bindings: usb: qcom,dwc3: Introduce interconnect properties for Qualcomm DWC3 driver" USB: serial: ch341: fix lockup of devices with limited prescaler USB: serial: ch341: add basis for quirk detection CDC-ACM: heed quirk also in error handling USB: serial: option: add Telit LE910C1-EUX compositions usb: musb: Fix runtime PM imbalance on error usb: musb: jz4740: Prevent lockup when CONFIG_SMP is set usb: musb: mediatek: add reset FADDR to zero in reset interrupt handle usb: musb: use true for 'use_dma' usb: musb: start session in resume for host port usb: musb: return -ESHUTDOWN in urb when three-strikes error happened USB: serial: qcserial: add DW5816e QDL support thunderbolt: Add trivial .shutdown usb: dwc3: keystone: Turn on USB3 PHY before controller dt-bindings: usb: ti,keystone-dwc3.yaml: Add USB3.0 PHY property dt-bindings: usb: convert keystone-usb.txt to YAML ...
215 lines
4.8 KiB
YAML
215 lines
4.8 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
# Copyright 2019 BayLibre, SAS
|
|
%YAML 1.2
|
|
---
|
|
$id: "http://devicetree.org/schemas/usb/amlogic,meson-g12a-usb-ctrl.yaml#"
|
|
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
|
|
|
title: Amlogic Meson G12A DWC3 USB SoC Controller Glue
|
|
|
|
maintainers:
|
|
- Neil Armstrong <narmstrong@baylibre.com>
|
|
|
|
description: |
|
|
The Amlogic G12A embeds a DWC3 USB IP Core configured for USB2 and USB3
|
|
in host-only mode, and a DWC2 IP Core configured for USB2 peripheral mode
|
|
only.
|
|
|
|
A glue connects the DWC3 core to USB2 PHYs and optionally to an USB3 PHY.
|
|
|
|
One of the USB2 PHYs can be re-routed in peripheral mode to a DWC2 USB IP.
|
|
|
|
The DWC3 Glue controls the PHY routing and power, an interrupt line is
|
|
connected to the Glue to serve as OTG ID change detection.
|
|
|
|
The Amlogic A1 embeds a DWC3 USB IP Core configured for USB2 in
|
|
host-only mode.
|
|
|
|
The Amlogic GXL & GXM SoCs doesn't embed an USB3 PHY.
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- amlogic,meson-gxl-usb-ctrl
|
|
- amlogic,meson-gxm-usb-ctrl
|
|
- amlogic,meson-g12a-usb-ctrl
|
|
- amlogic,meson-a1-usb-ctrl
|
|
|
|
ranges: true
|
|
|
|
"#address-cells":
|
|
enum: [ 1, 2 ]
|
|
|
|
"#size-cells":
|
|
enum: [ 1, 2 ]
|
|
|
|
clocks:
|
|
minItems: 1
|
|
maxItems: 3
|
|
|
|
clock-names:
|
|
minItems: 1
|
|
maxItems: 3
|
|
|
|
resets:
|
|
minItems: 1
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
phy-names:
|
|
minItems: 1
|
|
maxItems: 3
|
|
|
|
phys:
|
|
minItems: 1
|
|
maxItems: 3
|
|
|
|
dr_mode: true
|
|
|
|
power-domains:
|
|
maxItems: 1
|
|
|
|
vbus-supply:
|
|
description: VBUS power supply when used in OTG switchable mode
|
|
|
|
patternProperties:
|
|
"^usb@[0-9a-f]+$":
|
|
type: object
|
|
|
|
additionalProperties: false
|
|
|
|
required:
|
|
- compatible
|
|
- "#address-cells"
|
|
- "#size-cells"
|
|
- ranges
|
|
- clocks
|
|
- resets
|
|
- reg
|
|
- interrupts
|
|
- phy-names
|
|
- phys
|
|
- dr_mode
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- amlogic,meson-g12a-usb-ctrl
|
|
|
|
then:
|
|
properties:
|
|
phy-names:
|
|
items:
|
|
- const: usb2-phy0 # USB2 PHY0 if USBHOST_A port is used
|
|
- const: usb2-phy1 # USB2 PHY1 if USBOTG_B port is used
|
|
- const: usb3-phy0 # USB3 PHY if USB3_0 is used
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- amlogic,meson-gxl-usb-ctrl
|
|
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 2
|
|
clock-names:
|
|
items:
|
|
- const: usb_ctrl
|
|
- const: ddr
|
|
phy-names:
|
|
items:
|
|
- const: usb2-phy0 # USB2 PHY0 if USBHOST_A port is used
|
|
- const: usb2-phy1 # USB2 PHY1 if USBOTG_B port is used
|
|
required:
|
|
- clock-names
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- amlogic,meson-gxm-usb-ctrl
|
|
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 2
|
|
clock-names:
|
|
items:
|
|
- const: usb_ctrl
|
|
- const: ddr
|
|
phy-names:
|
|
items:
|
|
- const: usb2-phy0 # USB2 PHY0 if USBHOST_A port is used
|
|
- const: usb2-phy1 # USB2 PHY1 if USBOTG_B port is used
|
|
- const: usb2-phy2 # USB2 PHY2 if USBOTG_C port is used
|
|
|
|
required:
|
|
- clock-names
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- amlogic,meson-a1-usb-ctrl
|
|
|
|
then:
|
|
properties:
|
|
phy-names:
|
|
items:
|
|
- const: usb2-phy1 # USB2 PHY1 if USBOTG_B port is used
|
|
clocks:
|
|
minItems: 3
|
|
clock-names:
|
|
items:
|
|
- const: usb_ctrl
|
|
- const: usb_bus
|
|
- const: xtal_usb_ctrl
|
|
required:
|
|
- clock-names
|
|
|
|
examples:
|
|
- |
|
|
usb: usb@ffe09000 {
|
|
compatible = "amlogic,meson-g12a-usb-ctrl";
|
|
reg = <0xffe09000 0xa0>;
|
|
interrupts = <16>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges;
|
|
|
|
clocks = <&clkc_usb>;
|
|
resets = <&reset_usb>;
|
|
|
|
dr_mode = "otg";
|
|
|
|
phys = <&usb2_phy0>, <&usb2_phy1>, <&usb3_phy0>;
|
|
phy-names = "usb2-phy0", "usb2-phy1", "usb3-phy0";
|
|
|
|
dwc2: usb@ff400000 {
|
|
compatible = "amlogic,meson-g12a-usb", "snps,dwc2";
|
|
reg = <0xff400000 0x40000>;
|
|
interrupts = <31>;
|
|
clocks = <&clkc_usb1>;
|
|
clock-names = "otg";
|
|
phys = <&usb2_phy1>;
|
|
dr_mode = "peripheral";
|
|
g-rx-fifo-size = <192>;
|
|
g-np-tx-fifo-size = <128>;
|
|
g-tx-fifo-size = <128 128 16 16 16>;
|
|
};
|
|
|
|
dwc3: usb@ff500000 {
|
|
compatible = "snps,dwc3";
|
|
reg = <0xff500000 0x100000>;
|
|
interrupts = <30>;
|
|
dr_mode = "host";
|
|
snps,dis_u2_susphy_quirk;
|
|
snps,quirk-frame-length-adjustment;
|
|
};
|
|
};
|