Re: [PATCH 4/4] usb: chipidea: msm: Use USB PHY API to control PHY state

2013-12-11 Thread Ivan T. Ivanov

Hi,

On Wed, 2013-12-04 at 21:38 +0800, Peter Chen wrote: 
 On Wed, Dec 04, 2013 at 11:35:54AM +0200, Ivan T. Ivanov wrote:
  
  Hi Peter, 
  
  On Wed, 2013-12-04 at 13:37 +0800, Peter Chen wrote: 
   On Mon, Nov 11, 2013 at 04:36:09PM +0200, Ivan T. Ivanov wrote:

Hi Peter,

On Mon, 2013-11-11 at 21:59 +0800, Peter Chen wrote: 
 On Mon, Nov 11, 2013 at 03:35:37PM +0200, Ivan T. Ivanov wrote:
  From: Ivan T. Ivanov iiva...@mm-sol.com
  
  PHY drivers keep track of the current state of the hardware,
  so don't change PHY settings under it.
  
  Signed-off-by: Ivan T. Ivanov iiva...@mm-sol.com
  ---
   drivers/usb/chipidea/ci_hdrc_msm.c |9 ++---
   1 file changed, 2 insertions(+), 7 deletions(-)
  
  diff --git a/drivers/usb/chipidea/ci_hdrc_msm.c 
  b/drivers/usb/chipidea/ci_hdrc_msm.c
  index e9624f3..338b209 100644
  --- a/drivers/usb/chipidea/ci_hdrc_msm.c
  +++ b/drivers/usb/chipidea/ci_hdrc_msm.c
  @@ -20,13 +20,11 @@
   static void ci_hdrc_msm_notify_event(struct ci_hdrc *ci, unsigned 
  event)
   {
  struct device *dev = ci-gadget.dev.parent;
  -   int val;
   
  switch (event) {
  case CI_HDRC_CONTROLLER_RESET_EVENT:
  dev_dbg(dev, CI_HDRC_CONTROLLER_RESET_EVENT 
  received\n);
  -   writel(0, USB_AHBBURST);
  -   writel(0, USB_AHBMODE);
  +   usb_phy_init(ci-transceiver);
 
 It will reset the PHY,  but your comment is don't change PHY 
 settings under it

:-). This function is exported by PHY drivers, so they will know how
to handle this change.

 
  break;
  case CI_HDRC_CONTROLLER_STOPPED_EVENT:
  dev_dbg(dev, CI_HDRC_CONTROLLER_STOPPED_EVENT 
  received\n);
  @@ -34,10 +32,7 @@ static void ci_hdrc_msm_notify_event(struct 
  ci_hdrc *ci, unsigned event)
   * Put the transceiver in non-driving mode. Otherwise 
  host
   * may not detect soft-disconnection.
   */
  -   val = usb_phy_io_read(ci-transceiver, ULPI_FUNC_CTRL);
  -   val = ~ULPI_FUNC_CTRL_OPMODE_MASK;
  -   val |= ULPI_FUNC_CTRL_OPMODE_NONDRIVING;
  -   usb_phy_io_write(ci-transceiver, val, ULPI_FUNC_CTRL);
  +   usb_phy_notify_disconnect(ci-transceiver, 
  USB_SPEED_UNKNOWN);
 
 Where you have implemented .notify_disconnect?
 I have not found it at your phy driver.

Yep, I will post PHY driver changes shortly. Meanwhile this should
not break existing board file based platforms, because not of them
could be compiled (HTC Dream, Halibut Board) and DT based platforms 
are sill work in progress.

   
   Hi Ivan, I am going to apply this msm chipidea patchset, but the change
   in this file is different with its original meaning. 
  
  What did you mean?
  
  CI_HDRC_CONTROLLER_RESET_EVENT - usb_phy_init()
  Take wherever actions are needed to put device in known state. ?
 
 At current code, it only sets two AHB parameters which should be only related
 to controller but your patch init the whole PHY, look at msm_otg_reset,
 it does many other things, like phy reset, controller reset, etc.
 
 Does the partial otg fsm at msm_otg_sm_work will be called or not? If it is
 not called, then, it is OK you just use msm_otg_reset here.
 
  
  CI_HDRC_CONTROLLER_STOPPED_EVENT - usb_phy_notify_disconnect() 
  Emitted after ci-driver-disconnect(ci-gadget);
 
 I just see your [PATCH v4 14/15] usb: phy: msm: Handle disconnect events,
 then, it is ok now. By the way, do I need to wait your phy patches are queued,
 otherwise, it may not work?

This driver is not working on MSM platforms more than year now, 
since usb: gadget: ci13xxx: convert to platform device

Lets postpone this patch after changes to phy-drivers are ready. 
I will post rest of the patches with fixes for your comments
shortly.

 
  
  Probably I am missing something.
  
  
   Have you
   tested at existing platforms?
  
  
  I have 8074 based DragonBoard which I used for testing. 
  CV Test Suite engine Chapter 9 tests are passing except
  Halt Endpoint Test. 
 
 I mean with your patch, the old non-dt platform can work or not?


Regards,
Ivan



--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 4/4] usb: chipidea: msm: Use USB PHY API to control PHY state

