[PATCH v2 0/5] usb: phy: samsung: Introducing usb phy driver for samsung SoCs

2012-08-07 Thread Praveen Paneri
Changes from v1:
Rebased patches to latest usb-next branch
Changed the name 'sec_usbphy' to 'samsung_usbphy'

This patch set introduces a phy driver for samsung SoCs. It uses the existing
transceiver infrastructure to provide phy control functions. Use of this driver
can be extended for usb host phy as well. Over the period of time all the phy
related code for most of the samsung SoCs can be integrated here.
Removing the existing phy code from mach-s3c64xx but not from other machine 
code.This driver is tested with smdk6410 and Exynos4210(with DT).

Praveen Paneri (5):
  usb: phy: samsung: Introducing usb phy driver for hsotg
  usb: s3c-hsotg: Adding phy driver support
  ARM: S3C64XX: Removing old phy setup code
  ARM: S3C64XX: Enabling samsung_usbphy driver
  ARM: Exynos4210: Enabling samsung_usbphy driver

 .../devicetree/bindings/usb/samsung-usbphy.txt |9 +
 arch/arm/boot/dts/exynos4210.dtsi  |5 +
 arch/arm/mach-exynos/include/mach/map.h|1 +
 arch/arm/mach-exynos/mach-exynos4-dt.c |8 +
 arch/arm/mach-exynos/setup-usb-phy.c   |   13 +
 arch/arm/mach-s3c64xx/include/mach/map.h   |2 +
 arch/arm/mach-s3c64xx/mach-crag6410.c  |5 +-
 arch/arm/mach-s3c64xx/mach-smartq.c|6 +-
 arch/arm/mach-s3c64xx/mach-smdk6410.c  |5 +-
 arch/arm/mach-s3c64xx/setup-usb-phy.c  |   79 +
 arch/arm/plat-samsung/devs.c   |   32 ++
 arch/arm/plat-samsung/include/plat/devs.h  |1 +
 arch/arm/plat-samsung/include/plat/usb-phy.h   |1 +
 drivers/usb/gadget/s3c-hsotg.c |   38 ++-
 drivers/usb/phy/Kconfig|8 +
 drivers/usb/phy/Makefile   |1 +
 drivers/usb/phy/samsung_usbphy.c   |  355 
 drivers/usb/phy/samsung_usbphy.h   |   48 +++
 include/linux/platform_data/s3c-hsotg.h|5 +
 19 files changed, 534 insertions(+), 88 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/usb/samsung-usbphy.txt
 create mode 100644 drivers/usb/phy/samsung_usbphy.c
 create mode 100644 drivers/usb/phy/samsung_usbphy.h

--
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 v2 0/5] usb: phy: samsung: Introducing usb phy driver for samsung SoCs

2012-08-07 Thread Kukjin Kim
Praveen Paneri wrote:
 
 Changes from v1:
 Rebased patches to latest usb-next branch
 Changed the name 'sec_usbphy' to 'samsung_usbphy'
 
Yes, looks better. But I'm not sure Felipe or Greg would prefer to use '_'
not '-'...you used samsung-usbphy as a name in your patch.

 This patch set introduces a phy driver for samsung SoCs. It uses the
 existing
 transceiver infrastructure to provide phy control functions. Use of this
 driver
 can be extended for usb host phy as well. Over the period of time all the
 phy
 related code for most of the samsung SoCs can be integrated here.
 Removing the existing phy code from mach-s3c64xx but not from other
 machine

Why? Is there any reason? After quick looking at your patches, seems this
can remove all of setup-usb-phy in arch/arm/ for Samsung stuff. In addition,
the isolation hook function also can be put in this by using platform_data
or dt parsing.

 code.This driver is tested with smdk6410 and Exynos4210(with DT).
 
I and my colleague, Yulgon will comment on this series soon.

Thanks.

