Re: [PATCH v3 2/2] usb: renesas_usbhs: Add device tree support for R-Car H2 and M2

2014-10-01 Thread Sergei Shtylyov

On 10/01/2014 01:34 AM, Sergei Shtylyov wrote:


This driver supports other SoCs, but they need boards/Soc depend code.
So, this patch adds device tree support for R-Car H2 and M2 initially.



Signed-off-by: Yoshihiro Shimoda yoshihiro.shimoda...@renesas.com
Acked-by: Kuninori Morimoto kuninori.morimoto...@renesas.com
---
   drivers/usb/renesas_usbhs/common.c |   44

   1 file changed, 44 insertions(+)



diff --git a/drivers/usb/renesas_usbhs/common.c
b/drivers/usb/renesas_usbhs/common.c
index 1b9bf8d..b3b6813 100644
--- a/drivers/usb/renesas_usbhs/common.c
+++ b/drivers/usb/renesas_usbhs/common.c

[...]

@@ -438,6 +440,43 @@ static int usbhsc_drvcllbck_notify_hotplug(struct
platform_device *pdev)

[...]

+static struct renesas_usbhs_platform_info *usbhs_parse_dt(struct device
*dev)
+{
+struct renesas_usbhs_platform_info *info;
+struct renesas_usbhs_driver_param *dparam;
+const struct of_device_id *of_id = of_match_device(usbhs_of_match, dev);
+u32 tmp;
+int gpio;
+
+info = devm_kzalloc(dev, sizeof(*info), GFP_KERNEL);
+if (!info)
+return NULL;
+
+dparam = info-driver_param;
+dparam-type = of_id ? (u32)of_id-data : 0;
+if (!of_property_read_u32(dev-of_node, renesas,buswait, tmp))
+dparam-buswait_bwait = tmp;
+gpio = of_get_named_gpio_flags(dev-of_node, renesas,enable-gpio, 0,
+   NULL);
+if (gpio  0)
+dparam-enable_gpio = gpio;
+
+return info;



 I don't see where you parse the optional phy property. It should exist
for the Lager and Koelsch boards you target.


[...]


About using the phy driver in renesas_usbhs driver, I intend to modify
the drivers/usb/renesas_usbhs/rcar.c.



Hm, it slready supports 'struct usb_phy'. Also PHYs are not limited to
R-Car Gen2 SoCs...


   OK, let's do this locally to rcar2.c for now. But since you still haven't 
provided the patches and I'm tasked with the USBHS support, I have to take the 
further development in my hands.



Best regards,
Yoshihiro Shimoda


WBR, Sergei

--
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 v3 2/2] usb: renesas_usbhs: Add device tree support for R-Car H2 and M2

2014-10-01 Thread Yoshihiro Shimoda
Hello.

(2014/10/02 4:22), Sergei Shtylyov wrote:
 On 10/01/2014 01:34 AM, Sergei Shtylyov wrote:
 
 This driver supports other SoCs, but they need boards/Soc depend code.
 So, this patch adds device tree support for R-Car H2 and M2 initially.
 
 Signed-off-by: Yoshihiro Shimoda yoshihiro.shimoda...@renesas.com
 Acked-by: Kuninori Morimoto kuninori.morimoto...@renesas.com
 ---
drivers/usb/renesas_usbhs/common.c |   44
 
