* [U-Boot] [PATCH] ARM: atmel: switch to usb ehci for sama5d3 boards @ 2015-05-19 10:54 Josh Wu 2015-05-19 10:57 ` Hans de Goede 2015-08-18 11:46 ` [U-Boot] " Andreas Bießmann 0 siblings, 2 replies; 6+ messages in thread From: Josh Wu @ 2015-05-19 10:54 UTC (permalink / raw) To: u-boot From: Bo Shen <voice.shen@atmel.com> As the cache coherence issue in OHCI HCD, when enable I/D cache for sama5d3 SoC, the OHCI can not work properly. So, switch to EHCI, then the USB can work well. Signed-off-by: Bo Shen <voice.shen@atmel.com> [rebase to mainline] Signed-off-by: Josh Wu <josh.wu@atmel.com> --- include/configs/sama5d3_xplained.h | 21 +++------------------ include/configs/sama5d3xek.h | 21 +++------------------ 2 files changed, 6 insertions(+), 36 deletions(-) diff --git a/include/configs/sama5d3_xplained.h b/include/configs/sama5d3_xplained.h index bfd8aa7..0dab15d 100644 --- a/include/configs/sama5d3_xplained.h +++ b/include/configs/sama5d3_xplained.h @@ -20,17 +20,6 @@ #define CONFIG_USART_BASE ATMEL_BASE_DBGU #define CONFIG_USART_ID ATMEL_ID_DBGU -/* - * This needs to be defined for the OHCI code to work but it is defined as - * ATMEL_ID_UHPHS in the CPU specific header files. - */ -#define ATMEL_ID_UHP ATMEL_ID_UHPHS - -/* - * Specify the clock enable bit in the PMC_SCER register. - */ -#define ATMEL_PMC_UHP AT91SAM926x_PMC_UHP - /* SDRAM */ #define CONFIG_NR_DRAM_BANKS 1 #define CONFIG_SYS_SDRAM_BASE ATMEL_BASE_DDRCS @@ -95,13 +84,9 @@ #define CONFIG_CMD_USB #ifdef CONFIG_CMD_USB -#define CONFIG_USB_ATMEL -#define CONFIG_USB_ATMEL_CLK_SEL_UPLL -#define CONFIG_USB_OHCI_NEW -#define CONFIG_SYS_USB_OHCI_CPU_INIT -#define CONFIG_SYS_USB_OHCI_REGS_BASE ATMEL_BASE_OHCI -#define CONFIG_SYS_USB_OHCI_SLOT_NAME "SAMA5D3 Xplained" -#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 2 +#define CONFIG_USB_EHCI +#define CONFIG_USB_EHCI_ATMEL +#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 3 #define CONFIG_DOS_PARTITION #define CONFIG_USB_STORAGE #endif diff --git a/include/configs/sama5d3xek.h b/include/configs/sama5d3xek.h index d933a9e..d3ab6e4 100644 --- a/include/configs/sama5d3xek.h +++ b/include/configs/sama5d3xek.h @@ -24,17 +24,6 @@ #define CONFIG_USART_BASE ATMEL_BASE_DBGU #define CONFIG_USART_ID ATMEL_ID_DBGU -/* - * This needs to be defined for the OHCI code to work but it is defined as - * ATMEL_ID_UHPHS in the CPU specific header files. - */ -#define ATMEL_ID_UHP ATMEL_ID_UHPHS - -/* - * Specify the clock enable bit in the PMC_SCER register. - */ -#define ATMEL_PMC_UHP AT91SAM926x_PMC_UHP - /* LCD */ #define CONFIG_LCD #define LCD_BPP LCD_COLOR16 @@ -128,13 +117,9 @@ #define CONFIG_CMD_USB #ifdef CONFIG_CMD_USB -#define CONFIG_USB_ATMEL -#define CONFIG_USB_ATMEL_CLK_SEL_UPLL -#define CONFIG_USB_OHCI_NEW -#define CONFIG_SYS_USB_OHCI_CPU_INIT -#define CONFIG_SYS_USB_OHCI_REGS_BASE ATMEL_BASE_OHCI -#define CONFIG_SYS_USB_OHCI_SLOT_NAME "sama5d3" -#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 3 +#define CONFIG_USB_EHCI +#define CONFIG_USB_EHCI_ATMEL +#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 3 #define CONFIG_DOS_PARTITION #define CONFIG_USB_STORAGE #endif -- 1.9.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH] ARM: atmel: switch to usb ehci for sama5d3 boards 2015-05-19 10:54 [U-Boot] [PATCH] ARM: atmel: switch to usb ehci for sama5d3 boards Josh Wu @ 2015-05-19 10:57 ` Hans de Goede 2015-05-19 11:08 ` Josh Wu 2015-08-18 11:46 ` [U-Boot] " Andreas Bießmann 1 sibling, 1 reply; 6+ messages in thread From: Hans de Goede @ 2015-05-19 10:57 UTC (permalink / raw) To: u-boot Hi, On 19-05-15 12:54, Josh Wu wrote: > From: Bo Shen <voice.shen@atmel.com> > > As the cache coherence issue in OHCI HCD, when enable I/D cache > for sama5d3 SoC, the OHCI can not work properly. So, switch to > EHCI, then the USB can work well. > > Signed-off-by: Bo Shen <voice.shen@atmel.com> > [rebase to mainline] > Signed-off-by: Josh Wu <josh.wu@atmel.com> I'm confused now, with the patch you just send the ohci code should work, right? And this way usb-1 devices like keyboards will not work, otoh you will get faster usb storage support. What you should really do is convert the atmel usb glue to support the u-boot driver model and move to that, then you can build in both the ohci and ehci drivers and get the best of both worlds. I've already done so for sunxi, ironing out all the handover bugs in the usb core and ehci code, paving the way for you :) Regards, Hans > --- > > include/configs/sama5d3_xplained.h | 21 +++------------------ > include/configs/sama5d3xek.h | 21 +++------------------ > 2 files changed, 6 insertions(+), 36 deletions(-) > > diff --git a/include/configs/sama5d3_xplained.h b/include/configs/sama5d3_xplained.h > index bfd8aa7..0dab15d 100644 > --- a/include/configs/sama5d3_xplained.h > +++ b/include/configs/sama5d3_xplained.h > @@ -20,17 +20,6 @@ > #define CONFIG_USART_BASE ATMEL_BASE_DBGU > #define CONFIG_USART_ID ATMEL_ID_DBGU > > -/* > - * This needs to be defined for the OHCI code to work but it is defined as > - * ATMEL_ID_UHPHS in the CPU specific header files. > - */ > -#define ATMEL_ID_UHP ATMEL_ID_UHPHS > - > -/* > - * Specify the clock enable bit in the PMC_SCER register. > - */ > -#define ATMEL_PMC_UHP AT91SAM926x_PMC_UHP > - > /* SDRAM */ > #define CONFIG_NR_DRAM_BANKS 1 > #define CONFIG_SYS_SDRAM_BASE ATMEL_BASE_DDRCS > @@ -95,13 +84,9 @@ > #define CONFIG_CMD_USB > > #ifdef CONFIG_CMD_USB > -#define CONFIG_USB_ATMEL > -#define CONFIG_USB_ATMEL_CLK_SEL_UPLL > -#define CONFIG_USB_OHCI_NEW > -#define CONFIG_SYS_USB_OHCI_CPU_INIT > -#define CONFIG_SYS_USB_OHCI_REGS_BASE ATMEL_BASE_OHCI > -#define CONFIG_SYS_USB_OHCI_SLOT_NAME "SAMA5D3 Xplained" > -#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 2 > +#define CONFIG_USB_EHCI > +#define CONFIG_USB_EHCI_ATMEL > +#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 3 > #define CONFIG_DOS_PARTITION > #define CONFIG_USB_STORAGE > #endif > diff --git a/include/configs/sama5d3xek.h b/include/configs/sama5d3xek.h > index d933a9e..d3ab6e4 100644 > --- a/include/configs/sama5d3xek.h > +++ b/include/configs/sama5d3xek.h > @@ -24,17 +24,6 @@ > #define CONFIG_USART_BASE ATMEL_BASE_DBGU > #define CONFIG_USART_ID ATMEL_ID_DBGU > > -/* > - * This needs to be defined for the OHCI code to work but it is defined as > - * ATMEL_ID_UHPHS in the CPU specific header files. > - */ > -#define ATMEL_ID_UHP ATMEL_ID_UHPHS > - > -/* > - * Specify the clock enable bit in the PMC_SCER register. > - */ > -#define ATMEL_PMC_UHP AT91SAM926x_PMC_UHP > - > /* LCD */ > #define CONFIG_LCD > #define LCD_BPP LCD_COLOR16 > @@ -128,13 +117,9 @@ > #define CONFIG_CMD_USB > > #ifdef CONFIG_CMD_USB > -#define CONFIG_USB_ATMEL > -#define CONFIG_USB_ATMEL_CLK_SEL_UPLL > -#define CONFIG_USB_OHCI_NEW > -#define CONFIG_SYS_USB_OHCI_CPU_INIT > -#define CONFIG_SYS_USB_OHCI_REGS_BASE ATMEL_BASE_OHCI > -#define CONFIG_SYS_USB_OHCI_SLOT_NAME "sama5d3" > -#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 3 > +#define CONFIG_USB_EHCI > +#define CONFIG_USB_EHCI_ATMEL > +#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 3 > #define CONFIG_DOS_PARTITION > #define CONFIG_USB_STORAGE > #endif > ^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH] ARM: atmel: switch to usb ehci for sama5d3 boards 2015-05-19 10:57 ` Hans de Goede @ 2015-05-19 11:08 ` Josh Wu 0 siblings, 0 replies; 6+ messages in thread From: Josh Wu @ 2015-05-19 11:08 UTC (permalink / raw) To: u-boot Hi, Hans On 5/19/2015 6:57 PM, Hans de Goede wrote: > Hi, > > On 19-05-15 12:54, Josh Wu wrote: >> From: Bo Shen <voice.shen@atmel.com> >> >> As the cache coherence issue in OHCI HCD, when enable I/D cache >> for sama5d3 SoC, the OHCI can not work properly. So, switch to >> EHCI, then the USB can work well. >> >> Signed-off-by: Bo Shen <voice.shen@atmel.com> >> [rebase to mainline] >> Signed-off-by: Josh Wu <josh.wu@atmel.com> > > I'm confused now, with the patch you just send the ohci code should > work, right? Right. I forget to amend the commit message. Sorry. > And this way usb-1 devices like keyboards will not > work, otoh you will get faster usb storage support. I didn't test the keyboard yet. Good to know this. thanks. > > What you should really do is convert the atmel usb glue to support > the u-boot driver model and move to that, then you can build in > both the ohci and ehci drivers and get the best of both worlds. Ok, that sounds nice. > > I've already done so for sunxi, ironing out all the handover > bugs in the usb core and ehci code, paving the way for you :) Indeed, it seems convert to DM is the right way. Ok, I will do it. Thanks again. Best Regards, Josh Wu > > Regards, > > Hans > > > >> --- >> >> include/configs/sama5d3_xplained.h | 21 +++------------------ >> include/configs/sama5d3xek.h | 21 +++------------------ >> 2 files changed, 6 insertions(+), 36 deletions(-) >> >> diff --git a/include/configs/sama5d3_xplained.h >> b/include/configs/sama5d3_xplained.h >> index bfd8aa7..0dab15d 100644 >> --- a/include/configs/sama5d3_xplained.h >> +++ b/include/configs/sama5d3_xplained.h >> @@ -20,17 +20,6 @@ >> #define CONFIG_USART_BASE ATMEL_BASE_DBGU >> #define CONFIG_USART_ID ATMEL_ID_DBGU >> >> -/* >> - * This needs to be defined for the OHCI code to work but it is >> defined as >> - * ATMEL_ID_UHPHS in the CPU specific header files. >> - */ >> -#define ATMEL_ID_UHP ATMEL_ID_UHPHS >> - >> -/* >> - * Specify the clock enable bit in the PMC_SCER register. >> - */ >> -#define ATMEL_PMC_UHP AT91SAM926x_PMC_UHP >> - >> /* SDRAM */ >> #define CONFIG_NR_DRAM_BANKS 1 >> #define CONFIG_SYS_SDRAM_BASE ATMEL_BASE_DDRCS >> @@ -95,13 +84,9 @@ >> #define CONFIG_CMD_USB >> >> #ifdef CONFIG_CMD_USB >> -#define CONFIG_USB_ATMEL >> -#define CONFIG_USB_ATMEL_CLK_SEL_UPLL >> -#define CONFIG_USB_OHCI_NEW >> -#define CONFIG_SYS_USB_OHCI_CPU_INIT >> -#define CONFIG_SYS_USB_OHCI_REGS_BASE ATMEL_BASE_OHCI >> -#define CONFIG_SYS_USB_OHCI_SLOT_NAME "SAMA5D3 Xplained" >> -#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 2 >> +#define CONFIG_USB_EHCI >> +#define CONFIG_USB_EHCI_ATMEL >> +#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 3 >> #define CONFIG_DOS_PARTITION >> #define CONFIG_USB_STORAGE >> #endif >> diff --git a/include/configs/sama5d3xek.h b/include/configs/sama5d3xek.h >> index d933a9e..d3ab6e4 100644 >> --- a/include/configs/sama5d3xek.h >> +++ b/include/configs/sama5d3xek.h >> @@ -24,17 +24,6 @@ >> #define CONFIG_USART_BASE ATMEL_BASE_DBGU >> #define CONFIG_USART_ID ATMEL_ID_DBGU >> >> -/* >> - * This needs to be defined for the OHCI code to work but it is >> defined as >> - * ATMEL_ID_UHPHS in the CPU specific header files. >> - */ >> -#define ATMEL_ID_UHP ATMEL_ID_UHPHS >> - >> -/* >> - * Specify the clock enable bit in the PMC_SCER register. >> - */ >> -#define ATMEL_PMC_UHP AT91SAM926x_PMC_UHP >> - >> /* LCD */ >> #define CONFIG_LCD >> #define LCD_BPP LCD_COLOR16 >> @@ -128,13 +117,9 @@ >> #define CONFIG_CMD_USB >> >> #ifdef CONFIG_CMD_USB >> -#define CONFIG_USB_ATMEL >> -#define CONFIG_USB_ATMEL_CLK_SEL_UPLL >> -#define CONFIG_USB_OHCI_NEW >> -#define CONFIG_SYS_USB_OHCI_CPU_INIT >> -#define CONFIG_SYS_USB_OHCI_REGS_BASE ATMEL_BASE_OHCI >> -#define CONFIG_SYS_USB_OHCI_SLOT_NAME "sama5d3" >> -#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 3 >> +#define CONFIG_USB_EHCI >> +#define CONFIG_USB_EHCI_ATMEL >> +#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 3 >> #define CONFIG_DOS_PARTITION >> #define CONFIG_USB_STORAGE >> #endif >> ^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] ARM: atmel: switch to usb ehci for sama5d3 boards 2015-05-19 10:54 [U-Boot] [PATCH] ARM: atmel: switch to usb ehci for sama5d3 boards Josh Wu 2015-05-19 10:57 ` Hans de Goede @ 2015-08-18 11:46 ` Andreas Bießmann 2015-08-18 13:04 ` Andreas Bießmann 1 sibling, 1 reply; 6+ messages in thread From: Andreas Bießmann @ 2015-08-18 11:46 UTC (permalink / raw) To: u-boot Dear "Wu, Josh", Josh Wu <Josh.wu@atmel.com> writes: >From: Bo Shen <voice.shen@atmel.com> > >As the cache coherence issue in OHCI HCD, when enable I/D cache >for sama5d3 SoC, the OHCI can not work properly. So, switch to >EHCI, then the USB can work well. > >Signed-off-by: Bo Shen <voice.shen@atmel.com> >[rebase to mainline] >Signed-off-by: Josh Wu <josh.wu@atmel.com> >--- > > include/configs/sama5d3_xplained.h | 21 +++------------------ > include/configs/sama5d3xek.h | 21 +++------------------ > 2 files changed, 6 insertions(+), 36 deletions(-) applied to u-boot-atmel/master, thanks! Best regards, Andreas Bie?mann ^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] ARM: atmel: switch to usb ehci for sama5d3 boards 2015-08-18 11:46 ` [U-Boot] " Andreas Bießmann @ 2015-08-18 13:04 ` Andreas Bießmann 2015-08-19 2:10 ` Josh Wu 0 siblings, 1 reply; 6+ messages in thread From: Andreas Bießmann @ 2015-08-18 13:04 UTC (permalink / raw) To: u-boot Hi Josh, On 08/18/2015 01:46 PM, Andreas Bie?mann wrote: > Dear "Wu, Josh", > > Josh Wu <Josh.wu@atmel.com> writes: >> From: Bo Shen <voice.shen@atmel.com> >> >> As the cache coherence issue in OHCI HCD, when enable I/D cache >> for sama5d3 SoC, the OHCI can not work properly. So, switch to >> EHCI, then the USB can work well. >> >> Signed-off-by: Bo Shen <voice.shen@atmel.com> >> [rebase to mainline] >> Signed-off-by: Josh Wu <josh.wu@atmel.com> >> --- >> >> include/configs/sama5d3_xplained.h | 21 +++------------------ >> include/configs/sama5d3xek.h | 21 +++------------------ >> 2 files changed, 6 insertions(+), 36 deletions(-) > > applied to u-boot-atmel/master, thanks! just saw the mails from Hans. I removed this patch again from u-boot-atmel/master. The USB-DM changes seems to be the better way and since the OHCI driver is fixed we should stay there. Andreas ^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] ARM: atmel: switch to usb ehci for sama5d3 boards 2015-08-18 13:04 ` Andreas Bießmann @ 2015-08-19 2:10 ` Josh Wu 0 siblings, 0 replies; 6+ messages in thread From: Josh Wu @ 2015-08-19 2:10 UTC (permalink / raw) To: u-boot Hi, Andreas On 8/18/2015 9:04 PM, Andreas Bie?mann wrote: > Hi Josh, > > On 08/18/2015 01:46 PM, Andreas Bie?mann wrote: >> Dear "Wu, Josh", >> >> Josh Wu <Josh.wu@atmel.com> writes: >>> From: Bo Shen <voice.shen@atmel.com> >>> >>> As the cache coherence issue in OHCI HCD, when enable I/D cache >>> for sama5d3 SoC, the OHCI can not work properly. So, switch to >>> EHCI, then the USB can work well. >>> >>> Signed-off-by: Bo Shen <voice.shen@atmel.com> >>> [rebase to mainline] >>> Signed-off-by: Josh Wu <josh.wu@atmel.com> >>> --- >>> >>> include/configs/sama5d3_xplained.h | 21 +++------------------ >>> include/configs/sama5d3xek.h | 21 +++------------------ >>> 2 files changed, 6 insertions(+), 36 deletions(-) >> applied to u-boot-atmel/master, thanks! > just saw the mails from Hans. I removed this patch again from > u-boot-atmel/master. Yes, that's right. > The USB-DM changes seems to be the better way and > since the OHCI driver is fixed we should stay there. For the DM switch, I think the pinctrl dt support might be a big task. I've done the spi dm support on at91sam9m10g45ek. But as the pins configuration from dt is not support. So I just hard coded the pin configuration. I may send it out for review in future. Best Regards, Josh Wu > > Andreas ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-08-19 2:10 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-05-19 10:54 [U-Boot] [PATCH] ARM: atmel: switch to usb ehci for sama5d3 boards Josh Wu 2015-05-19 10:57 ` Hans de Goede 2015-05-19 11:08 ` Josh Wu 2015-08-18 11:46 ` [U-Boot] " Andreas Bießmann 2015-08-18 13:04 ` Andreas Bießmann 2015-08-19 2:10 ` Josh Wu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox