Re: [U-Boot] [PATCH 3/4 v5] DA8xx: Add MUSB host support
Hi, 2009/12/21 Gupta, Ajay Kumar ajay.gu...@ti.com: Remy, How about USB patches from me supporting MUSB on DA8xx platform? Okay let's check... 2009/11/17 Gupta, Ajay Kumar ajay.gu...@ti.com: Remy, Any comment on DA8xx USB support patches? These patch set depends on DA8xx base support patches which are available only on uboot-ti tree. The last time I checked this series was not mainlined. Is it now? It is always fun with these dependencies to other repos.. ;-) If the series can be applied to current mainline, I will take them in... Kind regards, Remy ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 3/4 v5] DA8xx: Add MUSB host support
Dear Remy Bohmer, In message 3efb10970912211348q31ed3f5aod24d7f5cfc05b...@mail.gmail.com you wrote: Any comment on DA8xx USB support patches? These patch set depends on DA8xx base support patches which are available only on uboot-ti tree. The last time I checked this series was not mainlined. Is it now? It is always fun with these dependencies to other repos.. ;-) If the series can be applied to current mainline, I will take them in... Right. I can only repeat myself: patches shall be based on the mainline master (or next, if it exists) branch. Best regards, Wolfgang Denk -- 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: w...@denx.de The ultimate barrier is one's viewpoint. - Terry Pratchett, _The Dark Side of the Sun_ ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 3/4 v5] DA8xx: Add MUSB host support
Dear Remy Bohmer, In message 3efb10970912211348q31ed3f5aod24d7f5cfc05b...@mail.gmail.com you wrote: Any comment on DA8xx USB support patches? These patch set depends on DA8xx base support patches which are available only on uboot-ti tree. I believe it is in u-boot master as of now http://git.denx.de/?p=u-boot.gita=searchh=HEADst=commits=DA8xx It takes time for stuff in u-boot-ti to go to u-boot as we have an intermediate u-boot-arm :-) We are doing things the way it is supposed to be done though :-) The last time I checked this series was not mainlined. Is it now? So I believe It is always fun with these dependencies to other repos.. ;-) If the series can be applied to current mainline, I will take them in... This I cannot confirm as the base patches were itself were going through a process of review at that point of time. Right. I can only repeat myself: patches shall be based on the mainline master (or next, if it exists) branch. Best regards, Wolfgang Denk Thanks, Sandeep ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 3/4 v5] DA8xx: Add MUSB host support
Remy, -Original Message- From: u-boot-boun...@lists.denx.de [mailto:u-boot-boun...@lists.denx.de] On Behalf Of Gupta, Ajay Kumar Sent: Tuesday, November 17, 2009 7:35 PM To: u-boot@lists.denx.de Subject: Re: [U-Boot] [PATCH 3/4 v5] DA8xx: Add MUSB host support Remy, Any comment on DA8xx USB support patches? These patch set depends on DA8xx base support patches which are available only on uboot-ti tree. Any comment ? Regards, Ajay Regards, Ajay -Original Message- From: u-boot-boun...@lists.denx.de [mailto:u-boot-boun...@lists.denx.de] On Behalf Of Gupta, Ajay Kumar Sent: Sunday, November 15, 2009 11:19 AM To: u-boot@lists.denx.de Subject: Re: [U-Boot] [PATCH 3/4 v5] DA8xx: Add MUSB host support Hi, Tested USB host functionality on DA830 EVM. Signed-off-by: Ajay Kumar Gupta ajay.gu...@ti.com Signed-off-by: Swaminathan S swami.i...@ti.com --- drivers/usb/musb/Makefile |1 + drivers/usb/musb/da8xx.c | 139 + drivers/usb/musb/da8xx.h | 103 + include/usb.h |3 +- 4 files changed, 245 insertions(+), 1 deletions(-) create mode 100644 drivers/usb/musb/da8xx.c create mode 100644 drivers/usb/musb/da8xx.h diff --git a/drivers/usb/musb/Makefile b/drivers/usb/musb/Makefile index 09e0a5f..eb4d8fd 100644 --- a/drivers/usb/musb/Makefile +++ b/drivers/usb/musb/Makefile snip.. + + /* reset the controller */ + writel(0x1, da8xx_usb_regs-control); + udelay(5000); + + /* start the on-chip usb phy and its pll */ + if (phy_on() == 0) + return -1; + + /* Returns zero if e.g. not clocked */ + revision = readl(da8xx_usb_regs-revision); '' is missing, will resubmit the patch set. Regards, Ajay + if (revision == 0) + return -1; + + /* Disable all interrupts */ + writel((DA8XX_USB_USBINT_MASK | DA8XX_USB_TXINT_MASK | + DA8XX_USB_RXINT_MASK), da8xx_usb_regs-intmsk_set); + return 0; +} + +/* + * This function performs DA8xx platform specific deinitialization +for usb0. + */ +void musb_platform_deinit(void) +{ + /* Turn of the phy */ + phy_off(); + + /* flush any interrupts */ + writel((DA8XX_USB_USBINT_MASK | DA8XX_USB_TXINT_MASK | + DA8XX_USB_RXINT_MASK), da8xx_usb_regs-intmsk_clr); + writel(0, da8xx_usb_regs-eoi); +} diff --git a/drivers/usb/musb/da8xx.h b/drivers/usb/musb/da8xx.h new file mode 100644 index 000..93234f0 --- /dev/null +++ b/drivers/usb/musb/da8xx.h @@ -0,0 +1,103 @@ +/* + * da8xx.h -- TI's DA8xx platform specific usb wrapper definitions. + * + * Author: Ajay Kumar Gupta ajay.gu...@ti.com + * + * Based on drivers/usb/musb/davinci.h + * + * Copyright (C) 2009 Texas Instruments Incorporated + * + * 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., 675 Mass Ave, Cambridge, MA 02139, USA. + */ +#ifndef __DA8XX_MUSB_H__ +#define __DA8XX_MUSB_H__ + +#include asm/arch/hardware.h +#include asm/arch/gpio_defs.h +#include musb_core.h + +/* Base address of da8xx usb0 wrapper */ #define DA8XX_USB_OTG_BASE +0x01E0 + +/* Base address of da8xx musb core */ #define +DA8XX_USB_OTG_CORE_BASE (DA8XX_USB_OTG_BASE + 0x400) + +/* Timeout for DA8xx usb module */ +#define DA8XX_USB_OTG_TIMEOUT 0x3FF + +/* + * DA8xx platform USB wrapper register overlay. + */ +struct da8xx_usb_regs { + dv_reg revision; + dv_reg control; + dv_reg status; + dv_reg emulation; + dv_reg mode; + dv_reg autoreq; + dv_reg srpfixtime; + dv_reg teardown; + dv_reg intsrc; + dv_reg intsrc_set; + dv_reg intsrc_clr; + dv_reg intmsk; + dv_reg intmsk_set; + dv_reg intmsk_clr; + dv_reg intsrcmsk; + dv_reg eoi; + dv_reg intvector; + dv_reg grndis_size[4]; +}; + +#define da8xx_usb_regs ((struct da8xx_usb_regs +*)DA8XX_USB_OTG_BASE) + +/* DA8XX interrupt bits definitions */ +#define DA8XX_USB_TX_ENDPTS_MASK 0x1f /* ep0 + 4 tx */ +#define DA8XX_USB_RX_ENDPTS_MASK 0x1e /* 4 rx */ +#define DA8XX_USB_TXINT_SHIFT
Re: [U-Boot] [PATCH 3/4 v5] DA8xx: Add MUSB host support
Remy, Any comment on DA8xx USB support patches? These patch set depends on DA8xx base support patches which are available only on uboot-ti tree. Regards, Ajay -Original Message- From: u-boot-boun...@lists.denx.de [mailto:u-boot-boun...@lists.denx.de] On Behalf Of Gupta, Ajay Kumar Sent: Sunday, November 15, 2009 11:19 AM To: u-boot@lists.denx.de Subject: Re: [U-Boot] [PATCH 3/4 v5] DA8xx: Add MUSB host support Hi, Tested USB host functionality on DA830 EVM. Signed-off-by: Ajay Kumar Gupta ajay.gu...@ti.com Signed-off-by: Swaminathan S swami.i...@ti.com --- drivers/usb/musb/Makefile |1 + drivers/usb/musb/da8xx.c | 139 + drivers/usb/musb/da8xx.h | 103 + include/usb.h |3 +- 4 files changed, 245 insertions(+), 1 deletions(-) create mode 100644 drivers/usb/musb/da8xx.c create mode 100644 drivers/usb/musb/da8xx.h diff --git a/drivers/usb/musb/Makefile b/drivers/usb/musb/Makefile index 09e0a5f..eb4d8fd 100644 --- a/drivers/usb/musb/Makefile +++ b/drivers/usb/musb/Makefile snip.. + + /* reset the controller */ + writel(0x1, da8xx_usb_regs-control); + udelay(5000); + + /* start the on-chip usb phy and its pll */ + if (phy_on() == 0) + return -1; + + /* Returns zero if e.g. not clocked */ + revision = readl(da8xx_usb_regs-revision); '' is missing, will resubmit the patch set. Regards, Ajay + if (revision == 0) + return -1; + + /* Disable all interrupts */ + writel((DA8XX_USB_USBINT_MASK | DA8XX_USB_TXINT_MASK | + DA8XX_USB_RXINT_MASK), da8xx_usb_regs-intmsk_set); + return 0; +} + +/* + * This function performs DA8xx platform specific deinitialization for usb0. + */ +void musb_platform_deinit(void) +{ + /* Turn of the phy */ + phy_off(); + + /* flush any interrupts */ + writel((DA8XX_USB_USBINT_MASK | DA8XX_USB_TXINT_MASK | + DA8XX_USB_RXINT_MASK), da8xx_usb_regs-intmsk_clr); + writel(0, da8xx_usb_regs-eoi); +} diff --git a/drivers/usb/musb/da8xx.h b/drivers/usb/musb/da8xx.h new file mode 100644 index 000..93234f0 --- /dev/null +++ b/drivers/usb/musb/da8xx.h @@ -0,0 +1,103 @@ +/* + * da8xx.h -- TI's DA8xx platform specific usb wrapper definitions. + * + * Author: Ajay Kumar Gupta ajay.gu...@ti.com + * + * Based on drivers/usb/musb/davinci.h + * + * Copyright (C) 2009 Texas Instruments Incorporated + * + * 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., 675 Mass Ave, Cambridge, MA 02139, USA. + */ +#ifndef __DA8XX_MUSB_H__ +#define __DA8XX_MUSB_H__ + +#include asm/arch/hardware.h +#include asm/arch/gpio_defs.h +#include musb_core.h + +/* Base address of da8xx usb0 wrapper */ +#define DA8XX_USB_OTG_BASE 0x01E0 + +/* Base address of da8xx musb core */ +#define DA8XX_USB_OTG_CORE_BASE (DA8XX_USB_OTG_BASE + 0x400) + +/* Timeout for DA8xx usb module */ +#define DA8XX_USB_OTG_TIMEOUT 0x3FF + +/* + * DA8xx platform USB wrapper register overlay. + */ +struct da8xx_usb_regs { + dv_reg revision; + dv_reg control; + dv_reg status; + dv_reg emulation; + dv_reg mode; + dv_reg autoreq; + dv_reg srpfixtime; + dv_reg teardown; + dv_reg intsrc; + dv_reg intsrc_set; + dv_reg intsrc_clr; + dv_reg intmsk; + dv_reg intmsk_set; + dv_reg intmsk_clr; + dv_reg intsrcmsk; + dv_reg eoi; + dv_reg intvector; + dv_reg grndis_size[4]; +}; + +#define da8xx_usb_regs ((struct da8xx_usb_regs *)DA8XX_USB_OTG_BASE) + +/* DA8XX interrupt bits definitions */ +#define DA8XX_USB_TX_ENDPTS_MASK 0x1f /* ep0 + 4 tx */ +#define DA8XX_USB_RX_ENDPTS_MASK 0x1e /* 4 rx */ +#define DA8XX_USB_TXINT_SHIFT0 +#define DA8XX_USB_RXINT_SHIFT8 + +#define DA8XX_USB_USBINT_MASK0x01ff/* 8 Mentor, DRVVBUS */ +#define DA8XX_USB_TXINT_MASK \ + (DA8XX_USB_TX_ENDPTS_MASK DA8XX_USB_TXINT_SHIFT) +#define DA8XX_USB_RXINT_MASK \ + (DA8XX_USB_RX_ENDPTS_MASK DA8XX_USB_RXINT_SHIFT) + +/* DA8xx CFGCHIP2 (USB 2.0 PHY Control) register bits */ +#define CFGCHIP2_PHYCLKGD (1 17