[U-Boot] [PATCH 0/4 v6] DA8xx: USB support

Hi,
These patch set have been refreshed and created against mainline master branch.
Regards, Ajay
Ajay Kumar Gupta (4): DA830: Add pinmux for USB0_DRVVBUS DA8xx: Add GPIO register definitions DA8xx: Add MUSB host support DA830: Add usb config
board/davinci/da830evm/da830evm.c | 8 ++++++ drivers/usb/musb/Makefile | 1 + include/asm-arm/arch-davinci/gpio_defs.h | 14 +++++++++++ include/configs/da830evm.h | 38 ++++++++++++++++++++++++++---- include/usb.h | 2 +- 5 files changed, 57 insertions(+), 6 deletions(-)

USB0_DRVVBUS pinmux configuration is required for USB functinality in uboot.
Signed-off-by: Ajay Kumar Gupta ajay.gupta@ti.com Signed-off-by: Swaminathan S swami.iyer@ti.com --- board/davinci/da830evm/da830evm.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/board/davinci/da830evm/da830evm.c b/board/davinci/da830evm/da830evm.c index bb8cc3c..7cf6013 100644 --- a/board/davinci/da830evm/da830evm.c +++ b/board/davinci/da830evm/da830evm.c @@ -65,6 +65,11 @@ const struct pinmux_config i2c_pins[] = { { pinmux[9], 2, 4 } };
+/* USB0_DRVVBUS pin muxer settings */ +const struct pinmux_config usb_pins[] = { + { pinmux[9], 1, 1 } +}; + int board_init(void) { #ifndef CONFIG_USE_IRQ @@ -118,6 +123,9 @@ int board_init(void) if (davinci_configure_pin_mux(i2c_pins, ARRAY_SIZE(i2c_pins)) != 0) return 1;
+ if (davinci_configure_pin_mux(usb_pins, ARRAY_SIZE(usb_pins)) != 0) + return 1; + /* enable the console UART */ writel((DAVINCI_UART_PWREMU_MGMT_FREE | DAVINCI_UART_PWREMU_MGMT_URRST | DAVINCI_UART_PWREMU_MGMT_UTRST),

Added DA8xx GPIO base addresses in gpio_defs.h and pointers to different BANKs which can be used to program GPIOs.
Signed-off-by: Ajay Kumar Gupta ajay.gupta@ti.com Signed-off-by: Swaminathan S swami.iyer@ti.com --- include/asm-arm/arch-davinci/gpio_defs.h | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/include/asm-arm/arch-davinci/gpio_defs.h b/include/asm-arm/arch-davinci/gpio_defs.h index ff62976..1be2ac2 100644 --- a/include/asm-arm/arch-davinci/gpio_defs.h +++ b/include/asm-arm/arch-davinci/gpio_defs.h @@ -22,12 +22,21 @@ #ifndef _GPIO_DEFS_H_ #define _GPIO_DEFS_H_
+#ifndef CONFIG_SOC_DA8XX #define DAVINCI_GPIO_BINTEN 0x01C67008 #define DAVINCI_GPIO_BANK01 0x01C67010 #define DAVINCI_GPIO_BANK23 0x01C67038 #define DAVINCI_GPIO_BANK45 0x01C67060 #define DAVINCI_GPIO_BANK67 0x01C67088
+#else /* CONFIG_SOC_DA8XX */ +#define DAVINCI_GPIO_BINTEN 0x01E26008 +#define DAVINCI_GPIO_BANK01 0x01E26010 +#define DAVINCI_GPIO_BANK23 0x01E26038 +#define DAVINCI_GPIO_BANK45 0x01E26060 +#define DAVINCI_GPIO_BANK67 0x01E26088 +#endif /* CONFIG_SOC_DA8XX */ + struct davinci_gpio { unsigned int dir; unsigned int out_data; @@ -49,4 +58,9 @@ struct davinci_gpio_bank { unsigned long base; };
+#define davinci_gpio_bank01 ((struct davinci_gpio *)DAVINCI_GPIO_BANK01) +#define davinci_gpio_bank23 ((struct davinci_gpio *)DAVINCI_GPIO_BANK23) +#define davinci_gpio_bank45 ((struct davinci_gpio *)DAVINCI_GPIO_BANK45) +#define davinci_gpio_bank67 ((struct davinci_gpio *)DAVINCI_GPIO_BANK67) + #endif

Tested USB host functionality on DA830 EVM.
Signed-off-by: Ajay Kumar Gupta ajay.gupta@ti.com Signed-off-by: Swaminathan S swami.iyer@ti.com --- drivers/usb/musb/Makefile | 1 + include/usb.h | 2 +- 2 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/drivers/usb/musb/Makefile b/drivers/usb/musb/Makefile index f2ccd9f..12e115e 100644 --- a/drivers/usb/musb/Makefile +++ b/drivers/usb/musb/Makefile @@ -29,6 +29,7 @@ COBJS-$(CONFIG_MUSB_HCD) += musb_hcd.o musb_core.o COBJS-$(CONFIG_MUSB_UDC) += musb_udc.o musb_core.o COBJS-$(CONFIG_USB_DAVINCI) += davinci.o COBJS-$(CONFIG_USB_OMAP3) += omap3.o +COBJS-$(CONFIG_USB_DA8XX) += da8xx.o
COBJS := $(COBJS-y) SRCS := $(COBJS:.o=.c) diff --git a/include/usb.h b/include/usb.h index 1cc3e42..2a9cd04 100644 --- a/include/usb.h +++ b/include/usb.h @@ -132,7 +132,7 @@ struct usb_device { defined(CONFIG_USB_EHCI) || defined(CONFIG_USB_OHCI_NEW) || \ defined(CONFIG_USB_SL811HS) || defined(CONFIG_USB_ISP116X_HCD) || \ defined(CONFIG_USB_R8A66597_HCD) || defined(CONFIG_USB_DAVINCI) || \ - defined(CONFIG_USB_OMAP3) + defined(CONFIG_USB_OMAP3) || defined(CONFIG_USB_DA8XX)
int usb_lowlevel_init(void); int usb_lowlevel_stop(void);

Adding USB configuration. Default is set for USB MSC host.
Signed-off-by: Ajay Kumar Gupta ajay.gupta@ti.com Signed-off-by: Swaminathan S swami.iyer@ti.com --- include/configs/da830evm.h | 38 +++++++++++++++++++++++++++++++++----- 1 files changed, 33 insertions(+), 5 deletions(-)
diff --git a/include/configs/da830evm.h b/include/configs/da830evm.h index 38e2ce1..432cd57 100644 --- a/include/configs/da830evm.h +++ b/include/configs/da830evm.h @@ -149,6 +149,11 @@ #define CONFIG_SYS_ENV_SPI_MAX_HZ CONFIG_SF_DEFAULT_SPEED #endif
+/* + * USB configuration + */ +#define CONFIG_USB_DA8XX /* Platform hookup to MUSB controller */ +#define CONFIG_MUSB_HCD
/* * U-Boot general configuration @@ -234,10 +239,33 @@ #endif
#ifdef CONFIG_USB_DA8XX -#define CONFIG_CMD_USB /* include support for usb */ -#define CONFIG_CMD_STORAGE /* include support for usb */ -#define CONFIG_CMD_FAT /* include support for FAT/storage*/ -#define CONFIG_DOS_PARTITION /* include support for FAT/storage*/ -#endif
+#ifdef CONFIG_MUSB_HCD /* include support for usb host */ +#define CONFIG_CMD_USB /* include support for usb cmd */ + +#define CONFIG_USB_STORAGE /* MSC class support */ +#define CONFIG_CMD_STORAGE /* inclue support for usb-storage cmd */ +#define CONFIG_CMD_FAT /* inclue support for FAT/storage */ +#define CONFIG_DOS_PARTITION /* inclue support for FAT/storage */ + +#ifdef CONFIG_USB_KEYBOARD /* HID class support */ +#define CONFIG_SYS_USB_EVENT_POLL +#define CONFIG_PREBOOT "usb start" +#endif /* CONFIG_USB_KEYBOARD */ + +#endif /* CONFIG_MUSB_HCD */ + +#ifdef CONFIG_MUSB_UDC +/* USB device configuration */ +#define CONFIG_USB_DEVICE 1 +#define CONFIG_USB_TTY 1 +#define CONFIG_SYS_CONSOLE_IS_IN_ENV 1 +/* Change these to suit your needs */ +#define CONFIG_USBD_VENDORID 0x0451 +#define CONFIG_USBD_PRODUCTID 0x5678 +#define CONFIG_USBD_MANUFACTURER "Texas Instruments" +#define CONFIG_USBD_PRODUCT_NAME "DA830EVM" +#endif /* CONFIG_MUSB_UDC */ + +#endif /* CONFIG_USB_DA8XX */ #endif /* __CONFIG_H */

-----Original Message----- From: Gupta, Ajay Kumar Sent: Tuesday, December 22, 2009 10:41 AM To: u-boot@lists.denx.de Cc: linux@bohmer.net; Gupta, Ajay Kumar Subject: [PATCH 0/4 v6] DA8xx: USB support
Hi,
These patch set have been refreshed and created against mainline master branch.
Remy,
Please ignore this patch set as I forgot "git add" for main files Drivers/usb/musb/da8xx.c.
Will correct it and submit it in few minutes.
-Ajay
Regards, Ajay
Ajay Kumar Gupta (4): DA830: Add pinmux for USB0_DRVVBUS DA8xx: Add GPIO register definitions DA8xx: Add MUSB host support DA830: Add usb config
board/davinci/da830evm/da830evm.c | 8 ++++++ drivers/usb/musb/Makefile | 1 + include/asm-arm/arch-davinci/gpio_defs.h | 14 +++++++++++ include/configs/da830evm.h | 38 ++++++++++++++++++++++++++---- include/usb.h | 2 +- 5 files changed, 57 insertions(+), 6 deletions(-)
participants (2)
-
Ajay Kumar Gupta
-
Gupta, Ajay Kumar