2013-12-04 Thread Ivan T. Ivanov

Hi Peter, 

On Wed, 2013-12-04 at 13:37 +0800, Peter Chen wrote: 
 On Mon, Nov 11, 2013 at 04:36:09PM +0200, Ivan T. Ivanov wrote:
  
  Hi Peter,
  
  On Mon, 2013-11-11 at 21:59 +0800, Peter Chen wrote: 
   On Mon, Nov 11, 2013 at 03:35:37PM +0200, Ivan T. Ivanov wrote:
From: Ivan T. Ivanov iiva...@mm-sol.com

PHY drivers keep track of the current state of the hardware,
so don't change PHY settings under it.

Signed-off-by: Ivan T. Ivanov iiva...@mm-sol.com
---
 drivers/usb/chipidea/ci_hdrc_msm.c |9 ++---
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/usb/chipidea/ci_hdrc_msm.c 
b/drivers/usb/chipidea/ci_hdrc_msm.c
index e9624f3..338b209 100644
--- a/drivers/usb/chipidea/ci_hdrc_msm.c
+++ b/drivers/usb/chipidea/ci_hdrc_msm.c
@@ -20,13 +20,11 @@
 static void ci_hdrc_msm_notify_event(struct ci_hdrc *ci, unsigned 
event)
 {
struct device *dev = ci-gadget.dev.parent;
-   int val;
 
switch (event) {
case CI_HDRC_CONTROLLER_RESET_EVENT:
dev_dbg(dev, CI_HDRC_CONTROLLER_RESET_EVENT 
received\n);
-   writel(0, USB_AHBBURST);
-   writel(0, USB_AHBMODE);
+   usb_phy_init(ci-transceiver);
   
   It will reset the PHY,  but your comment is don't change PHY settings 
   under it
  
  :-). This function is exported by PHY drivers, so they will know how
  to handle this change.
  
   
break;
case CI_HDRC_CONTROLLER_STOPPED_EVENT:
dev_dbg(dev, CI_HDRC_CONTROLLER_STOPPED_EVENT 
received\n);
@@ -34,10 +32,7 @@ static void ci_hdrc_msm_notify_event(struct ci_hdrc 
*ci, unsigned event)
 * Put the transceiver in non-driving mode. Otherwise 
host
 * may not detect soft-disconnection.
 */
-   val = usb_phy_io_read(ci-transceiver, ULPI_FUNC_CTRL);
-   val = ~ULPI_FUNC_CTRL_OPMODE_MASK;
-   val |= ULPI_FUNC_CTRL_OPMODE_NONDRIVING;
-   usb_phy_io_write(ci-transceiver, val, ULPI_FUNC_CTRL);
+   usb_phy_notify_disconnect(ci-transceiver, 
USB_SPEED_UNKNOWN);
   
   Where you have implemented .notify_disconnect?
   I have not found it at your phy driver.
  
  Yep, I will post PHY driver changes shortly. Meanwhile this should
  not break existing board file based platforms, because not of them
  could be compiled (HTC Dream, Halibut Board) and DT based platforms 
  are sill work in progress.
  
 
 Hi Ivan, I am going to apply this msm chipidea patchset, but the change
 in this file is different with its original meaning. 

What did you mean?

CI_HDRC_CONTROLLER_RESET_EVENT - usb_phy_init()
Take wherever actions are needed to put device in known state. ?

CI_HDRC_CONTROLLER_STOPPED_EVENT - usb_phy_notify_disconnect() 
Emitted after ci-driver-disconnect(ci-gadget);

Probably I am missing something.


 Have you
 tested at existing platforms?


I have 8074 based DragonBoard which I used for testing. 
CV Test Suite engine Chapter 9 tests are passing except
Halt Endpoint Test. 

Regards,
Ivan


 


--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 4/4] usb: chipidea: msm: Use USB PHY API to control PHY state

