Re: [PATCH v3 1/1] USB: cns3xxx: Add EHCI and OHCI bus glue forcns3xxx SOCs

From: Anton Vorontsov
Date: Fri Nov 26 2010 - 13:23:39 EST


On Fri, Nov 26, 2010 at 09:03:48AM -0800, Greg KH wrote:
[...]
> > > As far as the callbacks are concerned, this looks fine.
> > >
> > > Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
> >
> > Thanks Alan!
> >
> > Greg, should I treat your 'to ack it as well' as 'Acked-by'? :-)
>
> Yes please:
> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

Thanks!


Lin,

Now that I tried these patches on the real hardware (EV1.3,
silicon ver. 0xA), USB doesn't seem to work for me. FWIW,
I use U-Boot from BSP release 1.0.

Here is how it looks:

ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
cns3xxx-ehci cns3xxx-ehci.0: CNS3XXX EHCI Host Controller
cns3xxx-ehci cns3xxx-ehci.0: new USB bus registered, assigned bus number 1
cns3xxx-ehci cns3xxx-ehci.0: irq 64, io mem 0x82000000
cns3xxx-ehci cns3xxx-ehci.0: USB 0.0 started, EHCI 0.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 0 ports detected
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
cns3xxx-ohci cns3xxx-ohci.0: CNS3XXX OHCI Host controller
cns3xxx-ohci cns3xxx-ohci.0: new USB bus registered, assigned bus number 2
cns3xxx-ohci cns3xxx-ohci.0: irq 91, io mem 0x88000000
cns3xxx-ohci cns3xxx-ohci.0: init err (00000000 0000)
ohci_hcd: can't start cns3xxx-ohci.0
cns3xxx-ohci cns3xxx-ohci.0: startup error -75
cns3xxx-ohci cns3xxx-ohci.0: USB bus 2 deregistered
cns3xxx-ohci: probe of cns3xxx-ohci.0 failed with error -75

I assume this is somehow related to the old hardware I use,
but please take a look.

I tried this on both 2.6.36 and 2.6.37-rc3. You can find your
patches in this tree

git://git.infradead.org/users/cbou/linux-cns3xxx.git master

I'll try to investigate (found a small issue already, patch
down below), but if you beat me to it, please send a patch
agaist the cns3xxx tree.

Thanks,

- - - -
ARM: cns3xxx: Make cns3xxx_pwr_soft_rst_force() to actually reset blocks

commit 6eb5d146d4535 ("ARM: cns3xxx: Use IO memory accessors everywhere")
breaks cns3xxx_pwr_soft_rst_force() function, so that it doesn't write
cleared bit into the register.

This patch fixes the issue by adding the necessary __raw_writel().

Signed-off-by: Anton Vorontsov <cbouatmailru@xxxxxxxxx>
---
arch/arm/mach-cns3xxx/pm.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-cns3xxx/pm.c b/arch/arm/mach-cns3xxx/pm.c
index 78fbaba..5e57955 100644
--- a/arch/arm/mach-cns3xxx/pm.c
+++ b/arch/arm/mach-cns3xxx/pm.c
@@ -67,6 +67,7 @@ static void cns3xxx_pwr_soft_rst_force(unsigned int block)
reg &= ~(block & PM_SOFT_RST_REG_MASK);
} else {
reg &= ~(block & PM_SOFT_RST_REG_MASK);
+ __raw_writel(reg, PM_SOFT_RST_REG);
reg |= (block & PM_SOFT_RST_REG_MASK);
}

--
1.7.0.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/