From patchwork Tue Mar 30 10:09:58 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Simek X-Patchwork-Id: 1459982 X-Patchwork-Delegate: monstr@monstr.eu Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=monstr-eu.20150623.gappssmtp.com header.i=@monstr-eu.20150623.gappssmtp.com header.a=rsa-sha256 header.s=20150623 header.b=x0dBdBYy; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4F8lZh4Wyvz9sVt for ; Tue, 30 Mar 2021 21:10:52 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id E077582927; Tue, 30 Mar 2021 12:10:28 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=xilinx.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=monstr-eu.20150623.gappssmtp.com header.i=@monstr-eu.20150623.gappssmtp.com header.b="x0dBdBYy"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 19D1982909; Tue, 30 Mar 2021 12:10:15 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,SPF_HELO_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com [IPv6:2a00:1450:4864:20::532]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id B2885828BF for ; Tue, 30 Mar 2021 12:10:08 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=xilinx.com Authentication-Results: phobos.denx.de; spf=none smtp.mailfrom=monstr@monstr.eu Received: by mail-ed1-x532.google.com with SMTP id bx7so17497587edb.12 for ; Tue, 30 Mar 2021 03:10:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monstr-eu.20150623.gappssmtp.com; s=20150623; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ZlhAvg/zRvVSxBejiBuODNYhXCzzxruCMQ/GiWmgEsU=; b=x0dBdBYyd9q4gntBB/ZEQ6HIUfn8s1W0KkSpnE73Fuwo7VD2+vje+OT5S3OgfwUVam xM5twAhvfzWCmggrHHJvNCtuck9feq3Ys/U7EhDb32ozaC7wfgb3vAYQuWirCX9gRCQU Cfz+Wapjy0TpFxE89Axr4uKoq92kiAgO9zuUXuWoBM4rtp3nE8/vfTIc7Xgca0YeMAkp iBKlQjODLt/iKn56OyHVBuryBqsLP3iCKGyDitEhjOeX8JQ6w1ayxf5QWr2pgEkhS3EX b6KLpaSOl430R01FzNIPoBL2es+L+qFMgEnCa+0E9exLjMwV/Jzda1yQQA3V3BdBk51X XSiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=ZlhAvg/zRvVSxBejiBuODNYhXCzzxruCMQ/GiWmgEsU=; b=icETcxcTZk6AUxpidnaxhVM+Vr31P0Cq/C/4cD82XJoU72O/Pvo4pBQl1HpFJhFRG1 /kv4jtO+smIqmYRufSM8neLS3oeRl8C4b2oBeM8RAWcpb48wLrcklj3/6ZrkFf5v4BQp 0INJG702Zl12EhaiugSJP/RBTs8+iZ6fAx8SKqiwZamVGZjBxoCbqjgMNVG9hlsaDU8e loLvzm+fkrLZATq39eWz8NqBSukDIO6Leoo7jXuPHo5fLYFr8xMFOOiA+OXkxIURETta 6Xi5js9otQMwwYzf4Nwn9nGPnWKRZ+oKbDOKWSNym3081KxNJJCOxcwh/NS/G7MO94YQ VGJA== X-Gm-Message-State: AOAM533zgf4vtgcrDuABHct5fE3dctBwOHbgvQej3ru7FF6T51HSeJtU mh8xKR/XVM3hLGhJCx8YNl3Ke61hylEsbc0i X-Google-Smtp-Source: ABdhPJwaTirBwjXCJrrECf57Hktne50py/GMIA+T4VbKA4mHurnnU0G1aHawBJ+aeYXuZfRssTgYFQ== X-Received: by 2002:aa7:dd98:: with SMTP id g24mr32832718edv.75.1617099008247; Tue, 30 Mar 2021 03:10:08 -0700 (PDT) Received: from localhost ([2a02:768:2307:40d6::45a]) by smtp.gmail.com with ESMTPSA id gj13sm9762904ejb.118.2021.03.30.03.10.07 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 30 Mar 2021 03:10:07 -0700 (PDT) From: Michal Simek To: u-boot@lists.denx.de, git@xilinx.com Cc: Ashok Reddy Soma , Michal Simek Subject: [PATCH 2/4] xilinx: zynq: Add support for saving env based on bootmode Date: Tue, 30 Mar 2021 12:09:58 +0200 Message-Id: <2ed7949ab32555af4464bce3eac276944ea82c44.1617098995.git.michal.simek@xilinx.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: References: MIME-Version: 1.0 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.102.4 at phobos.denx.de X-Virus-Status: Clean From: Ashok Reddy Soma Enable saving variables to MMC(FAT), NAND, SPI based on primary bootmode. If bootmode is JTAG, dont save env anywhere(NOWHERE). Since most of the flashes on zynq evaluation boards are 16MB in size, set default ENV_OFFSET to 15MB(0xE00000). Signed-off-by: Ashok Reddy Soma Signed-off-by: Michal Simek --- board/xilinx/zynq/board.c | 32 ++++++++++++++++++++++++++++++ configs/xilinx_zynq_virt_defconfig | 5 ++++- 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/board/xilinx/zynq/board.c b/board/xilinx/zynq/board.c index 7533dddb9b65..e2e9b3f0f78c 100644 --- a/board/xilinx/zynq/board.c +++ b/board/xilinx/zynq/board.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -119,3 +120,34 @@ int dram_init(void) return 0; } #endif + +enum env_location env_get_location(enum env_operation op, int prio) +{ + u32 bootmode = zynq_slcr_get_boot_mode() & ZYNQ_BM_MASK; + + if (prio) + return ENVL_UNKNOWN; + + switch (bootmode) { + case ZYNQ_BM_SD: + if (IS_ENABLED(CONFIG_ENV_IS_IN_FAT)) + return ENVL_FAT; + if (IS_ENABLED(CONFIG_ENV_IS_IN_EXT4)) + return ENVL_EXT4; + return ENVL_UNKNOWN; + case ZYNQ_BM_NAND: + if (IS_ENABLED(CONFIG_ENV_IS_IN_NAND)) + return ENVL_NAND; + if (IS_ENABLED(CONFIG_ENV_IS_IN_UBI)) + return ENVL_UBI; + return ENVL_UNKNOWN; + case ZYNQ_BM_NOR: + case ZYNQ_BM_QSPI: + if (IS_ENABLED(CONFIG_ENV_IS_IN_SPI_FLASH)) + return ENVL_SPI_FLASH; + return ENVL_UNKNOWN; + case ZYNQ_BM_JTAG: + default: + return ENVL_NOWHERE; + } +} diff --git a/configs/xilinx_zynq_virt_defconfig b/configs/xilinx_zynq_virt_defconfig index 2fe53182caa8..bdd6be2b9079 100644 --- a/configs/xilinx_zynq_virt_defconfig +++ b/configs/xilinx_zynq_virt_defconfig @@ -4,6 +4,7 @@ CONFIG_ARCH_ZYNQ=y CONFIG_SYS_TEXT_BASE=0x4000000 CONFIG_SYS_MEMTEST_START=0x00000000 CONFIG_SYS_MEMTEST_END=0x00001000 +CONFIG_ENV_OFFSET=0xE00000 CONFIG_SYS_SPI_U_BOOT_OFFS=0x100000 CONFIG_DM_GPIO=y CONFIG_SPL_STACK_R_ADDR=0x200000 @@ -55,7 +56,9 @@ CONFIG_CMD_MTDPARTS_SPREAD=y CONFIG_CMD_MTDPARTS_SHOW_NET_SIZES=y CONFIG_CMD_UBI=y CONFIG_OF_LIST="zynq-zc702 zynq-zc706 zynq-zc770-xm010 zynq-zc770-xm011 zynq-zc770-xm011-x16 zynq-zc770-xm012 zynq-zc770-xm013 zynq-cc108 zynq-microzed zynq-minized zynq-picozed zynq-zed zynq-zturn zynq-zturn-v5 zynq-zybo zynq-zybo-z7 zynq-dlc20-rev1.0" -CONFIG_ENV_OVERWRITE=y +CONFIG_ENV_IS_NOWHERE=y +CONFIG_ENV_IS_IN_FAT=y +CONFIG_ENV_IS_IN_NAND=y CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y CONFIG_NET_RANDOM_ETHADDR=y