From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 64B57C433EF for ; Fri, 24 Sep 2021 21:07:34 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C0B9561284 for ; Fri, 24 Sep 2021 21:07:33 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org C0B9561284 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.denx.de Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id C5FF2834E3; Fri, 24 Sep 2021 23:07:30 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=kernel.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.b="ZIn+yflV"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 7ABBB82DF7; Fri, 24 Sep 2021 23:07:27 +0200 (CEST) Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 2132A834A0 for ; Fri, 24 Sep 2021 23:07:22 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=kernel.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=kabel@kernel.org Received: by mail.kernel.org (Postfix) with ESMTPSA id E563760FC1; Fri, 24 Sep 2021 21:07:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1632517640; bh=jdMeM6pT6beEZSBRuduZZu5cs0Yq5b2dtNf2ElovviM=; h=From:To:Cc:Subject:Date:From; b=ZIn+yflVaJv1mN4V7n4jWTmvlQkPbz0n7Z1/LSlsifASnMCjk3J5zZTH5u/ZnKTcJ cWFn/RsyhCLuiuJN13s5o9gMcDQRGRIGmvYImqwR2XcCHvfQQNhqeAjFNpT+0YeA40 wOBQsZJSFeTF+vhHsvw3tmnB4JKIJkQLxNbSCHGmd4tAX726Kol96xmFscqbkTSjke w4D7OE5BRnwQV2tNJ1EclCLJSfAUOj6U0wRupwA8eAbahvzB+G/pX5lirw8qVrN8jY WDBateWrH82j5HvCSYwtfV8Mnw4AAI8ShqPpFWtkXIe/nBn/x09Daup68NEPhZ770H q2i+QAeX2v2+g== From: =?UTF-8?q?Marek=20Beh=C3=BAn?= To: Stefan Roese Cc: u-boot@lists.denx.de, pali@kernel.org, Chris Packham , Baruch Siach , Dennis Gilmore , Mario Six , Jon Nettleton , =?UTF-8?q?Marek=20Beh=C3=BAn?= Subject: [PATCH u-boot-marvell v3 00/39] kwboot higher baudrate Date: Fri, 24 Sep 2021 23:06:37 +0200 Message-Id: <20210924210716.29752-1-kabel@kernel.org> X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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.103.2 at phobos.denx.de X-Virus-Status: Clean From: Marek Behún Hello Stefan and others, here's v3 of series adding support for booting Marvell platforms via UART (those bootable with kwboot) at higher baudrates. Tested on Turris Omnia up to 5.15 MBd, which is 44x faster than 115200 Bd. The user can direct kwboot to use higher baudrate via the -B option. (BTW this option was there before but did not work with the -b option.) Only the payload part of the KWB image is uploaded at this higher baudrate. The header part is still uploaded at 115200 Bd, since the code that changes baudrate is injected into header as a binary extension. (The payload part makes up majority of the binary, though. On Turris Omnia the payload currently makes ~87%.) The series also contains various other fixes, refactors and improvements of the code, upon which the main change is done. Marek & Pali Changes since v2: - fixed integer overflow in patch 15 - fixed commit title in patch 32 Changes since v1: - fixed uploading of older kwb images, now all kwb images should be able to upload at faster baudrate - fixed injecting code that changes baudrate back - various other fixes and refactors, the best way to compare with v1 is to apply v1 and v2 separately and compare the resulting kwboot.c Marek Behún (19): tools: kwbimage: Fix printf format warning tools: kwboot: Fix buffer overflow in kwboot_terminal() tools: kwboot: Make the quit sequence buffer const tools: kwboot: Refactor and fix writing buffer tools: kwboot: Fix comparison of integers with different size tools: kwboot: Use a function to check whether received byte is a Xmodem reply tools: kwboot: Print new line after SPL output tools: kwboot: Allow greater timeout when executing header code tools: kwboot: Prevent waiting indefinitely if no xmodem reply is received tools: kwbimage: Simplify iteration over version 1 optional headers tools: kwbimage: Refactor image_version() tools: kwbimage: Refactor kwbimage header size determination tools: kwboot: Explicitly check against size of struct main_hdr_v1 tools: kwboot: Check whether baudrate was set to requested value tools: kwboot: Cosmetic fix tools: kwboot: Avoid code repetition in kwboot_img_patch() tools: kwboot: Update file header doc/kwboot.1: Update man page MAINTAINERS: Add entry for kwbimage / kwboot tools Pali Rohár (20): tools: kwboot: Print version information header tools: kwboot: Fix kwboot_xm_sendblock() function when kwboot_tty_recv() fails tools: kwboot: Fix return type of kwboot_xm_makeblock() function tools: kwboot: Fix printing progress tools: kwboot: Print newline on error when progress was not completed tools: kwboot: Split sending image into header and data stages tools: kwboot: Allow non-xmodem text output from BootROM only in a specific case tools: kwboot: Properly finish xmodem transfer tools: kwboot: Always call kwboot_img_patch_hdr() tools: kwboot: Don't patch image header if signed tools: kwboot: Patch source address in image header tools: kwboot: Patch destination address to DDR area for SPI image tools: kwbimage: Update comments describing kwbimage v1 structures tools: kwboot: Round up header size to 128 B when patching tools: kwboot: Support higher baudrates when booting via UART tools: kwboot: Allow any baudrate on Linux tools: kwboot: Fix initializing tty device tools: kwboot: Disable tty interbyte timeout tools: kwboot: Disable non-blocking mode tools: kwboot: Add Pali and Marek as authors MAINTAINERS | 10 + doc/kwboot.1 | 60 ++- tools/kwbimage.c | 130 ++--- tools/kwbimage.h | 99 +++- tools/kwboot.c | 1197 +++++++++++++++++++++++++++++++++++------ tools/termios_linux.h | 189 +++++++ 6 files changed, 1385 insertions(+), 300 deletions(-) create mode 100644 tools/termios_linux.h -- 2.32.0