2013-12-04 Thread Peter Chen
On Wed, Dec 04, 2013 at 11:35:54AM +0200, Ivan T. Ivanov wrote:
 
 Hi Peter, 
 
 On Wed, 2013-12-04 at 13:37 +0800, Peter Chen wrote: 
  On Mon, Nov 11, 2013 at 04:36:09PM +0200, Ivan T. Ivanov wrote:
   
   Hi Peter,
   
   On Mon, 2013-11-11 at 21:59 +0800, Peter Chen wrote: 
On Mon, Nov 11, 2013 at 03:35:37PM +0200, Ivan T. Ivanov wrote:
 From: Ivan T. Ivanov iiva...@mm-sol.com
 
 PHY drivers keep track of the current state of the hardware,
 so don't change PHY settings under it.
 
 Signed-off-by: Ivan T. Ivanov iiva...@mm-sol.com
 ---
  drivers/usb/chipidea/ci_hdrc_msm.c |9 ++---
  1 file changed, 2 insertions(+), 7 deletions(-)
 
 diff --git a/drivers/usb/chipidea/ci_hdrc_msm.c 
 b/drivers/usb/chipidea/ci_hdrc_msm.c
 index e9624f3..338b209 100644
 --- a/drivers/usb/chipidea/ci_hdrc_msm.c
 +++ b/drivers/usb/chipidea/ci_hdrc_msm.c
 @@ -20,13 +20,11 @@
  static void ci_hdrc_msm_notify_event(struct ci_hdrc *ci, unsigned 
 event)
  {
   struct device *dev = ci-gadget.dev.parent;
 - int val;
  
   switch (event) {
   case CI_HDRC_CONTROLLER_RESET_EVENT:
   dev_dbg(dev, CI_HDRC_CONTROLLER_RESET_EVENT 
 received\n);
 - writel(0, USB_AHBBURST);
 - writel(0, USB_AHBMODE);
 + usb_phy_init(ci-transceiver);

It will reset the PHY,  but your comment is don't change PHY settings 
under it
   
   :-). This function is exported by PHY drivers, so they will know how
   to handle this change.
   

   break;
   case CI_HDRC_CONTROLLER_STOPPED_EVENT:
   dev_dbg(dev, CI_HDRC_CONTROLLER_STOPPED_EVENT 
 received\n);
 @@ -34,10 +32,7 @@ static void ci_hdrc_msm_notify_event(struct 
 ci_hdrc *ci, unsigned event)
* Put the transceiver in non-driving mode. Otherwise 
 host
* may not detect soft-disconnection.
*/
 - val = usb_phy_io_read(ci-transceiver, ULPI_FUNC_CTRL);
 - val = ~ULPI_FUNC_CTRL_OPMODE_MASK;
 - val |= ULPI_FUNC_CTRL_OPMODE_NONDRIVING;
 - usb_phy_io_write(ci-transceiver, val, ULPI_FUNC_CTRL);
 + usb_phy_notify_disconnect(ci-transceiver, 
 USB_SPEED_UNKNOWN);

Where you have implemented .notify_disconnect?
I have not found it at your phy driver.
   
   Yep, I will post PHY driver changes shortly. Meanwhile this should
   not break existing board file based platforms, because not of them
   could be compiled (HTC Dream, Halibut Board) and DT based platforms 
   are sill work in progress.
   
  
  Hi Ivan, I am going to apply this msm chipidea patchset, but the change
  in this file is different with its original meaning. 
 
 What did you mean?
 
 CI_HDRC_CONTROLLER_RESET_EVENT - usb_phy_init()
 Take wherever actions are needed to put device in known state. ?

At current code, it only sets two AHB parameters which should be only related
to controller but your patch init the whole PHY, look at msm_otg_reset,
it does many other things, like phy reset, controller reset, etc.

Does the partial otg fsm at msm_otg_sm_work will be called or not? If it is
not called, then, it is OK you just use msm_otg_reset here.

 
 CI_HDRC_CONTROLLER_STOPPED_EVENT - usb_phy_notify_disconnect() 
 Emitted after ci-driver-disconnect(ci-gadget);

I just see your [PATCH v4 14/15] usb: phy: msm: Handle disconnect events,
then, it is ok now. By the way, do I need to wait your phy patches are queued,
otherwise, it may not work?

 
 Probably I am missing something.
 
 
  Have you
  tested at existing platforms?
 
 
 I have 8074 based DragonBoard which I used for testing. 
 CV Test Suite engine Chapter 9 tests are passing except
 Halt Endpoint Test. 

I mean with your patch, the old non-dt platform can work or not?

-- 

Best Regards,
Peter Chen

--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 4/4] usb: chipidea: msm: Use USB PHY API to control PHY state

