mirror of
https://github.com/torvalds/linux.git
synced 2024-12-24 11:51:27 +00:00
bc46e23c34
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. -----BEGIN PGP SIGNATURE----- iQJRBAABCAA7FiEElLzh7wn96CXwjh2IzL64meEamQYFAliKBd0dHGZlbGlwZS5i YWxiaUBsaW51eC5pbnRlbC5jb20ACgkQzL64meEamQb1Yw//XEI0VeUdsRM/JKK5 4BBoFCCUXT7jZMyzm7x9G7/4Tz3Xn9I9elAbZ7A3ctpLQXVO0KUAc5S3MRmq1ghj 8h18ZrOLqWG6gG+0eOtzSQLJ91+ULV+nyV6jS+RJyio7AMKy6XW0hRHQQs8ggcqg A/hZKVI/GdvnoSSLVNoWFxTiVC7Pu62IsWJV6BJuWubEze7u97xfBIt3qB9h2R8q ARfy29LYZulgrRYZ2DAtrKNFC8yKdIiKxWcmI47FHcNXtnQ6yAu7VqFcKWlH9Jvb NY/YAzv30leOXHrwHVXCM/Urh7SK6FJIIdgoDMpCWoy1CK2pHXkJCndt/NuM721h DYaopfNBJLtjvYDsvtnGXo3DC6+hBd3oYEz+gogGS/5gocr2ChnRK8Qc5T8eXYnC OBIVKeHcsx9wMxYwwxk2axWjflfbSRjPnpZHibgkvdrwGVY+Hcwf5GyixvTdqQJM dMrZcIPqtPJAg7OBPoH0LEViT14+lc8f5n6D0T/NezLxeeZvbcWQ5p17LpNal5oi S+4kmtNWR7nXKSdICvc00Ap+Iqu91eB4c1MfvP6HSLq7wpjs5QhWtDvM7++ygjL1 7m3ExmXUx+j29M64WM9KTNlXZFkQ8XB5PzmcXueQkz9fd2u8JJhBqGHdVWFHOv9y 4YGdaSpeqsui9bFoIdbjn0EO3+g= =gk8j -----END PGP SIGNATURE----- Merge tag 'usb-for-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next 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.
88 lines
3.3 KiB
Plaintext
88 lines
3.3 KiB
Plaintext
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" and "ref_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-bindings.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>, <&clk26m>,
|
|
<&pericfg CLK_PERI_USB0>,
|
|
<&pericfg CLK_PERI_USB1>;
|
|
clock-names = "sys_ck", "ref_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>, <&clk26m>;
|
|
clock-names = "sys_ck", "ref_ck";
|
|
vusb33-supply = <&mt6397_vusb_reg>;
|
|
status = "disabled";
|
|
};
|
|
};
|