From patchwork Fri Apr 17 13:26:42 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sanchayan Maity X-Patchwork-Id: 462050 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id AE38B140291 for ; Fri, 17 Apr 2015 23:29:34 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="verification failed; unprotected key" header.d=gmail.com header.i=@gmail.com header.b=gxXt3v7l; dkim-adsp=none (unprotected policy); dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 79FE4A7430; Fri, 17 Apr 2015 15:29:30 +0200 (CEST) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id W7geEpG4Tbjz; Fri, 17 Apr 2015 15:29:30 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 4050BA7423; Fri, 17 Apr 2015 15:29:29 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id B1F38A7423 for ; Fri, 17 Apr 2015 15:28:53 +0200 (CEST) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id r_IFFGVdkHDL for ; Fri, 17 Apr 2015 15:28:52 +0200 (CEST) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mail-pa0-f44.google.com (mail-pa0-f44.google.com [209.85.220.44]) by theia.denx.de (Postfix) with ESMTPS id 22277A7422 for ; Fri, 17 Apr 2015 15:28:46 +0200 (CEST) Received: by pabtp1 with SMTP id tp1so125479112pab.2 for ; Fri, 17 Apr 2015 06:28:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=ouARY2X6uVdEQ+Do8/eG/hdAFMbhaEgebpXSr+/dGLA=; b=gxXt3v7lZvBW5ZBxL5tlicqysO2culVyRjAFmtmrrzbbB47Y6WYBtVungK7bHYp2B6 4nGJ0HgBEXWuVGWXmIwjLf5t0hWnlet7scN8NnUWU0fAdB/Urt4sY/KOgEEj2eHtpe/i eG4LmuAfVI7X218RPdjKWCJNxICO6Av6VSQrVchYeU4RdHXLp4QkHtn74I0ku5sz6FJl lO1s6luD0isXfXaWa1GGI32uU62anJgaaA/EELpcIgIaebM/Dt2oDLlKFLE5wdHP6fah kTkPhilddGLLX1TlRyiBg64/YDL8jDPVuuc3Am+SJoPX207KxInJz0jBpMFflF8I/lCC UNaA== X-Received: by 10.70.54.103 with SMTP id i7mr5613211pdp.134.1429277324997; Fri, 17 Apr 2015 06:28:44 -0700 (PDT) Received: from localhost ([115.115.225.206]) by mx.google.com with ESMTPSA id ul8sm10262558pab.36.2015.04.17.06.28.41 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 17 Apr 2015 06:28:43 -0700 (PDT) From: Sanchayan Maity To: marex@denx.de, u-boot@lists.denx.de, sbabic@denx.de Date: Fri, 17 Apr 2015 18:56:42 +0530 Message-Id: <1429277202-3106-1-git-send-email-maitysanchayan@gmail.com> X-Mailer: git-send-email 2.3.5 In-Reply-To: <201504171130.37042.marex@denx.de> References: <201504171130.37042.marex@denx.de> Cc: trini@konsulko.com, bhuvanchandra.dv@toradex.com, marcel@ziswiler.com Subject: [U-Boot] [PATCH v4 7/7] colibri_vf: Enable USB support for Colibri Vybrid X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Enable USB support on Toradex Colibri Vybrid Modules. Signed-off-by: Sanchayan Maity Acked-by: Marek Vasut --- board/toradex/colibri_vf/colibri_vf.c | 24 +++++++++++++++++++++++ include/configs/colibri_vf.h | 37 +++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) diff --git a/board/toradex/colibri_vf/colibri_vf.c b/board/toradex/colibri_vf/colibri_vf.c index e7bc6c1..31ebb19 100644 --- a/board/toradex/colibri_vf/colibri_vf.c +++ b/board/toradex/colibri_vf/colibri_vf.c @@ -216,6 +216,14 @@ static void clock_init(void) clrsetbits_le32(&ccm->ccgr10, CCM_REG_CTRL_MASK, CCM_CCGR10_NFC_CTRL_MASK); +#ifdef CONFIG_CI_UDC + setbits_le32(&ccm->ccgr1, CCM_CCGR1_USBC0_CTRL_MASK); +#endif + +#ifdef CONFIG_USB_EHCI + setbits_le32(&ccm->ccgr7, CCM_CCGR7_USBC1_CTRL_MASK); +#endif + clrsetbits_le32(&anadig->pll5_ctrl, ANADIG_PLL5_CTRL_BYPASS | ANADIG_PLL5_CTRL_POWERDOWN, ANADIG_PLL5_CTRL_ENABLE | ANADIG_PLL5_CTRL_DIV_SELECT); @@ -359,3 +367,19 @@ int checkboard(void) return 0; } + +int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name) +{ + unsigned short usb_pid; + + put_unaligned(CONFIG_TRDX_VID, &dev->idVendor); + + if (is_colibri_vf61()) + usb_pid = CONFIG_TRDX_PID_COLIBRI_VF61IT; + else + usb_pid = CONFIG_TRDX_PID_COLIBRI_VF50IT; + + put_unaligned(usb_pid, &dev->idProduct); + + return 0; +} diff --git a/include/configs/colibri_vf.h b/include/configs/colibri_vf.h index 84ffbe8..414600a 100644 --- a/include/configs/colibri_vf.h +++ b/include/configs/colibri_vf.h @@ -146,6 +146,8 @@ #define CONFIG_BOOTCOMMAND "run ubiboot; run sdboot; run nfsboot" +#define DFU_ALT_NAND_INFO "vf-bcb part 0,1;u-boot part 0,2;ubi part 0,4" + #define CONFIG_EXTRA_ENV_SETTINGS \ "kernel_addr_r=0x82000000\0" \ "fdt_addr_r=0x84000000\0" \ @@ -165,6 +167,7 @@ "source ${loadaddr}\0" \ "setupdate=run setsdupdate || run setusbupdate\0" \ "mtdparts=" MTDPARTS_DEFAULT "\0" \ + "dfu_alt_info=" DFU_ALT_NAND_INFO "\0" \ SD_BOOTCMD \ NFS_BOOTCMD \ UBI_BOOTCMD @@ -231,4 +234,38 @@ #define CONFIG_SYS_CACHELINE_SIZE 32 +/* USB Host Support */ +#define CONFIG_CMD_USB +#define CONFIG_USB_EHCI +#define CONFIG_USB_EHCI_VF +#define CONFIG_USB_MAX_CONTROLLER_COUNT 2 +#define CONFIG_EHCI_HCD_INIT_AFTER_RESET + +/* USB Client Support */ +#define CONFIG_USB_GADGET +#define CONFIG_CI_UDC +#define CONFIG_USB_GADGET_DUALSPEED +#define CONFIG_USB_GADGET_VBUS_DRAW 2 +#define CONFIG_TRDX_VID 0x1B67 +#define CONFIG_TRDX_PID_COLIBRI_VF50 0x0016 +#define CONFIG_TRDX_PID_COLIBRI_VF61 0x0017 +#define CONFIG_TRDX_PID_COLIBRI_VF61IT 0x0018 +#define CONFIG_TRDX_PID_COLIBRI_VF50IT 0x0019 +#define CONFIG_G_DNL_MANUFACTURER "Toradex" +#define CONFIG_G_DNL_VENDOR_NUM CONFIG_TRDX_VID +#define CONFIG_G_DNL_PRODUCT_NUM CONFIG_TRDX_PID_COLIBRI_VF50 + +/* USB DFU */ +#define CONFIG_USBDOWNLOAD_GADGET +#define CONFIG_CMD_DFU +#define CONFIG_DFU_FUNCTION +#define CONFIG_DFU_NAND +#define CONFIG_DFU_MMC +#define CONFIG_SYS_DFU_DATA_BUF_SIZE (1024 * 1024) + +/* USB Storage */ +#define CONFIG_USB_STORAGE +#define CONFIG_USB_GADGET_MASS_STORAGE +#define CONFIG_CMD_USB_MASS_STORAGE + #endif /* __CONFIG_H */