Subject: [RFC PATCH 0/2] usb: Reuse fsl driver code for synopsys usb controller

Zynq soc contains a dual role usb controller and this IP is from synopsys. We
observed that there is driver available for this controller from freescale and
decided to reuse this driver for zynq use.

Here is the link for zynq soc TRM. Please refer chapter 15 for usb controller
related information.
http://www.xilinx.com/support/documentation/user_guides/ug585-Zynq-7000-TRM.pdf

The following series of patches add initial support for zynq soc in fsl gadget controller
driver and fsl host controller driver.

Based on these patches, I have the following concerns and sugesstions

Since the freescale usb driver is for synopsys IP, Please consider rebranding
this driver name and config options to reflect that it is a sysnopsys IP. So
that other vendors who using this IP can reuse thie driver.

Also the ehci-fsl.c is for powerpc based soc's, and zynq is ARM based, i have
protected the code which is specifc to freescale with CONFIG_FSL_SOC. Please
suggest if there is a better way of doing this?

Punnaiah Choudary Kalluri (2):
usb: gadget: fsl_udc: Add support for zynq usb device controller
usb: ehci-fsl: Add support for zynq usb host controller

drivers/usb/gadget/Kconfig | 2 +-
drivers/usb/gadget/Makefile | 1 +
drivers/usb/gadget/fsl_mxc_udc.c | 21 ++++++++++++
drivers/usb/gadget/fsl_udc_core.c | 5 +++
drivers/usb/gadget/fsl_usb2_udc.h | 2 +-
drivers/usb/host/Kconfig | 2 +-
drivers/usb/host/ehci-fsl.c | 63 ++++++++++++++++++++++++++++++++++++-
drivers/usb/host/fsl-mph-dr-of.c | 9 +++++
8 files changed, 101 insertions(+), 4 deletions(-)

--
1.7.4


2014-04-20 16:59:17

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [RFC PATCH 0/2] usb: Reuse fsl driver code for synopsys usb controller

On Sun, Apr 20, 2014 at 09:57:03PM +0530, Punnaiah Choudary Kalluri wrote:
> Zynq soc contains a dual role usb controller and this IP is from synopsys. We
> observed that there is driver available for this controller from freescale and
> decided to reuse this driver for zynq use.
>
> Here is the link for zynq soc TRM. Please refer chapter 15 for usb controller
> related information.
> http://www.xilinx.com/support/documentation/user_guides/ug585-Zynq-7000-TRM.pdf
>
> The following series of patches add initial support for zynq soc in fsl gadget controller
> driver and fsl host controller driver.
>
> Based on these patches, I have the following concerns and sugesstions
>
> Since the freescale usb driver is for synopsys IP, Please consider rebranding
> this driver name and config options to reflect that it is a sysnopsys IP. So
> that other vendors who using this IP can reuse thie driver.

The config options can be edited to show the new hardware support, but
we don't usually rename kernel drivers, sorry. That just gets messy in
the end, and the "first one here gets to name it" is usually enforced.
No users ever see a kernel driver name, especially for a gadget driver,
so it shouldn't ever really matter.

thanks,

greg k-h

2014-04-20 17:56:17

by Alan Stern

[permalink] [raw]
Subject: Re: [RFC PATCH 0/2] usb: Reuse fsl driver code for synopsys usb controller

On Sun, 20 Apr 2014, Punnaiah Choudary Kalluri wrote:

> Zynq soc contains a dual role usb controller and this IP is from synopsys. We
> observed that there is driver available for this controller from freescale and
> decided to reuse this driver for zynq use.
>
> Here is the link for zynq soc TRM. Please refer chapter 15 for usb controller
> related information.
> http://www.xilinx.com/support/documentation/user_guides/ug585-Zynq-7000-TRM.pdf
>
> The following series of patches add initial support for zynq soc in fsl gadget controller
> driver and fsl host controller driver.
>
> Based on these patches, I have the following concerns and sugesstions
>
> Since the freescale usb driver is for synopsys IP, Please consider rebranding
> this driver name and config options to reflect that it is a sysnopsys IP. So
> that other vendors who using this IP can reuse thie driver.
>
> Also the ehci-fsl.c is for powerpc based soc's, and zynq is ARM based, i have
> protected the code which is specifc to freescale with CONFIG_FSL_SOC. Please
> suggest if there is a better way of doing this?

