From patchwork Tue Nov 26 08:15:12 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Szyprowski X-Patchwork-Id: 1200800 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="j/GVDPQD"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 47McJD45sPz9sP3 for ; Tue, 26 Nov 2019 19:19:24 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 3E52EC21E31; Tue, 26 Nov 2019 08:17:41 +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 98819C21F60; Tue, 26 Nov 2019 08:15:51 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 64441C21E31; Tue, 26 Nov 2019 08:15:47 +0000 (UTC) Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by lists.denx.de (Postfix) with ESMTPS id 1B011C21E3A for ; Tue, 26 Nov 2019 08:15:47 +0000 (UTC) Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20191126081546euoutp024019d1a0163c3957889c86020b2ad5ed~aqF9BWNKt0387603876euoutp02J for ; Tue, 26 Nov 2019 08:15:46 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20191126081546euoutp024019d1a0163c3957889c86020b2ad5ed~aqF9BWNKt0387603876euoutp02J DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1574756146; bh=l9F4AXCv2GG82iH5ZecO2n/rIfeCFj/rzAISlqHurX4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=j/GVDPQDjP/3K092PWnyTwnlwGNae6mHuEp4eAVAFlQHu8GC1t5amw6KH757nPNXI l3C2I+BiDoPt4m3pKmV10twmGC95sPhq3Ty/25EIqBiEJBHaTU3Ko97jzfLYCh4c8M //xb3EofSgWdudV3M0275xrinqy9+UtMGU10774U= Received: from eusmges2new.samsung.com (unknown [203.254.199.244]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20191126081546eucas1p27690ad5ced72aaffc5cb06f780c3cc03~aqF811Xwu1077010770eucas1p2q; Tue, 26 Nov 2019 08:15:46 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges2new.samsung.com (EUCPMTA) with SMTP id BD.F8.60679.23FDCDD5; Tue, 26 Nov 2019 08:15:46 +0000 (GMT) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20191126081546eucas1p1675c62b81257bb33e08278d65eee2544~aqF8iLW0k0404904049eucas1p1A; Tue, 26 Nov 2019 08:15:46 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20191126081546eusmtrp27f71ae29b9cdaf956f5aac40d02f5211~aqF8hoHNd1968519685eusmtrp2D; Tue, 26 Nov 2019 08:15:46 +0000 (GMT) X-AuditID: cbfec7f4-0cbff7000001ed07-8f-5ddcdf32da1b Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id 05.D3.08375.23FDCDD5; Tue, 26 Nov 2019 08:15:46 +0000 (GMT) Received: from AMDC2765.digital.local (unknown [106.120.51.73]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20191126081545eusmtip28f94d92b414b64630b5a4a374342e834~aqF8F2fmq2192621926eusmtip2R; Tue, 26 Nov 2019 08:15:45 +0000 (GMT) From: Marek Szyprowski To: u-boot@lists.denx.de Date: Tue, 26 Nov 2019 09:15:12 +0100 Message-Id: <20191126081512.5138-7-m.szyprowski@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191126081512.5138-1-m.szyprowski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpkleLIzCtJLcpLzFFi42LZduzneV2j+3diDeZflbPYOGM9q8WNX22s Fs/fXWayWHvkLrvFgslPWC02zH/LYjFj8ks2i7d7O9kdODzmzTrB4nH2zg5Gj74tqxg91m+5 yuKx6ZVHAGsUl01Kak5mWWqRvl0CV8ahPZvYClbIVjRtWsDcwDhNsouRk0NCwETi360+xi5G Lg4hgRWMEi/PXmaCcL4wShyZPpcdpEpI4DOjxMTNBTAdt/fcgupYzijxeeF9NriOOVvvgnWw CRhKdL3tYgOxRQQkJH71XwXrYBbYziTR3nqdBSQhLOAtMfvAf6B9HBwsAqoSSw8LgoR5BWwk 3sxvYYbYJi+xesMBMJtTwFbi17x/7CBzJAS+s0ks7fnMCFHkInG6r58JwhaWeHV8CzuELSPx f+d8JoiGZkaJh+fWQnX3MEpcbpoB1W0tcfj4RVaQK5gFNCXW79KHCDtK/D/XCXachACfxI23 YMcxA5mTtk1nhgjzSnS0CUFUq0nMOr4Obu3BC5eg7veQeHTiPgskgCYwSjz7s4JxAqP8LIRl CxgZVzGKp5YW56anFhvlpZbrFSfmFpfmpesl5+duYgQmjNP/jn/ZwbjrT9IhRgEORiUe3h9n b8cKsSaWFVfmHmKU4GBWEuHVPnwnVog3JbGyKrUoP76oNCe1+BCjNAeLkjhvNcODaCGB9MSS 1OzU1ILUIpgsEwenVAOj5oadX3SXe2xwuhOZIv9enGHF5iwR0Y1nFIKc9gYu7Heqary3q3nH JYOSNQa3A3dVL+KUWfjXpf2ncP/PdvuJps01rF3l1wRzDlkIPP3g67yscaHhKgYJTWGPd1vV T8fsjjgxR1WW6QJvkajOL+vlorMzjpgJeEu9P3bpk8fa5mlLK6f5cH1XYinOSDTUYi4qTgQA ZVOxNxQDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrELMWRmVeSWpSXmKPExsVy+t/xe7pG9+/EGvy4ymexccZ6Vosbv9pY LZ6/u8xksfbIXXaLBZOfsFpsmP+WxWLG5JdsFm/3drI7cHjMm3WCxePsnR2MHn1bVjF6rN9y lcVj0yuPANYoPZui/NKSVIWM/OISW6VoQwsjPUNLCz0jE0s9Q2PzWCsjUyV9O5uU1JzMstQi fbsEvYxDezaxFayQrWjatIC5gXGaZBcjJ4eEgInE7T23GLsYuTiEBJYySjR1tbBCJGQkTk5r gLKFJf5c62KDKPrEKPF9/w02kASbgKFE19suMFtEQELiV/9VsEnMAruZJK6vOsYIkhAW8JaY feA/UxcjBweLgKrE0sOCIGFeARuJN/NbmCEWyEus3nAAzOYUsJX4Ne8fO4gtBFQz8dg/5gmM fAsYGVYxiqSWFuem5xYb6hUn5haX5qXrJefnbmIEhu+2Yz8372C8tDH4EKMAB6MSD++Ps7dj hVgTy4orcw8xSnAwK4nwah++EyvEm5JYWZValB9fVJqTWnyI0RToponMUqLJ+cDYyiuJNzQ1 NLewNDQ3Njc2s1AS5+0QOBgjJJCeWJKanZpakFoE08fEwSnVwNjxSG6iZsj+q9Pn3rpYN6Oj Umt9wfHJkaJM6Yf4WteoyWqsmXCYQzpt+s6C5v9v47Ms/mXqCnR1OPN15gdWqm8+Laq/oFWz u9BzkmY2MwvHNeOp5o6v3dYfTq3VZBOYcS5mS7ISn8MzkQi+GSLanQ4HFWMVva7OCDcrFN9Y XZnZ4MUUGeWkxFKckWioxVxUnAgAxNcnOXUCAAA= X-CMS-MailID: 20191126081546eucas1p1675c62b81257bb33e08278d65eee2544 X-Msg-Generator: CA X-RootMTR: 20191126081546eucas1p1675c62b81257bb33e08278d65eee2544 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20191126081546eucas1p1675c62b81257bb33e08278d65eee2544 References: <20191126081512.5138-1-m.szyprowski@samsung.com> 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 --- 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