From patchwork Wed Nov 18 10:39:09 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ryan Harkin X-Patchwork-Id: 56936 Delivered-To: patch@linaro.org Received: by 10.112.155.196 with SMTP id vy4csp2482545lbb; Wed, 18 Nov 2015 02:40:25 -0800 (PST) X-Received: by 10.194.185.234 with SMTP id ff10mr1065425wjc.170.1447843224862; Wed, 18 Nov 2015 02:40:24 -0800 (PST) Return-Path: Received: from theia.denx.de (theia.denx.de. [85.214.87.163]) by mx.google.com with ESMTP id t7si3152812wje.5.2015.11.18.02.40.24; Wed, 18 Nov 2015 02:40:24 -0800 (PST) Received-SPF: pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.87.163 as permitted sender) client-ip=85.214.87.163; Authentication-Results: mx.google.com; spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.87.163 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dkim=neutral (body hash did not verify) header.i=@linaro-org.20150623.gappssmtp.com Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id ED6524B7CE; Wed, 18 Nov 2015 11:40:02 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dj2dEdpLwUuw; Wed, 18 Nov 2015 11:40:02 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 1C3B74B7D0; Wed, 18 Nov 2015 11:39:51 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 21D544B78E for ; Wed, 18 Nov 2015 11:39:42 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CYsI4HZqxUxI for ; Wed, 18 Nov 2015 11:39:42 +0100 (CET) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mail-wm0-f54.google.com (mail-wm0-f54.google.com [74.125.82.54]) by theia.denx.de (Postfix) with ESMTPS id 0ABF64B765 for ; Wed, 18 Nov 2015 11:39:33 +0100 (CET) Received: by wmvv187 with SMTP id v187so271128979wmv.1 for ; Wed, 18 Nov 2015 02:39:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=La7wMayzSw5F9wh2/di6gNEaM6VmOKPcKRzohCCs+BA=; b=2JykKngVWqBpkv9Z1G29gnHDfb4yMAosjTKpUIPHGwjs58dM9t7VcrznChKpcJAvwO 744ZeE+bkj2baAz1zyWjfk/HKUkWIM++tTzTQJxdQv97zaSMvExnSS5DIKoPV/vjZg2D liQyTlTW68mXrwTxBxCI9DX92DY3GDKeX096U2U+NvOlcQwjhyDWNFzL3PduFsTrm/Qf tD/uOwKEqH13IuOEwxjLpuJH/MqWq1VXzmu9c30uMxcnvTwRI2ZVSnLBhi8WuFngHzCa 4x9SdMGouIA/bUSNKpkcrcgkWKRASkqvD0jmusj0U1pi6efRw5btfhLC290wim3gY193 E/EA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=La7wMayzSw5F9wh2/di6gNEaM6VmOKPcKRzohCCs+BA=; b=OjdutiJ0PB+YAJa0aJkCbm+oyvAKvx1RbSIkPg5FL9Olmw/BJ7XnJGUCqS4q9643E0 af2GUyoCceIQdUaHIgZ2+OoLloJHNuA3zN7dFe8PwGlWzTl/1BMIFHnRGOG+vZNI/Rk4 gFhs5o34B3nJ/140vVESHO/qyFrVBzbtgLBsw/iXvTabF67UugBAOAVXNdREwGMqRd6d yua+PGOBLhpxaSjwT9jfgFNZd3n8gShA23aFMQ8TPTlxT2YBiPDFHNcorPexEhvGxmWS Wj73/zCajMqE3VeaWa5WEqIOfkPVOR82uT28OasccK9adWq0KLQMfVZIls7wb8UDhnsi i+XQ== X-Gm-Message-State: ALoCoQmXjY4ou5QnnXLOzO57C8fhTydCjSyODUCKbF6Q3cic4JRJKjBq52qNiysFaQo7fwmiEd53 X-Received: by 10.28.127.141 with SMTP id a135mr8133085wmd.69.1447843173439; Wed, 18 Nov 2015 02:39:33 -0800 (PST) Received: from localhost.localdomain (82-69-54-187.dsl.in-addr.zen.co.uk. [82.69.54.187]) by smtp.gmail.com with ESMTPSA id c4sm2148269wjs.36.2015.11.18.02.39.32 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 18 Nov 2015 02:39:32 -0800 (PST) From: Ryan Harkin To: Tom Rini , u-boot@lists.denx.de Date: Wed, 18 Nov 2015 10:39:09 +0000 Message-Id: <1447843149-28412-5-git-send-email-ryan.harkin@linaro.org> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1447843149-28412-1-git-send-email-ryan.harkin@linaro.org> References: <1447843149-28412-1-git-send-email-ryan.harkin@linaro.org> Cc: Steve Rae , Liviu Dudau , Stefan Roese Subject: [U-Boot] [PATCH v2 4/4] vexpress64: store env in flash X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 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" Add support for storing the environment in CFI NOR flash on Juno and FVP models. I also removed some config values that are not used by CFI flash parts. Juno has 1 flash part with 259 sectors. The first 255 sectors are 0x40000 (256kb) and are followed by 4 sectors of 0x10000 (64KB). FVP models simulate a 64MB NOR flash part at base address 0x0FFC0000. This part has 256 x 256kb sectors. We use the last sector to store the environment. To save the NOR flash to a file, the following parameters should be passed to the model: -C bp.flashloader1.fname=${FILENAME} -C bp.flashloader1.fnameWrite=${FILENAME} Foundation models don't simulate the NOR flash, but having NOR support in the u-boot binary does not harm: attempting to write to the NOR will fail gracefully. Signed-off-by: Ryan Harkin Acked-by: Linus Walleij --- configs/vexpress_aemv8a_dram_defconfig | 1 - configs/vexpress_aemv8a_semi_defconfig | 1 - include/configs/vexpress_aemv8a.h | 37 ++++++++++++++++++---------------- 3 files changed, 20 insertions(+), 19 deletions(-) -- 2.1.4 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot diff --git a/configs/vexpress_aemv8a_dram_defconfig b/configs/vexpress_aemv8a_dram_defconfig index e9fc870..a8e4daa 100644 --- a/configs/vexpress_aemv8a_dram_defconfig +++ b/configs/vexpress_aemv8a_dram_defconfig @@ -8,7 +8,6 @@ CONFIG_DEFAULT_DEVICE_TREE="vexpress64" # CONFIG_CMD_EDITENV is not set # CONFIG_CMD_ENV_EXISTS is not set # CONFIG_CMD_LOADS is not set -# CONFIG_CMD_FLASH is not set # CONFIG_CMD_FPGA is not set # CONFIG_CMD_ITEST is not set # CONFIG_CMD_SETEXPR is not set diff --git a/configs/vexpress_aemv8a_semi_defconfig b/configs/vexpress_aemv8a_semi_defconfig index a082d27..e899b90 100644 --- a/configs/vexpress_aemv8a_semi_defconfig +++ b/configs/vexpress_aemv8a_semi_defconfig @@ -10,7 +10,6 @@ CONFIG_SYS_PROMPT="VExpress64# " # CONFIG_CMD_EDITENV is not set # CONFIG_CMD_ENV_EXISTS is not set # CONFIG_CMD_LOADS is not set -# CONFIG_CMD_FLASH is not set # CONFIG_CMD_FPGA is not set # CONFIG_CMD_ITEST is not set # CONFIG_CMD_SETEXPR is not set diff --git a/include/configs/vexpress_aemv8a.h b/include/configs/vexpress_aemv8a.h index 6734d7e..c767f90 100644 --- a/include/configs/vexpress_aemv8a.h +++ b/include/configs/vexpress_aemv8a.h @@ -276,10 +276,6 @@ #endif -/* Do not preserve environment */ -#define CONFIG_ENV_IS_NOWHERE 1 -#define CONFIG_ENV_SIZE 0x1000 - /* Monitor Command Prompt */ #define CONFIG_SYS_CBSIZE 512 /* Console I/O Buffer Size */ #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ @@ -290,28 +286,35 @@ #define CONFIG_CMDLINE_EDITING #define CONFIG_SYS_MAXARGS 64 /* max command args */ -/* Flash memory is available on the Juno board only */ -#ifndef CONFIG_TARGET_VEXPRESS64_JUNO -#define CONFIG_SYS_NO_FLASH +#ifdef CONFIG_TARGET_VEXPRESS64_JUNO +#define CONFIG_SYS_FLASH_BASE 0x08000000 +/* 255 x 256KiB sectors + 4 x 64KiB sectors at the end = 259 */ +#define CONFIG_SYS_MAX_FLASH_SECT 259 +/* Store environment at top of flash in the same location as blank.img */ +/* in the Juno firmware. */ +#define CONFIG_ENV_ADDR 0x0BFC0000 +#define CONFIG_ENV_SECT_SIZE 0x00010000 #else +#define CONFIG_SYS_FLASH_BASE 0x0C000000 +/* 256 x 256KiB sectors */ +#define CONFIG_SYS_MAX_FLASH_SECT 256 +/* Store environment at top of flash */ +#define CONFIG_ENV_ADDR 0x0FFC0000 +#define CONFIG_ENV_SECT_SIZE 0x00040000 +#endif + #define CONFIG_CMD_ARMFLASH #define CONFIG_SYS_FLASH_CFI 1 #define CONFIG_FLASH_CFI_DRIVER 1 #define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_32BIT -#define CONFIG_SYS_FLASH_BASE 0x08000000 -#define CONFIG_SYS_FLASH_SIZE 0x04000000 /* 64 MiB */ -#define CONFIG_SYS_MAX_FLASH_BANKS 2 +#define CONFIG_SYS_MAX_FLASH_BANKS 1 -/* Timeout values in ticks */ -#define CONFIG_SYS_FLASH_ERASE_TOUT (2 * CONFIG_SYS_HZ) /* Erase Timeout */ -#define CONFIG_SYS_FLASH_WRITE_TOUT (2 * CONFIG_SYS_HZ) /* Write Timeout */ - -/* 255 0x40000 sectors + first or last sector may have 4 erase regions = 259 */ -#define CONFIG_SYS_MAX_FLASH_SECT 259 /* Max sectors */ #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE /* use buffered writes */ #define CONFIG_SYS_FLASH_PROTECTION /* The devices have real protection */ #define CONFIG_SYS_FLASH_EMPTY_INFO /* flinfo indicates empty blocks */ +#define FLASH_MAX_SECTOR_SIZE 0x00040000 +#define CONFIG_ENV_SIZE CONFIG_ENV_SECT_SIZE +#define CONFIG_ENV_IS_IN_FLASH 1 -#endif #endif /* __VEXPRESS_AEMV8A_H */