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