Skip to content

Commit 03f8d4c

Browse files
committed
Merge tag 'usb-4.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
Pull USB/PHY updates from Greg KH: "Here's the big set of USB/PHY patches for 4.10-rc1. A number of new drivers are here in this set of changes. We have a new USB controller type "mtu3", a new usb-serial driver, and the usual churn in the gadget subsystem and the xhci host controller driver, along with a few other new small drivers added. And lots of little other changes all over the USB and PHY driver tree. Full details are in the shortlog All of these have been in linux-next for a while with no reported issues" * tag 'usb-4.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (309 commits) USB: serial: option: add dlink dwm-158 USB: serial: option: add support for Telit LE922A PIDs 0x1040, 0x1041 USB: OHCI: nxp: fix code warnings USB: OHCI: nxp: remove useless extern declaration USB: OHCI: at91: remove useless extern declaration usb: misc: rio500: fix result type for error message usb: mtu3: fix U3 port link issue usb: mtu3: enable auto switch from U3 to U2 usbip: fix warning in vhci_hcd_probe/lockdep_init_map usb: core: usbport: Use proper LED API to fix potential crash usbip: add missing compile time generated files to .gitignore usb: hcd.h: construct hub class request constants from simpler constants USB: OHCI: ohci-pxa27x: remove useless functions USB: OHCI: omap: remove useless extern declaration USB: OHCI: ohci-omap: remove useless functions USB: OHCI: ohci-s3c2410: remove useless functions USB: cdc-acm: add device id for GW Instek AFG-125 fsl/usb: Workarourd for USB erratum-A005697 usb: hub: Wait for connection to be reestablished after port reset usbip: vudc: Refactor init_vudc_hw() to be more obvious ...
2 parents a67485d + d8a12b7 commit 03f8d4c

File tree

220 files changed

+14119
-5002
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

220 files changed

+14119
-5002
lines changed

Documentation/ABI/stable/sysfs-devices

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,17 @@ Description:
88
Any device associated with a device-tree node will have
99
an of_path symlink pointing to the corresponding device
1010
node in /sys/firmware/devicetree/
11+
12+
What: /sys/devices/*/devspec
13+
Date: October 2016
14+
Contact: Device Tree mailing list <devicetree@vger.kernel.org>
15+
Description:
16+
If CONFIG_OF is enabled, then this file is present. When
17+
read, it returns full name of the device node.
18+
19+
What: /sys/devices/*/obppath
20+
Date: October 2016
21+
Contact: Device Tree mailing list <devicetree@vger.kernel.org>
22+
Description:
23+
If CONFIG_OF is enabled, then this file is present. When
24+
read, it returns full name of the device node.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
What: /sys/devices/platform/<phy-name>/role
2+
Date: October 2016
3+
KernelVersion: 4.10
4+
Contact: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
5+
Description:
6+
This file can be read and write.
7+
The file can show/change the phy mode for role swap of usb.
8+
9+
Write the following strings to change the mode:
10+
"host" - switching mode from peripheral to host.
11+
"peripheral" - switching mode from host to peripheral.
12+
13+
Read the file, then it shows the following strings:
14+
"host" - The mode is host now.
15+
"peripheral" - The mode is peripheral now.

Documentation/devicetree/bindings/extcon/extcon-usb-gpio.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@ connected to a GPIO pin.
55

66
Required properties:
77
- compatible: Should be "linux,extcon-usb-gpio"
8+
9+
Either one of id-gpio or vbus-gpio must be present. Both can be present as well.
810
- id-gpio: gpio for USB ID pin. See gpio binding.
11+
- vbus-gpio: gpio for USB VBUS pin.
912

