<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/usb/phy, branch v4.0</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v4.0</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v4.0'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2015-03-10T21:28:44Z</updated>
<entry>
<title>usb: phy: am335x-control: check return value of bus_find_device</title>
<updated>2015-03-10T21:28:44Z</updated>
<author>
<name>David Dueck</name>
<email>davidcdueck@googlemail.com</email>
</author>
<published>2015-02-08T15:29:30Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d0f347d62814ec0f599a05c61c5619d5e999e4ae'/>
<id>urn:sha1:d0f347d62814ec0f599a05c61c5619d5e999e4ae</id>
<content type='text'>
This fixes a potential null pointer dereference.

Cc: &lt;stable@vger.kernel.org&gt; # v3.16+
Fixes: d4332013919a ("driver core: dev_get_drvdata: Don't check for NULL dev")
Acked-by: Sebastian Andrzej Siewior &lt;bigeasy@linutronix.de&gt;
Signed-off-by: David Dueck &lt;davidcdueck@googlemail.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild</title>
<updated>2015-02-19T18:36:45Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2015-02-19T18:36:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=b11a2783974791d37e44abbb48d41e8c120b5126'/>
<id>urn:sha1:b11a2783974791d37e44abbb48d41e8c120b5126</id>
<content type='text'>
Pull kconfig updates from Michal Marek:
 "Yann E Morin was supposed to take over kconfig maintainership, but
  this hasn't happened.  So I'm sending a few kconfig patches that I
  collected:

   - Fix for missing va_end in kconfig
   - merge_config.sh displays used if given too few arguments
   - s/boolean/bool/ in Kconfig files for consistency, with the plan to
     only support bool in the future"

* 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
  kconfig: use va_end to match corresponding va_start
  merge_config.sh: Display usage if given too few arguments
  kconfig: use bool instead of boolean for type definition attributes
</content>
</entry>
<entry>
<title>Merge tag 'usb-for-v3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next</title>
<updated>2015-02-04T19:03:20Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2015-02-04T19:03:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=4d4bac4499e9955521af80198063ef9c2f2bd634'/>
<id>urn:sha1:4d4bac4499e9955521af80198063ef9c2f2bd634</id>
<content type='text'>
Felipe writes:

usb: patches for v3.20 merge window

Here's the big pull request for Gadgets and PHYs. It's
a total of 217 non-merge commits with pretty much everything
being touched.

The most important bits are a ton of new documentation for
almost all usb gadget functions, a new isp1760 UDC driver,
several improvements to the old net2280 UDC driver, and
some minor tracepoint improvements to dwc3.

Other than that, a big list of minor cleanups, smaller bugfixes
and new features all over the place.

Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: phy: phy-generic: Fix USB PHY gpio reset</title>
<updated>2015-01-30T16:38:51Z</updated>
<author>
<name>Fabio Estevam</name>
<email>fabio.estevam@freescale.com</email>
</author>
<published>2015-01-28T15:19:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=74379991f6eb760c8767a39c60b4a918af30f80b'/>
<id>urn:sha1:74379991f6eb760c8767a39c60b4a918af30f80b</id>
<content type='text'>
Since commit e9f2cefb0cdc2ae ("usb: phy: generic: migrate to gpio_desc") a
kernel hang is observed on imx51-babbage board:

[    1.392824] ci_hdrc ci_hdrc.1: doesn't support gadget
[    1.397975] ci_hdrc ci_hdrc.1: EHCI Host Controller
[    1.403205] ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1
[    1.422335] ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
[    1.432962] hub 1-0:1.0: USB hub found
[    1.437119] hub 1-0:1.0: 1 port detected

This hang happens because the reset GPIO stays at logic level 0.

The USB PHY reset gpio is defined in the dts file as:

reset-gpios = &lt;&amp;gpio2 5 GPIO_ACTIVE_LOW&gt;;

, which means it is active low, so what the gpio reset pin needs to do in this
case is the following:

- Go to logic level 0 to reset the USB PHY
- Stay at 0 for a bit
- Go back to logic level 1

When switching to gpiod API we need to following according to
Documentation/gpio/consumer.txt:

"The first thing a driver must do with a GPIO is setting its direction. If no
direction-setting flags have been given to gpiod_get*(), this is done by
invoking one of the gpiod_direction_*() functions:

	int gpiod_direction_input(struct gpio_desc *desc)
	int gpiod_direction_output(struct gpio_desc *desc, int value)"

Since no direction-setting flags have been given to devm_gpiod_get_optional()
in our case, we need to use gpiod_direction_output to comply with the gpiod API.

With this change the USB PHY reset performs a proper reset, the kernel boots
fine and USB host is functional.

