Skip to content

Commit e7cf773

Browse files
committed
Merge tag 'usb-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
Pull USB updates from Greg KH: "Here's the big set of USB and PHY patches for 3.19-rc1. The normal churn in the USB gadget area is in here, as well as xhci and other individual USB driver updates. The PHY tree is also in here, as there were dependancies on the USB tree. All of these have been in linux-next" * tag 'usb-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (351 commits) arm: omap3: twl: remove usb phy init data usbip: fix error handling in stub_probe() usb: gadget: udc: missing curly braces USB: mos7720: delete some unneeded code wusb: replace memset by memzero_explicit usbip: remove unneeded structure usb: xhci: fix comment for PORT_DEV_REMOVE xhci: don't use the same variable for stopped and halted rings current TD xhci: clear extra bits from slot context when setting max exit latency xhci: cleanup finish_td function USB: adutux: NULL dereferences on disconnect usb: chipidea: fix platform_no_drv_owner.cocci warnings usb: chipidea: Fixed a few typos in comments Documentation: bindings: add doc for the USB2 ChipIdea USB driver usb: chipidea: add a usb2 driver for ci13xxx usb: chipidea: fix phy handling usb: chipidea: remove duplicate dev_set_drvdata for host_start usb: chipidea: parameter 'mode' isn't needed for hw_device_reset usb: chipidea: add controller reset API usb: chipidea: remove flag CI_HDRC_REQUIRE_TRANSCEIVER ...
2 parents 7a02d08 + 81e1dad commit e7cf773

File tree

271 files changed

+11292
-3548
lines changed

Some content is hidden

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

271 files changed

+11292
-3548
lines changed
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
What: /sys/class/udc/<udc>/a_alt_hnp_support
2+
Date: June 2011
3+
KernelVersion: 3.1
4+
Contact: Felipe Balbi <balbi@kernel.org>
5+
Description:
6+
Indicates if an OTG A-Host supports HNP at an alternate port.
7+
Users:
8+
9+
What: /sys/class/udc/<udc>/a_hnp_support
10+
Date: June 2011
11+
KernelVersion: 3.1
12+
Contact: Felipe Balbi <balbi@kernel.org>
13+
Description:
14+
Indicates if an OTG A-Host supports HNP at this port.
15+
Users:
16+
17+
What: /sys/class/udc/<udc>/b_hnp_enable
18+
Date: June 2011
19+
KernelVersion: 3.1
20+
Contact: Felipe Balbi <balbi@kernel.org>
21+
Description:
22+
Indicates if an OTG A-Host enabled HNP support.
23+
Users:
24+
25+
What: /sys/class/udc/<udc>/current_speed
26+
Date: June 2011
27+
KernelVersion: 3.1
28+
Contact: Felipe Balbi <balbi@kernel.org>
29+
Description:
30+
Indicates the current negotiated speed at this port.
31+
Users:
32+
33+
What: /sys/class/udc/<udc>/is_a_peripheral
34+
Date: June 2011
35+
KernelVersion: 3.1
36+
Contact: Felipe Balbi <balbi@kernel.org>
37+
Description:
38+
Indicates that this port is the default Host on an OTG session
39+
but HNP was used to switch roles.
40+
Users:
41+
42+
What: /sys/class/udc/<udc>/is_otg
43+
Date: June 2011
44+
KernelVersion: 3.1
45+
Contact: Felipe Balbi <balbi@kernel.org>
46+
Description:
47+
Indicates that this port support OTG.
48+
Users:
49+
50+
What: /sys/class/udc/<udc>/maximum_speed
51+
Date: June 2011
52+
KernelVersion: 3.1
53+
Contact: Felipe Balbi <balbi@kernel.org>
54+
Description:
55+
Indicates the maximum USB speed supported by this port.
56+
Users:
57+
58+
What: /sys/class/udc/<udc>/maximum_speed
59+
Date: June 2011
60+
KernelVersion: 3.1
61+
Contact: Felipe Balbi <balbi@kernel.org>
62+
Description:
63+
Indicates the maximum USB speed supported by this port.
64+
Users:
65+
66+
What: /sys/class/udc/<udc>/soft_connect
67+
Date: June 2011
68+
KernelVersion: 3.1
69+
Contact: Felipe Balbi <balbi@kernel.org>
70+
Description:
71+
Allows users to disconnect data pullup resistors thus causing a
72+
logical disconnection from the USB Host.
73+
Users:
74+
75+
What: /sys/class/udc/<udc>/srp
76+
Date: June 2011
77+
KernelVersion: 3.1
78+
Contact: Felipe Balbi <balbi@kernel.org>
79+
Description:
80+
Allows users to manually start Session Request Protocol.
81+
Users:
82+
83+
What: /sys/class/udc/<udc>/state
84+
Date: June 2011
85+
KernelVersion: 3.1
86+
Contact: Felipe Balbi <balbi@kernel.org>
87+
Description:
88+
Indicates current state of the USB Device Controller. Valid
89+
states are: 'not-attached', 'attached', 'powered',
90+
'reconnecting', 'unauthenticated', 'default', 'addressed',
91+
'configured', and 'suspended'; however not all USB Device
92+
Controllers support reporting all states.
93+
Users:
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
What: /config/usb-gadget/gadget/functions/hid.name
2+
Date: Nov 2014
3+
KernelVersion: 3.19
4+
Description:
5+
The attributes:
6+
7+
protocol - HID protocol to use
8+
report_desc - blob corresponding to HID report descriptors
9+
except the data passed through /dev/hidg<N>
10+
report_length - HID report length
11+
subclass - HID device subclass to use
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
What: /config/usb-gadget/gadget/functions/midi.name
2+
Date: Nov 2014
3+
KernelVersion: 3.19
4+
Description:
5+
The attributes:
6+
7+
index - index value for the USB MIDI adapter
8+
id - ID string for the USB MIDI adapter
9+
buflen - MIDI buffer length
10+
qlen - USB read request queue length
11+
in_ports - number of MIDI input ports
12+
out_ports - number of MIDI output ports

