From patchwork Wed Mar 31 08:17:23 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Simek X-Patchwork-Id: 1460400 X-Patchwork-Delegate: monstr@monstr.eu Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=monstr-eu.20150623.gappssmtp.com header.i=@monstr-eu.20150623.gappssmtp.com header.a=rsa-sha256 header.s=20150623 header.b=La9JpfB6; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4F9K2b05Vmz9sW0 for ; Wed, 31 Mar 2021 19:18:30 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id ABC2B8290A; Wed, 31 Mar 2021 10:17:50 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=xilinx.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=monstr-eu.20150623.gappssmtp.com header.i=@monstr-eu.20150623.gappssmtp.com header.b="La9JpfB6"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 5F71F828BC; Wed, 31 Mar 2021 10:17:42 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,SPF_HELO_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com [IPv6:2a00:1450:4864:20::534]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 2B884828A4 for ; Wed, 31 Mar 2021 10:17:37 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=xilinx.com Authentication-Results: phobos.denx.de; spf=none smtp.mailfrom=monstr@monstr.eu Received: by mail-ed1-x534.google.com with SMTP id dm8so21264202edb.2 for ; Wed, 31 Mar 2021 01:17:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monstr-eu.20150623.gappssmtp.com; s=20150623; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=nJ/AiYEq2LGGWiRf0JcZoBrBec80i87fiaaC3q1Ep2Y=; b=La9JpfB6XNb1orws72Ox3ZcZroorsv0VSEwMwJ4mpqBV4OorSl0BnOSqyVRIDDy5Bl cSmXljhN7acbaY5XU4ALtQ2MW6okFKOu8lYLk3A0/ASpKUCgovbi+0xVOO8mosAdV8BO Fgtwvi/T9ucvb76YW0gzgwsD0oeUdpIk1UTWI+94XaypYyrZCE+9nu9ElAlrERRyG38f woYr1VIqNxxDs8Jjuxvsgfh8o3ghrmjpeAqmc3+Ckx9XGOpbwL196l+rKuacs41oL4JE ZbOtTq5WnBcPIYZ90Cjxfgk0lKHxy0WWhqLbJXbONhNGIDgIdHvwrLEYYfPgz2+QhrHP GbmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=nJ/AiYEq2LGGWiRf0JcZoBrBec80i87fiaaC3q1Ep2Y=; b=UTHmdLe9U5SOWDnnmO5AjwOpoDQs9hRZaITvBmXWAqw1/lJ2sRFQQBmGADt6xKekYU nGnFVyGgEr1ER7+/TTYzRcIR4+1vNGccn1otaos8asXKuTuH+Hqk6i5icxA4aoxxH1RP WqsqHhrfZ3jECzGGdhuQ8TGWJwM5lsxmHhDVndmMBThhPUfyjRBprdj5KQ4BFj311XXV f95SXEYYP0iVshGpLmzTzuBBgmqQ5JVFgHJhy21uz9B1jrZj/lz085PRI1jTsg3s68gR 5MDCCVGMBFptBweZORCjMxUN6DHLALDigi86WGyz37CCSwVUdAh0bYhVWz7Ynh9mpFhW TV8A== X-Gm-Message-State: AOAM5307TDYcV/1YZAl8miwBgnLWq0/61eYwk4BYqtTiksD+2t1KxNa0 LvlZArJF+N14/Hu51x3dNjZa5ZwYmfNgAs8k X-Google-Smtp-Source: ABdhPJwN+5ittujenTBfq8SMBnX9n/ES0iZYnm/NBwijJrRu2EYOS6f7uGuOXAFzhtVQceU8Q0Ks6A== X-Received: by 2002:aa7:dcc7:: with SMTP id w7mr2142274edu.255.1617178656650; Wed, 31 Mar 2021 01:17:36 -0700 (PDT) Received: from localhost ([2a02:768:2307:40d6::e05]) by smtp.gmail.com with ESMTPSA id l1sm936655edt.59.2021.03.31.01.17.36 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 31 Mar 2021 01:17:36 -0700 (PDT) From: Michal Simek To: u-boot@lists.denx.de, git@xilinx.com Cc: T Karthik Reddy Subject: [PATCH 4/6] xilinx: versal: Add usb dfu/thor distro boot support Date: Wed, 31 Mar 2021 10:17:23 +0200 Message-Id: <69314184c28f11a11da356bf8c9833da0eb499cd.1617178642.git.michal.simek@xilinx.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean From: T Karthik Reddy Change "dfu_usb" to "usb_dfu" for better representation and change required macros. Add 60s timeout of dfu-utils to start transaction. Add support for usb thor to distro boot. Remove DFU_ALT_INFO_RAM as we use bootcmd_usb_dfu instead of dfu_ram. Signed-off-by: T Karthik Reddy Signed-off-by: Michal Simek --- board/xilinx/versal/board.c | 2 +- include/configs/xilinx_versal.h | 52 +++++++++++++++++---------------- 2 files changed, 28 insertions(+), 26 deletions(-) diff --git a/board/xilinx/versal/board.c b/board/xilinx/versal/board.c index 042f3ec4f3a0..806e09b49f1e 100644 --- a/board/xilinx/versal/board.c +++ b/board/xilinx/versal/board.c @@ -130,7 +130,7 @@ int board_late_init(void) switch (bootmode) { case USB_MODE: puts("USB_MODE\n"); - mode = "dfu_usb"; + mode = "usb_dfu0 usb_dfu1"; break; case JTAG_MODE: puts("JTAG_MODE\n"); diff --git a/include/configs/xilinx_versal.h b/include/configs/xilinx_versal.h index f1d2594f3b32..380f93a2f68e 100644 --- a/include/configs/xilinx_versal.h +++ b/include/configs/xilinx_versal.h @@ -50,20 +50,6 @@ #define CONFIG_SYS_DFU_DATA_BUF_SIZE 0x1800000 #define DFU_DEFAULT_POLL_TIMEOUT 300 #define CONFIG_THOR_RESET_OFF -#define DFU_ALT_INFO_RAM \ - "dfu_ram_info=" \ - "setenv dfu_alt_info " \ - "Image ram 80000 $kernel_size_r\\\\;" \ - "system.dtb ram $fdt_addr_r $fdt_size_r\0" \ - "dfu_ram=run dfu_ram_info && dfu 0 ram 0\0" \ - "thor_ram=run dfu_ram_info && thordown 0 ram 0\0" - -#define DFU_ALT_INFO \ - DFU_ALT_INFO_RAM -#endif - -#if !defined(DFU_ALT_INFO) -# define DFU_ALT_INFO #endif /* Ethernet driver */ @@ -129,23 +115,40 @@ #define BOOTENV_DEV_NAME_JTAG(devtypeu, devtypel, instance) \ "jtag " -#define BOOT_TARGET_DEVICES_DFU_USB(func) func(DFU_USB, dfu_usb, 0) +#define BOOT_TARGET_DEVICES_USB_DFU(func) \ + func(USB_DFU, usb_dfu, 0) func(USB_DFU, usb_dfu, 1) + +#define BOOTENV_DEV_USB_DFU(devtypeu, devtypel, instance) \ + "bootcmd_" #devtypel #instance "=setenv dfu_alt_info boot.scr ram " \ + "$scriptaddr $script_size_f && " \ + "dfu " #instance " ram " #instance " 60 && " \ + "echo DFU" #instance ": Trying to boot script at ${scriptaddr} && " \ + "source ${scriptaddr}; " \ + "echo DFU" #instance ": SCRIPT FAILED: continuing...;\0" + +#define BOOTENV_DEV_NAME_USB_DFU(devtypeu, devtypel, instance) \ + "" + +#define BOOT_TARGET_DEVICES_USB_THOR(func) \ + func(USB_THOR, usb_thor, 0) func(USB_THOR, usb_thor, 1) -#define BOOTENV_DEV_DFU_USB(devtypeu, devtypel, instance) \ - "bootcmd_dfu_usb=setenv dfu_alt_info boot.scr ram $scriptaddr " \ - "$script_size_f; dfu 0 ram 0 && " \ - "echo DFU: Trying to boot script at ${scriptaddr} && " \ +#define BOOTENV_DEV_USB_THOR(devtypeu, devtypel, instance) \ + "bootcmd_" #devtypel #instance "=setenv dfu_alt_info boot.scr ram " \ + "$scriptaddr $script_size_f && " \ + "thordown " #instance " ram " #instance " && " \ + "echo THOR" #instance ": Trying to boot script at ${scriptaddr} && " \ "source ${scriptaddr}; " \ - "echo DFU: SCRIPT FAILED: continuing...;\0" + "echo THOR" #instance ": SCRIPT FAILED: continuing...;\0" -#define BOOTENV_DEV_NAME_DFU_USB(devtypeu, devtypel, instance) \ - "dfu_usb " +#define BOOTENV_DEV_NAME_USB_THOR(devtypeu, devtypel, instance) \ + "" #define BOOT_TARGET_DEVICES(func) \ BOOT_TARGET_DEVICES_JTAG(func) \ BOOT_TARGET_DEVICES_MMC(func) \ BOOT_TARGET_DEVICES_XSPI(func) \ - BOOT_TARGET_DEVICES_DFU_USB(func) \ + BOOT_TARGET_DEVICES_USB_DFU(func) \ + BOOT_TARGET_DEVICES_USB_THOR(func) \ BOOT_TARGET_DEVICES_PXE(func) \ BOOT_TARGET_DEVICES_DHCP(func) @@ -155,8 +158,7 @@ #ifndef CONFIG_EXTRA_ENV_SETTINGS #define CONFIG_EXTRA_ENV_SETTINGS \ ENV_MEM_LAYOUT_SETTINGS \ - BOOTENV \ - DFU_ALT_INFO + BOOTENV #endif #endif /* __XILINX_VERSAL_H */