RE: [PATCH 3/3] usb: dwc3-exynos: Make provision for vdd regulators

2014-04-23 Thread Anton Tikhomirov
Hello,

 -Original Message-
 From: Vivek Gautam [mailto:gautamvivek1...@gmail.com] On Behalf Of
 Vivek Gautam
 Sent: Monday, April 21, 2014 9:17 PM
 To: linux-...@vger.kernel.org; linux-samsung-...@vger.kernel.org
 Cc: linux-ker...@vger.kernel.org; linux-omap@vger.kernel.org; linux-
 arm-ker...@lists.infradead.org; gre...@linuxfoundation.org;
 st...@rowland.harvard.edu; ba...@ti.com; kgene@samsung.com; Vivek
 Gautam; Anton Tikhomirov
 Subject: [PATCH 3/3] usb: dwc3-exynos: Make provision for vdd
 regulators
 
 Facilitate getting required 3.3V and 1.0V VDD supply for
 DWC3 controller on Exynos.
 
 With patches for regulators' nodes merged in 3.15:
 c8c253f ARM: dts: Add regulator entries to smdk5420
 275dcd2 ARM: dts: add max77686 pmic node for smdk5250,
 
 certain perripherals will now need to ensure that,
 they request VDD regulators in their drivers, and enable
 them so as to make them working.
 
 Signed-off-by: Vivek Gautam gautam.vi...@samsung.com
 Cc: Anton Tikhomirov av.tikhomi...@samsung.com
 ---
 
 Based on 'usb-next' branch of Greg's USB tree.
 Also cleanly applies on 'next' branch of Balbi's USB tree.
 
  drivers/usb/dwc3/dwc3-exynos.c |   51
 ++--
  1 file changed, 49 insertions(+), 2 deletions(-)
 
 diff --git a/drivers/usb/dwc3/dwc3-exynos.c b/drivers/usb/dwc3/dwc3-
 exynos.c
 index 28c8ad7..c9d9102 100644
 --- a/drivers/usb/dwc3/dwc3-exynos.c
 +++ b/drivers/usb/dwc3/dwc3-exynos.c
 @@ -27,6 +27,7 @@
  #include linux/usb/usb_phy_gen_xceiv.h
  #include linux/of.h
  #include linux/of_platform.h
 +#include linux/regulator/consumer.h
 
  struct dwc3_exynos {
   struct platform_device  *usb2_phy;
 @@ -34,6 +35,8 @@ struct dwc3_exynos {
   struct device   *dev;
 
   struct clk  *clk;
 + struct regulator*vdd33;
 + struct regulator*vdd10;
  };
 
  static int dwc3_exynos_register_phys(struct dwc3_exynos *exynos)
 @@ -144,20 +147,46 @@ static int dwc3_exynos_probe(struct
 platform_device *pdev)
 
   clk_prepare_enable(exynos-clk);
 
 + exynos-vdd33 = devm_regulator_get(dev, vdd33);
 + if (IS_ERR(exynos-vdd33)) {
 + ret = PTR_ERR(exynos-vdd33);
 + goto err2;

Is regulator property mandatory for dwc3-exynos? If it is not
and device tree doesn't provide it, dwc3-exynos driver probe shouldn't
fail here.

 + }
 + ret = regulator_enable(exynos-vdd33);
 + if (ret) {
 + dev_err(dev, Failed to enable VDD33 supply\n);
 + goto err2;
 + }
 +

Thanks

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


Re: [PATCH 3/3] usb: dwc3-exynos: Make provision for vdd regulators

2014-04-23 Thread Vivek Gautam
Hi Anton,


On Wed, Apr 23, 2014 at 2:56 PM, Anton Tikhomirov
av.tikhomi...@samsung.com wrote:
 Hello,

 -Original Message-
 From: Vivek Gautam [mailto:gautamvivek1...@gmail.com] On Behalf Of
 Vivek Gautam
 Sent: Monday, April 21, 2014 9:17 PM
 To: linux-...@vger.kernel.org; linux-samsung-...@vger.kernel.org
 Cc: linux-ker...@vger.kernel.org; linux-omap@vger.kernel.org; linux-
 arm-ker...@lists.infradead.org; gre...@linuxfoundation.org;
 st...@rowland.harvard.edu; ba...@ti.com; kgene@samsung.com; Vivek
 Gautam; Anton Tikhomirov
 Subject: [PATCH 3/3] usb: dwc3-exynos: Make provision for vdd
 regulators

 Facilitate getting required 3.3V and 1.0V VDD supply for
 DWC3 controller on Exynos.

 With patches for regulators' nodes merged in 3.15:
 c8c253f ARM: dts: Add regulator entries to smdk5420
 275dcd2 ARM: dts: add max77686 pmic node for smdk5250,

 certain perripherals will now need to ensure that,
 they request VDD regulators in their drivers, and enable
 them so as to make them working.

 Signed-off-by: Vivek Gautam gautam.vi...@samsung.com
 Cc: Anton Tikhomirov av.tikhomi...@samsung.com
 ---

 Based on 'usb-next' branch of Greg's USB tree.
 Also cleanly applies on 'next' branch of Balbi's USB tree.

  drivers/usb/dwc3/dwc3-exynos.c |   51
 ++--
  1 file changed, 49 insertions(+), 2 deletions(-)

 diff --git a/drivers/usb/dwc3/dwc3-exynos.c b/drivers/usb/dwc3/dwc3-
 exynos.c
 index 28c8ad7..c9d9102 100644
 --- a/drivers/usb/dwc3/dwc3-exynos.c
 +++ b/drivers/usb/dwc3/dwc3-exynos.c
 @@ -27,6 +27,7 @@
  #include linux/usb/usb_phy_gen_xceiv.h
  #include linux/of.h
  #include linux/of_platform.h
 +#include linux/regulator/consumer.h

  struct dwc3_exynos {
   struct platform_device  *usb2_phy;
 @@ -34,6 +35,8 @@ struct dwc3_exynos {
   struct device   *dev;

   struct clk  *clk;
 + struct regulator*vdd33;
 + struct regulator*vdd10;
  };

  static int dwc3_exynos_register_phys(struct dwc3_exynos *exynos)
 @@ -144,20 +147,46 @@ static int dwc3_exynos_probe(struct
 platform_device *pdev)

   clk_prepare_enable(exynos-clk);

 + exynos-vdd33 = devm_regulator_get(dev, vdd33);
 + if (IS_ERR(exynos-vdd33)) {
 + ret = PTR_ERR(exynos-vdd33);
 + goto err2;

 Is regulator property mandatory for dwc3-exynos? If it is not
 and device tree doesn't provide it, dwc3-exynos driver probe shouldn't
 fail here.

These are the VDD regulators (from PMIC ldo supplies), in absence of
which the controller will not be powered up.
So doesn't it make sense to stop the probe when these are not supplied
by device tree ?

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


RE: [PATCH 3/3] usb: dwc3-exynos: Make provision for vdd regulators

2014-04-23 Thread Anton Tikhomirov
Hi,

 Hi Anton,
 
 
 On Wed, Apr 23, 2014 at 2:56 PM, Anton Tikhomirov
 av.tikhomi...@samsung.com wrote:
  Hello,
 
  -Original Message-
  From: Vivek Gautam [mailto:gautamvivek1...@gmail.com] On Behalf Of
  Vivek Gautam
  Sent: Monday, April 21, 2014 9:17 PM
  To: linux-...@vger.kernel.org; linux-samsung-...@vger.kernel.org
  Cc: linux-ker...@vger.kernel.org; linux-omap@vger.kernel.org; linux-
  arm-ker...@lists.infradead.org; gre...@linuxfoundation.org;
  st...@rowland.harvard.edu; ba...@ti.com; kgene@samsung.com;
 Vivek
  Gautam; Anton Tikhomirov
  Subject: [PATCH 3/3] usb: dwc3-exynos: Make provision for vdd
  regulators
 
  Facilitate getting required 3.3V and 1.0V VDD supply for
  DWC3 controller on Exynos.
 
  With patches for regulators' nodes merged in 3.15:
  c8c253f ARM: dts: Add regulator entries to smdk5420
  275dcd2 ARM: dts: add max77686 pmic node for smdk5250,
 
  certain perripherals will now need to ensure that,
  they request VDD regulators in their drivers, and enable
  them so as to make them working.
 
  Signed-off-by: Vivek Gautam gautam.vi...@samsung.com
  Cc: Anton Tikhomirov av.tikhomi...@samsung.com
  ---
 
  Based on 'usb-next' branch of Greg's USB tree.
  Also cleanly applies on 'next' branch of Balbi's USB tree.
 
   drivers/usb/dwc3/dwc3-exynos.c |   51
  ++--
   1 file changed, 49 insertions(+), 2 deletions(-)
 
  diff --git a/drivers/usb/dwc3/dwc3-exynos.c b/drivers/usb/dwc3/dwc3-
  exynos.c
  index 28c8ad7..c9d9102 100644
  --- a/drivers/usb/dwc3/dwc3-exynos.c
  +++ b/drivers/usb/dwc3/dwc3-exynos.c
  @@ -27,6 +27,7 @@
   #include linux/usb/usb_phy_gen_xceiv.h
   #include linux/of.h
   #include linux/of_platform.h
  +#include linux/regulator/consumer.h
 
   struct dwc3_exynos {
struct platform_device  *usb2_phy;
  @@ -34,6 +35,8 @@ struct dwc3_exynos {
struct device   *dev;
 
struct clk  *clk;
  + struct regulator*vdd33;
  + struct regulator*vdd10;
   };
 
   static int dwc3_exynos_register_phys(struct dwc3_exynos *exynos)
  @@ -144,20 +147,46 @@ static int dwc3_exynos_probe(struct
  platform_device *pdev)
 
clk_prepare_enable(exynos-clk);
 
  + exynos-vdd33 = devm_regulator_get(dev, vdd33);
  + if (IS_ERR(exynos-vdd33)) {
  + ret = PTR_ERR(exynos-vdd33);
  + goto err2;
 
  Is regulator property mandatory for dwc3-exynos? If it is not
  and device tree doesn't provide it, dwc3-exynos driver probe
 shouldn't
  fail here.
 
 These are the VDD regulators (from PMIC ldo supplies), in absence of
 which the controller will not be powered up.
 So doesn't it make sense to stop the probe when these are not supplied
 by device tree ?

Agree. Just curious, is there special reason for this change except making
things right?


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


Re: [PATCH 3/3] usb: dwc3-exynos: Make provision for vdd regulators

2014-04-23 Thread Vivek Gautam
Hi,


On Wed, Apr 23, 2014 at 4:27 PM, Anton Tikhomirov
av.tikhomi...@samsung.com wrote:
 Hi,

 Hi Anton,


 On Wed, Apr 23, 2014 at 2:56 PM, Anton Tikhomirov
 av.tikhomi...@samsung.com wrote:
  Hello,
 
  -Original Message-
  From: Vivek Gautam [mailto:gautamvivek1...@gmail.com] On Behalf Of
  Vivek Gautam
  Sent: Monday, April 21, 2014 9:17 PM
  To: linux-...@vger.kernel.org; linux-samsung-...@vger.kernel.org
  Cc: linux-ker...@vger.kernel.org; linux-omap@vger.kernel.org; linux-
  arm-ker...@lists.infradead.org; gre...@linuxfoundation.org;
  st...@rowland.harvard.edu; ba...@ti.com; kgene@samsung.com;
 Vivek
  Gautam; Anton Tikhomirov
  Subject: [PATCH 3/3] usb: dwc3-exynos: Make provision for vdd
  regulators
 
  Facilitate getting required 3.3V and 1.0V VDD supply for
  DWC3 controller on Exynos.
 
  With patches for regulators' nodes merged in 3.15:
  c8c253f ARM: dts: Add regulator entries to smdk5420
  275dcd2 ARM: dts: add max77686 pmic node for smdk5250,
 
  certain perripherals will now need to ensure that,
  they request VDD regulators in their drivers, and enable
  them so as to make them working.
 
  Signed-off-by: Vivek Gautam gautam.vi...@samsung.com
  Cc: Anton Tikhomirov av.tikhomi...@samsung.com
  ---
 
  Based on 'usb-next' branch of Greg's USB tree.
  Also cleanly applies on 'next' branch of Balbi's USB tree.
 
   drivers/usb/dwc3/dwc3-exynos.c |   51
  ++--
   1 file changed, 49 insertions(+), 2 deletions(-)
 
  diff --git a/drivers/usb/dwc3/dwc3-exynos.c b/drivers/usb/dwc3/dwc3-
  exynos.c
  index 28c8ad7..c9d9102 100644
  --- a/drivers/usb/dwc3/dwc3-exynos.c
  +++ b/drivers/usb/dwc3/dwc3-exynos.c
  @@ -27,6 +27,7 @@
   #include linux/usb/usb_phy_gen_xceiv.h
   #include linux/of.h
   #include linux/of_platform.h
  +#include linux/regulator/consumer.h
 
   struct dwc3_exynos {
struct platform_device  *usb2_phy;
  @@ -34,6 +35,8 @@ struct dwc3_exynos {
struct device   *dev;
 
struct clk  *clk;
  + struct regulator*vdd33;
  + struct regulator*vdd10;
   };
 
   static int dwc3_exynos_register_phys(struct dwc3_exynos *exynos)
  @@ -144,20 +147,46 @@ static int dwc3_exynos_probe(struct
  platform_device *pdev)
 
clk_prepare_enable(exynos-clk);
 
  + exynos-vdd33 = devm_regulator_get(dev, vdd33);
  + if (IS_ERR(exynos-vdd33)) {
  + ret = PTR_ERR(exynos-vdd33);
  + goto err2;
 
  Is regulator property mandatory for dwc3-exynos? If it is not
  and device tree doesn't provide it, dwc3-exynos driver probe
 shouldn't
  fail here.

 These are the VDD regulators (from PMIC ldo supplies), in absence of
 which the controller will not be powered up.
 So doesn't it make sense to stop the probe when these are not supplied
 by device tree ?

 Agree. Just curious, is there special reason for this change except making
 things right?

Yea, actually after the patch (which got merged in 3.15 rc1)
275dcd2 ARM: dts: add max77686 pmic node for smdk5250,

the USB stops working, and that's because the regulators related to
usb are not turned on by default (ldo12 and ldo15 to be specific).
So we need to enable those regulators, which ofcourse the driver
should be doing, if i am not wrong.
Similar is the reason for EHCI, and OHCI exynos patches in this series.

I shall be sending the dt patch for this soon.


-- 
Best Regards
Vivek Gautam
Samsung RD Institute, Bangalore
India
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 3/3] usb: dwc3-exynos: Make provision for vdd regulators

2014-04-23 Thread Jingoo Han
On Wednesday, April 23, 2014 8:06 PM, Vivek Gautam wrote:
 On Wednesday, April 23, 2014 7:58 PM, Anton Tikhomirov wrote:
  On Wednesday, April 23, 2014 6:52 PM, Vivek Gautam wrote:
  On Wednesday, April 23, 2014 6:27 PM, Anton Tikhomirov wrote:
   On Monday, April 21, 2014 9:17 PM, Vivek Gautam wrote:
  
   Facilitate getting required 3.3V and 1.0V VDD supply for
   DWC3 controller on Exynos.
  
   With patches for regulators' nodes merged in 3.15:
   c8c253f ARM: dts: Add regulator entries to smdk5420
   275dcd2 ARM: dts: add max77686 pmic node for smdk5250,
  
   certain perripherals will now need to ensure that,
   they request VDD regulators in their drivers, and enable
   them so as to make them working.
  
   Signed-off-by: Vivek Gautam gautam.vi...@samsung.com
   Cc: Anton Tikhomirov av.tikhomi...@samsung.com
   ---
  
   Based on 'usb-next' branch of Greg's USB tree.
   Also cleanly applies on 'next' branch of Balbi's USB tree.
  
drivers/usb/dwc3/dwc3-exynos.c |   51
   ++--
1 file changed, 49 insertions(+), 2 deletions(-)
  
   diff --git a/drivers/usb/dwc3/dwc3-exynos.c b/drivers/usb/dwc3/dwc3-
   exynos.c
   index 28c8ad7..c9d9102 100644
   --- a/drivers/usb/dwc3/dwc3-exynos.c
   +++ b/drivers/usb/dwc3/dwc3-exynos.c
   @@ -27,6 +27,7 @@
#include linux/usb/usb_phy_gen_xceiv.h
#include linux/of.h
#include linux/of_platform.h
   +#include linux/regulator/consumer.h
  
struct dwc3_exynos {
 struct platform_device  *usb2_phy;
   @@ -34,6 +35,8 @@ struct dwc3_exynos {
 struct device   *dev;
  
 struct clk  *clk;
   + struct regulator*vdd33;
   + struct regulator*vdd10;
};
  
static int dwc3_exynos_register_phys(struct dwc3_exynos *exynos)
   @@ -144,20 +147,46 @@ static int dwc3_exynos_probe(struct
   platform_device *pdev)
  
 clk_prepare_enable(exynos-clk);
  
   + exynos-vdd33 = devm_regulator_get(dev, vdd33);
   + if (IS_ERR(exynos-vdd33)) {
   + ret = PTR_ERR(exynos-vdd33);
   + goto err2;
  
   Is regulator property mandatory for dwc3-exynos? If it is not
   and device tree doesn't provide it, dwc3-exynos driver probe
  shouldn't
   fail here.
 
  These are the VDD regulators (from PMIC ldo supplies), in absence of
  which the controller will not be powered up.
  So doesn't it make sense to stop the probe when these are not supplied
  by device tree ?
 
  Agree. Just curious, is there special reason for this change except making
  things right?
 
 Yea, actually after the patch (which got merged in 3.15 rc1)
 275dcd2 ARM: dts: add max77686 pmic node for smdk5250,
 
 the USB stops working, and that's because the regulators related to
 usb are not turned on by default (ldo12 and ldo15 to be specific).
 So we need to enable those regulators, which ofcourse the driver
 should be doing, if i am not wrong.
 Similar is the reason for EHCI, and OHCI exynos patches in this series.

Oh, I see. Thank you for your explanation.

 
 I shall be sending the dt patch for this soon.

OK, I will wait for your patch.

Best regards,
Jingoo Han

 
 
 --
 Best Regards
 Vivek Gautam
 Samsung RD Institute, Bangalore
 India


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