1013
Example: Examples of extcon-usb-gpio node in dra7-evm.dts as listed below:
1114
extcon_usb1 {

Documentation/devicetree/bindings/phy/meson-usb2-phy.txt renamed to Documentation/devicetree/bindings/phy/meson8b-usb2-phy.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
* Amlogic USB2 PHY
1+
* Amlogic Meson8b and GXBB USB2 PHY
22

33
Required properties:
44
- compatible: Depending on the platform this should be one of:
@@ -16,10 +16,10 @@ Optional properties:
1616

1717
Example:
1818

19-
usb0_phy: usb_phy@0 {
19+
usb0_phy: usb-phy@c0000000 {
2020
compatible = "amlogic,meson-gxbb-usb2-phy";
2121
#phy-cells = <0>;
22-
reg = <0x0 0x0 0x0 0x20>;
22+
reg = <0x0 0xc0000000 0x0 0x20>;
2323
resets = <&reset RESET_USB_OTG>;
2424
clocks = <&clkc CLKID_USB>, <&clkc CLKID_USB0>;
2525
clock-names = "usb_general", "usb";
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
TI DA8xx MUSB
2+
~~~~~~~~~~~~~
3+
For DA8xx/OMAP-L1x/AM17xx/AM18xx platforms.
4+
5+
Required properties:
6+
~~~~~~~~~~~~~~~~~~~~
7+
- compatible : Should be set to "ti,da830-musb".
8+
9+
- reg: Offset and length of the USB controller register set.
10+
11+
- interrupts: The USB interrupt number.
12+
13+
- interrupt-names: Should be set to "mc".
14+
15+
- dr_mode: The USB operation mode. Should be one of "host", "peripheral" or "otg".
16+
17+
- phys: Phandle for the PHY device
18+
19+
- phy-names: Should be "usb-phy"
20+
21+
Optional properties:
22+
~~~~~~~~~~~~~~~~~~~~
23+
- vbus-supply: Phandle to a regulator providing the USB bus power.
24+
25+
Example:
26+
usb_phy: usb-phy {
27+
compatible = "ti,da830-usb-phy";
28+
#phy-cells = <0>;
29+
status = "okay";
30+
};
31+
usb0: usb@200000 {
32+
compatible = "ti,da830-musb";
33+
reg = <0x00200000 0x10000>;
34+
interrupts = <58>;
35+
interrupt-names = "mc";
36+
37+
dr_mode = "host";
38+
vbus-supply = <&usb_vbus>;
39+
phys = <&usb_phy 0>;
40+
phy-names = "usb-phy";
41+
42+
status = "okay";
43+
};

Documentation/devicetree/bindings/usb/dwc2.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Required properties:
1212
- "lantiq,xrx200-usb": The DWC2 USB controller instance in Lantiq XRX SoCs;
1313
- "amlogic,meson8b-usb": The DWC2 USB controller instance in Amlogic Meson8b SoCs;
1414
- "amlogic,meson-gxbb-usb": The DWC2 USB controller instance in Amlogic S905 SoCs;
15+
- "amcc,dwc-otg": The DWC2 USB controller instance in AMCC Canyonlands 460EX SoCs;
1516
- snps,dwc2: A generic DWC2 USB controller with default parameters.
1617
- reg : Should contain 1 register range (address and length)
1718
- interrupts : Should contain 1 interrupt
@@ -25,11 +26,13 @@ Optional properties:
2526
Refer to phy/phy-bindings.txt for generic phy consumer properties
2627
- dr_mode: shall be one of "host", "peripheral" and "otg"
2728
Refer to usb/generic.txt
28-
- g-use-dma: enable dma usage in gadget driver.
2929
- g-rx-fifo-size: size of rx fifo size in gadget mode.
3030
- g-np-tx-fifo-size: size of non-periodic tx fifo size in gadget mode.
3131
- g-tx-fifo-size: size of periodic tx fifo per endpoint (except ep0) in gadget mode.
3232

33+
Deprecated properties:
34+
- g-use-dma: gadget DMA mode is automatically detected
35+
3336
Example:
3437

3538
usb@101c0000 {
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
The device node for Mediatek USB3.0 DRD controller
2+
3+
Required properties:
4+
- compatible : should be "mediatek,mt8173-mtu3"
5+
- reg : specifies physical base address and size of the registers
6+
- reg-names: should be "mac" for device IP and "ippc" for IP port control
7+
- interrupts : interrupt used by the device IP
8+
- power-domains : a phandle to USB power domain node to control USB's
9+
mtcmos
10+
- vusb33-supply : regulator of USB avdd3.3v
11+
- clocks : a list of phandle + clock-specifier pairs, one for each
12+
entry in clock-names
13+
- clock-names : must contain "sys_ck" for clock of controller;
14+
"wakeup_deb_p0" and "wakeup_deb_p1" are optional, they are
15+
depends on "mediatek,enable-wakeup"
16+
- phys : a list of phandle + phy specifier pairs
17+
- dr_mode : should be one of "host", "peripheral" or "otg",
18+
refer to usb/generic.txt
19+
20+
Optional properties:
21+
- #address-cells, #size-cells : should be '2' if the device has sub-nodes
22+
with 'reg' property
23+
- ranges : allows valid 1:1 translation between child's address space and
24+
parent's address space
25+
- extcon : external connector for vbus and idpin changes detection, needed
26+
when supports dual-role mode.
27+
- vbus-supply : reference to the VBUS regulator, needed when supports
28+
dual-role mode.
29+
- pinctl-names : a pinctrl state named "default" must be defined,
30+
"id_float" and "id_ground" are optinal which depends on
31+
"mediatek,enable-manual-drd"
32+
- pinctrl-0 : pin control group
33+
See: Documentation/devicetree/bindings/pinctrl/pinctrl-binding.txt
34+
35+
- maximum-speed : valid arguments are "super-speed", "high-speed" and
36+
"full-speed"; refer to usb/generic.txt
37+
- enable-manual-drd : supports manual dual-role switch via debugfs; usually
38+
used when receptacle is TYPE-A and also wants to support dual-role
39+
mode.
40+
- mediatek,enable-wakeup : supports ip sleep wakeup used by host mode
41+
- mediatek,syscon-wakeup : phandle to syscon used to access USB wakeup
42+
control register, it depends on "mediatek,enable-wakeup".
43+
44+
Sub-nodes:
45+
The xhci should be added as subnode to mtu3 as shown in the following example
46+
if host mode is enabled. The DT binding details of xhci can be found in:
47+
Documentation/devicetree/bindings/usb/mt8173-xhci.txt
48+
49+
Example:
50+
ssusb: usb@11271000 {
51+
compatible = "mediatek,mt8173-mtu3";
52+
reg = <0 0x11271000 0 0x3000>,
53+
<0 0x11280700 0 0x0100>;
54+
reg-names = "mac", "ippc";
55+
interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_LOW>;
56+
phys = <&phy_port0 PHY_TYPE_USB3>,
57+
<&phy_port1 PHY_TYPE_USB2>;
58+
power-domains = <&scpsys MT8173_POWER_DOMAIN_USB>;
59+
clocks = <&topckgen CLK_TOP_USB30_SEL>,
60+
<&pericfg CLK_PERI_USB0>,
61+
<&pericfg CLK_PERI_USB1>;
62+
clock-names = "sys_ck",
63+
"wakeup_deb_p0",
64+
"wakeup_deb_p1";
65+
vusb33-supply = <&mt6397_vusb_reg>;
66+
vbus-supply = <&usb_p0_vbus>;
67+
extcon = <&extcon_usb>;
68+
dr_mode = "otg";
69+
mediatek,enable-wakeup;
70+
mediatek,syscon-wakeup = <&pericfg>;
71+
#address-cells = <2>;
72+
#size-cells = <2>;
73+
ranges;
74+
status = "disabled";
75+
76+
usb_host: xhci@11270000 {
77+
compatible = "mediatek,mt8173-xhci";
78+
reg = <0 0x11270000 0 0x1000>;
79+
reg-names = "mac";
80+
interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_LOW>;
81+
power-domains = <&scpsys MT8173_POWER_DOMAIN_USB>;
82+
clocks = <&topckgen CLK_TOP_USB30_SEL>;
83+
clock-names = "sys_ck";
84+
vusb33-supply = <&mt6397_vusb_reg>;
85+
status = "disabled";
86+
};
87+
};

Documentation/devicetree/bindings/usb/mt8173-xhci.txt

Lines changed: 52 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,18 @@ MT8173 xHCI
22

33
The device node for Mediatek SOC USB3.0 host controller
44

5+
There are two scenarios: the first one only supports xHCI driver;
6+
the second one supports dual-role mode, and the host is based on xHCI
7+
driver. Take account of backward compatibility, we divide bindings
8+
into two parts.
9+
10+
1st: only supports xHCI driver
11+
------------------------------------------------------------------------
12+
513
Required properties:
614
- compatible : should contain "mediatek,mt8173-xhci"
7-
- reg : specifies physical base address and size of the registers,
8-
the first one for MAC, the second for IPPC
15+
- reg : specifies physical base address and size of the registers
16+
- reg-names: should be "mac" for xHCI MAC and "ippc" for IP port control
917
- interrupts : interrupt used by the controller
1018
- power-domains : a phandle to USB power domain node to control USB's
1119
mtcmos
@@ -27,12 +35,16 @@ Optional properties:
2735
control register, it depends on "mediatek,wakeup-src".
2836
- vbus-supply : reference to the VBUS regulator;
2937
- usb3-lpm-capable : supports USB3.0 LPM
38+
- pinctrl-names : a pinctrl state named "default" must be defined
39+
- pinctrl-0 : pin control group
40+
See: Documentation/devicetree/bindings/pinctrl/pinctrl-binding.txt
3041

3142
Example:
3243
usb30: usb@11270000 {
3344
compatible = "mediatek,mt8173-xhci";
3445
reg = <0 0x11270000 0 0x1000>,
3546
<0 0x11280700 0 0x0100>;
47+
reg-names = "mac", "ippc";
3648
interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_LOW>;
3749
power-domains = <&scpsys MT8173_POWER_DOMAIN_USB>;
3850
clocks = <&topckgen CLK_TOP_USB30_SEL>,
@@ -49,3 +61,41 @@ usb30: usb@11270000 {
4961
mediatek,syscon-wakeup = <&pericfg>;
5062
mediatek,wakeup-src = <1>;
5163
};
64+
65+
2nd: dual-role mode with xHCI driver
66+
------------------------------------------------------------------------
67+
68+
In the case, xhci is added as subnode to mtu3. An example and the DT binding
69+
details of mtu3 can be found in:
70+
Documentation/devicetree/bindings/usb/mtu3.txt
71+
72+
Required properties:
73+
- compatible : should contain "mediatek,mt8173-xhci"
74+
- reg : specifies physical base address and size of the registers
75+
- reg-names: should be "mac" for xHCI MAC
76+
- interrupts : interrupt used by the host controller
77+
- power-domains : a phandle to USB power domain node to control USB's
78+
mtcmos
79+
- vusb33-supply : regulator of USB avdd3.3v
80+
81+
- clocks : a list of phandle + clock-specifier pairs, one for each
82+
entry in clock-names
83+
- clock-names : must be
84+
"sys_ck": for clock of xHCI MAC
85+
86+
Optional properties:
87+
- vbus-supply : reference to the VBUS regulator;
88+
- usb3-lpm-capable : supports USB3.0 LPM
89+
90+
Example:
91+
usb30: usb@11270000 {
92+
compatible = "mediatek,mt8173-xhci";
93+
reg = <0 0x11270000 0 0x1000>;
94+
reg-names = "mac";
95+
interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_LOW>;
96+
power-domains = <&scpsys MT8173_POWER_DOMAIN_USB>;
97+
clocks = <&topckgen CLK_TOP_USB30_SEL>;
98+
clock-names = "sys_ck";
99+
vusb33-supply = <&mt6397_vusb_reg>;
100+
usb3-lpm-capable;
101+
};
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
DA8XX USB OHCI controller
2+
3+
Required properties:
4+
5+
- compatible: Should be "ti,da830-ohci"
6+
- reg: Should contain one register range i.e. start and length
7+
- interrupts: Description of the interrupt line
8+
- phys: Phandle for the PHY device
9+
- phy-names: Should be "usb-phy"
10+
11+
Optional properties:
12+
- vbus-supply: phandle of regulator that controls vbus power / over-current
13+
14+
Example:
15+
16+
ohci: usb@0225000 {
17+
compatible = "ti,da830-ohci";
18+
reg = <0x225000 0x1000>;
19+
interrupts = <59>;
20+
phys = <&usb_phy 1>;
21+
phy-names = "usb-phy";
22+
vbus-supply = <&reg_usb_ohci>;
23+
};
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
Samsung S3C2410 and compatible SoC USB controller
2+
3+
OHCI
4+
5+
Required properties:
6+
- compatible: should be "samsung,s3c2410-ohci" for USB host controller
7+
- reg: address and lenght of the controller memory mapped region
8+
- interrupts: interrupt number for the USB OHCI controller
9+
- clocks: Should reference the bus and host clocks
10+
- clock-names: Should contain two strings
11+
"usb-bus-host" for the USB bus clock
12+
"usb-host" for the USB host clock
13+
14+
Example:
15+
16+
usb0: ohci@49000000 {
17+
compatible = "samsung,s3c2410-ohci";
18+
reg = <0x49000000 0x100>;
19+
interrupts = <0 0 26 3>;
20+
clocks = <&clocks UCLK>, <&clocks HCLK_USBH>;
21+
clock-names = "usb-bus-host", "usb-host";
22+
};

0 commit comments

Comments
 (0)