2013-12-03 Thread Peter Chen
On Mon, Nov 11, 2013 at 04:36:09PM +0200, Ivan T. Ivanov wrote:
 
 Hi Peter,
 
 On Mon, 2013-11-11 at 21:59 +0800, Peter Chen wrote: 
  On Mon, Nov 11, 2013 at 03:35:37PM +0200, Ivan T. Ivanov wrote:
   From: Ivan T. Ivanov iiva...@mm-sol.com
   
   PHY drivers keep track of the current state of the hardware,
   so don't change PHY settings under it.
   
   Signed-off-by: Ivan T. Ivanov iiva...@mm-sol.com
   ---
drivers/usb/chipidea/ci_hdrc_msm.c |9 ++---
1 file changed, 2 insertions(+), 7 deletions(-)
   
   diff --git a/drivers/usb/chipidea/ci_hdrc_msm.c 
   b/drivers/usb/chipidea/ci_hdrc_msm.c
   index e9624f3..338b209 100644
   --- a/drivers/usb/chipidea/ci_hdrc_msm.c
   +++ b/drivers/usb/chipidea/ci_hdrc_msm.c
   @@ -20,13 +20,11 @@
static void ci_hdrc_msm_notify_event(struct ci_hdrc *ci, unsigned event)
{
 struct device *dev = ci-gadget.dev.parent;
   - int val;

 switch (event) {
 case CI_HDRC_CONTROLLER_RESET_EVENT:
 dev_dbg(dev, CI_HDRC_CONTROLLER_RESET_EVENT received\n);
   - writel(0, USB_AHBBURST);
   - writel(0, USB_AHBMODE);
   + usb_phy_init(ci-transceiver);
  
  It will reset the PHY,  but your comment is don't change PHY settings 
  under it
 
 :-). This function is exported by PHY drivers, so they will know how
 to handle this change.
 
  
 break;
 case CI_HDRC_CONTROLLER_STOPPED_EVENT:
 dev_dbg(dev, CI_HDRC_CONTROLLER_STOPPED_EVENT received\n);
   @@ -34,10 +32,7 @@ static void ci_hdrc_msm_notify_event(struct ci_hdrc 
   *ci, unsigned event)
  * Put the transceiver in non-driving mode. Otherwise host
  * may not detect soft-disconnection.
  */
   - val = usb_phy_io_read(ci-transceiver, ULPI_FUNC_CTRL);
   - val = ~ULPI_FUNC_CTRL_OPMODE_MASK;
   - val |= ULPI_FUNC_CTRL_OPMODE_NONDRIVING;
   - usb_phy_io_write(ci-transceiver, val, ULPI_FUNC_CTRL);
   + usb_phy_notify_disconnect(ci-transceiver, USB_SPEED_UNKNOWN);
  
  Where you have implemented .notify_disconnect?
  I have not found it at your phy driver.
 
 Yep, I will post PHY driver changes shortly. Meanwhile this should
 not break existing board file based platforms, because not of them
 could be compiled (HTC Dream, Halibut Board) and DT based platforms 
 are sill work in progress.
 

Hi Ivan, I am going to apply this msm chipidea patchset, but the change
in this file is different with its original meaning. Have you
tested at existing platforms?

-- 

Best Regards,
Peter Chen

--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 4/4] usb: chipidea: msm: Use USB PHY API to control PHY state