Documentation/devicetree/bindings/ata/marvell.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,17 @@ Required Properties:
66
- interrupts : Interrupt controller is using
77
- nr-ports : Number of SATA ports in use.
88

9+
Optional Properties:
10+
- phys : List of phandles to sata phys
11+
- phy-names : Should be "0", "1", etc, one number per phandle
12+
913
Example:
1014

1115
sata@80000 {
1216
compatible = "marvell,orion-sata";
1317
reg = <0x80000 0x5000>;
1418
interrupts = <21>;
19+
phys = <&sata_phy0>, <&sata_phy1>;
20+
phy-names = "0", "1";
1521
nr-ports = <2>;
1622
}

Documentation/devicetree/bindings/phy/berlin-sata-phy.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ Berlin SATA PHY
22
---------------
33

44
Required properties:
5-
- compatible: should be "marvell,berlin2q-sata-phy"
5+
- compatible: should be one of
6+
"marvell,berlin2-sata-phy"
7+
"marvell,berlin2q-sata-phy"
68
- address-cells: should be 1
79
- size-cells: should be 0
810
- phy-cells: from the generic PHY bindings, must be 1
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
* Marvell Berlin USB PHY
2+
3+
Required properties:
4+
- compatible: "marvell,berlin2-usb-phy" or "marvell,berlin2cd-usb-phy"
5+
- reg: base address and length of the registers
6+
- #phys-cells: should be 0
7+
- resets: reference to the reset controller
8+
9+
Example:
10+
11+
usb-phy@f774000 {
12+
compatible = "marvell,berlin2-usb-phy";
13+
reg = <0xf774000 0x128>;
14+
#phy-cells = <0>;
15+
resets = <&chip 0x104 14>;
16+
};
Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
STMicroelectronics STi MIPHY28LP PHY binding
2+
============================================
3+
4+
This binding describes a miphy device that is used to control PHY hardware
5+
for SATA, PCIe or USB3.
6+
7+
Required properties (controller (parent) node):
8+
- compatible : Should be "st,miphy28lp-phy".
9+
- st,syscfg : Should be a phandle of the system configuration register group
10+
which contain the SATA, PCIe or USB3 mode setting bits.
11+
12+
Required nodes : A sub-node is required for each channel the controller
13+
provides. Address range information including the usual
14+
'reg' and 'reg-names' properties are used inside these
15+
nodes to describe the controller's topology. These nodes
16+
are translated by the driver's .xlate() function.
17+
18+
Required properties (port (child) node):
19+
- #phy-cells : Should be 1 (See second example)
20+
Cell after port phandle is device type from:
21+
- PHY_TYPE_SATA
22+
- PHY_TYPE_PCI
23+
- PHY_TYPE_USB3
24+
- reg : Address and length of the register set for the device.
25+
- reg-names : The names of the register addresses corresponding to the registers
26+
filled in "reg". It can also contain the offset of the system configuration
27+
registers used as glue-logic to setup the device for SATA/PCIe or USB3
28+
devices.
29+
- resets : phandle to the parent reset controller.
30+
- reset-names : Associated name must be "miphy-sw-rst".
31+
32+
Optional properties (port (child) node):
33+
- st,osc-rdy : to check the MIPHY0_OSC_RDY status in the glue-logic. This
34+
is not available in all the MiPHY. For example, for STiH407, only the
35+
MiPHY0 has this bit.
36+
- st,osc-force-ext : to select the external oscillator. This can change from
37+
different MiPHY inside the same SoC.
38+
- st,sata_gen : to select which SATA_SPDMODE has to be set in the SATA system config
39+
register.
40+
- st,px_rx_pol_inv : to invert polarity of RXn/RXp (respectively negative line and positive
41+
line).
42+
- st,scc-on : enable ssc to reduce effects of EMI (only for sata or PCIe).
43+
- st,tx-impedance-comp : to compensate tx impedance avoiding out of range values.
44+
45+
example:
46+
47+
miphy28lp_phy: miphy28lp@9b22000 {
48+
compatible = "st,miphy28lp-phy";
49+
st,syscfg = <&syscfg_core>;
50+
#address-cells = <1>;
51+
#size-cells = <1>;
52+
ranges;
53+
54+
phy_port0: port@9b22000 {
55+
reg = <0x9b22000 0xff>,
56+
<0x9b09000 0xff>,
57+
<0x9b04000 0xff>,
58+
<0x114 0x4>, /* sysctrl MiPHY cntrl */
59+
<0x818 0x4>, /* sysctrl MiPHY status*/
60+
<0xe0 0x4>, /* sysctrl PCIe */
61+
<0xec 0x4>; /* sysctrl SATA */
62+
reg-names = "sata-up",
63+
"pcie-up",
64+
"pipew",
65+
"miphy-ctrl-glue",
66+
"miphy-status-glue",
67+
"pcie-glue",
68+
"sata-glue";
69+
#phy-cells = <1>;
70+
st,osc-rdy;
71+
reset-names = "miphy-sw-rst";
72+
resets = <&softreset STIH407_MIPHY0_SOFTRESET>;
73+
};
74+
75+
phy_port1: port@9b2a000 {
76+
reg = <0x9b2a000 0xff>,
77+
<0x9b19000 0xff>,
78+
<0x9b14000 0xff>,
79+
<0x118 0x4>,
80+
<0x81c 0x4>,
81+
<0xe4 0x4>,
82+
<0xf0 0x4>;
83+
reg-names = "sata-up",
84+
"pcie-up",
85+
"pipew",
86+
"miphy-ctrl-glue",
87+
"miphy-status-glue",
88+
"pcie-glue",
89+
"sata-glue";
90+
#phy-cells = <1>;
91+
st,osc-force-ext;
92+
reset-names = "miphy-sw-rst";
93+
resets = <&softreset STIH407_MIPHY1_SOFTRESET>;
94+
};
95+
96+
phy_port2: port@8f95000 {
97+
reg = <0x8f95000 0xff>,
98+
<0x8f90000 0xff>,
99+
<0x11c 0x4>,
100+
<0x820 0x4>;
101+
reg-names = "pipew",
102+
"usb3-up",
103+
"miphy-ctrl-glue",
104+
"miphy-status-glue";
105+
#phy-cells = <1>;
106+
reset-names = "miphy-sw-rst";
107+
resets = <&softreset STIH407_MIPHY2_SOFTRESET>;
108+
};
109+
};
110+
111+
112+
Specifying phy control of devices
113+
=================================
114+
115+
Device nodes should specify the configuration required in their "phys"
116+
property, containing a phandle to the miphy device node and an index
117+
specifying which configuration to use, as described in phy-bindings.txt.
118+
119+
example:
120+
sata0: sata@9b20000 {
121+
...
122+
phys = <&phy_port0 PHY_TYPE_SATA>;
123+
...
124+
};
125+
126+
Macro definitions for the supported miphy configuration can be found in:
127+
128+
include/dt-bindings/phy/phy-miphy28lp.h
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
* Marvell MVEBU SATA PHY
2+
3+
Power control for the SATA phy found on Marvell MVEBU SoCs.
4+
5+
This document extends the binding described in phy-bindings.txt
6+
7+
Required properties :
8+
9+
- reg : Offset and length of the register set for the SATA device
10+
- compatible : Should be "marvell,mvebu-sata-phy"
11+
- clocks : phandle of clock and specifier that supplies the device
12+
- clock-names : Should be "sata"
13+
14+
Example:
15+
sata-phy@84000 {
16+
compatible = "marvell,mvebu-sata-phy";
17+
reg = <0x84000 0x0334>;
18+
clocks = <&gate_clk 15>;
19+
clock-names = "sata";
20+
#phy-cells = <0>;
21+
status = "ok";
22+
};
23+
24+
Armada 375 USB cluster
25+
----------------------
26+
27+
Armada 375 comes with an USB2 host and device controller and an USB3
28+
controller. The USB cluster control register allows to manage common
29+
features of both USB controllers.
30+
31+
Required properties:
32+
33+
- compatible: "marvell,armada-375-usb-cluster"
34+
- reg: Should contain usb cluster register location and length.
35+
- #phy-cells : from the generic phy bindings, must be 1. Possible
36+
values are 1 (USB2), 2 (USB3).
37+
38+
Example:
39+
usbcluster: usb-cluster@18400 {
40+
compatible = "marvell,armada-375-usb-cluster";
41+
reg = <0x18400 0x4>;
42+
#phy-cells = <1>
43+
};

