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 ...
This commit is contained in:
@@ -5,7 +5,10 @@ connected to a GPIO pin.
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be "linux,extcon-usb-gpio"
|
||||
|
||||
Either one of id-gpio or vbus-gpio must be present. Both can be present as well.
|
||||
- id-gpio: gpio for USB ID pin. See gpio binding.
|
||||
- vbus-gpio: gpio for USB VBUS pin.
|
||||
|
||||
Example: Examples of extcon-usb-gpio node in dra7-evm.dts as listed below:
|
||||
extcon_usb1 {
|
||||
|
@@ -1,4 +1,4 @@
|
||||
* Amlogic USB2 PHY
|
||||
* Amlogic Meson8b and GXBB USB2 PHY
|
||||
|
||||
Required properties:
|
||||
- compatible: Depending on the platform this should be one of:
|
||||
@@ -16,10 +16,10 @@ Optional properties:
|
||||
|
||||
Example:
|
||||
|
||||
usb0_phy: usb_phy@0 {
|
||||
usb0_phy: usb-phy@c0000000 {
|
||||
compatible = "amlogic,meson-gxbb-usb2-phy";
|
||||
#phy-cells = <0>;
|
||||
reg = <0x0 0x0 0x0 0x20>;
|
||||
reg = <0x0 0xc0000000 0x0 0x20>;
|
||||
resets = <&reset RESET_USB_OTG>;
|
||||
clocks = <&clkc CLKID_USB>, <&clkc CLKID_USB0>;
|
||||
clock-names = "usb_general", "usb";
|
43
Documentation/devicetree/bindings/usb/da8xx-usb.txt
Normal file
43
Documentation/devicetree/bindings/usb/da8xx-usb.txt
Normal file
@@ -0,0 +1,43 @@
|
||||
TI DA8xx MUSB
|
||||
~~~~~~~~~~~~~
|
||||
For DA8xx/OMAP-L1x/AM17xx/AM18xx platforms.
|
||||
|
||||
Required properties:
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
- compatible : Should be set to "ti,da830-musb".
|
||||
|
||||
- reg: Offset and length of the USB controller register set.
|
||||
|
||||
- interrupts: The USB interrupt number.
|
||||
|
||||
- interrupt-names: Should be set to "mc".
|
||||
|
||||
- dr_mode: The USB operation mode. Should be one of "host", "peripheral" or "otg".
|
||||
|
||||
- phys: Phandle for the PHY device
|
||||
|
||||
- phy-names: Should be "usb-phy"
|
||||
|
||||
Optional properties:
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
- vbus-supply: Phandle to a regulator providing the USB bus power.
|
||||
|
||||
Example:
|
||||
usb_phy: usb-phy {
|
||||
compatible = "ti,da830-usb-phy";
|
||||
#phy-cells = <0>;
|
||||
status = "okay";
|
||||
};
|
||||
usb0: usb@200000 {
|
||||
compatible = "ti,da830-musb";
|
||||
reg = <0x00200000 0x10000>;
|
||||
interrupts = <58>;
|
||||
interrupt-names = "mc";
|
||||
|
||||
dr_mode = "host";
|
||||
vbus-supply = <&usb_vbus>;
|
||||
phys = <&usb_phy 0>;
|
||||
phy-names = "usb-phy";
|
||||
|
||||
status = "okay";
|
||||
};
|
@@ -12,6 +12,7 @@ Required properties:
|
||||
- "lantiq,xrx200-usb": The DWC2 USB controller instance in Lantiq XRX SoCs;
|
||||
- "amlogic,meson8b-usb": The DWC2 USB controller instance in Amlogic Meson8b SoCs;
|
||||
- "amlogic,meson-gxbb-usb": The DWC2 USB controller instance in Amlogic S905 SoCs;
|
||||
- "amcc,dwc-otg": The DWC2 USB controller instance in AMCC Canyonlands 460EX SoCs;
|
||||
- snps,dwc2: A generic DWC2 USB controller with default parameters.
|
||||
- reg : Should contain 1 register range (address and length)
|
||||
- interrupts : Should contain 1 interrupt
|
||||
@@ -25,11 +26,13 @@ Optional properties:
|
||||
Refer to phy/phy-bindings.txt for generic phy consumer properties
|
||||
- dr_mode: shall be one of "host", "peripheral" and "otg"
|
||||
Refer to usb/generic.txt
|
||||
- g-use-dma: enable dma usage in gadget driver.
|
||||
- g-rx-fifo-size: size of rx fifo size in gadget mode.
|
||||
- g-np-tx-fifo-size: size of non-periodic tx fifo size in gadget mode.
|
||||
- g-tx-fifo-size: size of periodic tx fifo per endpoint (except ep0) in gadget mode.
|
||||
|
||||
Deprecated properties:
|
||||
- g-use-dma: gadget DMA mode is automatically detected
|
||||
|
||||
Example:
|
||||
|
||||
usb@101c0000 {
|
||||
|
87
Documentation/devicetree/bindings/usb/mt8173-mtu3.txt
Normal file
87
Documentation/devicetree/bindings/usb/mt8173-mtu3.txt
Normal file
@@ -0,0 +1,87 @@
|
||||
The device node for Mediatek USB3.0 DRD controller
|
||||
|
||||
Required properties:
|
||||
- compatible : should be "mediatek,mt8173-mtu3"
|
||||
- reg : specifies physical base address and size of the registers
|
||||
- reg-names: should be "mac" for device IP and "ippc" for IP port control
|
||||
- interrupts : interrupt used by the device IP
|
||||
- power-domains : a phandle to USB power domain node to control USB's
|
||||
mtcmos
|
||||
- vusb33-supply : regulator of USB avdd3.3v
|
||||
- clocks : a list of phandle + clock-specifier pairs, one for each
|
||||
entry in clock-names
|
||||
- clock-names : must contain "sys_ck" for clock of controller;
|
||||
"wakeup_deb_p0" and "wakeup_deb_p1" are optional, they are
|
||||
depends on "mediatek,enable-wakeup"
|
||||
- phys : a list of phandle + phy specifier pairs
|
||||
- dr_mode : should be one of "host", "peripheral" or "otg",
|
||||
refer to usb/generic.txt
|
||||
|
||||
Optional properties:
|
||||
- #address-cells, #size-cells : should be '2' if the device has sub-nodes
|
||||
with 'reg' property
|
||||
- ranges : allows valid 1:1 translation between child's address space and
|
||||
parent's address space
|
||||
- extcon : external connector for vbus and idpin changes detection, needed
|
||||
when supports dual-role mode.
|
||||
- vbus-supply : reference to the VBUS regulator, needed when supports
|
||||
dual-role mode.
|
||||
- pinctl-names : a pinctrl state named "default" must be defined,
|
||||
"id_float" and "id_ground" are optinal which depends on
|
||||
"mediatek,enable-manual-drd"
|
||||
- pinctrl-0 : pin control group
|
||||
See: Documentation/devicetree/bindings/pinctrl/pinctrl-binding.txt
|
||||
|
||||
- maximum-speed : valid arguments are "super-speed", "high-speed" and
|
||||
"full-speed"; refer to 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.
|
||||
- mediatek,enable-wakeup : supports ip sleep wakeup used by host mode
|
||||
- mediatek,syscon-wakeup : phandle to syscon used to access USB wakeup
|
||||
control register, it depends on "mediatek,enable-wakeup".
|
||||
|
||||
Sub-nodes:
|
||||
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/mt8173-xhci.txt
|
||||
|
||||
Example:
|
||||
ssusb: usb@11271000 {
|
||||
compatible = "mediatek,mt8173-mtu3";
|
||||
reg = <0 0x11271000 0 0x3000>,
|
||||
<0 0x11280700 0 0x0100>;
|
||||
reg-names = "mac", "ippc";
|
||||
interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_LOW>;
|
||||
phys = <&phy_port0 PHY_TYPE_USB3>,
|
||||
<&phy_port1 PHY_TYPE_USB2>;
|
||||
power-domains = <&scpsys MT8173_POWER_DOMAIN_USB>;
|
||||
clocks = <&topckgen CLK_TOP_USB30_SEL>,
|
||||
<&pericfg CLK_PERI_USB0>,
|
||||
<&pericfg CLK_PERI_USB1>;
|
||||
clock-names = "sys_ck",
|
||||
"wakeup_deb_p0",
|
||||
"wakeup_deb_p1";
|
||||
vusb33-supply = <&mt6397_vusb_reg>;
|
||||
vbus-supply = <&usb_p0_vbus>;
|
||||
extcon = <&extcon_usb>;
|
||||
dr_mode = "otg";
|
||||
mediatek,enable-wakeup;
|
||||
mediatek,syscon-wakeup = <&pericfg>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
status = "disabled";
|
||||
|
||||
usb_host: xhci@11270000 {
|
||||
compatible = "mediatek,mt8173-xhci";
|
||||
reg = <0 0x11270000 0 0x1000>;
|
||||
reg-names = "mac";
|
||||
interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_LOW>;
|
||||
power-domains = <&scpsys MT8173_POWER_DOMAIN_USB>;
|
||||
clocks = <&topckgen CLK_TOP_USB30_SEL>;
|
||||
clock-names = "sys_ck";
|
||||
vusb33-supply = <&mt6397_vusb_reg>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
@@ -2,10 +2,18 @@ MT8173 xHCI
|
||||
|
||||
The device node for Mediatek SOC USB3.0 host controller
|
||||
|
||||
There are two scenarios: the first one only supports xHCI driver;
|
||||
the second one supports dual-role mode, and the host is based on xHCI
|
||||
driver. Take account of backward compatibility, we divide bindings
|
||||
into two parts.
|
||||
|
||||
1st: only supports xHCI driver
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Required properties:
|
||||
- compatible : should contain "mediatek,mt8173-xhci"
|
||||
- reg : specifies physical base address and size of the registers,
|
||||
the first one for MAC, the second for IPPC
|
||||
- reg : specifies physical base address and size of the registers
|
||||
- reg-names: should be "mac" for xHCI MAC and "ippc" for IP port control
|
||||
- interrupts : interrupt used by the controller
|
||||
- power-domains : a phandle to USB power domain node to control USB's
|
||||
mtcmos
|
||||
@@ -27,12 +35,16 @@ Optional properties:
|
||||
control register, it depends on "mediatek,wakeup-src".
|
||||
- vbus-supply : reference to the VBUS regulator;
|
||||
- usb3-lpm-capable : supports USB3.0 LPM
|
||||
- pinctrl-names : a pinctrl state named "default" must be defined
|
||||
- pinctrl-0 : pin control group
|
||||
See: Documentation/devicetree/bindings/pinctrl/pinctrl-binding.txt
|
||||
|
||||
Example:
|
||||
usb30: usb@11270000 {
|
||||
compatible = "mediatek,mt8173-xhci";
|
||||
reg = <0 0x11270000 0 0x1000>,
|
||||
<0 0x11280700 0 0x0100>;
|
||||
reg-names = "mac", "ippc";
|
||||
interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_LOW>;
|
||||
power-domains = <&scpsys MT8173_POWER_DOMAIN_USB>;
|
||||
clocks = <&topckgen CLK_TOP_USB30_SEL>,
|
||||
@@ -49,3 +61,41 @@ usb30: usb@11270000 {
|
||||
mediatek,syscon-wakeup = <&pericfg>;
|
||||
mediatek,wakeup-src = <1>;
|
||||
};
|
||||
|
||||
2nd: dual-role mode with xHCI driver
|
||||
------------------------------------------------------------------------
|
||||
|
||||
In the case, xhci is added as subnode to mtu3. An example and the DT binding
|
||||
details of mtu3 can be found in:
|
||||
Documentation/devicetree/bindings/usb/mtu3.txt
|
||||
|
||||
Required properties:
|
||||
- compatible : should contain "mediatek,mt8173-xhci"
|
||||
- reg : specifies physical base address and size of the registers
|
||||
- reg-names: should be "mac" for xHCI MAC
|
||||
- interrupts : interrupt used by the host controller
|
||||
- power-domains : a phandle to USB power domain node to control USB's
|
||||
mtcmos
|
||||
- vusb33-supply : regulator of USB avdd3.3v
|
||||
|
||||
- clocks : a list of phandle + clock-specifier pairs, one for each
|
||||
entry in clock-names
|
||||
- clock-names : must be
|
||||
"sys_ck": for clock of xHCI MAC
|
||||
|
||||
Optional properties:
|
||||
- vbus-supply : reference to the VBUS regulator;
|
||||
- usb3-lpm-capable : supports USB3.0 LPM
|
||||
|
||||
Example:
|
||||
usb30: usb@11270000 {
|
||||
compatible = "mediatek,mt8173-xhci";
|
||||
reg = <0 0x11270000 0 0x1000>;
|
||||
reg-names = "mac";
|
||||
interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_LOW>;
|
||||
power-domains = <&scpsys MT8173_POWER_DOMAIN_USB>;
|
||||
clocks = <&topckgen CLK_TOP_USB30_SEL>;
|
||||
clock-names = "sys_ck";
|
||||
vusb33-supply = <&mt6397_vusb_reg>;
|
||||
usb3-lpm-capable;
|
||||
};
|
||||
|
23
Documentation/devicetree/bindings/usb/ohci-da8xx.txt
Normal file
23
Documentation/devicetree/bindings/usb/ohci-da8xx.txt
Normal file
@@ -0,0 +1,23 @@
|
||||
DA8XX USB OHCI controller
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: Should be "ti,da830-ohci"
|
||||
- reg: Should contain one register range i.e. start and length
|
||||
- interrupts: Description of the interrupt line
|
||||
- phys: Phandle for the PHY device
|
||||
- phy-names: Should be "usb-phy"
|
||||
|
||||
Optional properties:
|
||||
- vbus-supply: phandle of regulator that controls vbus power / over-current
|
||||
|
||||
Example:
|
||||
|
||||
ohci: usb@0225000 {
|
||||
compatible = "ti,da830-ohci";
|
||||
reg = <0x225000 0x1000>;
|
||||
interrupts = <59>;
|
||||
phys = <&usb_phy 1>;
|
||||
phy-names = "usb-phy";
|
||||
vbus-supply = <®_usb_ohci>;
|
||||
};
|
22
Documentation/devicetree/bindings/usb/s3c2410-usb.txt
Normal file
22
Documentation/devicetree/bindings/usb/s3c2410-usb.txt
Normal file
@@ -0,0 +1,22 @@
|
||||
Samsung S3C2410 and compatible SoC USB controller
|
||||
|
||||
OHCI
|
||||
|
||||
Required properties:
|
||||
- compatible: should be "samsung,s3c2410-ohci" for USB host controller
|
||||
- reg: address and lenght of the controller memory mapped region
|
||||
- interrupts: interrupt number for the USB OHCI controller
|
||||
- clocks: Should reference the bus and host clocks
|
||||
- clock-names: Should contain two strings
|
||||
"usb-bus-host" for the USB bus clock
|
||||
"usb-host" for the USB host clock
|
||||
|
||||
Example:
|
||||
|
||||
usb0: ohci@49000000 {
|
||||
compatible = "samsung,s3c2410-ohci";
|
||||
reg = <0x49000000 0x100>;
|
||||
interrupts = <0 0 26 3>;
|
||||
clocks = <&clocks UCLK>, <&clocks HCLK_USBH>;
|
||||
clock-names = "usb-bus-host", "usb-host";
|
||||
};
|
@@ -11,6 +11,7 @@ Required properties:
|
||||
- "renesas,xhci-r8a7791" for r8a7791 SoC
|
||||
- "renesas,xhci-r8a7793" for r8a7793 SoC
|
||||
- "renesas,xhci-r8a7795" for r8a7795 SoC
|
||||
- "renesas,xhci-r8a7796" for r8a7796 SoC
|
||||
- "renesas,rcar-gen2-xhci" for a generic R-Car Gen2 compatible device
|
||||
- "renesas,rcar-gen3-xhci" for a generic R-Car Gen3 compatible device
|
||||
- "xhci-platform" (deprecated)
|
||||
|
Reference in New Issue
Block a user