Skip to content

Commit

Permalink
Merge tag 'usb-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/…
Browse files Browse the repository at this point in the history
…git/gregkh/usb

Pull USB updates from Greg KH:
 "Here is the big set of USB patches for 5.4-rc1.

  Two major chunks of code are moving out of the tree and into the
  staging directory, uwb and wusb (wireless USB support), because there
  are no devices that actually use this protocol anymore, and what we
  have today probably doesn't work at all given that the maintainers
  left many many years ago. So move it to staging where it will be
  removed in a few releases if no one screams.

  Other than that, lots of little things. The usual gadget and xhci and
  usb serial driver updates, along with a bunch of sysfs file cleanups
  due to the driver core changes to support that. Nothing really major,
  just constant forward progress.

  All of these have been in linux-next for a while with no reported
  issues"

* tag 'usb-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (159 commits)
  USB: usbcore: Fix slab-out-of-bounds bug during device reset
  usb: cdns3: Remove redundant dev_err call in cdns3_probe()
  USB: rio500: Fix lockdep violation
  USB: rio500: simplify locking
  usb: mtu3: register a USB Role Switch for dual role mode
  usb: common: add USB GPIO based connection detection driver
  usb: common: create Kconfig file
  usb: roles: get usb-role-switch from parent
  usb: roles: Add fwnode_usb_role_switch_get() function
  device connection: Add fwnode_connection_find_match()
  usb: roles: Introduce stubs for the exiting functions in role.h
  dt-bindings: usb: mtu3: add properties about USB Role Switch
  dt-bindings: usb: add binding for USB GPIO based connection detection driver
  dt-bindings: connector: add optional properties for Type-B
  dt-binding: usb: add usb-role-switch property
  usbip: Implement SG support to vhci-hcd and stub driver
  usb: roles: intel: Enable static DRD mode for role switch
  xhci-ext-caps.c: Add property to disable Intel SW switch
  usb: dwc3: remove generic PHY calibrate() calls
  usb: core: phy: add support for PHY calibration
  ...
  • Loading branch information
torvalds committed Sep 18, 2019
2 parents 1f7d290 + fb9617e commit c6b48da
Show file tree
Hide file tree
Showing 310 changed files with 10,289 additions and 2,442 deletions.
14 changes: 14 additions & 0 deletions Documentation/devicetree/bindings/connector/usb-connector.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,20 @@ Optional properties:
- self-powered: Set this property if the usb device that has its own power
source.

Optional properties for usb-b-connector:
- id-gpios: an input gpio for USB ID pin.
- vbus-gpios: an input gpio for USB VBUS pin, used to detect presence of
VBUS 5V.
see gpio/gpio.txt.
- vbus-supply: a phandle to the regulator for USB VBUS if needed when host
mode or dual role mode is supported.
Particularly, if use an output GPIO to control a VBUS regulator, should
model it as a regulator.
see regulator/fixed-regulator.yaml
- pinctrl-names : a pinctrl state named "default" is optional
- pinctrl-0 : pin control group
see pinctrl/pinctrl-bindings.txt

Optional properties for usb-c-connector:
- power-role: should be one of "source", "sink" or "dual"(DRP) if typec
connector has power support.
Expand Down
45 changes: 45 additions & 0 deletions Documentation/devicetree/bindings/usb/cdns-usb3.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
Binding for the Cadence USBSS-DRD controller

Required properties:
- reg: Physical base address and size of the controller's register areas.
Controller has 3 different regions:
- HOST registers area
- DEVICE registers area
- OTG/DRD registers area
- reg-names - register memory area names:
"xhci" - for HOST registers space
"dev" - for DEVICE registers space
"otg" - for OTG/DRD registers space
- compatible: Should contain: "cdns,usb3"
- interrupts: Interrupts used by cdns3 controller:
"host" - interrupt used by XHCI driver.
"peripheral" - interrupt used by device driver
"otg" - interrupt used by DRD/OTG part of driver

Optional properties:
- maximum-speed : valid arguments are "super-speed", "high-speed" and
"full-speed"; refer to usb/generic.txt
- dr_mode: Should be one of "host", "peripheral" or "otg".
- phys: reference to the USB PHY
- phy-names: from the *Generic PHY* bindings;
Supported names are:
- cdns3,usb2-phy
- cdns3,usb3-phy