Signed-off-by: Fabio Estevam &lt;fabio.estevam@freescale.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: phy: generic: fix the vbus interrupt request</title>
<updated>2015-01-30T16:35:17Z</updated>
<author>
<name>Robert Jarzmik</name>
<email>robert.jarzmik@free.fr</email>
</author>
<published>2015-01-30T16:22:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0f4ff5f1f95796ff5e32766136f3d3dfce1ec2d7'/>
<id>urn:sha1:0f4ff5f1f95796ff5e32766136f3d3dfce1ec2d7</id>
<content type='text'>
Declare the interrupt as "one shot" so that it is masked until the end
of the threaded handler. This prevents the irq core from spitting out an
error :
  "Threaded irq requested with handler=NULL and !ONESHOT for irq 63"

This was introduced by commit "usb: phy: generic: add vbus support".

Signed-off-by: Robert Jarzmik &lt;robert.jarzmik@free.fr&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: phy: generic: fix the gpios to be optional</title>
<updated>2015-01-30T16:35:15Z</updated>
<author>
<name>Robert Jarzmik</name>
<email>robert.jarzmik@free.fr</email>
</author>
<published>2015-01-30T16:22:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9eb0797722895f4309b46d122e24d87ad17f473b'/>
<id>urn:sha1:9eb0797722895f4309b46d122e24d87ad17f473b</id>
<content type='text'>
All the gpios, ie. reset-gpios and vbus-detect-gpio, should be optional
and not prevent the driver from working. Fix the regression in the
behavior introduced by commit "usb: phy: generic: migrate to gpio_desc".

Signed-off-by: Robert Jarzmik &lt;robert.jarzmik@free.fr&gt;
Tested-by: Fabio Estevam &lt;fabio.estevam@freescale.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: phy: mxs: add delay before set phyctrl.clkgate</title>
<updated>2015-01-27T15:40:49Z</updated>
<author>
<name>Peter Chen</name>
<email>peter.chen@freescale.com</email>
</author>
<published>2015-01-16T10:29:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=e235f7b86f33beea7e096b46db1802dbf5d7d22e'/>
<id>urn:sha1:e235f7b86f33beea7e096b46db1802dbf5d7d22e</id>
<content type='text'>
There is a request from IC engineer that if we doesn't
set phypwd as 0xffffffff, we need to delay about five
32Khz cycles before set phy's pwd register, otherwise,
the wakeup signal may can't wake up controller.

Signed-off-by: Peter Chen &lt;peter.chen@freescale.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: phy: mxs: do not set PWD.RXPWD1PT1 for low speed connection</title>
<updated>2015-01-27T15:40:46Z</updated>
<author>
<name>Peter Chen</name>
<email>peter.chen@freescale.com</email>
</author>
<published>2015-01-16T10:29:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=efdbd3a5d6e6108f1565ab4dc4c53e77aba6fe0a'/>
<id>urn:sha1:efdbd3a5d6e6108f1565ab4dc4c53e77aba6fe0a</id>
<content type='text'>
At very rare cases, the SoF will not send out after resume with
low speed connection. The workaround is do not power down
PWD.RXPWD1PT1 bit during the suspend.

Signed-off-by: Peter Chen &lt;peter.chen@freescale.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: phy: mxs: refine mxs_phy_disconnect_line</title>
<updated>2015-01-27T15:40:42Z</updated>
<author>
<name>Li Jun</name>
<email>b47624@freescale.com</email>
</author>
<published>2015-01-16T10:28:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=7b09e67639d6857439bae0d6276d443a7c2c9c40'/>
<id>urn:sha1:7b09e67639d6857439bae0d6276d443a7c2c9c40</id>
<content type='text'>
For non-otg mode, we keep the usage of disconnect line between phy analog
and digital unchanging; for otg mode, at peripheral role, we keep the usage
unchanging too, at host role, the digital part needs to know dp/dm change
to respond device's data pulse when it is at low power mode.

Signed-off-by: Peter Chen &lt;peter.chen@freescale.com&gt;
Signed-off-by: Li Jun &lt;b47624@freescale.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: phy: mxs: don't need IP fix for imx6sx</title>
<updated>2015-01-27T15:40:39Z</updated>
<author>
<name>Peter Chen</name>
<email>peter.chen@freescale.com</email>
</author>
<published>2015-01-16T10:28:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=dd811ba7427f7e6b7e521f3738a5313d00319675'/>
<id>urn:sha1:dd811ba7427f7e6b7e521f3738a5313d00319675</id>
<content type='text'>
The RLT code has already done it, so no software operation is needed.

Signed-off-by: Peter Chen &lt;peter.chen@freescale.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
</feed>
