From patchwork Fri Feb 1 15:18:50 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Marcel Ziswiler X-Patchwork-Id: 1034813 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) 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=none (p=none dis=none) header.from=ziswiler.com Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 43rgs90Kz4z9s4V for ; Sat, 2 Feb 2019 02:24:18 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 965B8C21E35; Fri, 1 Feb 2019 15:21:35 +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.0 required=5.0 tests=RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id B977FC21E26; Fri, 1 Feb 2019 15:21:33 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 96B5BC21E26; Fri, 1 Feb 2019 15:19:16 +0000 (UTC) Received: from mout.perfora.net (mout.perfora.net [74.208.4.196]) by lists.denx.de (Postfix) with ESMTPS id B6CB3C21E1E for ; Fri, 1 Feb 2019 15:19:12 +0000 (UTC) Received: from localhost.localdomain ([81.221.68.199]) by mrelay.perfora.net (mreueus002 [74.208.5.2]) with ESMTPSA (Nemesis) id 0Lp5Tm-1hJRlv3M1M-00evFF; Fri, 01 Feb 2019 16:19:08 +0100 From: Marcel Ziswiler To: u-boot@lists.denx.de Date: Fri, 1 Feb 2019 16:18:50 +0100 Message-Id: <20190201151852.13064-2-marcel@ziswiler.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190201151852.13064-1-marcel@ziswiler.com> References: <20190201151852.13064-1-marcel@ziswiler.com> MIME-Version: 1.0 X-Provags-ID: V03:K1:BaGZY0TgcJDAZKt4QKoNH/QrXBNrEQtyoSmJbvq6WWCbhZkZt8+ ZUngg5Pek1w1EpBojR2k0MGbOaprcE/ie65Mbv3ek1lNc4QfQFMLYExEdJ14Rtk8i3kC0bI cLIYtll5cgaX0mHV4rKGvkfMqt9/JKgB6S7RkqUHlYwcoaltdCfYJGQ7xLlMU6y2/B9dM85 teQvlc/WkWdgq2ObpBwQA== X-UI-Out-Filterresults: notjunk:1; V03:K0:hF2vZDIjlls=:eiW4dwED5mdJjyeCkWXqk+ Dl3xo/qVuI+Yi+pQMyiuyFBRYviWDqdbIgv9+Yq5GpVPrpExEbIMMtydPZjRwnSJV/J+EcdrA lhUaWJJcLhGXfUocrhvao2nzhpTs9K++oaACEDr3PJdsSFUEh/u7UV89EgYEVaRKZAGgXpSef cCyVupib/BMeddI5tT2QLrkqcfU+BfwocjnIhZdqWXBwZLhDBm8PfIkiE5fVd7aBK7s0NfNNx uVdyAWwxKJUB6vIoXRB+XIQQiWVh7w4I5dWUm1sl+3eYxQf+6EqLJvkJK1VqYcU9ivXF9eJ29 LGzB0pf0x4z4fBhNRHNr6hBnGEw3S7qBA63WgtvBstcMHnx/gpL4pHvG+B0NL87G66dPELl43 NTvwAQErOljdShLIYjanpZKxkvfdMbI3ldmq9v2Bm/GFh2bzXiQfe0wz+rH2VAC3tEcfLD5gj O7UyVCKGPuaU2SGG7hbBv6mC7baAU3tWLwaOORomqJSij/Le3EMPZINiKSI6EqAXoiHFTTTtD YRhG6nQA4NXoYw1bit5Uk2hS2WIsMISRIc/77QLHwqenhDi0HeX0k23ogWzCsSbP3y+ZHHeHz gm+7lUMfRLWZk8NTTSaT5a+XU1Zmfx6FrlUPberJNZY7jIg0O44zcP+0UnfQxz7FZ3ofX8qqi 7tmi8nngNCSwZSIi/IwUgpV7FKViGMxZTrTfc5SIFs9T5wTnQ0zIO/Fre0XYgMUV2DVaaxQHH 56jV0A57LtscmukPDlAa8JTTzEBAJqsdwfO5wA5i8UZxxrINl5BVkktZz4Y= Cc: Marcel Ziswiler , Max Krummenacher , Stefan Agner , Dominik Sliwa Subject: [U-Boot] =?utf-8?q?=5BPATCH_v1_1/3=5D_toradex=3A_configblock=3A_a?= =?utf-8?q?dd_an_-y_parameter_to_=27cfgblock_create=E2=80=99?= 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Dominik Sliwa Add an optional -y parameter to 'cfgblock create’ to simplify automation. Signed-off-by: Dominik Sliwa Acked-by: Stefan Agner Acked-by: Marcel Ziswiler Reviewed-by: Igor Opaniuk --- board/toradex/common/tdx-cfg-block.c | 39 ++++++++++++++++++---------- 1 file changed, 26 insertions(+), 13 deletions(-) diff --git a/board/toradex/common/tdx-cfg-block.c b/board/toradex/common/tdx-cfg-block.c index d4f5b1803a..2fcb998ae4 100644 --- a/board/toradex/common/tdx-cfg-block.c +++ b/board/toradex/common/tdx-cfg-block.c @@ -418,6 +418,7 @@ static int do_cfgblock_create(cmd_tbl_t *cmdtp, int flag, int argc, int offset = 0; int ret = CMD_RET_SUCCESS; int err; + int force_overwrite = 0; /* Allocate RAM area for config block */ config_block = memalign(ARCH_DMA_MINALIGN, size); @@ -428,6 +429,11 @@ static int do_cfgblock_create(cmd_tbl_t *cmdtp, int flag, int argc, memset(config_block, 0xff, size); + if (argc >= 3) { + if (argv[2][0] == '-' && argv[2][1] == 'y') + force_overwrite = 1; + } + read_tdx_cfg_block(); if (valid_cfgblock) { #if defined(CONFIG_TDX_CFG_BLOCK_IS_IN_NAND) @@ -448,24 +454,31 @@ static int do_cfgblock_create(cmd_tbl_t *cmdtp, int flag, int argc, CONFIG_TDX_CFG_BLOCK_OFFSET); goto out; #else - char message[CONFIG_SYS_CBSIZE]; - sprintf(message, - "A valid Toradex config block is present, still recreate? [y/N] "); + if (!force_overwrite) { + char message[CONFIG_SYS_CBSIZE]; - if (!cli_readline(message)) - goto out; + sprintf(message, + "A valid Toradex config block is present, still recreate? [y/N] "); - if (console_buffer[0] != 'y' && console_buffer[0] != 'Y') - goto out; + if (!cli_readline(message)) + goto out; + + if (console_buffer[0] != 'y' && + console_buffer[0] != 'Y') + goto out; + } #endif } /* Parse new Toradex config block data... */ - if (argc < 3) + if (argc < 3 || (force_overwrite && argc < 4)) { err = get_cfgblock_interactive(); - else - err = get_cfgblock_barcode(argv[2]); - + } else { + if (force_overwrite) + err = get_cfgblock_barcode(argv[3]); + else + err = get_cfgblock_barcode(argv[2]); + } if (err) { ret = CMD_RET_FAILURE; goto out; @@ -549,8 +562,8 @@ static int do_cfgblock(cmd_tbl_t *cmdtp, int flag, int argc, } U_BOOT_CMD( - cfgblock, 3, 0, do_cfgblock, + cfgblock, 4, 0, do_cfgblock, "Toradex config block handling commands", - "create [barcode] - (Re-)create Toradex config block\n" + "create [-y] [barcode] - (Re-)create Toradex config block\n" "cfgblock reload - Reload Toradex config block from flash" ); From patchwork Fri Feb 1 15:18:51 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marcel Ziswiler X-Patchwork-Id: 1034812 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) 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=none (p=none dis=none) header.from=ziswiler.com Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 43rgmc1ndQz9s4V for ; Sat, 2 Feb 2019 02:21:20 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id E3E81C21E0D; Fri, 1 Feb 2019 15:20:45 +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.0 required=5.0 tests=RCVD_IN_DNSWL_BLOCKED, SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 34C17C21C27; Fri, 1 Feb 2019 15:20:44 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 4F55EC21DFF; Fri, 1 Feb 2019 15:19:20 +0000 (UTC) Received: from mout.perfora.net (mout.perfora.net [74.208.4.197]) by lists.denx.de (Postfix) with ESMTPS id 7B957C21DEC for ; Fri, 1 Feb 2019 15:19:16 +0000 (UTC) Received: from localhost.localdomain ([81.221.68.199]) by mrelay.perfora.net (mreueus002 [74.208.5.2]) with ESMTPSA (Nemesis) id 0LcyXe-1hXgq52veS-00iFAP; Fri, 01 Feb 2019 16:19:10 +0100 From: Marcel Ziswiler To: u-boot@lists.denx.de Date: Fri, 1 Feb 2019 16:18:51 +0100 Message-Id: <20190201151852.13064-3-marcel@ziswiler.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190201151852.13064-1-marcel@ziswiler.com> References: <20190201151852.13064-1-marcel@ziswiler.com> MIME-Version: 1.0 X-Provags-ID: V03:K1:R01eJte7FF2Fivg/BJlj0sM7mjuVIlFqck1jPQukx8k/otrTAnH hNdezZpQQbZf/eWJOizjPVL9qoArPMYW/lE+BsRR79mhVifn57RTagT4SOu9KCHRo1wydZy bMH6lhL0c2z7Qs1Wfwu5Ff6xBXnO5zel9poGW1prcK7byJYDnZPOkjPbaZgdZsW0Zdaa2FQ ddxnQ0t9cqf1ItMZNQBxg== X-UI-Out-Filterresults: notjunk:1; V03:K0:cNyiW17WdxA=:LYgam4ULuHupe6KhPNhwje hQb7UzQiyPShE8iuakgnLenC5pTCRE6eAhbYZw3GLy3oTTEKXViA4Q85KYC6awF9I5Bl1XwZD 1Wrb7MyO7AVCusGDp3a7EJ+orSgF2693hk2WO1zLRiSGvk3xytEBKkwxWRcVXaoQRJVcTJU3z MmJ0cosvM1P1WvSGEZAlI7UyMm/miUPFKnlc9WYuhFkwh8PFAm52J3nRPI9sWKm8NQxtEGuaS Aea5MBr18gVwRqNyHnsifG4Vv6RmHDNi+0d/MjjEvWpYW0N/1jUW6KBGBhZpRXKwU5xz0iILP 2YzwkZMzApwU5G5OK7wX11Son4/ZCyDZbDV9uACXOanL64faNwEOjizQynnqVuhd21cDNJohV 3uX7krEKuB2siwUQ3zJUnYKNKFo5FhY3ppN7F4r8eNtWKZw7wxFlrlakal6raiMIBrJlHZKH8 nGhDOusT89ENN8cnTSod1vMiONAU4TPcar2okwRAm8g82mUZaG/ItyhT0Ny+MmB+neJRfHRiQ miXruCkfF0YAoaJtjhi0Kr1aW9Gk8RKxK9Sr61YigoDkN9MgDC2IGkW4tZdJAuWAZHXAVzJmf tu+4ICdPq1VN8M7Ce2Rp/VyGOI8uYxTUYmYazNtHD7nkNTO74rxxsbsljg2zMsGJwtpTIjaE3 POnZKW1Wt/nS7kNxTgt2p0yQIVIPDMNhtofyDpdqaT7uKwRslh/y04djlkdK+oPzyvHPF7xsc h/P+dAVoKVJajIM8KpCXwIGIcQG/I/IrE+TL+g== Cc: Marcel Ziswiler , Bhuvanchandra DV Subject: [U-Boot] [PATCH v1 2/3] toradex: common: unify behaviour when config block is missing 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Bhuvanchandra DV If the config block is missing, various things may fail or behave strangely on certain modules. This patch unifies that behaviour by using a fake MAC address, until user updates the config block. Signed-off-by: Bhuvanchandra DV Acked-by: Marcel Ziswiler --- board/toradex/common/tdx-common.c | 33 ++++++++++++++++--------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/board/toradex/common/tdx-common.c b/board/toradex/common/tdx-common.c index fde230c955..e7234686ae 100644 --- a/board/toradex/common/tdx-common.c +++ b/board/toradex/common/tdx-common.c @@ -68,20 +68,26 @@ int show_board_info(void) unsigned char ethaddr[6]; if (read_tdx_cfg_block()) { - printf("Missing Toradex config block\n"); + printf("MISSING TORADEX CONFIG BLOCK\n"); + tdx_eth_addr.oui = htonl(0x00142dUL << 8); + tdx_eth_addr.nic = htonl(tdx_serial << 8); checkboard(); - return 0; + } else { + /* board serial-number */ + sprintf(tdx_serial_str, "%08u", tdx_serial); + sprintf(tdx_board_rev_str, "V%1d.%1d%c", + tdx_hw_tag.ver_major, + tdx_hw_tag.ver_minor, + (char)tdx_hw_tag.ver_assembly + 'A'); + + env_set("serial#", tdx_serial_str); + + printf("Model: Toradex %s %s, Serial# %s\n", + toradex_modules[tdx_hw_tag.prodid], + tdx_board_rev_str, + tdx_serial_str); } - /* board serial-number */ - sprintf(tdx_serial_str, "%08u", tdx_serial); - sprintf(tdx_board_rev_str, "V%1d.%1d%c", - tdx_hw_tag.ver_major, - tdx_hw_tag.ver_minor, - (char)tdx_hw_tag.ver_assembly + 'A'); - - env_set("serial#", tdx_serial_str); - /* * Check if environment contains a valid MAC address, * set the one from config block if not @@ -101,11 +107,6 @@ int show_board_info(void) } #endif - printf("Model: Toradex %s %s, Serial# %s\n", - toradex_modules[tdx_hw_tag.prodid], - tdx_board_rev_str, - tdx_serial_str); - return 0; } From patchwork Fri Feb 1 15:18:52 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marcel Ziswiler X-Patchwork-Id: 1034815 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) 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=none (p=none dis=none) header.from=ziswiler.com Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 43rgsC3wjpz9s4V for ; Sat, 2 Feb 2019 02:25:19 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 1923AC21D83; Fri, 1 Feb 2019 15:23:31 +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.0 required=5.0 tests=RCVD_IN_DNSWL_BLOCKED, SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id B251FC21DFB; Fri, 1 Feb 2019 15:23:29 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id ADBEDC21DD3; Fri, 1 Feb 2019 15:19:18 +0000 (UTC) Received: from mout.perfora.net (mout.perfora.net [74.208.4.197]) by lists.denx.de (Postfix) with ESMTPS id 8E337C21DB5 for ; Fri, 1 Feb 2019 15:19:14 +0000 (UTC) Received: from localhost.localdomain ([81.221.68.199]) by mrelay.perfora.net (mreueus002 [74.208.5.2]) with ESMTPSA (Nemesis) id 0Luuvv-1hGIPe0FNJ-01038K; Fri, 01 Feb 2019 16:19:11 +0100 From: Marcel Ziswiler To: u-boot@lists.denx.de Date: Fri, 1 Feb 2019 16:18:52 +0100 Message-Id: <20190201151852.13064-4-marcel@ziswiler.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190201151852.13064-1-marcel@ziswiler.com> References: <20190201151852.13064-1-marcel@ziswiler.com> MIME-Version: 1.0 X-Provags-ID: V03:K1:hPe2bT2lrNPwycNeteD7CID7RAs9FPexw5ETb28Xewe0XnwpS5Y uTgZNvhV1Pq35QDOUIxQsDD4+LZ6nrWi1958WGa2TvQ5aozViI7TX6WdtQV08lUPt94B7g5 o29XaBpxGs0IFbXV57FKPgy5rQwFTVdE6NMtKq2S1/pOvjk0Ch6FSKsphbp58H8MbLZH5Vq t7nniQ5UHoyoqb1dU3TSA== X-UI-Out-Filterresults: notjunk:1; V03:K0:0rPxRfFfrJA=:gXp/QR6OkMIgnVVZqjLtQ4 kRKksQxyzVy1rp6Tw5LeAkCd4cGD4TfIiPKROwmIgwNtpCbZEFY6iAEjhRAAzAL2lHJ4v48U4 JBKDcfyb8T/dnAP/rpqgcIUNBaXnhbczEO5Mvsl2cWNRlsAp3FQn7uEBhdM5PKzZTZw4xRvmp IHjURsUPNC4pyf/R3Ybgya8Vw81F6dEP60D/PGm6PmigWeK0wsnG0ntuN8a94Qc1HGQDd8+sr DnPiMZCzM5pJFBE16cbZhiUORp3FRTy70YfPcZkp0LxuxQMJbFLUWdpd2aczffqLcQrsX3U38 SbIsTFcWK9eB6R4e65VK+B1It2cnO2P54Q7DbdzpbGFSTgEZOdSZwf8MR5q2PuVaNs8c3J5aw s99dKGJDPosNsa37vi/bOzUnyVLWG+ddfzE6EkTMRSaC3apNB9IlcpQ4motfh2qCRm09Uzy5k ipFNAFNmxZEySV/Jw9OO95W6wAOfbL9zN/j2BK5iXnF8MRHc53MtD7M7JHD/kxeQm2FMx+I2C I3kpOwfIeS9LV/2O0T5dhxtwaHObFywndGv7jLT8GQ7xncZS5YSdG/RjfCAn/mN8fOvBAuZT2 +sySELBYWaIVn9jBfFcFy0tLI4uhNnJ31jN9b7fSgqUVvJ4PVKSzthJyvCMqGAh/aP/NzH6Pf 60T54vV+LY4m2lNE8D/2mVbtPwF4ca9HPiMjzn8zPx0c74r0Pb5HRPVGbcQ4+S6w8vjsDp/m+ Zzk1tjdlQlu+1Q15kO+fTPeU8a80WwdLrrIkVg== Cc: Marcel Ziswiler , Dominik Sliwa , Stefan Agner , Max Krummenacher Subject: [U-Boot] [PATCH v1 3/3] tdx-cfg-block: fix off by one issue 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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Marcel Ziswiler Fix toradex_modules array off by one issue potentially leading to spurious printout during boot e.g. Model: Toradex V1.2A, instead of Model: Toradex UNKNOWN MODULE V1.2A. Signed-off-by: Marcel Ziswiler Acked-by: Max Krummenacher Reviewed-by: Igor Opaniuk --- board/toradex/common/tdx-cfg-block.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/board/toradex/common/tdx-cfg-block.c b/board/toradex/common/tdx-cfg-block.c index 2fcb998ae4..b90077bedc 100644 --- a/board/toradex/common/tdx-cfg-block.c +++ b/board/toradex/common/tdx-cfg-block.c @@ -261,7 +261,7 @@ int read_tdx_cfg_block(void) } /* Cap product id to avoid issues with a yet unknown one */ - if (tdx_hw_tag.prodid > (sizeof(toradex_modules) / + if (tdx_hw_tag.prodid >= (sizeof(toradex_modules) / sizeof(toradex_modules[0]))) tdx_hw_tag.prodid = 0;