- cdns,on-chip-buff-size : size of memory intended as internal memory for endpoints
buffers expressed in KB

Example:
usb@f3000000 {
compatible = "cdns,usb3";
interrupts = <GIC_USB_IRQ 7 IRQ_TYPE_LEVEL_HIGH>,
<GIC_USB_IRQ 7 IRQ_TYPE_LEVEL_HIGH>,
<GIC_USB_IRQ 8 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "host", "peripheral", "otg";
reg = <0xf3000000 0x10000>, /* memory area for HOST registers */
<0xf3010000 0x10000>, /* memory area for DEVICE registers */
<0xf3020000 0x10000>; /* memory area for OTG/DRD registers */
reg-names = "xhci", "dev", "otg";
phys = <&usb2_phy>, <&usb3_phy>;
phy-names = "cdns3,usb2-phy", "cnds3,usb3-phy";
};
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Required properties:
"fsl,imx6sx-usb"
"fsl,imx6ul-usb"
"fsl,imx7d-usb"
"fsl,imx7ulp-usb"
"lsi,zevio-usb"
"qcom,ci-hdrc"
"chipidea,usb2"
Expand Down
41 changes: 14 additions & 27 deletions Documentation/devicetree/bindings/usb/exynos-usb.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,11 @@ Required properties:
- interrupts: interrupt number to the cpu.
- clocks: from common clock binding: handle to usb clock.
- clock-names: from common clock binding: Shall be "usbhost".
- port: if in the SoC there are EHCI phys, they should be listed here.
One phy per port. Each port should have following entries:
- reg: port number on EHCI controller, e.g
On Exynos5250, port 0 is USB2.0 otg phy
port 1 is HSIC phy0
port 2 is HSIC phy1
- phys: from the *Generic PHY* bindings; specifying phy used by port.
- phys: from the *Generic PHY* bindings; array specifying phy(s) used
by the root port.
- phy-names: from the *Generic PHY* bindings; array of the names for
each phy for the root ports, must be a subset of the following:
"host", "hsic0", "hsic1".

Optional properties:
- samsung,vbus-gpio: if present, specifies the GPIO that
Expand All @@ -35,12 +33,8 @@ Example:
clocks = <&clock 285>;
clock-names = "usbhost";

#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
phys = <&usb2phy 1>;
};
phys = <&usb2phy 1>;
phy-names = "host";
};

OHCI
Expand All @@ -52,13 +46,11 @@ Required properties:
- interrupts: interrupt number to the cpu.
- clocks: from common clock binding: handle to usb clock.
- clock-names: from common clock binding: Shall be "usbhost".
- port: if in the SoC there are OHCI phys, they should be listed here.
One phy per port. Each port should have following entries:
- reg: port number on OHCI controller, e.g
On Exynos5250, port 0 is USB2.0 otg phy
port 1 is HSIC phy0
port 2 is HSIC phy1
- phys: from the *Generic PHY* bindings, specifying phy used by port.
- phys: from the *Generic PHY* bindings; array specifying phy(s) used
by the root port.
- phy-names: from the *Generic PHY* bindings; array of the names for
each phy for the root ports, must be a subset of the following:
"host", "hsic0", "hsic1".

Example:
usb@12120000 {
Expand All @@ -69,13 +61,8 @@ Example:
clocks = <&clock 285>;
clock-names = "usbhost";

#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
phys = <&usb2phy 1>;
};

phys = <&usb2phy 1>;
phy-names = "host";
};

DWC3
Expand Down
7 changes: 0 additions & 7 deletions Documentation/devicetree/bindings/usb/fcs,fusb302.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,6 @@ Required sub-node:

Documentation/devicetree/bindings/connector/usb-connector.txt

Deprecated properties :
- fcs,max-sink-microvolt : Maximum sink voltage accepted by port controller
- fcs,max-sink-microamp : Maximum sink current accepted by port controller
- fcs,max-sink-microwatt : Maximum sink power accepted by port controller
- fcs,operating-sink-microwatt : Minimum amount of power accepted from a sink
when negotiating


Example:

Expand Down
4 changes: 4 additions & 0 deletions Documentation/devicetree/bindings/usb/generic.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@ Optional properties:
optional for OTG device.
- adp-disable: tells OTG controllers we want to disable OTG ADP, ADP is
optional for OTG device.
- usb-role-switch: boolean, indicates that the device is capable of assigning
the USB data role (USB host or USB device) for a given
USB connector, such as Type-C, Type-B(micro).
see connector/usb-connector.txt.