Documentation/devicetree/bindings/phy/samsung-phy.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ Required properties:
128128
- compatible : Should be set to one of the following supported values:
129129
- "samsung,exynos5250-usbdrd-phy" - for exynos5250 SoC,
130130
- "samsung,exynos5420-usbdrd-phy" - for exynos5420 SoC.
131+
- "samsung,exynos7-usbdrd-phy" - for exynos7 SoC.
131132
- reg : Register offset and length of USB DRD PHY register set;
132133
- clocks: Clock IDs array as required by the controller
133134
- clock-names: names of clocks correseponding to IDs in the clock property;
@@ -138,6 +139,11 @@ Required properties:
138139
PHY operations, associated by phy name. It is used to
139140
determine bit values for clock settings register.
140141
For Exynos5420 this is given as 'sclk_usbphy30' in CMU.
142+
- optional clocks: Exynos7 SoC has now following additional
143+
gate clocks available:
144+
- phy_pipe: for PIPE3 phy
145+
- phy_utmi: for UTMI+ phy
146+
- itp: for ITP generation
141147
- samsung,pmu-syscon: phandle for PMU system controller interface, used to
142148
control pmu registers for power isolation.
143149
- #phy-cells : from the generic PHY bindings, must be 1;
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
* USB2 ChipIdea USB controller for ci13xxx
2+
3+
Required properties:
4+
- compatible: should be "chipidea,usb2"
5+
- reg: base address and length of the registers
6+
- interrupts: interrupt for the USB controller
7+
8+
Optional properties:
9+
- clocks: reference to the USB clock
10+
- phys: reference to the USB PHY
11+
- phy-names: should be "usb-phy"
12+
- vbus-supply: reference to the VBUS regulator
13+
14+
Example:
15+
16+
usb@f7ed0000 {
17+
compatible = "chipidea,usb2";
18+
reg = <0xf7ed0000 0x10000>;
19+
interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
20+
clocks = <&chip CLKID_USB0>;
21+
phys = <&usb_phy0>;
22+
phy-names = "usb-phy";
23+
vbus-supply = <&reg_usb0_vbus>;
24+
};

0 commit comments

Comments
 (0)