Filling the code with #ifdef lines is definitely not a good way to go.
Ordinary "if" statements would be a lot better, if you can't figure out
a reasonable way to encapsulate the differences.

Alan Stern

2014-04-20 18:52:44

by Marc Kleine-Budde

[permalink] [raw]
Subject: Re: [RFC PATCH 0/2] usb: Reuse fsl driver code for synopsys usb controller

On 04/20/2014 06:27 PM, Punnaiah Choudary Kalluri wrote:
> Zynq soc contains a dual role usb controller and this IP is from synopsys. We
> observed that there is driver available for this controller from freescale and
> decided to reuse this driver for zynq use.

Have a look drivers/usb/chipidea. It's maintained by Peter Chen (Cc'ed)
and is in better shape than the freescale driver.

Marc

--
Pengutronix e.K. | Marc Kleine-Budde |
Industrial Linux Solutions | Phone: +49-231-2826-924 |
Vertretung West/Dortmund | Fax: +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |


Attachments:
signature.asc (242.00 B)
OpenPGP digital signature
Subject: Re: [RFC PATCH 0/2] usb: Reuse fsl driver code for synopsys usb controller

On Mon, Apr 21, 2014 at 12:22 AM, Marc Kleine-Budde <[email protected]> wrote:
> On 04/20/2014 06:27 PM, Punnaiah Choudary Kalluri wrote:
>> Zynq soc contains a dual role usb controller and this IP is from synopsys. We
>> observed that there is driver available for this controller from freescale and
>> decided to reuse this driver for zynq use.
>
> Have a look drivers/usb/chipidea. It's maintained by Peter Chen (Cc'ed)
> and is in better shape than the freescale driver.

Thanks. I will check this implementation and also check with Peter Chen if
i have any concerns about this implementation.

Punnaiah.
>
> Marc
>
> --
> Pengutronix e.K. | Marc Kleine-Budde |
> Industrial Linux Solutions | Phone: +49-231-2826-924 |
> Vertretung West/Dortmund | Fax: +49-5121-206917-5555 |
> Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
>

2014-04-21 15:22:15

by Felipe Balbi

[permalink] [raw]
Subject: Re: [RFC PATCH 0/2] usb: Reuse fsl driver code for synopsys usb controller

On Sun, Apr 20, 2014 at 09:57:03PM +0530, Punnaiah Choudary Kalluri wrote:
> Zynq soc contains a dual role usb controller and this IP is from synopsys. We
> observed that there is driver available for this controller from freescale and
> decided to reuse this driver for zynq use.
>
> Here is the link for zynq soc TRM. Please refer chapter 15 for usb controller
> related information.
> http://www.xilinx.com/support/documentation/user_guides/ug585-Zynq-7000-TRM.pdf
>
> The following series of patches add initial support for zynq soc in fsl gadget controller
> driver and fsl host controller driver.
>
> Based on these patches, I have the following concerns and sugesstions
>
> Since the freescale usb driver is for synopsys IP, Please consider rebranding
> this driver name and config options to reflect that it is a sysnopsys IP. So
> that other vendors who using this IP can reuse thie driver.
>
> Also the ehci-fsl.c is for powerpc based soc's, and zynq is ARM based, i have
> protected the code which is specifc to freescale with CONFIG_FSL_SOC. Please
> suggest if there is a better way of doing this?
>
> Punnaiah Choudary Kalluri (2):
> usb: gadget: fsl_udc: Add support for zynq usb device controller
> usb: ehci-fsl: Add support for zynq usb host controller
>
> drivers/usb/gadget/Kconfig | 2 +-
> drivers/usb/gadget/Makefile | 1 +
> drivers/usb/gadget/fsl_mxc_udc.c | 21 ++++++++++++
> drivers/usb/gadget/fsl_udc_core.c | 5 +++
> drivers/usb/gadget/fsl_usb2_udc.h | 2 +-
> drivers/usb/host/Kconfig | 2 +-
> drivers/usb/host/ehci-fsl.c | 63 ++++++++++++++++++++++++++++++++++++-
> drivers/usb/host/fsl-mph-dr-of.c | 9 +++++
> 8 files changed, 101 insertions(+), 4 deletions(-)

as somebody else already mentioned, chipidea is the way to go.


--
balbi


Attachments:
(No filename) (1.79 kB)
signature.asc (819.00 B)
Digital signature
Download all attachments