From patchwork Tue Sep 24 13:11:11 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Szyprowski X-Patchwork-Id: 1166584 X-Patchwork-Delegate: matthias.bgg@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=samsung.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=samsung.com header.i=@samsung.com header.b="mjICm/u4"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 46d1pm329kz9sDB for ; Tue, 24 Sep 2019 23:13:36 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 06A0AC21E34; Tue, 24 Sep 2019 13:12:45 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=SPF_HELO_PASS, T_DKIM_INVALID, UPPERCASE_50_75 autolearn=no autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 7E675C21E62; Tue, 24 Sep 2019 13:11:28 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 8C86FC21D8E; Tue, 24 Sep 2019 13:11:24 +0000 (UTC) Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by lists.denx.de (Postfix) with ESMTPS id DA51CC21DCA for ; Tue, 24 Sep 2019 13:11:23 +0000 (UTC) Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20190924131123euoutp0265fe253fb710655e59090121616e74fa~HYfEoDZTg0882108821euoutp02W for ; Tue, 24 Sep 2019 13:11:23 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20190924131123euoutp0265fe253fb710655e59090121616e74fa~HYfEoDZTg0882108821euoutp02W DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1569330683; bh=Jb2sVReiHZ0678Q7IsQDox8Z2ZsLuMr7CSZ5wpcou/Y=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mjICm/u4kt9KZaLNfzI6g0kuR9INA9MQATQcMtUUb98Imcct9+Apavoe/vLj3rnwo do0eXhz3vzGvNKQx203yT9SiV8YwHrn4rInsNlbyzl3BGrnVtKvliTN1pSMo6GTB/5 YjFX4mCSQozImklcZML8whmnInIRkIBSCGYOkxaI= Received: from eusmges3new.samsung.com (unknown [203.254.199.245]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20190924131123eucas1p17e3a8ea3b1095b119bf3dbb710bb3c24~HYfEYclE40759207592eucas1p1C; Tue, 24 Sep 2019 13:11:23 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges3new.samsung.com (EUCPMTA) with SMTP id 82.89.04374.BF51A8D5; Tue, 24 Sep 2019 14:11:23 +0100 (BST) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20190924131122eucas1p13ba93c936d8eec1fc93d326805bd9dfa~HYfDw72bg3143131431eucas1p10; Tue, 24 Sep 2019 13:11:22 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20190924131122eusmtrp27e06036d2f1bafb49e88c0afd91d9f23~HYfDwV4891458114581eusmtrp2O; Tue, 24 Sep 2019 13:11:22 +0000 (GMT) X-AuditID: cbfec7f5-4ddff70000001116-8c-5d8a15fbaf76 Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id C3.5D.04166.AF51A8D5; Tue, 24 Sep 2019 14:11:22 +0100 (BST) Received: from AMDC2765.digital.local (unknown [106.120.51.73]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20190924131122eusmtip294dee0d13bb8e5fc221b4615c8d5eb7e~HYfDVbdaG0443604436eusmtip2C; Tue, 24 Sep 2019 13:11:22 +0000 (GMT) From: Marek Szyprowski To: u-boot@lists.denx.de Date: Tue, 24 Sep 2019 15:11:11 +0200 Message-Id: <20190924131111.1691-7-m.szyprowski@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190924131111.1691-1-m.szyprowski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0VSb0gTcRj2d3+2c3Vxnaa/NJGWFRlpkh8OMlHqw0VF9aEPGcuWHiq6KXdq qYRDS2uUShquQTkQUTRTh3+WkujSZoWaqUvKcFIhjmaWy8hK23lq357neZ/neeHlJVBahwcQ KdpMjteq05QyBdb+/Nfwgd/b9KqDM6Uk02JowpmJpSKcmZkbRZjGvg9yxlT+CWeaq1wYYyif lTGup7fkMQT70DiAsYOTFsCWtNYDtql1HGPNTvYMHqeISuTSUrI5Pjz6kiK59sX+jLqgq/au FaADxu164E1AKhLes7pRPVAQNFUHYEdlBSIRN4B9nwcwiSwAWNc9j65H6l8WIyKmqVoA7Q5u I9H/sWvVJKMioN6ll4nYl4JwqXQciCaU6kBg8Y23mDjwoU5Ay6xJLmKM2g3tU22rYZKKgt1T c3JpWzBsaO5Z1b2pI9A2asXFIkgtyGDPdJunlfCQY7DCnCL5faDT1rqW3QFXnlQhkr8QwOmh RrlEbgM4WmAAkuswfGYbwcUilNoHmzrDJTkWDrU7Eal/C5xwbRVl1APvtleikkzCm0W05N4D jbbHG2t7X79ZOxYLrc6xtSuWAVgzvYKWgWDj/2UmAOqBP5claJI44ZCWuxImqDVCljYpLCFd Ywaev3i1bPthAd1/LlsBRQDlZjIG16toXJ0t5GisABKo0pc0hxapaDJRnZPL8enxfFYaJ1hB IIEp/ck8L8cFmkpSZ3KpHJfB8etThPAO0AGuf+hB9E6/zpOnqDtYRGObKd4HX3afvv8Xm+dT q9+XDMdfz2vp+O7+2nt0xBaZO2jy+3bRsDjpOOtWVVgKQ/KxwAR6eJ49n1tAxkXmV+PGc/je AS+ZvN++qLvmwNDYd8u7CsNhiB+fGfVoJP9nm2/NF8QaTWxJCDo+tqmBV2JCsjoiFOUF9T/u HwdNEwMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrELMWRmVeSWpSXmKPExsVy+t/xe7q/RLtiDT7uUrHYOGM9q8WNX22s Fs/fXWayWHvkLrvFgslPWC02zH/LYjFj8ks2i7d7O9kdODzmzTrB4nH2zg5Gj74tqxg91m+5 yuKx6ZVHAGuUnk1RfmlJqkJGfnGJrVK0oYWRnqGlhZ6RiaWeobF5rJWRqZK+nU1Kak5mWWqR vl2CXsbyk9oFK2Qrru3+z9jAOEuyi5GTQ0LARGLVqXamLkYuDiGBpYwSk77MZoNIyEicnNbA CmELS/y51sUGUfSJUaKptQUswSZgKNH1tgusQURAQuJX/1VGkCJmgd1MEtdXHWMESQgLeEvs eLmAHcRmEVCVuHZ/KzOIzStgI7Hv/jt2iA3yEqs3HACLcwrYShy/fAhsgRBQzewjr9kmMPIt YGRYxSiSWlqcm55bbKhXnJhbXJqXrpecn7uJERi+24793LyD8dLG4EOMAhyMSjy8DqxdsUKs iWXFlbmHGCU4mJVEeDdptcUK8aYkVlalFuXHF5XmpBYfYjQFOmois5Rocj4wtvJK4g1NDc0t LA3Njc2NzSyUxHk7BA7GCAmkJ5akZqemFqQWwfQxcXBKNTDOeZkcpXVo5qy07le7awpSLy4v KrsWoZmTYz6l41BwR8XuiTxNusFVXAWKTH1yZpeVxQ0/rCzZ+5JvXa8Xw1Km74+S9zXo8O99 yGnO8DF62lM5lwNMai6/owwmax/9Y1F2QCA1cU9W4Z15q9gF9Bdy7syRrbQKsRezP8TMv6so 3rev4s3GWCWW4oxEQy3mouJEAAzGmMp1AgAA X-CMS-MailID: 20190924131122eucas1p13ba93c936d8eec1fc93d326805bd9dfa X-Msg-Generator: CA X-RootMTR: 20190924131122eucas1p13ba93c936d8eec1fc93d326805bd9dfa X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20190924131122eucas1p13ba93c936d8eec1fc93d326805bd9dfa References: <20190924131111.1691-1-m.szyprowski@samsung.com> Cc: Matthias Brugger , Bartlomiej Zolnierkiewicz , Marek Szyprowski Subject: [U-Boot] [PATCH v2 6/6] config: enable DFU over USB on Raspberry Pi4 boards X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 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 support for DFU over USB. This requires to enable USB gadget, DWC2 UDC OTG driver and DFU command. DFU entities are defined for the following firmware objects: u-boot.bin, uboot.env, config.txt, cmdline.txt and zImage/Image.gz. Signed-off-by: Marek Szyprowski Reviewed-by: Lukasz Majewski --- configs/rpi_4_32b_defconfig | 11 +++++++++++ configs/rpi_4_defconfig | 11 +++++++++++ include/configs/rpi.h | 17 +++++++++++++++++ 3 files changed, 39 insertions(+) diff --git a/configs/rpi_4_32b_defconfig b/configs/rpi_4_32b_defconfig index a31a617a5f..0a375b9736 100644 --- a/configs/rpi_4_32b_defconfig +++ b/configs/rpi_4_32b_defconfig @@ -12,6 +12,7 @@ CONFIG_MISC_INIT_R=y # CONFIG_DISPLAY_CPUINFO is not set # CONFIG_DISPLAY_BOARDINFO is not set CONFIG_SYS_PROMPT="U-Boot> " +CONFIG_CMD_DFU=y # CONFIG_CMD_FLASH is not set CONFIG_CMD_GPIO=y CONFIG_CMD_MMC=y @@ -19,6 +20,7 @@ CONFIG_CMD_FS_UUID=y CONFIG_ENV_FAT_INTERFACE="mmc" CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y +CONFIG_DFU_MMC=y CONFIG_DM_KEYBOARD=y CONFIG_DM_MMC=y CONFIG_MMC_SDHCI=y @@ -26,6 +28,15 @@ CONFIG_MMC_SDHCI_BCM2835=y CONFIG_PINCTRL=y # CONFIG_PINCTRL_GENERIC is not set # CONFIG_REQUIRE_SERIAL_CONSOLE is not set +CONFIG_USB=y +CONFIG_DM_USB=y +CONFIG_DM_USB_GADGET=y +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_MANUFACTURER="FSL" +CONFIG_USB_GADGET_VENDOR_NUM=0x0525 +CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 +CONFIG_USB_GADGET_DWC2_OTG=y +CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_DM_VIDEO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_CONSOLE_SCROLL_LINES=10 diff --git a/configs/rpi_4_defconfig b/configs/rpi_4_defconfig index da8c960a2a..5b9be9b9c0 100644 --- a/configs/rpi_4_defconfig +++ b/configs/rpi_4_defconfig @@ -12,6 +12,7 @@ CONFIG_MISC_INIT_R=y # CONFIG_DISPLAY_CPUINFO is not set # CONFIG_DISPLAY_BOARDINFO is not set CONFIG_SYS_PROMPT="U-Boot> " +CONFIG_CMD_DFU=y # CONFIG_CMD_FLASH is not set CONFIG_CMD_GPIO=y CONFIG_CMD_MMC=y @@ -19,6 +20,7 @@ CONFIG_CMD_FS_UUID=y CONFIG_ENV_FAT_INTERFACE="mmc" CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y +CONFIG_DFU_MMC=y CONFIG_DM_KEYBOARD=y CONFIG_DM_MMC=y CONFIG_MMC_SDHCI=y @@ -26,6 +28,15 @@ CONFIG_MMC_SDHCI_BCM2835=y CONFIG_PINCTRL=y # CONFIG_PINCTRL_GENERIC is not set # CONFIG_REQUIRE_SERIAL_CONSOLE is not set +CONFIG_USB=y +CONFIG_DM_USB=y +CONFIG_DM_USB_GADGET=y +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_MANUFACTURER="FSL" +CONFIG_USB_GADGET_VENDOR_NUM=0x0525 +CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 +CONFIG_USB_GADGET_DWC2_OTG=y +CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_DM_VIDEO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_CONSOLE_SCROLL_LINES=10 diff --git a/include/configs/rpi.h b/include/configs/rpi.h index 77d2d5458a..bfe76eb392 100644 --- a/include/configs/rpi.h +++ b/include/configs/rpi.h @@ -70,6 +70,22 @@ #define CONFIG_TFTP_TSIZE #endif +/* DFU over USB/UDC */ +#ifdef CONFIG_CMD_DFU +#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_1M +#define CONFIG_SYS_DFU_MAX_FILE_SIZE SZ_2M + +#ifdef CONFIG_ARM64 +#define KERNEL_FILENAME "Image.gz" +#else +#define KERNEL_FILENAME "zImage" +#endif +#define ENV_DFU_SETTINGS \ + "dfu_alt_info=u-boot.bin fat 0 1;uboot.env fat 0 1;" \ + "config.txt fat 0 1;cmdline.txt fat 0 1;" \ + KERNEL_FILENAME " fat 0 1\0" +#endif + /* Console configuration */ #define CONFIG_SYS_CBSIZE 1024 @@ -185,6 +201,7 @@ #define CONFIG_EXTRA_ENV_SETTINGS \ "dhcpuboot=usb start; dhcp u-boot.uimg; bootm\0" \ ENV_DEVICE_SETTINGS \ + ENV_DFU_SETTINGS \ ENV_MEM_LAYOUT_SETTINGS \ BOOTENV