mirror of
https://github.com/Dasharo/linux.git
synced 2026-03-06 15:25:10 -08:00
Merge tag 'usb-6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
Pull USB / Thunderbolt driver updates from Greg KH:
"Here is the big set of USB and Thunderbolt driver updates for 6.5-rc1.
Included in here are:
- Lots of USB4/Thunderbolt additions and updates for new hardware
types and fixes as people are starting to get access to the
hardware in the wild
- new gadget controller driver, cdns2, added
- new typec drivers added
- xhci driver updates
- typec driver updates
- usbip driver fixes
- usb-serial driver updates and fixes
- lots of smaller USB driver updates
All of these have been in linux-next for a while with no reported
problems"
* tag 'usb-6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (265 commits)
usb: host: xhci-plat: Set XHCI_STATE_REMOVING before resuming XHCI HC
usb: host: xhci: Do not re-initialize the XHCI HC if being removed
usb: typec: nb7vpq904m: fix CONFIG_DRM dependency
usbip: usbip_host: Replace strlcpy with strscpy
usb: dwc3: gadget: Propagate core init errors to UDC during pullup
USB: serial: option: add LARA-R6 01B PIDs
usb: ulpi: Make container_of() no-op in to_ulpi_dev()
usb: gadget: legacy: fix error return code in gfs_bind
usb: typec: fsa4480: add support for Audio Accessory Mode
usb: typec: fsa4480: rework mux & switch setup to handle more states
usb: typec: ucsi: call typec_set_mode on non-altmode partner change
USB: gadget: f_hid: make hidg_class a static const structure
USB: gadget: f_printer: make usb_gadget_class a static const structure
USB: mon: make mon_bin_class a static const structure
USB: gadget: udc: core: make udc_class a static const structure
USB: roles: make role_class a static const structure
dt-bindings: usb: dwc3: Add interrupt-names property support for wakeup interrupt
dt-bindings: usb: Add StarFive JH7110 USB controller
dt-bindings: usb: dwc3: Add IPQ9574 compatible
usb: cdns2: Fix spelling mistake in a trace message "Wakupe" -> "Wakeup"
...
This commit is contained in:
@@ -292,6 +292,16 @@ Description:
|
||||
which is marked with early_stop has failed to initialize, it will ignore
|
||||
all future connections until this attribute is clear.
|
||||
|
||||
What: /sys/bus/usb/devices/.../<hub_interface>/port<X>/state
|
||||
Date: June 2023
|
||||
Contact: Roy Luo <royluo@google.com>
|
||||
Description:
|
||||
Indicates current state of the USB device attached to the port.
|
||||
Valid states are: 'not-attached', 'attached', 'powered',
|
||||
'reconnecting', 'unauthenticated', 'default', 'addressed',
|
||||
'configured', and 'suspended'. This file supports poll() to
|
||||
monitor the state change from user space.
|
||||
|
||||
What: /sys/bus/usb/devices/.../power/usb2_lpm_l1_timeout
|
||||
Date: May 2013
|
||||
Contact: Mathias Nyman <mathias.nyman@linux.intel.com>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
What: /sys/bus/platform/drivers/eud/.../enable
|
||||
What: /sys/bus/platform/drivers/qcom_eud/.../enable
|
||||
Date: February 2022
|
||||
Contact: Souradeep Chowdhury <quic_schowdhu@quicinc.com>
|
||||
Description:
|
||||
|
||||
@@ -61,6 +61,10 @@ properties:
|
||||
power-domains:
|
||||
maxItems: 1
|
||||
|
||||
orientation-switch:
|
||||
description: Flag the port as possible handler of orientation switching
|
||||
type: boolean
|
||||
|
||||
resets:
|
||||
items:
|
||||
- description: reset of phy block.
|
||||
@@ -251,6 +255,8 @@ examples:
|
||||
vdda-phy-supply = <&vdda_usb2_ss_1p2>;
|
||||
vdda-pll-supply = <&vdda_usb2_ss_core>;
|
||||
|
||||
orientation-switch;
|
||||
|
||||
usb3-phy@200 {
|
||||
reg = <0x200 0x128>,
|
||||
<0x400 0x200>,
|
||||
|
||||
@@ -14,6 +14,9 @@ description: |
|
||||
regulator will be enabled in situations where the device is required to
|
||||
provide power to the connected peripheral.
|
||||
|
||||
allOf:
|
||||
- $ref: regulator.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
@@ -25,8 +28,11 @@ properties:
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- regulator-min-microamp
|
||||
- regulator-max-microamp
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
@@ -36,6 +42,8 @@ examples:
|
||||
pm8150b_vbus: usb-vbus-regulator@1100 {
|
||||
compatible = "qcom,pm8150b-vbus-reg";
|
||||
reg = <0x1100>;
|
||||
regulator-min-microamp = <500000>;
|
||||
regulator-max-microamp = <3000000>;
|
||||
};
|
||||
};
|
||||
...
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
--------------------------------------------------------------------------
|
||||
= Zynq UltraScale+ MPSoC and Versal reset driver binding =
|
||||
--------------------------------------------------------------------------
|
||||
The Zynq UltraScale+ MPSoC and Versal has several different resets.
|
||||
|
||||
See Chapter 36 of the Zynq UltraScale+ MPSoC TRM (UG) for more information
|
||||
about zynqmp resets.
|
||||
|
||||
Please also refer to reset.txt in this directory for common reset
|
||||
controller binding usage.
|
||||
|
||||
Required Properties:
|
||||
- compatible: "xlnx,zynqmp-reset" for Zynq UltraScale+ MPSoC platform
|
||||
"xlnx,versal-reset" for Versal platform
|
||||
- #reset-cells: Specifies the number of cells needed to encode reset
|
||||
line, should be 1
|
||||
|
||||
-------
|
||||
Example
|
||||
-------
|
||||
|
||||
firmware {
|
||||
zynqmp_firmware: zynqmp-firmware {
|
||||
compatible = "xlnx,zynqmp-firmware";
|
||||
method = "smc";
|
||||
|
||||
zynqmp_reset: reset-controller {
|
||||
compatible = "xlnx,zynqmp-reset";
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
Specifying reset lines connected to IP modules
|
||||
==============================================
|
||||
|
||||
Device nodes that need access to reset lines should
|
||||
specify them as a reset phandle in their corresponding node as
|
||||
specified in reset.txt.
|
||||
|
||||
For list of all valid reset indices for Zynq UltraScale+ MPSoC see
|
||||
<dt-bindings/reset/xlnx-zynqmp-resets.h>
|
||||
For list of all valid reset indices for Versal see
|
||||
<dt-bindings/reset/xlnx-versal-resets.h>
|
||||
|
||||
Example:
|
||||
|
||||
serdes: zynqmp_phy@fd400000 {
|
||||
...
|
||||
|
||||
resets = <&zynqmp_reset ZYNQMP_RESET_SATA>;
|
||||
reset-names = "sata_rst";
|
||||
|
||||
...
|
||||
};
|
||||
@@ -0,0 +1,52 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/reset/xlnx,zynqmp-reset.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Zynq UltraScale+ MPSoC and Versal reset
|
||||
|
||||
maintainers:
|
||||
- Piyush Mehta <piyush.mehta@amd.com>
|
||||
|
||||
description: |
|
||||
The Zynq UltraScale+ MPSoC and Versal has several different resets.
|
||||
|
||||
The PS reset subsystem is responsible for handling the external reset
|
||||
input to the device and that all internal reset requirements are met
|
||||
for the system (as a whole) and for the functional units.
|
||||
|
||||
Please also refer to reset.txt in this directory for common reset
|
||||
controller binding usage. Device nodes that need access to reset
|
||||
lines should specify them as a reset phandle in their corresponding
|
||||
node as specified in reset.txt.
|
||||
|
||||
For list of all valid reset indices for Zynq UltraScale+ MPSoC
|
||||
<dt-bindings/reset/xlnx-zynqmp-resets.h>
|
||||
|
||||
For list of all valid reset indices for Versal
|
||||
<dt-bindings/reset/xlnx-versal-resets.h>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- xlnx,zynqmp-reset
|
||||
- xlnx,versal-reset
|
||||
|
||||
"#reset-cells":
|
||||
const: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- "#reset-cells"
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
zynqmp_reset: reset-controller {
|
||||
compatible = "xlnx,zynqmp-reset";
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
...
|
||||
@@ -45,7 +45,9 @@ properties:
|
||||
- fsl,vf610-usb
|
||||
- const: fsl,imx27-usb
|
||||
- items:
|
||||
- const: fsl,imx8dxl-usb
|
||||
- enum:
|
||||
- fsl,imx8dxl-usb
|
||||
- fsl,imx8ulp-usb
|
||||
- const: fsl,imx7ulp-usb
|
||||
- const: fsl,imx6ul-usb
|
||||
- items:
|
||||
|
||||
@@ -53,6 +53,7 @@ properties:
|
||||
- amlogic,meson8b-usb
|
||||
- amlogic,meson-gxbb-usb
|
||||
- amlogic,meson-g12a-usb
|
||||
- amlogic,meson-a1-usb
|
||||
- intel,socfpga-agilex-hsotg
|
||||
- const: snps,dwc2
|
||||
- const: amcc,dwc-otg
|
||||
|
||||
103
Documentation/devicetree/bindings/usb/fsl,imx8qm-cdns3.yaml
Normal file
103
Documentation/devicetree/bindings/usb/fsl,imx8qm-cdns3.yaml
Normal file
@@ -0,0 +1,103 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
# Copyright (c) 2020 NXP
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/usb/fsl,imx8qm-cdns3.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: NXP iMX8QM Soc USB Controller
|
||||
|
||||
maintainers:
|
||||
- Frank Li <Frank.Li@nxp.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,imx8qm-usb3
|
||||
|
||||
reg:
|
||||
items:
|
||||
- description: Register set for iMX USB3 Platform Control
|
||||
|
||||
"#address-cells":
|
||||
enum: [ 1, 2 ]
|
||||
|
||||
"#size-cells":
|
||||
enum: [ 1, 2 ]
|
||||
|
||||
ranges: true
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: Standby clock. Used during ultra low power states.
|
||||
- description: USB bus clock for usb3 controller.
|
||||
- description: AXI clock for AXI interface.
|
||||
- description: ipg clock for register access.
|
||||
- description: Core clock for usb3 controller.
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: lpm
|
||||
- const: bus
|
||||
- const: aclk
|
||||
- const: ipg
|
||||
- const: core
|
||||
|
||||
power-domains:
|
||||
maxItems: 1
|
||||
|
||||
# Required child node:
|
||||
|
||||
patternProperties:
|
||||
"^usb@[0-9a-f]+$":
|
||||
$ref: cdns,usb3.yaml#
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
- ranges
|
||||
- clocks
|
||||
- clock-names
|
||||
- power-domains
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/imx8-lpcg.h>
|
||||
#include <dt-bindings/firmware/imx/rsrc.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
usb@5b110000 {
|
||||
compatible = "fsl,imx8qm-usb3";
|
||||
reg = <0x5b110000 0x10000>;
|
||||
ranges;
|
||||
clocks = <&usb3_lpcg IMX_LPCG_CLK_1>,
|
||||
<&usb3_lpcg IMX_LPCG_CLK_0>,
|
||||
<&usb3_lpcg IMX_LPCG_CLK_7>,
|
||||
<&usb3_lpcg IMX_LPCG_CLK_4>,
|
||||
<&usb3_lpcg IMX_LPCG_CLK_5>;
|
||||
clock-names = "lpm", "bus", "aclk", "ipg", "core";
|
||||
assigned-clocks = <&clk IMX_SC_R_USB_2 IMX_SC_PM_CLK_MST_BUS>;
|
||||
assigned-clock-rates = <250000000>;
|
||||
power-domains = <&pd IMX_SC_R_USB_2>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
usb@5b120000 {
|
||||
compatible = "cdns,usb3";
|
||||
reg = <0x5b120000 0x10000>, /* memory area for OTG/DRD registers */
|
||||
<0x5b130000 0x10000>, /* memory area for HOST registers */
|
||||
<0x5b140000 0x10000>; /* memory area for DEVICE registers */
|
||||
reg-names = "otg", "xhci", "dev";
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "host", "peripheral", "otg", "wakeup";
|
||||
phys = <&usb3_phy>;
|
||||
phy-names = "cdns3,usb3-phy";
|
||||
};
|
||||
};
|
||||
@@ -61,6 +61,7 @@ properties:
|
||||
- ibm,476gtr-ehci
|
||||
- nxp,lpc1850-ehci
|
||||
- qca,ar7100-ehci
|
||||
- rockchip,rk3588-ehci
|
||||
- snps,hsdk-v1.0-ehci
|
||||
- socionext,uniphier-ehci
|
||||
- const: generic-ehci
|
||||
|
||||
@@ -44,6 +44,7 @@ properties:
|
||||
- hpe,gxp-ohci
|
||||
- ibm,476gtr-ohci
|
||||
- ingenic,jz4740-ohci
|
||||
- rockchip,rk3588-ohci
|
||||
- snps,hsdk-v1.0-ohci
|
||||
- const: generic-ohci
|
||||
- enum:
|
||||
@@ -69,7 +70,7 @@ properties:
|
||||
|
||||
clocks:
|
||||
minItems: 1
|
||||
maxItems: 3
|
||||
maxItems: 4
|
||||
description: |
|
||||
In case the Renesas R-Car Gen3 SoCs:
|
||||
- if a host only channel: first clock should be host.
|
||||
@@ -147,6 +148,20 @@ allOf:
|
||||
then:
|
||||
properties:
|
||||
transceiver: false
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: rockchip,rk3588-ohci
|
||||
then:
|
||||
properties:
|
||||
clocks:
|
||||
minItems: 4
|
||||
else:
|
||||
properties:
|
||||
clocks:
|
||||
minItems: 1
|
||||
maxItems: 3
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
|
||||
107
Documentation/devicetree/bindings/usb/microchip,usb5744.yaml
Normal file
107
Documentation/devicetree/bindings/usb/microchip,usb5744.yaml
Normal file
@@ -0,0 +1,107 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/usb/microchip,usb5744.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Microchip USB5744 4-port Hub Controller
|
||||
|
||||
description:
|
||||
Microchip's USB5744 SmartHubTM IC is a 4 port, SuperSpeed (SS)/Hi-Speed (HS),
|
||||
low power, low pin count configurable and fully compliant with the USB 3.1
|
||||
Gen 1 specification. The USB5744 also supports Full Speed (FS) and Low Speed
|
||||
(LS) USB signaling, offering complete coverage of all defined USB operating
|
||||
speeds. The new SuperSpeed hubs operate in parallel with the USB 2.0
|
||||
controller, so 5 Gbps SuperSpeed data transfers are not affected by slower
|
||||
USB 2.0 traffic.
|
||||
|
||||
maintainers:
|
||||
- Piyush Mehta <piyush.mehta@amd.com>
|
||||
- Michal Simek <michal.simek@amd.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- usb424,2744
|
||||
- usb424,5744
|
||||
- microchip,usb5744
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
reset-gpios:
|
||||
maxItems: 1
|
||||
description:
|
||||
GPIO controlling the GRST# pin.
|
||||
|
||||
vdd-supply:
|
||||
description:
|
||||
VDD power supply to the hub
|
||||
|
||||
peer-hub:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description:
|
||||
phandle to the peer hub on the controller.
|
||||
|
||||
i2c-bus:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description:
|
||||
phandle of an usb hub connected via i2c bus.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: microchip,usb5744
|
||||
then:
|
||||
properties:
|
||||
reset-gpios: false
|
||||
vdd-supply: false
|
||||
peer-hub: false
|
||||
i2c-bus: false
|
||||
else:
|
||||
$ref: /schemas/usb/usb-device.yaml
|
||||
required:
|
||||
- peer-hub
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
i2c: i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
hub: usb-hub@2d {
|
||||
compatible = "microchip,usb5744";
|
||||
reg = <0x2d>;
|
||||
};
|
||||
};
|
||||
|
||||
usb {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
/* 2.0 hub on port 1 */
|
||||
hub_2_0: hub@1 {
|
||||
compatible = "usb424,2744";
|
||||
reg = <1>;
|
||||
peer-hub = <&hub_3_0>;
|
||||
i2c-bus = <&hub>;
|
||||
reset-gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
/* 3.0 hub on port 2 */
|
||||
hub_3_0: hub@2 {
|
||||
compatible = "usb424,5744";
|
||||
reg = <2>;
|
||||
peer-hub = <&hub_2_0>;
|
||||
i2c-bus = <&hub>;
|
||||
reset-gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
141
Documentation/devicetree/bindings/usb/onnn,nb7vpq904m.yaml
Normal file
141
Documentation/devicetree/bindings/usb/onnn,nb7vpq904m.yaml
Normal file
@@ -0,0 +1,141 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/usb/onnn,nb7vpq904m.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: ON Semiconductor Type-C DisplayPort ALT Mode Linear Redriver
|
||||
|
||||
maintainers:
|
||||
- Neil Armstrong <neil.armstrong@linaro.org>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- onnn,nb7vpq904m
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
vcc-supply:
|
||||
description: power supply (1.8V)
|
||||
|
||||
enable-gpios: true
|
||||
|
||||
retimer-switch:
|
||||
description: Flag the port as possible handle of SuperSpeed signals retiming
|
||||
type: boolean
|
||||
|
||||
orientation-switch:
|
||||
description: Flag the port as possible handler of orientation switching
|
||||
type: boolean
|
||||
|
||||
ports:
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
properties:
|
||||
port@0:
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: Super Speed (SS) Output endpoint to the Type-C connector
|
||||
|
||||
port@1:
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
description: Super Speed (SS) Input endpoint from the Super-Speed PHY
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
endpoint:
|
||||
$ref: /schemas/graph.yaml#/$defs/endpoint-base
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
data-lanes:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
description: |
|
||||
An array of physical data lane indexes. Position determines how
|
||||
lanes are connected to the redriver, It is assumed the same order
|
||||
is kept on the other side of the redriver.
|
||||
Lane number represents the following
|
||||
- 0 is RX2 lane
|
||||
- 1 is TX2 lane
|
||||
- 2 is TX1 lane
|
||||
- 3 is RX1 lane
|
||||
The position determines the physical port of the redriver, in the
|
||||
order A, B, C & D.
|
||||
oneOf:
|
||||
- items:
|
||||
- const: 0
|
||||
- const: 1
|
||||
- const: 2
|
||||
- const: 3
|
||||
description: |
|
||||
This is the lanes default layout
|
||||
- Port A to RX2 lane
|
||||
- Port B to TX2 lane
|
||||
- Port C to TX1 lane
|
||||
- Port D to RX1 lane
|
||||
- items:
|
||||
- const: 3
|
||||
- const: 2
|
||||
- const: 1
|
||||
- const: 0
|
||||
description: |
|
||||
This is the USBRX2/USBTX2 and USBRX1/USBTX1 swapped lanes layout
|
||||
- Port A to RX1 lane
|
||||
- Port B to TX1 lane
|
||||
- Port C to TX2 lane
|
||||
- Port D to RX2 lane
|
||||
|
||||
port@2:
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Sideband Use (SBU) AUX lines endpoint to the Type-C connector for the purpose of
|
||||
handling altmode muxing and orientation switching.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
typec-mux@32 {
|
||||
compatible = "onnn,nb7vpq904m";
|
||||
reg = <0x32>;
|
||||
|
||||
vcc-supply = <&vreg_l15b_1p8>;
|
||||
|
||||
retimer-switch;
|
||||
orientation-switch;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
usb_con_ss: endpoint {
|
||||
remote-endpoint = <&typec_con_ss>;
|
||||
};
|
||||
};
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
phy_con_ss: endpoint {
|
||||
remote-endpoint = <&usb_phy_ss>;
|
||||
data-lanes = <3 2 1 0>;
|
||||
};
|
||||
};
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
usb_con_sbu: endpoint {
|
||||
remote-endpoint = <&typec_dp_aux>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
||||
@@ -17,6 +17,7 @@ properties:
|
||||
- qcom,ipq6018-dwc3
|
||||
- qcom,ipq8064-dwc3
|
||||
- qcom,ipq8074-dwc3
|
||||
- qcom,ipq9574-dwc3
|
||||
- qcom,msm8953-dwc3
|
||||
- qcom,msm8994-dwc3
|
||||
- qcom,msm8996-dwc3
|
||||
@@ -133,7 +134,6 @@ required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
- ranges
|
||||
- power-domains
|
||||
- clocks
|
||||
- clock-names
|
||||
- interrupts
|
||||
@@ -177,6 +177,7 @@ allOf:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- qcom,ipq9574-dwc3
|
||||
- qcom,msm8953-dwc3
|
||||
- qcom,msm8996-dwc3
|
||||
- qcom,msm8998-dwc3
|
||||
|
||||
190
Documentation/devicetree/bindings/usb/qcom,pmic-typec.yaml
Normal file
190
Documentation/devicetree/bindings/usb/qcom,pmic-typec.yaml
Normal file
@@ -0,0 +1,190 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/usb/qcom,pmic-typec.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm PMIC based USB Type-C block
|
||||
|
||||
maintainers:
|
||||
- Bryan O'Donoghue <bryan.odonoghue@linaro.org>
|
||||
|
||||
description:
|
||||
Qualcomm PMIC Type-C block
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,pm8150b-typec
|
||||
|
||||
connector:
|
||||
type: object
|
||||
$ref: /schemas/connector/usb-connector.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
reg:
|
||||
description: Type-C port and pdphy SPMI register base offsets
|
||||
maxItems: 2
|
||||
|
||||
interrupts:
|
||||
items:
|
||||
- description: Type-C CC attach notification, VBUS error, tCCDebounce done
|
||||
- description: Type-C VCONN powered
|
||||
- description: Type-C CC state change
|
||||
- description: Type-C VCONN over-current
|
||||
- description: Type-C VBUS state change
|
||||
- description: Type-C Attach/detach notification
|
||||
- description: Type-C Legacy cable detect
|
||||
- description: Type-C Try.Src Try.Snk state change
|
||||
- description: Power Domain Signal TX - HardReset or CableReset signal TX
|
||||
- description: Power Domain Signal RX - HardReset or CableReset signal RX
|
||||
- description: Power Domain TX complete
|
||||
- description: Power Domain RX complete
|
||||
- description: Power Domain TX fail
|
||||
- description: Power Domain TX message discard
|
||||
- description: Power Domain RX message discard
|
||||
- description: Power Domain Fast Role Swap event
|
||||
|
||||
interrupt-names:
|
||||
items:
|
||||
- const: or-rid-detect-change
|
||||
- const: vpd-detect
|
||||
- const: cc-state-change
|
||||
- const: vconn-oc
|
||||
- const: vbus-change
|
||||
- const: attach-detach
|
||||
- const: legacy-cable-detect
|
||||
- const: try-snk-src-detect
|
||||
- const: sig-tx
|
||||
- const: sig-rx
|
||||
- const: msg-tx
|
||||
- const: msg-rx
|
||||
- const: msg-tx-failed
|
||||
- const: msg-tx-discarded
|
||||
- const: msg-rx-discarded
|
||||
- const: fr-swap
|
||||
|
||||
vdd-vbus-supply:
|
||||
description: VBUS power supply.
|
||||
|
||||
vdd-pdphy-supply:
|
||||
description: VDD regulator supply to the PDPHY.
|
||||
|
||||
port:
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
Contains a port which produces data-role switching messages.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- interrupt-names
|
||||
- vdd-vbus-supply
|
||||
- vdd-pdphy-supply
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/usb/pd.h>
|
||||
|
||||
pmic {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pm8150b_typec: typec@1500 {
|
||||
compatible = "qcom,pm8150b-typec";
|
||||
reg = <0x1500>,
|
||||
<0x1700>;
|
||||
|
||||
interrupts = <0x2 0x15 0x00 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x2 0x15 0x01 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x2 0x15 0x02 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x2 0x15 0x03 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x2 0x15 0x04 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x2 0x15 0x05 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x2 0x15 0x06 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x2 0x15 0x07 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x2 0x17 0x00 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x2 0x17 0x01 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x2 0x17 0x02 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x2 0x17 0x03 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x2 0x17 0x04 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x2 0x17 0x05 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x2 0x17 0x06 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x2 0x17 0x07 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "or-rid-detect-change",
|
||||
"vpd-detect",
|
||||
"cc-state-change",
|
||||
"vconn-oc",
|
||||
"vbus-change",
|
||||
"attach-detach",
|
||||
"legacy-cable-detect",
|
||||
"try-snk-src-detect",
|
||||
"sig-tx",
|
||||
"sig-rx",
|
||||
"msg-tx",
|
||||
"msg-rx",
|
||||
"msg-tx-failed",
|
||||
"msg-tx-discarded",
|
||||
"msg-rx-discarded",
|
||||
"fr-swap";
|
||||
|
||||
vdd-vbus-supply = <&pm8150b_vbus>;
|
||||
vdd-pdphy-supply = <&vreg_l2a_3p1>;
|
||||
|
||||
connector {
|
||||
compatible = "usb-c-connector";
|
||||
|
||||
power-role = "source";
|
||||
data-role = "dual";
|
||||
self-powered;
|
||||
|
||||
source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_DUAL_ROLE |
|
||||
PDO_FIXED_USB_COMM | PDO_FIXED_DATA_SWAP)>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
pmic_typec_mux_out: endpoint {
|
||||
remote-endpoint = <&usb_phy_typec_mux_in>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
pmic_typec_role_switch_out: endpoint {
|
||||
remote-endpoint = <&usb_role_switch_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
usb {
|
||||
dr_mode = "otg";
|
||||
usb-role-switch;
|
||||
port {
|
||||
usb_role_switch_in: endpoint {
|
||||
remote-endpoint = <&pmic_typec_role_switch_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
usb-phy {
|
||||
orientation-switch;
|
||||
port {
|
||||
usb_phy_typec_mux_in: endpoint {
|
||||
remote-endpoint = <&pmic_typec_mux_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
@@ -44,15 +44,15 @@ properties:
|
||||
It's either a single common DWC3 interrupt (dwc_usb3) or individual
|
||||
interrupts for the host, gadget and DRD modes.
|
||||
minItems: 1
|
||||
maxItems: 3
|
||||
maxItems: 4
|
||||
|
||||
interrupt-names:
|
||||
minItems: 1
|
||||
maxItems: 3
|
||||
maxItems: 4
|
||||
oneOf:
|
||||
- const: dwc_usb3
|
||||
- items:
|
||||
enum: [host, peripheral, otg]
|
||||
enum: [host, peripheral, otg, wakeup]
|
||||
|
||||
clocks:
|
||||
description:
|
||||
|
||||
115
Documentation/devicetree/bindings/usb/starfive,jh7110-usb.yaml
Normal file
115
Documentation/devicetree/bindings/usb/starfive,jh7110-usb.yaml
Normal file
@@ -0,0 +1,115 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/usb/starfive,jh7110-usb.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: StarFive JH7110 wrapper module for the Cadence USBSS-DRD controller
|
||||
|
||||
maintainers:
|
||||
- Minda Chen <minda.chen@starfivetech.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: starfive,jh7110-usb
|
||||
|
||||
ranges: true
|
||||
|
||||
starfive,stg-syscon:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
items:
|
||||
- items:
|
||||
- description: phandle to System Register Controller stg_syscon node.
|
||||
- description: dr mode register offset of STG_SYSCONSAIF__SYSCFG register for USB.
|
||||
description:
|
||||
The phandle to System Register Controller syscon node and the offset
|
||||
of STG_SYSCONSAIF__SYSCFG register for USB.
|
||||
|
||||
dr_mode:
|
||||
enum: [host, otg, peripheral]
|
||||
|
||||
"#address-cells":
|
||||
enum: [1, 2]
|
||||
|
||||
"#size-cells":
|
||||
enum: [1, 2]
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: link power management clock
|
||||
- description: standby clock
|
||||
- description: APB clock
|
||||
- description: AXI clock
|
||||
- description: UTMI APB clock
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: lpm
|
||||
- const: stb
|
||||
- const: apb
|
||||
- const: axi
|
||||
- const: utmi_apb
|
||||
|
||||
resets:
|
||||
items:
|
||||
- description: Power up reset
|
||||
- description: APB clock reset
|
||||
- description: AXI clock reset
|
||||
- description: UTMI APB clock reset
|
||||
|
||||
reset-names:
|
||||
items:
|
||||
- const: pwrup
|
||||
- const: apb
|
||||
- const: axi
|
||||
- const: utmi_apb
|
||||
|
||||
patternProperties:
|
||||
"^usb@[0-9a-f]+$":
|
||||
$ref: cdns,usb3.yaml#
|
||||
description: Required child node
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- ranges
|
||||
- starfive,stg-syscon
|
||||
- '#address-cells'
|
||||
- '#size-cells'
|
||||
- dr_mode
|
||||
- clocks
|
||||
- resets
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
usb@10100000 {
|
||||
compatible = "starfive,jh7110-usb";
|
||||
ranges = <0x0 0x10100000 0x100000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
starfive,stg-syscon = <&stg_syscon 0x4>;
|
||||
clocks = <&syscrg 4>,
|
||||
<&stgcrg 5>,
|
||||
<&stgcrg 1>,
|
||||
<&stgcrg 3>,
|
||||
<&stgcrg 2>;
|
||||
clock-names = "lpm", "stb", "apb", "axi", "utmi_apb";
|
||||
resets = <&stgcrg 10>,
|
||||
<&stgcrg 8>,
|
||||
<&stgcrg 7>,
|
||||
<&stgcrg 9>;
|
||||
reset-names = "pwrup", "apb", "axi", "utmi_apb";
|
||||
dr_mode = "host";
|
||||
|
||||
usb@0 {
|
||||
compatible = "cdns,usb3";
|
||||
reg = <0x0 0x10000>,
|
||||
<0x10000 0x10000>,
|
||||
<0x20000 0x10000>;
|
||||
reg-names = "otg", "xhci", "dev";
|
||||
interrupts = <100>, <108>, <110>;
|
||||
interrupt-names = "host", "peripheral", "otg";
|
||||
maximum-speed = "super-speed";
|
||||
};
|
||||
};
|
||||
@@ -231,7 +231,7 @@ properties:
|
||||
power-on sequence to a port until the port has adequate power.
|
||||
|
||||
swap-dx-lanes:
|
||||
$ref: /schemas/types.yaml#/definitions/uint8-array
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
description: |
|
||||
Specifies the ports which will swap the differential-pair (D+/D-),
|
||||
default is not-swapped.
|
||||
|
||||
21
MAINTAINERS
21
MAINTAINERS
@@ -4540,6 +4540,12 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb.git
|
||||
F: drivers/usb/cdns3/
|
||||
X: drivers/usb/cdns3/cdns3*
|
||||
|
||||
CADENCE USBHS DRIVER
|
||||
M: Pawel Laszczak <pawell@cadence.com>
|
||||
L: linux-usb@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/usb/gadget/udc/cdns2
|
||||
|
||||
CADET FM/AM RADIO RECEIVER DRIVER
|
||||
M: Hans Verkuil <hverkuil@xs4all.nl>
|
||||
L: linux-media@vger.kernel.org
|
||||
@@ -17694,6 +17700,14 @@ S: Maintained
|
||||
F: Documentation/devicetree/bindings/thermal/qcom-tsens.yaml
|
||||
F: drivers/thermal/qcom/
|
||||
|
||||
QUALCOMM TYPEC PORT MANAGER DRIVER
|
||||
M: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
|
||||
L: linux-arm-msm@vger.kernel.org
|
||||
L: linux-usb@vger.kernel.org
|
||||
S: Maintained
|
||||
F: Documentation/devicetree/bindings/usb/qcom,pmic-*.yaml
|
||||
F: drivers/usb/typec/tcpm/qcom/
|
||||
|
||||
QUALCOMM VENUS VIDEO ACCELERATOR DRIVER
|
||||
M: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>
|
||||
M: Vikash Garodia <quic_vgarodia@quicinc.com>
|
||||
@@ -20329,6 +20343,12 @@ F: Documentation/devicetree/bindings/reset/starfive,jh7100-reset.yaml
|
||||
F: drivers/reset/starfive/reset-starfive-jh71*
|
||||
F: include/dt-bindings/reset/starfive?jh71*.h
|
||||
|
||||
STARFIVE JH71X0 USB DRIVERS
|
||||
M: Minda Chen <minda.chen@starfivetech.com>
|
||||
S: Maintained
|
||||
F: Documentation/devicetree/bindings/usb/starfive,jh7110-usb.yaml
|
||||
F: drivers/usb/cdns3/cdns3-starfive.c
|
||||
|
||||
STARFIVE JH71XX PMU CONTROLLER DRIVER
|
||||
M: Walker Chen <walker.chen@starfivetech.com>
|
||||
S: Supported
|
||||
@@ -22126,6 +22146,7 @@ F: drivers/usb/
|
||||
F: include/dt-bindings/usb/
|
||||
F: include/linux/usb.h
|
||||
F: include/linux/usb/
|
||||
F: include/uapi/linux/usb/
|
||||
|
||||
USB TYPEC BUS FOR ALTERNATE MODES
|
||||
M: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
||||
|
||||
@@ -77,7 +77,7 @@ static int cros_typec_get_switch_handles(struct cros_typec_port *port,
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
port->mux = fwnode_typec_mux_get(fwnode, NULL);
|
||||
port->mux = fwnode_typec_mux_get(fwnode);
|
||||
if (IS_ERR(port->mux)) {
|
||||
ret = PTR_ERR(port->mux);
|
||||
dev_dbg(dev, "Mux handle not found: %d.\n", ret);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user