Best regards,
Kgene.
--
Kukjin Kim kgene@samsung.com, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.


 Praveen Paneri (5):
   usb: phy: samsung: Introducing usb phy driver for hsotg
   usb: s3c-hsotg: Adding phy driver support
   ARM: S3C64XX: Removing old phy setup code
   ARM: S3C64XX: Enabling samsung_usbphy driver
   ARM: Exynos4210: Enabling samsung_usbphy driver
 
  .../devicetree/bindings/usb/samsung-usbphy.txt |9 +
  arch/arm/boot/dts/exynos4210.dtsi  |5 +
  arch/arm/mach-exynos/include/mach/map.h|1 +
  arch/arm/mach-exynos/mach-exynos4-dt.c |8 +
  arch/arm/mach-exynos/setup-usb-phy.c   |   13 +
  arch/arm/mach-s3c64xx/include/mach/map.h   |2 +
  arch/arm/mach-s3c64xx/mach-crag6410.c  |5 +-
  arch/arm/mach-s3c64xx/mach-smartq.c|6 +-
  arch/arm/mach-s3c64xx/mach-smdk6410.c  |5 +-
  arch/arm/mach-s3c64xx/setup-usb-phy.c  |   79 +
  arch/arm/plat-samsung/devs.c   |   32 ++
  arch/arm/plat-samsung/include/plat/devs.h  |1 +
  arch/arm/plat-samsung/include/plat/usb-phy.h   |1 +
  drivers/usb/gadget/s3c-hsotg.c |   38 ++-
  drivers/usb/phy/Kconfig|8 +
  drivers/usb/phy/Makefile   |1 +
  drivers/usb/phy/samsung_usbphy.c   |  355

  drivers/usb/phy/samsung_usbphy.h   |   48 +++
  include/linux/platform_data/s3c-hsotg.h|5 +
  19 files changed, 534 insertions(+), 88 deletions(-)
  create mode 100644 Documentation/devicetree/bindings/usb/samsung-
 usbphy.txt
  create mode 100644 drivers/usb/phy/samsung_usbphy.c
  create mode 100644 drivers/usb/phy/samsung_usbphy.h

--
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 v2 0/5] usb: phy: samsung: Introducing usb phy driver for samsung SoCs

2012-08-07 Thread Praveen Paneri
On Tue, Aug 7, 2012 at 3:30 PM, Kukjin Kim kgene@samsung.com wrote:
 Praveen Paneri wrote:

 Changes from v1:
 Rebased patches to latest usb-next branch
 Changed the name 'sec_usbphy' to 'samsung_usbphy'

 Yes, looks better. But I'm not sure Felipe or Greg would prefer to use '_'
 not '-'...you used samsung-usbphy as a name in your patch.
Are you suggesting to change the name to 'samsung-usbphy' instead?

 This patch set introduces a phy driver for samsung SoCs. It uses the
 existing
 transceiver infrastructure to provide phy control functions. Use of this
 driver
 can be extended for usb host phy as well. Over the period of time all the
 phy
 related code for most of the samsung SoCs can be integrated here.
 Removing the existing phy code from mach-s3c64xx but not from other
 machine

 Why? Is there any reason? After quick looking at your patches, seems this
 can remove all of setup-usb-phy in arch/arm/ for Samsung stuff. In addition,
 the isolation hook function also can be put in this by using platform_data
 or dt parsing.
No particular reason for it. Yes it can remove all of the setup-usbphy
code. I will send separate patches adding the support for other SoCs
and removing the phy related code from arch/arm.

 code.This driver is tested with smdk6410 and Exynos4210(with DT).

 I and my colleague, Yulgon will comment on this series soon.
That would be great. Will wait for that. You may use below patch to
add dt support for s3c-hsotg to test it on V310 board.

diff --git a/arch/arm/boot/dts/exynos4210.dtsi
b/arch/arm/boot/dts/exynos4210.dtsi
index e28cf10..de3cc78 100644
--- a/arch/arm/boot/dts/exynos4210.dtsi
+++ b/arch/arm/boot/dts/exynos4210.dtsi
@@ -67,6 +67,12 @@
reg = 0x125B 0x100;
};