1 file changed, 44 insertions(+)
 
 diff --git a/drivers/usb/renesas_usbhs/common.c
 b/drivers/usb/renesas_usbhs/common.c
 index 1b9bf8d..b3b6813 100644
 --- a/drivers/usb/renesas_usbhs/common.c
 +++ b/drivers/usb/renesas_usbhs/common.c
 [...]
 @@ -438,6 +440,43 @@ static int usbhsc_drvcllbck_notify_hotplug(struct
 platform_device *pdev)
 [...]
 +static struct renesas_usbhs_platform_info *usbhs_parse_dt(struct device
 *dev)
 +{
 +struct renesas_usbhs_platform_info *info;
 +struct renesas_usbhs_driver_param *dparam;
 +const struct of_device_id *of_id = of_match_device(usbhs_of_match, 
 dev);
 +u32 tmp;
 +int gpio;
 +
 +info = devm_kzalloc(dev, sizeof(*info), GFP_KERNEL);
 +if (!info)
 +return NULL;
 +
 +dparam = info-driver_param;
 +dparam-type = of_id ? (u32)of_id-data : 0;
 +if (!of_property_read_u32(dev-of_node, renesas,buswait, tmp))
 +dparam-buswait_bwait = tmp;
 +gpio = of_get_named_gpio_flags(dev-of_node, renesas,enable-gpio, 
 0,
 +   NULL);
 +if (gpio  0)
 +dparam-enable_gpio = gpio;
 +
 +return info;
 
  I don't see where you parse the optional phy property. It should 
 exist
 for the Lager and Koelsch boards you target.
 
 [...]
 
 About using the phy driver in renesas_usbhs driver, I intend to modify
 the drivers/usb/renesas_usbhs/rcar.c.
 
 Hm, it slready supports 'struct usb_phy'. Also PHYs are not limited to
 R-Car Gen2 SoCs...
 
 OK, let's do this locally to rcar2.c for now. But since you still haven't 
 provided the patches and I'm tasked with the USBHS support, I have to take 
 the 
 further development in my hands.

Thank you for the reply. And, I'm sorry for the deleyed response.
I will submit the patches (add support generic phy in rcar.c and device node
for some SoCs) today.

Best regards,
Yoshihiro Shimoda

 Best regards,
 Yoshihiro Shimoda
 
 WBR, Sergei
 
--
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 v3 2/2] usb: renesas_usbhs: Add device tree support for R-Car H2 and M2

2014-09-30 Thread Yoshihiro Shimoda
Hello.

(2014/09/30 1:35), Sergei Shtylyov wrote:
 Hello.
 
 On 09/03/2014 09:25 AM, Yoshihiro Shimoda wrote:
 
 This driver supports other SoCs, but they need boards/Soc depend code.
 So, this patch adds device tree support for R-Car H2 and M2 initially.
 
 Signed-off-by: Yoshihiro Shimoda yoshihiro.shimoda...@renesas.com
 Acked-by: Kuninori Morimoto kuninori.morimoto...@renesas.com
 ---
   drivers/usb/renesas_usbhs/common.c |   44 
 
   1 file changed, 44 insertions(+)
 
 diff --git a/drivers/usb/renesas_usbhs/common.c 
 b/drivers/usb/renesas_usbhs/common.c
 index 1b9bf8d..b3b6813 100644
 --- a/drivers/usb/renesas_usbhs/common.c
 +++ b/drivers/usb/renesas_usbhs/common.c
 @@ -18,6 +18,8 @@
   #include linux/gpio.h
   #include linux/io.h
   #include linux/module.h
 +#include linux/of_device.h
 +#include linux/of_gpio.h
   #include linux/pm_runtime.h
   #include linux/slab.h
   #include linux/sysfs.h
 @@ -438,6 +440,43 @@ static int usbhsc_drvcllbck_notify_hotplug(struct 
 platform_device *pdev)
 [...]
 +static struct renesas_usbhs_platform_info *usbhs_parse_dt(struct device 
 *dev)
 +{
 +struct renesas_usbhs_platform_info *info;
 +struct renesas_usbhs_driver_param *dparam;
 +const struct of_device_id *of_id = of_match_device(usbhs_of_match, dev);
 +u32 tmp;
 +int gpio;
 +
 +info = devm_kzalloc(dev, sizeof(*info), GFP_KERNEL);
 +if (!info)
 +return NULL;
 +
 +dparam = info-driver_param;
 +dparam-type = of_id ? (u32)of_id-data : 0;
 +if (!of_property_read_u32(dev-of_node, renesas,buswait, tmp))
 +dparam-buswait_bwait = tmp;
 +gpio = of_get_named_gpio_flags(dev-of_node, renesas,enable-gpio, 0,
 +   NULL);
 +if (gpio  0)
 +dparam-enable_gpio = gpio;
 +
 +return info;
 
 I don't see where you parse the optional phy property. It should exist 
 for the Lager and Koelsch boards you target.

Since I wrote 'phy-names: must be usb' in the document,
I intend to use a fixed property for phy driver like the following:

phy = phy_get(pdev-dev, usb);

Is this a bad code?

About using the phy driver in renesas_usbhs driver, I intend to modify
the drivers/usb/renesas_usbhs/rcar.c.

Best regards,
Yoshihiro Shimoda

 WBR, Sergei
 
--
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 v3 2/2] usb: renesas_usbhs: Add device tree support for R-Car H2 and M2