This is an attribute to a USB controller such as:

Expand Down
5 changes: 3 additions & 2 deletions Documentation/devicetree/bindings/usb/mediatek,mtk-xhci.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@ Required properties:
the following ones are optional:
"ref_ck": reference clock used by low power mode etc,
"mcu_ck": mcu_bus clock for register access,
"dma_ck": dma_bus clock for data transfer by DMA
"dma_ck": dma_bus clock for data transfer by DMA,
"xhci_ck": controller clock

- phys : see usb-hcd.txt in the current directory

Expand Down Expand Up @@ -100,7 +101,7 @@ Required properties:
- clocks : a list of phandle + clock-specifier pairs, one for each
entry in clock-names
- clock-names : must contain "sys_ck", and the following ones are optional:
"ref_ck", "mcu_ck" and "dma_ck"
"ref_ck", "mcu_ck" and "dma_ck", "xhci_ck"

Optional properties:
- vbus-supply : reference to the VBUS regulator;
Expand Down
12 changes: 11 additions & 1 deletion Documentation/devicetree/bindings/usb/mediatek,mtu3.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Required properties:
entry in clock-names
- clock-names : must contain "sys_ck" for clock of controller,
the following clocks are optional:
"ref_ck", "mcu_ck" and "dam_ck";
"ref_ck", "mcu_ck" and "dma_ck";
- phys : see usb-hcd.txt in the current directory
- dr_mode : should be one of "host", "peripheral" or "otg",
refer to usb/generic.txt
Expand All @@ -28,8 +28,13 @@ Optional properties:
parent's address space
- extcon : external connector for vbus and idpin changes detection, needed
when supports dual-role mode.
it's considered valid for compatibility reasons, not allowed for
new bindings, and use "usb-role-switch" property instead.
- vbus-supply : reference to the VBUS regulator, needed when supports
dual-role mode.
it's considered valid for compatibility reasons, not allowed for
new bindings, and put into a usb-connector node.
see connector/usb-connector.txt.
- pinctrl-names : a pinctrl state named "default" is optional, and need be
defined if auto drd switch is enabled, that means the property dr_mode
is set as "otg", and meanwhile the property "mediatek,enable-manual-drd"
Expand All @@ -39,6 +44,8 @@ Optional properties:

- maximum-speed : valid arguments are "super-speed", "high-speed" and
"full-speed"; refer to usb/generic.txt
- usb-role-switch : use USB Role Switch to support dual-role switch, but
not extcon; see usb/generic.txt.
- enable-manual-drd : supports manual dual-role switch via debugfs; usually
used when receptacle is TYPE-A and also wants to support dual-role
mode.
Expand All @@ -61,6 +68,9 @@ The xhci should be added as subnode to mtu3 as shown in the following example
if host mode is enabled. The DT binding details of xhci can be found in:
Documentation/devicetree/bindings/usb/mediatek,mtk-xhci.txt

The port would be added as subnode if use "usb-role-switch" property.
see graph.txt

