[PATCH v4 2/2] usb: phy: samsung: Add PHY support for USB 3.0 controller
Vivek Gautam
gautamvivek1987 at gmail.com
Tue Feb 5 17:36:57 EST 2013
Hi Kukjin,
On Wed, Jan 30, 2013 at 11:31 AM, Kukjin Kim <kgene.kim at samsung.com> wrote:
> Vivek Gautam wrote:
>>
>> Adding PHY driver support for USB 3.0 controller for Samsung's
>> SoCs.
>>
>> Signed-off-by: Vivek Gautam <gautam.vivek at samsung.com>
>> ---
>>
>> Changes from v3:
>> - Making SAMSUNG_USB3PHY dependent on SAMSUNG_USBPHY.
>> - Adding USB_DWC3 to dependencies of SAMSUNG_USB2PHY since
>> dwc3 controller also looks for USB2 type PHY.
>>
>> drivers/usb/phy/Kconfig | 11 +-
>> drivers/usb/phy/Makefile | 1 +
>> drivers/usb/phy/samsung-usb3.c | 349
>> ++++++++++++++++++++++++++++++++++++++
>> drivers/usb/phy/samsung-usbphy.h | 81 +++++++++
>> 4 files changed, 441 insertions(+), 1 deletions(-)
>> create mode 100644 drivers/usb/phy/samsung-usb3.c
>>
>> diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig
>> index cc0d230..9325a95 100644
>> --- a/drivers/usb/phy/Kconfig
>> +++ b/drivers/usb/phy/Kconfig
>> @@ -52,14 +52,23 @@ config SAMSUNG_USBPHY
>> help
>> Enable this to support Samsung USB phy controllers for Samsung
>> SoCs.
>> + Further enable USB 2.0 type PHY or USB 3.0 type PHY as required
>> + for USB controllers in use.
>>
>> if SAMSUNG_USBPHY
>>
>> config SAMSUNG_USB2PHY
>> bool "Samsung USB 2.0 PHY controller Driver"
>> - depends on USB_S3C_HSOTG || USB_EHCI_S5P ||
>> USB_OHCI_EXYNOS
>> + depends on USB_S3C_HSOTG || USB_EHCI_S5P ||
>> USB_OHCI_EXYNOS || USB_DWC3
>> help
>> Enable this to support Samsung USB 2.0 (High Speed) phy controller
>> for Samsung SoCs.
>>
>> +config SAMSUNG_USB3PHY
>> + bool "Samsung USB 3.0 PHY controller Driver"
>> + depends on USB_DWC3
>> + help
>> + Enable this to support Samsung USB 3.0 (Super Speed) phy
>> controller
>> + for samsung SoCs.
>> +
>> endif
>
> It mean, when USB_DWC3 is selected, we can select only one USB2PHY or
> USB3PHY?
>
Actually, DWC3 expects both USB2PHY and USB3PHY, so went this way.
But this seems bad :-(
Will remove these dependencies as suggested by Felipe also.
> [...]
>
>> +#ifdef CONFIG_OF
>> +static const struct of_device_id samsung_usbphy_dt_match[] = {
>> + {
>> + .compatible = "samsung,exynos5250-usb3-phy",
>> + .data = &usb3_phy_exynos5
>> + },
>> + {},
>> +};
>> +MODULE_DEVICE_TABLE(of, samsung_usbphy_dt_match);
>> +#endif
>> +
>> +static struct platform_device_id samsung_usbphy_driver_ids[] = {
>> + {
>> + .name = "exynos5250-usb3-phy",
>
> According to the name of file, exynos5250-usb3phy? Just it is imho...
>
Ok, sure will amend this.
>> + .driver_data = (unsigned long)&usb3_phy_exynos5,
>> + },
>> + {},
>> +};
>> +
>> +MODULE_DEVICE_TABLE(platform, samsung_usbphy_driver_ids);
>> +
>> +static struct platform_driver samsung_usb3_phy_driver = {
>> + .probe = samsung_usb3_phy_probe,
>> + .remove = samsung_usb3_phy_remove,
>> + .id_table = samsung_usbphy_driver_ids,
>> + .driver = {
>> + .name = "samsung-usb3-phy",
>> + .owner = THIS_MODULE,
>> + .of_match_table =
>> of_match_ptr(samsung_usbphy_dt_match),
>> + },
>> +};
>> +
>> +module_platform_driver(samsung_usb3_phy_driver);
>> +
>> +MODULE_DESCRIPTION("Samsung USB 3.0 phy controller");
>> +MODULE_AUTHOR("Vivek Gautam <gautam.vivek at samsung.com>");
>> +MODULE_LICENSE("GPL");
>> +MODULE_ALIAS("platform:samsung-usb3-phy");
>
> I want you to use same naming rule.
>
Sure.
--
Thanks & Regards
Vivek
More information about the devicetree-discuss
mailing list