Atmel : usb : add EHCI driver for Atmel SoC
Subsystems (3)
PATCH 1/1 Atmel : usb : add EHCI driver for Atmel SoC
Some Atmel SoC support USB EHCI, add the EHCI driver to support it.
To enable the USB EHCI, add the following configuration options into board relative configuration file and remove USB OHCI options.
#define CONFIG_USB_EHCI #define CONFIG_USB_EHCI_ATMEL #define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 2
--- drivers/usb/host/Makefile | 1 + drivers/usb/host/ehci-atmel.c | 67 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 drivers/usb/host/ehci-atmel.c
drivers/usb/host/Makefile +1 -0
@@ -36,6 +36,7 @@ COBJS-$(CONFIG_USB_SL811HS) += sl811-hcd.o # echi COBJS-$(CONFIG_USB_EHCI) += ehci-hcd.o COBJS-$(CONFIG_USB_EHCI_ARMADA100) += ehci-armada100.o utmi-armada100.o +COBJS-$(CONFIG_USB_EHCI_ATMEL) += ehci-atmel.o ifdef CONFIG_MPC512X COBJS-$(CONFIG_USB_EHCI_FSL) += ehci-mpc512x.o else
drivers/usb/host/ehci-atmel.c new file +67 -0
67 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH 1/1 Atmel : usb : add EHCI driver for Atmel SoC
Dear Bo Shen,
Quoted 67 lines
Some Atmel SoC support USB EHCI, add the EHCI driver to support it.
To enable the USB EHCI, add the following configuration options into board relative configuration file and remove USB OHCI options.
#define CONFIG_USB_EHCI #define CONFIG_USB_EHCI_ATMEL #define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 2Signed-off-by Bo Shen <[email protected]>--- drivers/usb/host/Makefile | 1 + drivers/usb/host/ehci-atmel.c | 67 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 drivers/usb/host/ehci-atmel.cdrivers/usb/host/Makefile +1
-0@@ -36,6 +36,7 @@ COBJS-$(CONFIG_USB_SL811HS) += sl811-hcd.o # echi COBJS-$(CONFIG_USB_EHCI) += ehci-hcd.o COBJS-$(CONFIG_USB_EHCI_ARMADA100) += ehci-armada100.o utmi-armada100.o +COBJS-$(CONFIG_USB_EHCI_ATMEL) += ehci-atmel.o ifdef CONFIG_MPC512X COBJS-$(CONFIG_USB_EHCI_FSL) += ehci-mpc512x.o elsedrivers/usb/host/ehci-atmel.c new file +32
-0@@ -0,0 +1,67 @@ +/* +* (C) Copyright 2012 +* Atmel Semiconductor <www.atmel.com> +* Written-by: Bo Shen <[email protected]> +* +* See file CREDITS for list of people who contributed to this +* project. +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License as +* published by the Free Software Foundation; either version 2 of +* the License, or (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +* MA 02110-1301 USA +*/ + +#include <common.h> +#include <usb.h> +#include <asm/io.h> +#include <asm/arch/hardware.h> +#include <asm/arch/at91_pmc.h> +#include <asm/arch/clk.h> + +#include "ehci.h"
drivers/usb/host/ehci-atmel.c line 42
Quoted 10 lines
drivers/usb/host/ehci-atmel.c new file +10
-0+#include "ehci-core.h" + +int ehci_hcd_init (void ) +{ +at91_pmc_t *pmc = (at91_pmc_t *)ATMEL_BASE_PMC ; + +/* Enable UPLL */ +writel (AT91_PMC_UPLLEN |AT91_PMC_BIASEN , &pmc->uckr); +while ((readl (&pmc->sr) &AT91_PMC_LOCKU ) !=AT91_PMC_LOCKU ) + ;
Add WATCHDOG_RESET() and fix it not to be an endless loop.
Quoted 12 lines
drivers/usb/host/ehci-atmel.c new file +12
-0+ +/* Enable USB Host clock */ +writel (1 <<ATMEL_ID_UHPHS , &pmc->pcer); + + hccr = (struct ehci_hccr *)ATMEL_BASE_EHCI ; + hcor = (struct ehci_hcor *)((uint32_t )hccr + +HC_LENGTH (ehci_readl (&hccr->cr_capbase))); + +return 0 ; +} + +int ehci_hcd_stop (void )
drivers/usb/host/ehci-atmel.c line 64
Quoted 10 lines
drivers/usb/host/ehci-atmel.c new file +10
-0+{ +at91_pmc_t *pmc = (at91_pmc_t *)ATMEL_BASE_PMC ; + +/* Disable USB Host Clock */ +writel (1 <<ATMEL_ID_UHPHS , &pmc->pcdr); + +/* Disable UPLL */ +writel (readl (&pmc->uckr) & (~AT91_PMC_UPLLEN ), &pmc->uckr); +while ((readl (&pmc->sr) &AT91_PMC_LOCKU ) ==AT91_PMC_LOCKU ) + ;
DTTO
drivers/usb/host/ehci-atmel.c line 52
Quoted 3 lines
drivers/usb/host/ehci-atmel.c new file +3
-0+ +return 0 ; +}
btw do you have some user for this code?
Best regards,
Marek Vasut
PATCH 1/1 Atmel : usb : add EHCI driver for Atmel SoC
Hi Marek,
Quoted 73 lines · Marek Vasut
Dear Bo Shen,
Quoted 71 lines
Some Atmel SoC support USB EHCI, add the EHCI driver to support it.
To enable the USB EHCI, add the following configuration options into board relative configuration file and remove USB OHCI options.
#define CONFIG_USB_EHCI #define CONFIG_USB_EHCI_ATMEL #define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 2Signed-off-by Bo Shen<[email protected]>--- drivers/usb/host/Makefile | 1 + drivers/usb/host/ehci-atmel.c | 67+++++++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+)
create mode 100644drivers/usb/host/ehci-atmel.cdrivers/usb/host/Makefile +1
-0@@ -36,6 +36,7 @@ COBJS-$(CONFIG_USB_SL811HS) += sl811-hcd.o # echi COBJS-$(CONFIG_USB_EHCI) += ehci-hcd.o COBJS-$(CONFIG_USB_EHCI_ARMADA100) += ehci-armada100.o utmi-armada100.o +COBJS-$(CONFIG_USB_EHCI_ATMEL) += ehci-atmel.o ifdef CONFIG_MPC512X COBJS-$(CONFIG_USB_EHCI_FSL) += ehci-mpc512x.o elsedrivers/usb/host/ehci-atmel.c new file +36
-0@@ -0,0 +1,67 @@ +/* +* (C) Copyright 2012 +* Atmel Semiconductor<www.atmel.com> +* Written-by: Bo Shen<[email protected]> +* +* See file CREDITS for list of people who contributed to this +* project. +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License as +* published by the Free Software Foundation; either version 2 of +* the License, or (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +* MA 02110-1301 USA +*/ + +#include <common.h> +#include <usb.h> +#include <asm/io.h> +#include <asm/arch/hardware.h> +#include <asm/arch/at91_pmc.h> +#include <asm/arch/clk.h> + +#include "ehci.h" +#include "ehci-core.h" + +int ehci_hcd_init (void ) +{
Quoted 8 lines
drivers/usb/host/ehci-atmel.c line 42
Quoted 6 lines
drivers/usb/host/ehci-atmel.c new file +6
-0+at91_pmc_t *pmc = (at91_pmc_t *)ATMEL_BASE_PMC ; + +/* Enable UPLL */ +writel (AT91_PMC_UPLLEN |AT91_PMC_BIASEN ,&pmc->uckr); +while ((readl (&pmc->sr)&AT91_PMC_LOCKU ) !=AT91_PMC_LOCKU ) + ;Add
WATCHDOG_RESET()and fix it not to be an endless loop.
OK, I will fix it at next version patch.
Quoted 17 lines
Quoted 17 lines
drivers/usb/host/ehci-atmel.c new file +16
-0+ +/* Enable USB Host clock */ +writel (1 <<ATMEL_ID_UHPHS ,&pmc->pcer); + + hccr = (struct ehci_hccr *)ATMEL_BASE_EHCI ; + hcor = (struct ehci_hcor *)((uint32_t )hccr + +HC_LENGTH (ehci_readl (&hccr->cr_capbase))); + +return 0 ; +} + +int ehci_hcd_stop (void ) +{ +at91_pmc_t *pmc = (at91_pmc_t *)ATMEL_BASE_PMC ; + +/* Disable USB Host Clock */
Quoted 8 lines
drivers/usb/host/ehci-atmel.c line 64
Quoted 6 lines
drivers/usb/host/ehci-atmel.c new file +6
-0+writel (1 <<ATMEL_ID_UHPHS ,&pmc->pcdr); + +/* Disable UPLL */ +writel (readl (&pmc->uckr)& (~AT91_PMC_UPLLEN ),&pmc->uckr); +while ((readl (&pmc->sr)&AT91_PMC_LOCKU ) ==AT91_PMC_LOCKU ) + ;DTTO
OK, I will fix it at next version patch.
Quoted 6 lines
drivers/usb/host/ehci-atmel.c line 52
Quoted 4 lines
drivers/usb/host/ehci-atmel.c new file +3
-0+ +return 0 ; +}btw do you have some user for this code?
The at91sam9m10g45ek now uses OHCI, if needed, it can use EHCI. New coming boards will use EHCI.
Quoted 3 lines
Best regards,
Marek Vasut
PATCH 1/1 Atmel : usb : add EHCI driver for Atmel SoC
Dear Bo Shen,
Quoted 16 lines
Hi Marek,
Quoted 13 lines · Marek Vasut
Dear Bo Shen,
Quoted 11 lines
Some Atmel SoC support USB EHCI, add the EHCI driver to support it.
To enable the USB EHCI, add the following configuration options into board relative configuration file and remove USB OHCI options.
#define CONFIG_USB_EHCI #define CONFIG_USB_EHCI_ATMEL #define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 2Signed-off-by Bo Shen<[email protected]>---
[...]
Quoted 3 lines
OK, I will fix it at next version patch.
Thank you!
Quoted 8 lines
Quoted 5 lines
drivers/usb/host/ehci-atmel.c line 52
Quoted 3 lines
drivers/usb/host/ehci-atmel.c new file +3
-0+ +return 0 ; +}btw do you have some user for this code?
The at91sam9m10g45ek now uses OHCI, if needed, it can use EHCI. New coming boards will use EHCI.
When do you see such board appearing please?
Quoted 2 lines
Quoted 2 lines
Best regards,
Marek Vasut
Best regards,
Marek Vasut
PATCH 1/1 Atmel : usb : add EHCI driver for Atmel SoC
Hi Marek,
Quoted 18 lines · Marek Vasut
Dear Bo Shen,
Quoted 16 lines
Hi Marek,
Quoted 13 lines · Marek Vasut
Dear Bo Shen,
Quoted 11 lines
Some Atmel SoC support USB EHCI, add the EHCI driver to support it.
To enable the USB EHCI, add the following configuration options into board relative configuration file and remove USB OHCI options.
#define CONFIG_USB_EHCI #define CONFIG_USB_EHCI_ATMEL #define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 2Signed-off-by Bo Shen<[email protected]>---
[...]
Quoted 6 lines
Quoted 4 lines
Quoted 1 line
btw do you have some user for this code?
The at91sam9m10g45ek now uses OHCI, if needed, it can use EHCI. New coming boards will use EHCI.
When do you see such board appearing please?
The at91sam9m10g45ek board has existed in mainline. As to AT91
maintainer has no response, so I just send the EHCI driver separately.
For new boards, I have submitted some patches (Please take the link
as a reference: http://patchwork.ozlabs.org/patch/160581/), but AT91 maintainer has no response and also, not others response.
BRs,
Bo Shen
Quoted 6 lines
Quoted 3 lines
Quoted 3 lines
Best regards,
Marek VasutBest regards,
Marek Vasut
PATCH 1/1 Atmel : usb : add EHCI driver for Atmel SoC
Dear Bo Shen,
Quoted 26 lines
Hi Marek,
Quoted 18 lines · Marek Vasut
Dear Bo Shen,
Quoted 16 lines
Hi Marek,
Quoted 13 lines · Marek Vasut
Dear Bo Shen,
Quoted 11 lines
Some Atmel SoC support USB EHCI, add the EHCI driver to support it.
To enable the USB EHCI, add the following configuration options into board relative configuration file and remove USB OHCI options.
#define CONFIG_USB_EHCI #define CONFIG_USB_EHCI_ATMEL #define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 2Signed-off-by Bo Shen<[email protected]>---
[...]
Quoted 2 lines
Quoted 2 lines
Quoted 1 line
btw do you have some user for this code?
Quoted 7 lines
Quoted 4 lines
Quoted 2 lines
The at91sam9m10g45ek now uses OHCI, if needed, it can use EHCI. New coming boards will use EHCI.
When do you see such board appearing please?
The at91sam9m10g45ek board has existed in mainline. As to AT91
maintainer has no response, so I just send the EHCI driver separately.
I think there're some issues with the at91 maintainer. Ccing Andreas, maybe he can actually start picking up the atmel patches?
Quoted 3 lines
For new boards, I have submitted some patches (Please take the link
as a reference: http://patchwork.ozlabs.org/patch/160581/), but AT91 maintainer has no response and also, not others response.
And CCing Albert so he can pick it up. But it'd be great if you also added some user of this code, so it's not completely dead.
Quoted 8 lines
BRs,
Bo ShenQuoted 5 lines
Quoted 2 lines
Quoted 2 lines
Best regards,
Marek VasutBest regards,
Marek Vasut
Best regards,
Marek Vasut
PATCH 1/1 Atmel : usb : add EHCI driver for Atmel SoC
Hi Marek,
Quoted 39 lines · Marek Vasut
Dear Bo Shen,
Quoted 26 lines
Hi Marek,
Quoted 18 lines · Marek Vasut
Dear Bo Shen,
Quoted 16 lines
Hi Marek,
Quoted 13 lines · Marek Vasut
Dear Bo Shen,
Quoted 11 lines
Some Atmel SoC support USB EHCI, add the EHCI driver to support it.
To enable the USB EHCI, add the following configuration options into board relative configuration file and remove USB OHCI options.
#define CONFIG_USB_EHCI #define CONFIG_USB_EHCI_ATMEL #define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 2Signed-off-by Bo Shen<[email protected]>---
[...]
Quoted 2 lines
Quoted 2 lines
Quoted 1 line
btw do you have some user for this code?
Quoted 7 lines
Quoted 4 lines
Quoted 2 lines
The at91sam9m10g45ek now uses OHCI, if needed, it can use EHCI. New coming boards will use EHCI.
When do you see such board appearing please?
The at91sam9m10g45ek board has existed in mainline. As to AT91
maintainer has no response, so I just send the EHCI driver separately.I think there're some issues with the at91 maintainer. Ccing Andreas, maybe he can actually start picking up the atmel patches?
Quoted 6 lines
Quoted 3 lines
For new boards, I have submitted some patches (Please take the link
as a reference: http://patchwork.ozlabs.org/patch/160581/), but AT91 maintainer has no response and also, not others response.And CCing Albert so he can pick it up. But it'd be great if you also added some user of this code, so it's not completely dead.
OK, I will send out the v2 patches.
Thanks
Quoted 13 lines
Quoted 9 lines
BRs,
Bo ShenQuoted 5 lines
Quoted 2 lines
Quoted 2 lines
Best regards,
Marek VasutBest regards,
Marek VasutBest regards,
Marek Vasut
PATCH 1/1 Atmel : usb : add EHCI driver for Atmel SoC
In reply to Marek VasutDear all,
Quoted 31 lines · Marek Vasut
Dear Bo Shen,
Quoted 29 lines
Hi Marek,
Quoted 18 lines · Marek Vasut
Dear Bo Shen,
Quoted 16 lines
Hi Marek,
Quoted 13 lines · Marek Vasut
Dear Bo Shen,
Quoted 11 lines
Some Atmel SoC support USB EHCI, add the EHCI driver to support it.
To enable the USB EHCI, add the following configuration options into board relative configuration file and remove USB OHCI options.
#define CONFIG_USB_EHCI #define CONFIG_USB_EHCI_ATMEL #define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 2Signed-off-by Bo Shen<[email protected]>---
[...]
Quoted 5 lines
Quoted 4 lines
Quoted 1 line
btw do you have some user for this code?
The at91sam9m10g45ek now uses OHCI, if needed, it can use EHCI. New coming boards will use EHCI.
Quoted 8 lines
Quoted 4 lines
Quoted 1 line
When do you see such board appearing please?
The at91sam9m10g45ek board has existed in mainline. As to AT91
maintainer has no response, so I just send the EHCI driver separately.I think there're some issues with the at91 maintainer. Ccing Andreas, maybe he can actually start picking up the atmel patches?
Sorry for being late, I read the list not really daily these days.
AFAIR Reinhard gave up somewhere end of last year, in fact we currently have no at91 maintainer.
I'm willing to step into at least for a while. My main aim is to get the latest Atmel patches into mainline for 2012.07, if Albert is willing to pull them (well less than 20 days left, and some of the patches where slightly after close of MW for 2012.07).
As far as I can see these patches are left:
Bo Shen (new board):
http://patchwork.ozlabs.org/patch/160581/
http://patchwork.ozlabs.org/patch/167290/
Alexandre Belloni (change address for dataflash; first submission in February!):
http://patchwork.ozlabs.org/patch/154242/
Jens Scharsig (fixes):
http://patchwork.ozlabs.org/patch/147550/
http://patchwork.ozlabs.org/patch/147534/
Vladimir Zapolskiy (new board):
http://patchwork.ozlabs.org/patch/135526/
Wolfgang and Albert, how do you think about?
best regards
Andreas Bie?mann
PATCH 1/1 Atmel : usb : add EHCI driver for Atmel SoC
Dear Andreas,
Quoted 7 lines · In message <[email protected]> you wrote:
AFAIR Reinhard gave up somewhere end of last year, in fact we currently have no at91 maintainer.
I'm willing to step into at least for a while. My main aim is to get the latest Atmel patches into mainline for 2012.07, if Albert is willing to pull them (well less than 20 days left, and some of the patches where slightly after close of MW for 2012.07).
...
Quoted 1 line
Wolfgang and Albert, how do you think about?
I am really glad you are volunteering - you close a pretty painful gap. Thanks a lot for your work in advance, it is highly appreciated.
Your SSH key has been installed for both u-boot-atmel and u-boot-at91 so you should be able to start working.
Best regards,
Wolfgang Denk
Signature · 6 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de "A fractal is by definition a set for which the Hausdorff Besicovitch dimension strictly exceeds the topological dimension." - Mandelbrot, _The Fractal Geometry of Nature_