2014-09-30 Thread Sergei Shtylyov

Hello.

On 09/30/2014 01:51 PM, Yoshihiro Shimoda wrote:


This driver supports other SoCs, but they need boards/Soc depend code.
So, this patch adds device tree support for R-Car H2 and M2 initially.



Signed-off-by: Yoshihiro Shimoda yoshihiro.shimoda...@renesas.com
Acked-by: Kuninori Morimoto kuninori.morimoto...@renesas.com
---
   drivers/usb/renesas_usbhs/common.c |   44 

   1 file changed, 44 insertions(+)



diff --git a/drivers/usb/renesas_usbhs/common.c 
b/drivers/usb/renesas_usbhs/common.c
index 1b9bf8d..b3b6813 100644
--- a/drivers/usb/renesas_usbhs/common.c
+++ b/drivers/usb/renesas_usbhs/common.c

[...]

@@ -438,6 +440,43 @@ static int usbhsc_drvcllbck_notify_hotplug(struct 
platform_device *pdev)

[...]

+static struct renesas_usbhs_platform_info *usbhs_parse_dt(struct device *dev)
+{
+   struct renesas_usbhs_platform_info *info;
+   struct renesas_usbhs_driver_param *dparam;
+   const struct of_device_id *of_id = of_match_device(usbhs_of_match, dev);
+   u32 tmp;
+   int gpio;
+
+   info = devm_kzalloc(dev, sizeof(*info), GFP_KERNEL);
+   if (!info)
+   return NULL;
+
+   dparam = info-driver_param;
+   dparam-type = of_id ? (u32)of_id-data : 0;
+   if (!of_property_read_u32(dev-of_node, renesas,buswait, tmp))
+   dparam-buswait_bwait = tmp;
+   gpio = of_get_named_gpio_flags(dev-of_node, renesas,enable-gpio, 0,
+  NULL);
+   if (gpio  0)
+   dparam-enable_gpio = gpio;
+
+   return info;



 I don't see where you parse the optional phy property. It should exist
for the Lager and Koelsch boards you target.



Since I wrote 'phy-names: must be usb' in the document,
I intend to use a fixed property for phy driver like the following:



phy = phy_get(pdev-dev, usb);



Is this a bad code?


   Seems OK.


About using the phy driver in renesas_usbhs driver, I intend to modify
the drivers/usb/renesas_usbhs/rcar.c.


   Hm, it slready supports 'struct usb_phy'. Also PHYs are not limited to 
R-Car Gen2 SoCs...



Best regards,
Yoshihiro Shimoda


WBR, Sergei

--
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 v3 2/2] usb: renesas_usbhs: Add device tree support for R-Car H2 and M2

2014-09-29 Thread Sergei Shtylyov

Hello.

On 09/03/2014 09:25 AM, Yoshihiro Shimoda wrote:


This driver supports other SoCs, but they need boards/Soc depend code.
So, this patch adds device tree support for R-Car H2 and M2 initially.



Signed-off-by: Yoshihiro Shimoda yoshihiro.shimoda...@renesas.com
Acked-by: Kuninori Morimoto kuninori.morimoto...@renesas.com
---
  drivers/usb/renesas_usbhs/common.c |   44 
  1 file changed, 44 insertions(+)



diff --git a/drivers/usb/renesas_usbhs/common.c 
b/drivers/usb/renesas_usbhs/common.c
index 1b9bf8d..b3b6813 100644
--- a/drivers/usb/renesas_usbhs/common.c
+++ b/drivers/usb/renesas_usbhs/common.c
@@ -18,6 +18,8 @@
  #include linux/gpio.h
  #include linux/io.h
  #include linux/module.h
+#include linux/of_device.h
+#include linux/of_gpio.h
  #include linux/pm_runtime.h
  #include linux/slab.h
  #include linux/sysfs.h
@@ -438,6 +440,43 @@ static int usbhsc_drvcllbck_notify_hotplug(struct 
platform_device *pdev)

[...]

+static struct renesas_usbhs_platform_info *usbhs_parse_dt(struct device *dev)
+{
+   struct renesas_usbhs_platform_info *info;
+   struct renesas_usbhs_driver_param *dparam;
+   const struct of_device_id *of_id = of_match_device(usbhs_of_match, dev);
+   u32 tmp;
+   int gpio;
+
+   info = devm_kzalloc(dev, sizeof(*info), GFP_KERNEL);
+   if (!info)
+   return NULL;
+
+   dparam = info-driver_param;
+   dparam-type = of_id ? (u32)of_id-data : 0;
+   if (!of_property_read_u32(dev-of_node, renesas,buswait, tmp))
+   dparam-buswait_bwait = tmp;
+   gpio = of_get_named_gpio_flags(dev-of_node, renesas,enable-gpio, 0,
+  NULL);
+   if (gpio  0)
+   dparam-enable_gpio = gpio;
+
+   return info;


   I don't see where you parse the optional phy property. It should exist 
for the Lager and Koelsch boards you target.


WBR, Sergei

--
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 v3 2/2] usb: renesas_usbhs: Add device tree support for R-Car H2 and M2

2014-09-02 Thread Yoshihiro Shimoda
This driver supports other SoCs, but they need boards/Soc depend code.
So, this patch adds device tree support for R-Car H2 and M2 initially.

Signed-off-by: Yoshihiro Shimoda yoshihiro.shimoda...@renesas.com
Acked-by: Kuninori Morimoto kuninori.morimoto...@renesas.com
---
 drivers/usb/renesas_usbhs/common.c |   44 
 1 file changed, 44 insertions(+)

diff --git a/drivers/usb/renesas_usbhs/common.c 
b/drivers/usb/renesas_usbhs/common.c
index 1b9bf8d..b3b6813 100644
--- a/drivers/usb/renesas_usbhs/common.c
+++ b/drivers/usb/renesas_usbhs/common.c
@@ -18,6 +18,8 @@
 #include linux/gpio.h
 #include linux/io.h
 #include linux/module.h
+#include linux/of_device.h
+#include linux/of_gpio.h
 #include linux/pm_runtime.h
 #include linux/slab.h
 #include linux/sysfs.h
@@ -438,6 +440,43 @@ static int usbhsc_drvcllbck_notify_hotplug(struct 
platform_device *pdev)
 /*
  * platform functions
  */
+static const struct of_device_id usbhs_of_match[] = {
+   {
+   .compatible = renesas,usbhs-r8a7790,
+   .data = (void *)USBHS_TYPE_R8A7790,
+   },
+   {
+   .compatible = renesas,usbhs-r8a7791,
+   .data = (void *)USBHS_TYPE_R8A7791,
+   },
+   { },
+};
+MODULE_DEVICE_TABLE(of, usbhs_of_match);
+
+static struct renesas_usbhs_platform_info *usbhs_parse_dt(struct device *dev)
+{
+   struct renesas_usbhs_platform_info *info;
+   struct renesas_usbhs_driver_param *dparam;
+   const struct of_device_id *of_id = of_match_device(usbhs_of_match, dev);
+   u32 tmp;
+   int gpio;
+
+   info = devm_kzalloc(dev, sizeof(*info), GFP_KERNEL);
+   if (!info)
+   return NULL;
+
+   dparam = info-driver_param;
+   dparam-type = of_id ? (u32)of_id-data : 0;
+   if (!of_property_read_u32(dev-of_node, renesas,buswait, tmp))
+   dparam-buswait_bwait = tmp;
+   gpio = of_get_named_gpio_flags(dev-of_node, renesas,enable-gpio, 0,
+  NULL);
+   if (gpio  0)
+   dparam-enable_gpio = gpio;
+
+   return info;
+}
+
 static int usbhs_probe(struct platform_device *pdev)
 {
struct renesas_usbhs_platform_info *info = dev_get_platdata(pdev-dev);
@@ -446,6 +485,10 @@ static int usbhs_probe(struct platform_device *pdev)
struct resource *res, *irq_res;
int ret;

+   /* check device node */
+   if (pdev-dev.of_node)
+   info = pdev-dev.platform_data = usbhs_parse_dt(pdev-dev);
+
/* check platform information */
if (!info) {
dev_err(pdev-dev, no platform information\n);
@@ -689,6 +732,7 @@ static struct platform_driver renesas_usbhs_driver = {
.driver = {
.name   = renesas_usbhs,
.pm = usbhsc_pm_ops,
+   .of_match_table = of_match_ptr(usbhs_of_match),
},
.probe  = usbhs_probe,
.remove = usbhs_remove,
-- 
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