From patchwork Thu May 16 15:24:19 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hannes Schmelzer X-Patchwork-Id: 1100630 X-Patchwork-Delegate: trini@ti.com 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=oevsv.at Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 454Zwd24c3z9s7h for ; Fri, 17 May 2019 01:24:49 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id AAC5CC21C93; Thu, 16 May 2019 15:24:39 +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=none 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 DC327C21C4A; Thu, 16 May 2019 15:24:36 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id B2C2EC21C4A; Thu, 16 May 2019 15:24:35 +0000 (UTC) Received: from mail.schmelzer.or.at (mail.schmelzer.or.at [87.106.47.214]) by lists.denx.de (Postfix) with ESMTP id 98A07C21C29 for ; Thu, 16 May 2019 15:24:34 +0000 (UTC) Received: from localhost (s15287728.onlinehome-server.info [127.0.0.1]) by hamspirit.at (Postfix) with ESMTP id 609F88F488A7; Thu, 16 May 2019 15:24:32 +0000 (UTC) Received: from mail.schmelzer.or.at ([127.0.0.1]) by localhost (s15287728.onlinehome-server.info [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nTzT1b3oAmiA; Thu, 16 May 2019 15:24:27 +0000 (UTC) Received: from scm-ws10.ad.schmelzer.or.at (178-191-62-79.adsl.highway.telekom.at [178.191.62.79]) by hamspirit.at (Postfix) with ESMTP id 9B3668F48849; Thu, 16 May 2019 15:24:26 +0000 (UTC) From: Hannes Schmelzer To: u-boot@lists.denx.de Date: Thu, 16 May 2019 17:24:19 +0200 Message-Id: <1558020259-6064-1-git-send-email-oe5hpm@oevsv.at> X-Mailer: git-send-email 2.7.4 Cc: trini@konsulko.com, Hannes Schmelzer Subject: [U-Boot] [PATCH] board/BuR: invalidate ${dtbaddr} before cfgscr 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" From: Hannes Schmelzer The first memory location of ${dtbaddr} may be still valid after a warm restart of the machine and 'fdt addr ${dtbaddr}' doesn't recognize that the cfgscript didn't run properly and fallback mechanism with copying the internal fdt ${fdtcontroladdr} to ${dtbaddr} doesn't catch this. To get sure that we have proper failsafe behaviour we simply zero the first memory location of ${dtbaddr} for getting sure that the fdt is invalid if cfgscript didn't run. Signed-off-by: Hannes Schmelzer Signed-off-by: Hannes Schmelzer --- include/configs/brppt1.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/include/configs/brppt1.h b/include/configs/brppt1.h index 51af93a..82f3f1a 100644 --- a/include/configs/brppt1.h +++ b/include/configs/brppt1.h @@ -66,7 +66,8 @@ #define NANDTGTS \ "mtdids=" CONFIG_MTDIDS_DEFAULT "\0" \ "mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0" \ -"cfgscr=nand read ${cfgaddr} cfgscr && source ${cfgaddr}\0" \ +"cfgscr=mw ${dtbaddr} 0; nand read ${cfgaddr} cfgscr && source ${cfgaddr};" \ +" fdt addr ${dtbaddr} || cp ${fdtcontroladdr} ${dtbaddr} 4000\0" \ "nandargs=setenv bootargs console=${console} ${optargs} ${optargs_rot} " \ "root=mtd6 rootfstype=jffs2 b_mode=${b_mode}\0" \ "b_nand=nand read ${loadaddr} kernel; nand read ${dtbaddr} dtb; " \ @@ -104,7 +105,9 @@ #ifdef CONFIG_ENV_IS_IN_MMC #define MMCTGTS \ MMCSPI_TGTS \ -"cfgscr=mmc dev 1; mmc read ${cfgaddr} 200 80; source ${cfgaddr}\0" +"cfgscr=mw ${dtbaddr} 0;" \ +" mmc dev 1; mmc read ${cfgaddr} 200 80; source ${cfgaddr};" \ +" fdt addr ${dtbaddr} || cp ${fdtcontroladdr} ${dtbaddr} 4000\0" #else #define MMCTGTS "" #endif /* CONFIG_MMC */ @@ -112,7 +115,9 @@ MMCSPI_TGTS \ #ifdef CONFIG_SPI #define SPITGTS \ MMCSPI_TGTS \ -"cfgscr=sf probe; sf read ${cfgaddr} 0xC0000 10000; source ${cfgaddr}\0" +"cfgscr=mw ${dtbaddr} 0;" \ +" sf probe; sf read ${cfgaddr} 0xC0000 10000; source ${cfgaddr};" \ +" fdt addr ${dtbaddr} || cp ${fdtcontroladdr} ${dtbaddr} 4000\0" #else #define SPITGTS "" #endif /* CONFIG_SPI */