2013-11-11 Thread Ivan T. Ivanov
From: Ivan T. Ivanov iiva...@mm-sol.com

PHY drivers keep track of the current state of the hardware,
so don't change PHY settings under it.

Signed-off-by: Ivan T. Ivanov iiva...@mm-sol.com
---
 drivers/usb/chipidea/ci_hdrc_msm.c |9 ++---
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/usb/chipidea/ci_hdrc_msm.c 
b/drivers/usb/chipidea/ci_hdrc_msm.c
index e9624f3..338b209 100644
--- a/drivers/usb/chipidea/ci_hdrc_msm.c
+++ b/drivers/usb/chipidea/ci_hdrc_msm.c
@@ -20,13 +20,11 @@
 static void ci_hdrc_msm_notify_event(struct ci_hdrc *ci, unsigned event)
 {
struct device *dev = ci-gadget.dev.parent;
-   int val;
 
switch (event) {
case CI_HDRC_CONTROLLER_RESET_EVENT:
dev_dbg(dev, CI_HDRC_CONTROLLER_RESET_EVENT received\n);
-   writel(0, USB_AHBBURST);
-   writel(0, USB_AHBMODE);
+   usb_phy_init(ci-transceiver);
break;
case CI_HDRC_CONTROLLER_STOPPED_EVENT:
dev_dbg(dev, CI_HDRC_CONTROLLER_STOPPED_EVENT received\n);
@@ -34,10 +32,7 @@ static void ci_hdrc_msm_notify_event(struct ci_hdrc *ci, 
unsigned event)
 * Put the transceiver in non-driving mode. Otherwise host
 * may not detect soft-disconnection.
 */
-   val = usb_phy_io_read(ci-transceiver, ULPI_FUNC_CTRL);
-   val = ~ULPI_FUNC_CTRL_OPMODE_MASK;
-   val |= ULPI_FUNC_CTRL_OPMODE_NONDRIVING;
-   usb_phy_io_write(ci-transceiver, val, ULPI_FUNC_CTRL);
+   usb_phy_notify_disconnect(ci-transceiver, USB_SPEED_UNKNOWN);
break;
default:
dev_dbg(dev, unknown ci_hdrc event\n);
-- 
1.7.9.5

--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 4/4] usb: chipidea: msm: Use USB PHY API to control PHY state

2013-11-11 Thread Peter Chen
On Mon, Nov 11, 2013 at 03:35:37PM +0200, Ivan T. Ivanov wrote:
 From: Ivan T. Ivanov iiva...@mm-sol.com
 
 PHY drivers keep track of the current state of the hardware,
 so don't change PHY settings under it.
 
 Signed-off-by: Ivan T. Ivanov iiva...@mm-sol.com
 ---
  drivers/usb/chipidea/ci_hdrc_msm.c |9 ++---
  1 file changed, 2 insertions(+), 7 deletions(-)
 
 diff --git a/drivers/usb/chipidea/ci_hdrc_msm.c 
 b/drivers/usb/chipidea/ci_hdrc_msm.c
 index e9624f3..338b209 100644
 --- a/drivers/usb/chipidea/ci_hdrc_msm.c
 +++ b/drivers/usb/chipidea/ci_hdrc_msm.c
 @@ -20,13 +20,11 @@
  static void ci_hdrc_msm_notify_event(struct ci_hdrc *ci, unsigned event)
  {
   struct device *dev = ci-gadget.dev.parent;
 - int val;
  
   switch (event) {
   case CI_HDRC_CONTROLLER_RESET_EVENT:
   dev_dbg(dev, CI_HDRC_CONTROLLER_RESET_EVENT received\n);
 - writel(0, USB_AHBBURST);
 - writel(0, USB_AHBMODE);
 + usb_phy_init(ci-transceiver);

It will reset the PHY,  but your comment is don't change PHY settings under it

   break;
   case CI_HDRC_CONTROLLER_STOPPED_EVENT:
   dev_dbg(dev, CI_HDRC_CONTROLLER_STOPPED_EVENT received\n);
 @@ -34,10 +32,7 @@ static void ci_hdrc_msm_notify_event(struct ci_hdrc *ci, 
 unsigned event)
* Put the transceiver in non-driving mode. Otherwise host
* may not detect soft-disconnection.
*/
 - val = usb_phy_io_read(ci-transceiver, ULPI_FUNC_CTRL);
 - val = ~ULPI_FUNC_CTRL_OPMODE_MASK;
 - val |= ULPI_FUNC_CTRL_OPMODE_NONDRIVING;
 - usb_phy_io_write(ci-transceiver, val, ULPI_FUNC_CTRL);
 + usb_phy_notify_disconnect(ci-transceiver, USB_SPEED_UNKNOWN);

Where you have implemented .notify_disconnect?
I have not found it at your phy driver.


-- 

Best Regards,
Peter Chen

--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 4/4] usb: chipidea: msm: Use USB PHY API to control PHY state

2013-11-11 Thread Ivan T. Ivanov

Hi Peter,

On Mon, 2013-11-11 at 21:59 +0800, Peter Chen wrote: 
 On Mon, Nov 11, 2013 at 03:35:37PM +0200, Ivan T. Ivanov wrote:
  From: Ivan T. Ivanov iiva...@mm-sol.com
  
  PHY drivers keep track of the current state of the hardware,
  so don't change PHY settings under it.
  
  Signed-off-by: Ivan T. Ivanov iiva...@mm-sol.com
  ---
   drivers/usb/chipidea/ci_hdrc_msm.c |9 ++---
   1 file changed, 2 insertions(+), 7 deletions(-)
  
  diff --git a/drivers/usb/chipidea/ci_hdrc_msm.c 
  b/drivers/usb/chipidea/ci_hdrc_msm.c
  index e9624f3..338b209 100644
  --- a/drivers/usb/chipidea/ci_hdrc_msm.c
  +++ b/drivers/usb/chipidea/ci_hdrc_msm.c
  @@ -20,13 +20,11 @@
   static void ci_hdrc_msm_notify_event(struct ci_hdrc *ci, unsigned event)
   {
  struct device *dev = ci-gadget.dev.parent;
  -   int val;
   
  switch (event) {
  case CI_HDRC_CONTROLLER_RESET_EVENT:
  dev_dbg(dev, CI_HDRC_CONTROLLER_RESET_EVENT received\n);
  -   writel(0, USB_AHBBURST);
  -   writel(0, USB_AHBMODE);
  +   usb_phy_init(ci-transceiver);
 
 It will reset the PHY,  but your comment is don't change PHY settings under 
 it

:-). This function is exported by PHY drivers, so they will know how
to handle this change.

 
  break;
  case CI_HDRC_CONTROLLER_STOPPED_EVENT:
  dev_dbg(dev, CI_HDRC_CONTROLLER_STOPPED_EVENT received\n);
  @@ -34,10 +32,7 @@ static void ci_hdrc_msm_notify_event(struct ci_hdrc *ci, 
  unsigned event)
   * Put the transceiver in non-driving mode. Otherwise host
   * may not detect soft-disconnection.
   */
  -   val = usb_phy_io_read(ci-transceiver, ULPI_FUNC_CTRL);
  -   val = ~ULPI_FUNC_CTRL_OPMODE_MASK;
  -   val |= ULPI_FUNC_CTRL_OPMODE_NONDRIVING;
  -   usb_phy_io_write(ci-transceiver, val, ULPI_FUNC_CTRL);
  +   usb_phy_notify_disconnect(ci-transceiver, USB_SPEED_UNKNOWN);
 
 Where you have implemented .notify_disconnect?
 I have not found it at your phy driver.

Yep, I will post PHY driver changes shortly. Meanwhile this should
not break existing board file based platforms, because not of them
could be compiled (HTC Dream, Halibut Board) and DT based platforms 
are sill work in progress.

Regards,
Ivan


--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html