+   usbotg@1248 {
+   compatible = samsung,exynos4210-hsotg;
+   reg = 0x1248 0x2;
+   interrupts = 0 71 0;
+   };
+
keypad@100A {
compatible = samsung,s5pv210-keypad;
reg = 0x100A 0x100;
diff --git a/drivers/usb/gadget/s3c-hsotg.c b/drivers/usb/gadget/s3c-hsotg.c
index f4ba9a3..79b77ff 100644
--- a/drivers/usb/gadget/s3c-hsotg.c
+++ b/drivers/usb/gadget/s3c-hsotg.c
@@ -26,6 +26,7 @@
 #include linux/seq_file.h
 #include linux/delay.h
 #include linux/io.h
+#include linux/of.h
 #include linux/slab.h
 #include linux/clk.h
 #include linux/regulator/consumer.h
@@ -3719,10 +3720,23 @@ static int __devexit s3c_hsotg_remove(struct
platform_device *pdev)
 #define s3c_hsotg_resume NULL
 #endif

+#ifdef CONFIG_OF
+static const struct of_device_id s3c_hsotg_dt_match[] = {
+   {
+   .compatible = samsung,exynos4210-hsotg,
+   },
+   {},
+};
+MODULE_DEVICE_TABLE(of, s3c_usbphy_dt_match);
+#else
+#define s3c_hsotg_dt_match NULL
+#endif
+
 static struct platform_driver s3c_hsotg_driver = {
.driver = {
.name   = s3c-hsotg,
.owner  = THIS_MODULE,
+   .of_match_table = s3c_hsotg_dt_match,
},
.probe  = s3c_hsotg_probe,
.remove = __devexit_p(s3c_hsotg_remove),

Thanks
Praveen

 Thanks.

 Best regards,
 Kgene.
 --
 Kukjin Kim kgene@samsung.com, Senior Engineer,
 SW Solution Development Team, Samsung Electronics Co., Ltd.


 Praveen Paneri (5):
   usb: phy: samsung: Introducing usb phy driver for hsotg
   usb: s3c-hsotg: Adding phy driver support
   ARM: S3C64XX: Removing old phy setup code
   ARM: S3C64XX: Enabling samsung_usbphy driver
   ARM: Exynos4210: Enabling samsung_usbphy driver

  .../devicetree/bindings/usb/samsung-usbphy.txt |9 +
  arch/arm/boot/dts/exynos4210.dtsi  |5 +
  arch/arm/mach-exynos/include/mach/map.h|1 +
  arch/arm/mach-exynos/mach-exynos4-dt.c |8 +
  arch/arm/mach-exynos/setup-usb-phy.c   |   13 +
  arch/arm/mach-s3c64xx/include/mach/map.h   |2 +
  arch/arm/mach-s3c64xx/mach-crag6410.c  |5 +-
  arch/arm/mach-s3c64xx/mach-smartq.c|6 +-
  arch/arm/mach-s3c64xx/mach-smdk6410.c  |5 +-
  arch/arm/mach-s3c64xx/setup-usb-phy.c  |   79 +
  arch/arm/plat-samsung/devs.c   |   32 ++
  arch/arm/plat-samsung/include/plat/devs.h  |1 +
  arch/arm/plat-samsung/include/plat/usb-phy.h   |1 +
  drivers/usb/gadget/s3c-hsotg.c |   38 ++-
  drivers/usb/phy/Kconfig|8 +
  drivers/usb/phy/Makefile   |1 +
  drivers/usb/phy/samsung_usbphy.c   |  355
 
  drivers/usb/phy/samsung_usbphy.h   |   48 +++
  include/linux/platform_data/s3c-hsotg.h|5 +
  19 files changed, 534 insertions(+), 88 deletions(-)
  create mode 100644 Documentation/devicetree/bindings/usb/samsung-
 usbphy.txt
  create mode 100644 drivers/usb/phy/samsung_usbphy.c
  create mode 100644