Example:
ssusb: usb@11271000 {
compatible = "mediatek,mt8173-mtu3";
Expand Down
30 changes: 30 additions & 0 deletions Documentation/devicetree/bindings/usb/usb-conn-gpio.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
USB GPIO Based Connection Detection

This is typically used to switch dual role mode from the USB ID pin connected
to an input GPIO, and also used to enable/disable device mode from the USB
Vbus pin connected to an input GPIO.

Required properties:
- compatible : should include "gpio-usb-b-connector" and "usb-b-connector".
- id-gpios, vbus-gpios : input gpios, either one of them must be present,
and both can be present as well.
see connector/usb-connector.txt

Optional properties:
- vbus-supply : can be present if needed when supports dual role mode.
see connector/usb-connector.txt

- Sub-nodes:
- port : can be present.
see graph.txt

Example:

&mtu3 {
connector {
compatible = "gpio-usb-b-connector", "usb-b-connector";
type = "micro";
id-gpios = <&pio 12 GPIO_ACTIVE_HIGH>;
vbus-supply = <&usb_p0_vbus>;
};
};
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/usb/usbmisc-imx.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ Required properties:
"fsl,vf610-usbmisc" for Vybrid vf610
"fsl,imx6sx-usbmisc" for imx6sx
"fsl,imx7d-usbmisc" for imx7d
"fsl,imx7ulp-usbmisc" for imx7ulp
- reg: Should contain registers location and length

Examples:
Expand Down
19 changes: 6 additions & 13 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -3797,14 +3797,9 @@ F: scripts/sign-file.c
F: scripts/extract-cert.c

CERTIFIED WIRELESS USB (WUSB) SUBSYSTEM:
L: [email protected]
S: Orphan
F: Documentation/usb/wusb-design-overview.rst
F: Documentation/usb/wusb-cbaf
F: drivers/usb/host/hwa-hc.c
F: drivers/usb/host/whci/
F: drivers/usb/wusbcore/
F: include/linux/usb/wusb*
L: [email protected]
S: Obsolete
F: drivers/staging/wusbcore/

CFAG12864B LCD DRIVER
M: Miguel Ojeda Sandonis <[email protected]>
Expand Down Expand Up @@ -16500,11 +16495,9 @@ F: drivers/usb/common/ulpi.c
F: include/linux/ulpi/

ULTRA-WIDEBAND (UWB) SUBSYSTEM:
L: [email protected]
S: Orphan
F: drivers/uwb/
F: include/linux/uwb.h
F: include/linux/uwb/
L: [email protected]
S: Obsolete
F: drivers/staging/uwb/

UNICODE SUBSYSTEM:
M: Gabriel Krisman Bertazi <[email protected]>
Expand Down
28 changes: 4 additions & 24 deletions arch/arm/boot/dts/exynos4.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -380,23 +380,8 @@
clocks = <&clock CLK_USB_HOST>;
clock-names = "usbhost";
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
phys = <&exynos_usbphy 1>;
status = "disabled";
};
port@1 {
reg = <1>;
phys = <&exynos_usbphy 2>;
status = "disabled";
};
port@2 {
reg = <2>;
phys = <&exynos_usbphy 3>;
status = "disabled";
};
phys = <&exynos_usbphy 1>, <&exynos_usbphy 2>, <&exynos_usbphy 3>;
phy-names = "host", "hsic0", "hsic1";
};

ohci: ohci@12590000 {
Expand All @@ -406,13 +391,8 @@
clocks = <&clock CLK_USB_HOST>;
clock-names = "usbhost";
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
phys = <&exynos_usbphy 1>;
status = "disabled";
};
phys = <&exynos_usbphy 1>;
phy-names = "host";
};

gpu: gpu@13000000 {
Expand Down
8 changes: 2 additions & 6 deletions arch/arm/boot/dts/exynos4210-universal_c210.dts
Original file line number Diff line number Diff line change
Expand Up @@ -204,9 +204,8 @@

&ehci {
status = "okay";
port@0 {
status = "okay";
};
phys = <&exynos_usbphy 1>;
phy-names = "host";
};

&exynos_usbphy {
Expand Down Expand Up @@ -520,9 +519,6 @@

&ohci {
status = "okay";
port@0 {
status = "okay";
};
};

&pinctrl_1 {
Expand Down
9 changes: 2 additions & 7 deletions arch/arm/boot/dts/exynos4412-itop-elite.dts
Original file line number Diff line number Diff line change
Expand Up @@ -146,13 +146,8 @@
/* In order to reset USB ethernet */
samsung,vbus-gpio = <&gpc0 1 GPIO_ACTIVE_HIGH>;

port@0 {
status = "okay";
};

port@2 {
status = "okay";
};
phys = <&exynos_usbphy 1>, <&exynos_usbphy 3>;
phy-names = "host", "hsic1";
};

&exynos_usbphy {
Expand Down
8 changes: 2 additions & 6 deletions arch/arm/boot/dts/exynos4412-odroidu3.dts
Original file line number Diff line number Diff line change
Expand Up @@ -105,12 +105,8 @@
};

&ehci {
port@1 {
status = "okay";
};
port@2 {
status = "okay";
};
phys = <&exynos_usbphy 2>, <&exynos_usbphy 3>;
phy-names = "hsic0", "hsic1";
};

&sound {
Expand Down
Loading

0 comments on commit c6b48da

Please sign in to comment.