* [PATCH] mxc_udc: add workaround for ENGcm09152 for i.MX35
@ 2010-10-15 12:30 Eric Bénard
2010-10-15 19:10 ` Greg KH
0 siblings, 1 reply; 4+ messages in thread
From: Eric Bénard @ 2010-10-15 12:30 UTC (permalink / raw)
To: linux-usb
Cc: dbrownell, Dinh.Nguyen, gregkh, linux-kernel, linuxppc-dev,
linux-arm-kernel
this patch gives the possibility to workaround bug ENGcm09152
on i.MX35 when the hardware workaround is also implemented on
the board.
It covers the workaround described on page 25 of the following Errata :
http://cache.freescale.com/files/dsp/doc/errata/IMX35CE.pdf
Signed-off-by: Eric Bénard <eric@eukrea.com>
---
arch/arm/mach-mx3/mach-cpuimx35.c | 1 +
drivers/usb/gadget/fsl_mxc_udc.c | 15 +++++++++++++++
include/linux/fsl_devices.h | 3 +++
3 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-mx3/mach-cpuimx35.c b/arch/arm/mach-mx3/mach-cpuimx35.c
index 6024bb9..a95ff79 100644
--- a/arch/arm/mach-mx3/mach-cpuimx35.c
+++ b/arch/arm/mach-mx3/mach-cpuimx35.c
@@ -132,6 +132,7 @@ static struct mxc_usbh_platform_data __maybe_unused usbh1_pdata = {
static struct fsl_usb2_platform_data otg_device_pdata = {
.operating_mode = FSL_USB2_DR_DEVICE,
.phy_mode = FSL_USB2_PHY_UTMI,
+ .workaround = FLS_USB2_WORKAROUND_ENGCM09152,
};
static int otg_mode_host;
diff --git a/drivers/usb/gadget/fsl_mxc_udc.c b/drivers/usb/gadget/fsl_mxc_udc.c
index eafa6d2..5bdbfe6 100644
--- a/drivers/usb/gadget/fsl_mxc_udc.c
+++ b/drivers/usb/gadget/fsl_mxc_udc.c
@@ -22,6 +22,10 @@
static struct clk *mxc_ahb_clk;
static struct clk *mxc_usb_clk;
+/* workaround ENGcm09152 for i.MX35 */
+#define USBPHYCTRL_OTGBASE_OFFSET 0x608
+#define USBPHYCTRL_EVDO (1 << 23)
+
int fsl_udc_clk_init(struct platform_device *pdev)
{
struct fsl_usb2_platform_data *pdata;
@@ -84,6 +88,17 @@ eenahb:
void fsl_udc_clk_finalize(struct platform_device *pdev)
{
struct fsl_usb2_platform_data *pdata = pdev->dev.platform_data;
+#if defined(CONFIG_ARCH_MX35)
+ unsigned int v;
+
+ /* workaround ENGcm09152 for i.MX35 */
+ if (pdata->workaround & FLS_USB2_WORKAROUND_ENGCM09152) {
+ v = readl(MX35_IO_ADDRESS(MX35_OTG_BASE_ADDR +
+ USBPHYCTRL_OTGBASE_OFFSET));
+ writel(v | USBPHYCTRL_EVDO, MX35_IO_ADDRESS(MX35_OTG_BASE_ADDR +
+ USBPHYCTRL_OTGBASE_OFFSET));
+ }
+#endif
/* ULPI transceivers don't need usbpll */
if (pdata->phy_mode == FSL_USB2_PHY_ULPI) {
diff --git a/include/linux/fsl_devices.h b/include/linux/fsl_devices.h
index 28e33fe..01a23fa 100644
--- a/include/linux/fsl_devices.h
+++ b/include/linux/fsl_devices.h
@@ -63,12 +63,15 @@ struct fsl_usb2_platform_data {
enum fsl_usb2_operating_modes operating_mode;
enum fsl_usb2_phy_modes phy_mode;
unsigned int port_enables;
+ unsigned int workaround;
};
/* Flags in fsl_usb2_mph_platform_data */
#define FSL_USB2_PORT0_ENABLED 0x00000001
#define FSL_USB2_PORT1_ENABLED 0x00000002
+#define FLS_USB2_WORKAROUND_ENGCM09152 (1 << 0)
+
struct spi_device;
struct fsl_spi_platform_data {
--
1.7.0.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] mxc_udc: add workaround for ENGcm09152 for i.MX35
2010-10-15 12:30 [PATCH] mxc_udc: add workaround for ENGcm09152 for i.MX35 Eric Bénard
@ 2010-10-15 19:10 ` Greg KH
2010-10-15 19:24 ` Eric Bénard
0 siblings, 1 reply; 4+ messages in thread
From: Greg KH @ 2010-10-15 19:10 UTC (permalink / raw)
To: Eric Bénard
Cc: dbrownell, Dinh.Nguyen, linux-usb, linux-kernel, linuxppc-dev,
gregkh, linux-arm-kernel
On Fri, Oct 15, 2010 at 02:30:58PM +0200, Eric Bénard wrote:
> this patch gives the possibility to workaround bug ENGcm09152
> on i.MX35 when the hardware workaround is also implemented on
> the board.
> It covers the workaround described on page 25 of the following Errata :
> http://cache.freescale.com/files/dsp/doc/errata/IMX35CE.pdf
>
> Signed-off-by: Eric Bénard <eric@eukrea.com>
> ---
> arch/arm/mach-mx3/mach-cpuimx35.c | 1 +
> drivers/usb/gadget/fsl_mxc_udc.c | 15 +++++++++++++++
> include/linux/fsl_devices.h | 3 +++
> 3 files changed, 19 insertions(+), 0 deletions(-)
Do you want me to take this through my usb tree, or will it go through
some other developer's tree?
Either is fine with me.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] mxc_udc: add workaround for ENGcm09152 for i.MX35
2010-10-15 19:10 ` Greg KH
@ 2010-10-15 19:24 ` Eric Bénard
2010-10-19 16:10 ` Greg KH
0 siblings, 1 reply; 4+ messages in thread
From: Eric Bénard @ 2010-10-15 19:24 UTC (permalink / raw)
To: Greg KH
Cc: dbrownell, Dinh.Nguyen, linux-usb, linux-kernel, linuxppc-dev,
gregkh, linux-arm-kernel
Hi Greg,
Le 15/10/2010 21:10, Greg KH a écrit :
> On Fri, Oct 15, 2010 at 02:30:58PM +0200, Eric Bénard wrote:
>> this patch gives the possibility to workaround bug ENGcm09152
>> on i.MX35 when the hardware workaround is also implemented on
>> the board.
>> It covers the workaround described on page 25 of the following Errata :
>> http://cache.freescale.com/files/dsp/doc/errata/IMX35CE.pdf
>>
>> Signed-off-by: Eric Bénard<eric@eukrea.com>
>> ---
>> arch/arm/mach-mx3/mach-cpuimx35.c | 1 +
>> drivers/usb/gadget/fsl_mxc_udc.c | 15 +++++++++++++++
>> include/linux/fsl_devices.h | 3 +++
>> 3 files changed, 19 insertions(+), 0 deletions(-)
>
> Do you want me to take this through my usb tree, or will it go through
> some other developer's tree?
>
as most of the changes are in drivers/usb that would be great if you can take it.
Thanks
Eric
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] mxc_udc: add workaround for ENGcm09152 for i.MX35
2010-10-15 19:24 ` Eric Bénard
@ 2010-10-19 16:10 ` Greg KH
0 siblings, 0 replies; 4+ messages in thread
From: Greg KH @ 2010-10-19 16:10 UTC (permalink / raw)
To: Eric Bénard
Cc: dbrownell, Dinh.Nguyen, linux-usb, linux-kernel, linuxppc-dev,
gregkh, linux-arm-kernel
On Fri, Oct 15, 2010 at 09:24:38PM +0200, Eric Bénard wrote:
> Hi Greg,
>
> Le 15/10/2010 21:10, Greg KH a écrit :
> >On Fri, Oct 15, 2010 at 02:30:58PM +0200, Eric Bénard wrote:
> >>this patch gives the possibility to workaround bug ENGcm09152
> >>on i.MX35 when the hardware workaround is also implemented on
> >>the board.
> >>It covers the workaround described on page 25 of the following Errata :
> >>http://cache.freescale.com/files/dsp/doc/errata/IMX35CE.pdf
> >>
> >>Signed-off-by: Eric Bénard<eric@eukrea.com>
> >>---
> >> arch/arm/mach-mx3/mach-cpuimx35.c | 1 +
> >> drivers/usb/gadget/fsl_mxc_udc.c | 15 +++++++++++++++
> >> include/linux/fsl_devices.h | 3 +++
> >> 3 files changed, 19 insertions(+), 0 deletions(-)
> >
> >Do you want me to take this through my usb tree, or will it go through
> >some other developer's tree?
> >
> as most of the changes are in drivers/usb that would be great if you can take it.
No problem, now queued up.
greg k-h
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-10-19 16:20 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-15 12:30 [PATCH] mxc_udc: add workaround for ENGcm09152 for i.MX35 Eric Bénard
2010-10-15 19:10 ` Greg KH
2010-10-15 19:24 ` Eric Bénard
2010-10-19 16:10 ` Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).