From patchwork Fri Nov 15 13:47:56 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Szyprowski X-Patchwork-Id: 1195645 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 (no SPF record) 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="elkUz24A"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 47F0CV0SXdz9sPF for ; Sat, 16 Nov 2019 00:52:19 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 6A08CC21EBA; Fri, 15 Nov 2019 13:52:12 +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 764E8C21DD3; Fri, 15 Nov 2019 13:52:10 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 99F2BC21DD3; Fri, 15 Nov 2019 13:52:08 +0000 (UTC) Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by lists.denx.de (Postfix) with ESMTPS id C85A5C21C4A for ; Fri, 15 Nov 2019 13:52:07 +0000 (UTC) Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20191115135206euoutp02fe3470b94f081644509186525a01d901~XWld4X08N2559025590euoutp02t for ; Fri, 15 Nov 2019 13:52:06 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20191115135206euoutp02fe3470b94f081644509186525a01d901~XWld4X08N2559025590euoutp02t DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1573825926; bh=rQZR4ylB/iX4XBCtk/RJXFV+7eqLNMlSLxxO/llVkzI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=elkUz24AJDOKE30Q85bJ87DTQpiiTYH+HMS2IOwCWpow52fqMr4AQjGmnNTtcKlyK r5ql6zt7Kn/AIIdT8DBKW3l3zM49fKAPhHvmfxHgPkBMYNNjqu22uhAa9ZZW8blCJU S7R6M3EDxxyvmvZJK0aGMbKgL+L/z0kxeZ2H+vlg= Received: from eusmges2new.samsung.com (unknown [203.254.199.244]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20191115135206eucas1p22d3e7af5445ff8307b9e084bc0536788~XWldiFTRw0602706027eucas1p2R; Fri, 15 Nov 2019 13:52:06 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges2new.samsung.com (EUCPMTA) with SMTP id 60.02.04309.68DAECD5; Fri, 15 Nov 2019 13:52:06 +0000 (GMT) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20191115135205eucas1p1a85a93b9b9e8e03164ad2945feef7598~XWlc4DRX90133701337eucas1p1m; Fri, 15 Nov 2019 13:52:05 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20191115135205eusmtrp2f15bf0f0c9210ed6c878d665a01e2503~XWlc3TIY92054920549eusmtrp2l; Fri, 15 Nov 2019 13:52:05 +0000 (GMT) X-AuditID: cbfec7f4-afbff700000010d5-ee-5dcead867a00 Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id 29.BC.04166.58DAECD5; Fri, 15 Nov 2019 13:52:05 +0000 (GMT) Received: from AMDC2765.digital.local (unknown [106.120.51.73]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20191115135204eusmtip1282f7023b1cd9a4c595afcb6d02dd6d6~XWlcax-YS2805228052eusmtip1-; Fri, 15 Nov 2019 13:52:04 +0000 (GMT) From: Marek Szyprowski To: u-boot@lists.denx.de Date: Fri, 15 Nov 2019 14:47:56 +0100 Message-Id: <20191115134756.12319-1-m.szyprowski@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrPIsWRmVeSWpSXmKPExsWy7djPc7pta8/FGizewmKxccZ6Vosbv9pY LZ6/u8xksfbIXXaLBZOfsFpsmP+WxWLG5JdsFm/3drI7cHjMm3WCxePsnR2MHn1bVjF6rN9y lcVj0yuPANYoLpuU1JzMstQifbsEroxfyy8xFTyTq5h68QlrA+NmqS5GDg4JAROJ43OSuxi5 OIQEVjBKnGnZzdzFyAnkfGGU+PDNCiLxmVFi+vqdbCAJkIZNBz+wQiSWM0pcufyICa6j/W0U iM0mYCjR9bYLrEFEQELiV/9VRpAGZoHtTBLtrddZQBLCAt4Ssw/8B2tmEVCVePvvBlgDr4Ct xOQ/q1khtslLrN5wAOwkTgEbiQNP+9kh4r/ZJP6s1IawXSSabmyDigtLvDq+BcqWkfi/cz4T yGIJgWZGiYfn1rJDOD2MEpebZjBCVFlLHD5+kRUUGMwCmhLrd+lDhB0lbvd9ZoeEEZ/EjbeC IGFmIHPStunMEGFeiY42IYhqNYlZx9fBrT144RIzhO0hcfJBCzMksPoZJT4/e8s8gVF+FsKy BYyMqxjFU0uLc9NTi43yUsv1ihNzi0vz0vWS83M3MQKTxel/x7/sYNz1J+kQowAHoxIPr8Pk c7FCrIllxZW5hxglOJiVRHinvD0TK8SbklhZlVqUH19UmpNafIhRmoNFSZy3muFBtJBAemJJ anZqakFqEUyWiYNTqoFx9sR8K6dYN60diupLG3fvVBWt7e2SOrdcYmbasnOLotzLeU2T/m7a 9OSqQXzHSwUNv9aLduv0e9I2T9rG8Tb9aHiHq5jJ/d2y6dp3LPdsm/df3z7rZ2GnfLH0fZbV T3Y88i64/uph4PfdJivV1z1m+Hhe4ierjZKMTWQL8y/T+a4yrdM37HqjxFKckWioxVxUnAgA LslLvhIDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrMLMWRmVeSWpSXmKPExsVy+t/xu7qta8/FGsyeI2KxccZ6Vosbv9pY LZ6/u8xksfbIXXaLBZOfsFpsmP+WxWLG5JdsFm/3drI7cHjMm3WCxePsnR2MHn1bVjF6rN9y lcVj0yuPANYoPZui/NKSVIWM/OISW6VoQwsjPUNLCz0jE0s9Q2PzWCsjUyV9O5uU1JzMstQi fbsEvYxfyy8xFTyTq5h68QlrA+NmqS5GTg4JAROJTQc/sHYxcnEICSxllHh84TwbREJG4uS0 BlYIW1jiz7UuNoiiT4wSu39dBStiEzCU6HrbBWaLCEhI/Oq/yghSxCywm0ni+qpjjCAJYQFv idkH/jOB2CwCqhJv/90Aa+AVsJWY/Gc11AZ5idUbDjCD2JwCNhIHnvazg9hCAtYSB1+uZZrA yLeAkWEVo0hqaXFuem6xoV5xYm5xaV66XnJ+7iZGYABvO/Zz8w7GSxuDDzEKcDAq8fA6TD4X K8SaWFZcmXuIUYKDWUmEd8rbM7FCvCmJlVWpRfnxRaU5qcWHGE2BjprILCWanA+MrrySeENT Q3MLS0NzY3NjMwslcd4OgYMxQgLpiSWp2ampBalFMH1MHJxSDYxptaU+T3s4PuareHPOsLxT d4hv3fxKJtm2T733rt/3VS+XNTrynnVthPQq3ye8rEmnM1OeJl/bYdh4+Zo798qw09dndf3W YnihGcUe/Va6puLnX9O1wvpHj5woVG5apnfhwsPA0oLyi3vuf6+d/mN2Ktv/ik9H/7Rzv3HS q2b8XqbaeW3JhudKLMUZiYZazEXFiQBW91z1dgIAAA== X-CMS-MailID: 20191115135205eucas1p1a85a93b9b9e8e03164ad2945feef7598 X-Msg-Generator: CA X-RootMTR: 20191115135205eucas1p1a85a93b9b9e8e03164ad2945feef7598 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20191115135205eucas1p1a85a93b9b9e8e03164ad2945feef7598 References: Cc: Matthias Brugger , Bartlomiej Zolnierkiewicz , Marek Szyprowski Subject: [U-Boot] [PATCH v3 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 and zImage/Image. Signed-off-by: Marek Szyprowski Reviewed-by: Lukasz Majewski --- Changelog: v3: - fixed non-RPi4 builds (missing #else ENV_DFU_SETTINGS def) - removed config.txt entity (not needed in uboot-based boot) - switched arm64 kernel filename to 'Image' --- configs/rpi_4_32b_defconfig | 11 +++++++++++ configs/rpi_4_defconfig | 11 +++++++++++ include/configs/rpi.h | 20 ++++++++++++++++++++ 3 files changed, 42 insertions(+) diff --git a/configs/rpi_4_32b_defconfig b/configs/rpi_4_32b_defconfig index dc696906fd..a0ba8782bc 100644 --- a/configs/rpi_4_32b_defconfig +++ b/configs/rpi_4_32b_defconfig @@ -11,6 +11,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_OF_BOARD=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 2954e17ac3..2fcd56ebf3 100644 --- a/configs/rpi_4_defconfig +++ b/configs/rpi_4_defconfig @@ -11,6 +11,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_OF_BOARD=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..6723c7cc92 100644 --- a/include/configs/rpi.h +++ b/include/configs/rpi.h @@ -70,6 +70,25 @@ #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" +#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;" \ + KERNEL_FILENAME " fat 0 1\0" +#else +#define ENV_DFU_SETTINGS "" +#endif + /* Console configuration */ #define CONFIG_SYS_CBSIZE 1024 @@ -185,6 +204,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