Felipe writes: USB: changes for v4.11 Here's the big pull request for the Gadget API. Again the majority of changes sit in dwc2 driver. Most important changes contain a workaround for GOTGCTL being wrong, a sleep-inside-spinlock fix and the big series of cleanups on dwc2. One important thing on dwc3 is that we don't anymore need gadget drivers to cope with unaligned OUT transfers for us. We have support for appending one extra chained TRB to align transfer ourselves. Apart from these, the usual set of typos, non-critical fixes, etc.
104 lines
3.5 KiB
Plaintext
104 lines
3.5 KiB
Plaintext
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
|
|
- 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
|
|
- 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 xHCI MAC
|
|
"ref_ck": for reference clock of xHCI MAC
|
|
"wakeup_deb_p0": for USB wakeup debounce clock of port0
|
|
"wakeup_deb_p1": for USB wakeup debounce clock of port1
|
|
|
|
- phys : a list of phandle + phy specifier pairs
|
|
|
|
Optional properties:
|
|
- mediatek,wakeup-src : 1: ip sleep wakeup mode; 2: line state wakeup
|
|
mode;
|
|
- mediatek,syscon-wakeup : phandle to syscon used to access USB wakeup
|
|
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-bindings.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>, <&clk26m>,
|
|
<&pericfg CLK_PERI_USB0>,
|
|
<&pericfg CLK_PERI_USB1>;
|
|
clock-names = "sys_ck", "ref_ck",
|
|
"wakeup_deb_p0",
|
|
"wakeup_deb_p1";
|
|
phys = <&phy_port0 PHY_TYPE_USB3>,
|
|
<&phy_port1 PHY_TYPE_USB2>;
|
|
vusb33-supply = <&mt6397_vusb_reg>;
|
|
vbus-supply = <&usb_p1_vbus>;
|
|
usb3-lpm-capable;
|
|
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/mt8173-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
|
|
"ref_ck": for reference 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>, <&clk26m>;
|
|
clock-names = "sys_ck", "ref_ck";
|
|
vusb33-supply = <&mt6397_vusb_reg>;
|
|
usb3-lpm-capable;
|
|
};
|