{"id":1745900,"url":"http://patchwork.ozlabs.org/api/patches/1745900/?format=json","web_url":"http://patchwork.ozlabs.org/project/uboot/patch/20230221201925.9644-23-pali@kernel.org/","project":{"id":18,"url":"http://patchwork.ozlabs.org/api/projects/18/?format=json","name":"U-Boot","link_name":"uboot","list_id":"u-boot.lists.denx.de","list_email":"u-boot@lists.denx.de","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20230221201925.9644-23-pali@kernel.org>","list_archive_url":null,"date":"2023-02-21T20:18:48","name":"[RFC,u-boot-mvebu,22/59] cmd: mvebu/bubt: Add support for reading image from the SATA disk partition","commit_ref":"4bf91e2203f8590b11d4aff86e3a4da6db221093","pull_url":null,"state":"accepted","archived":false,"hash":"7c46f3493bbf8e4f9969dc34544d33a9f1b6af92","submitter":{"id":78810,"url":"http://patchwork.ozlabs.org/api/people/78810/?format=json","name":"Pali Rohár","email":"pali@kernel.org"},"delegate":{"id":1696,"url":"http://patchwork.ozlabs.org/api/users/1696/?format=json","username":"stroese","first_name":"Stefan","last_name":"Roese","email":"sr@denx.de"},"mbox":"http://patchwork.ozlabs.org/project/uboot/patch/20230221201925.9644-23-pali@kernel.org/mbox/","series":[{"id":343058,"url":"http://patchwork.ozlabs.org/api/series/343058/?format=json","web_url":"http://patchwork.ozlabs.org/project/uboot/list/?series=343058","date":"2023-02-21T20:18:27","name":"arm: mvebu: Various fixes","version":1,"mbox":"http://patchwork.ozlabs.org/series/343058/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/1745900/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/1745900/checks/","tags":{},"related":[],"headers":{"Return-Path":"<u-boot-bounces@lists.denx.de>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=85.214.62.61; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=<UNKNOWN>)","legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=r/89Tn2F;\n\tdkim-atps=neutral","phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=kernel.org","phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de","phobos.denx.de;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.b=\"r/89Tn2F\";\n\tdkim-atps=neutral","phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=kernel.org","phobos.denx.de; spf=pass smtp.mailfrom=pali@kernel.org"],"Received":["from phobos.denx.de (phobos.denx.de [85.214.62.61])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange X25519 server-signature ECDSA (P-384))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4PLrZ75TQzz23j7\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Feb 2023 07:32:31 +1100 (AEDT)","from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id 31F2D85B67;\n\tTue, 21 Feb 2023 21:24:29 +0100 (CET)","by phobos.denx.de (Postfix, from userid 109)\n id AFA2285A60; Tue, 21 Feb 2023 21:23:50 +0100 (CET)","from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])\n (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n bits)) (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id 9164485ABE\n for <u-boot@lists.denx.de>; Tue, 21 Feb 2023 21:22:43 +0100 (CET)","from smtp.kernel.org (relay.kernel.org [52.25.139.140])\n (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n (No client certificate requested)\n by dfw.source.kernel.org (Postfix) with ESMTPS id EDAE3611E2;\n Tue, 21 Feb 2023 20:22:33 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id 749B8C433D2;\n Tue, 21 Feb 2023 20:22:33 +0000 (UTC)","by pali.im (Postfix)\n id E721E9FC; Tue, 21 Feb 2023 21:22:30 +0100 (CET)"],"X-Spam-Checker-Version":"SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de","X-Spam-Level":"","X-Spam-Status":"No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,\n DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,\n SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n s=k20201202; t=1677010953;\n bh=iyD9wAGKmVtagSxUXf1PCSSv59YFs6I3npymJQ1IhZU=;\n h=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n b=r/89Tn2FwWxI4U+KwXbIzqvS/aoYCScFn8+G49LkUbzKYyckI4WjAH/VajX8p/NkY\n OhAqCkfjoaAc/Z2yPUIZ91+VNVEh5i+8CopGTNglSxdzTWSkfvwhmqb4pOX4+KUDLo\n VlIZqbdXmgO8O15yzJ04/Z72kSJCbuMd6Ikfr6F94AwyG1e4cjHmV8y8zLrQ89VB/A\n J4lBolfvtqBwUMj7aY03RxhQaykY8O6fwFdcalgiiK7rD1pOp4C3o7xaJ047whtN98\n 0uFYNdqYZV/Tz8tHYY1P2LS/O31VPx3fehTQ1opei4khhb8VNJh/SUsrNyo7SEYfLh\n E2ZJqLjjtUzPg==","From":"=?utf-8?q?Pali_Roh=C3=A1r?= <pali@kernel.org>","To":"u-boot@lists.denx.de","Cc":"Stefan Roese <sr@denx.de>, Tony Dinh <mibodhi@gmail.com>,\n Josua Mayer <josua@solid-run.com>","Subject":"[PATCH RFC u-boot-mvebu 22/59] cmd: mvebu/bubt: Add support for\n reading image from the SATA disk partition","Date":"Tue, 21 Feb 2023 21:18:48 +0100","Message-Id":"<20230221201925.9644-23-pali@kernel.org>","X-Mailer":"git-send-email 2.20.1","In-Reply-To":"<20230221201925.9644-1-pali@kernel.org>","References":"<20230221201925.9644-1-pali@kernel.org>","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.39","Precedence":"list","List-Id":"U-Boot discussion <u-boot.lists.denx.de>","List-Unsubscribe":"<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>","List-Archive":"<https://lists.denx.de/pipermail/u-boot/>","List-Post":"<mailto:u-boot@lists.denx.de>","List-Help":"<mailto:u-boot-request@lists.denx.de?subject=help>","List-Subscribe":"<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>","Errors-To":"u-boot-bounces@lists.denx.de","Sender":"\"U-Boot\" <u-boot-bounces@lists.denx.de>","X-Virus-Scanned":"clamav-milter 0.103.6 at phobos.denx.de","X-Virus-Status":"Clean"},"content":"This change allows to load boot image from the first SATA/SCSI device\npartition and burn it to board boot location (e.g. SPI-NOR). This is\nparticularly when storage device is not handled by U-Boot as USB mass\nstorage (which is already supported by bubt) but as SATA/SCSI device.\n\nSigned-off-by: Pali Rohár <pali@kernel.org>\n---\n cmd/mvebu/bubt.c       | 39 +++++++++++++++++++++++++++++++++++++--\n doc/mvebu/cmd/bubt.txt |  2 +-\n 2 files changed, 38 insertions(+), 3 deletions(-)","diff":"diff --git a/cmd/mvebu/bubt.c b/cmd/mvebu/bubt.c\nindex 1d51fde579b5..df6b73c6a172 100644\n--- a/cmd/mvebu/bubt.c\n+++ b/cmd/mvebu/bubt.c\n@@ -420,6 +420,36 @@ static int sata_burn_image(size_t image_size)\n #endif\n }\n \n+static size_t sata_read_file(const char *file_name)\n+{\n+\tloff_t act_read = 0;\n+\tstruct udevice *dev;\n+\tint rc;\n+\n+\t/* try to recognize storage devices immediately */\n+\tscsi_scan(false);\n+\n+\t/* Try to recognize storage devices immediately */\n+\tblk_first_device(UCLASS_SCSI, &dev);\n+\tif (!dev) {\n+\t\tprintf(\"Error: SATA device not found\\n\");\n+\t\treturn 0;\n+\t}\n+\n+\t/* Always load from scsi 0 */\n+\tif (fs_set_blk_dev(\"scsi\", \"0\", FS_TYPE_ANY)) {\n+\t\tprintf(\"Error: SATA 0 not found\\n\");\n+\t\treturn 0;\n+\t}\n+\n+\t/* Perfrom file read */\n+\trc = fs_read(file_name, get_load_addr(), 0, 0, &act_read);\n+\tif (rc)\n+\t\treturn 0;\n+\n+\treturn act_read;\n+}\n+\n static int is_sata_active(void)\n {\n \treturn 1;\n@@ -430,6 +460,11 @@ static int sata_burn_image(size_t image_size)\n \treturn -ENODEV;\n }\n \n+static size_t sata_read_file(const char *file_name)\n+{\n+\treturn 0;\n+}\n+\n static int is_sata_active(void)\n {\n \treturn 0;\n@@ -656,7 +691,7 @@ struct bubt_dev bubt_devs[BUBT_MAX_DEV] = {\n \t{\"tftp\", tftp_read_file, NULL, is_tftp_active},\n \t{\"usb\",  usb_read_file,  NULL, is_usb_active},\n \t{\"mmc\",  mmc_read_file,  mmc_burn_image, is_mmc_active},\n-\t{\"sata\",  NULL, sata_burn_image,  is_sata_active},\n+\t{\"sata\", sata_read_file, sata_burn_image,  is_sata_active},\n \t{\"spi\",  NULL, spi_burn_image,  is_spi_active},\n \t{\"nand\", NULL, nand_burn_image, is_nand_active},\n };\n@@ -1206,7 +1241,7 @@ U_BOOT_CMD(\n \t\"[file-name] [destination [source]]\\n\"\n \t\"\\t-file-name     The image file name to burn. Default = \" CONFIG_MVEBU_UBOOT_DFLT_NAME \"\\n\"\n \t\"\\t-destination   Flash to burn to [spi, nand, mmc, sata]. Default = \" DEFAULT_BUBT_DST \"\\n\"\n-\t\"\\t-source        The source to load image from [tftp, usb, mmc]. Default = \" DEFAULT_BUBT_SRC \"\\n\"\n+\t\"\\t-source        The source to load image from [tftp, usb, mmc, sata]. Default = \" DEFAULT_BUBT_SRC \"\\n\"\n \t\"Examples:\\n\"\n \t\"\\tbubt - Burn flash-image.bin from tftp to active boot device\\n\"\n \t\"\\tbubt flash-image-new.bin nand - Burn flash-image-new.bin from tftp to NAND flash\\n\"\ndiff --git a/doc/mvebu/cmd/bubt.txt b/doc/mvebu/cmd/bubt.txt\nindex 515e4fb1b0e8..52bd3e66c51e 100644\n--- a/doc/mvebu/cmd/bubt.txt\n+++ b/doc/mvebu/cmd/bubt.txt\n@@ -6,7 +6,7 @@ The bubt command gets the following parameters: ATF file name, destination devic\n bubt [file-name] [destination [source]]\n \t- file-name\t\tImage file name to burn. default = flash-image.bin\n \t- destination\t\tFlash to burn to [spi, nand, mmc, sata]. default = active flash\n-\t- source\t\tSource to load image from [tftp, usb]. default = tftp\n+\t- source\t\tSource to load image from [tftp, usb, mmc, sata]. default = tftp\n \n Examples:\n \tbubt\t\t\t\t- Burn flash-image.bin from tftp to active flash\n","prefixes":["RFC","u-boot-mvebu","22/59"]}