public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Ladislav Michl <ladis@linux-mips.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 5/6] cmd: mtdparts: support runtime generated mtdparts
Date: Sun, 5 Jun 2016 19:43:09 +0200	[thread overview]
Message-ID: <20160605174309.GE26814@localhost.localdomain> (raw)
In-Reply-To: <20160605173453.GA26656@localhost.localdomain>

Some CPUs contains boot ROM code capable reading first few blocks
(where SPL resides) of NAND flash and executing it. It is wise to
create separate partition here for SPL. As block size depends on
NAND chip used, we could either use worst case (biggest) partition
size or base its size on actual block size. This patch adds support
for the latter option.

Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
---
 cmd/mtdparts.c | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/cmd/mtdparts.c b/cmd/mtdparts.c
index 53074a1..71c7acb 100644
--- a/cmd/mtdparts.c
+++ b/cmd/mtdparts.c
@@ -109,17 +109,20 @@ DECLARE_GLOBAL_DATA_PTR;
 #define MTD_WRITEABLE_CMD		1
 
 /* default values for mtdids and mtdparts variables */
-#if defined(MTDIDS_DEFAULT)
-static const char *const mtdids_default = MTDIDS_DEFAULT;
-#else
-static const char *const mtdids_default = NULL;
+#if !defined(MTDIDS_DEFAULT)
+#define MTDIDS_DEFAULT NULL
 #endif
-
-#if defined(MTDPARTS_DEFAULT)
-static const char *const mtdparts_default = MTDPARTS_DEFAULT;
+#if !defined(MTDPARTS_DEFAULT)
+#define MTDPARTS_DEFAULT NULL
+#endif
+#if defined(CONFIG_SYS_MTDPARTS_DEFAULT_RUNTIME)
+#define MTD_DEFAULTS_READONLY
+extern void board_mtdparts_default(const char **mtdids, const char **mtdparts);
 #else
-static const char *const mtdparts_default = NULL;
+#define MTD_DEFAULTS_READONLY const
 #endif
+static const char *MTD_DEFAULTS_READONLY mtdids_default = MTDIDS_DEFAULT;
+static const char *MTD_DEFAULTS_READONLY mtdparts_default = MTDPARTS_DEFAULT;
 
 /* copies of last seen 'mtdids', 'mtdparts' and 'partition' env variables */
 #define MTDIDS_MAXLEN		128
@@ -1725,6 +1728,9 @@ int mtdparts_init(void)
 		memset(last_ids, 0, MTDIDS_MAXLEN);
 		memset(last_parts, 0, MTDPARTS_MAXLEN);
 		memset(last_partition, 0, PARTITION_MAXLEN);
+#if defined(CONFIG_SYS_MTDPARTS_DEFAULT_RUNTIME)
+		board_mtdparts_default(&mtdids_default, &mtdparts_default);
+#endif
 		use_defaults = 1;
 		initialized = 1;
 	}
-- 
2.1.4

  parent reply	other threads:[~2016-06-05 17:43 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-05 17:34 [U-Boot] [PATCH 0/6] cmd: mtdparts: Add support for runtime generated defaults Ladislav Michl
2016-06-05 17:38 ` [U-Boot] [PATCH 1/6] cmd: mtdparts: fix mtdparts variable presence confusion in mtdparts_init Ladislav Michl
2016-06-05 17:40 ` [U-Boot] [PATCH 2/6] cmd: mtdparts: fix null pointer dereference in parse_mtdparts Ladislav Michl
2016-06-05 17:41 ` [U-Boot] [PATCH 3/6] cmd: mtdparts: consolidate mtdparts reading from env Ladislav Michl
2016-06-05 17:42 ` [U-Boot] [PATCH 4/6] cmd: mtdparts: use defaults by default Ladislav Michl
2016-06-05 17:43 ` Ladislav Michl [this message]
2016-06-05 17:58   ` [U-Boot] [PATCH 5/6] cmd: mtdparts: support runtime generated mtdparts Michal Suchanek
2016-06-05 18:23     ` Ladislav Michl
2016-06-06  7:08       ` Michal Suchanek
2016-06-06  7:48         ` Ladislav Michl
2016-06-06 18:50           ` Michal Suchanek
2016-06-06 21:21             ` Ladislav Michl
2016-06-07  7:43               ` Michal Suchanek
2016-06-07 13:08                 ` Ladislav Michl
2016-06-05 17:43 ` [U-Boot] [PATCH 6/6] igep00x0: generate default mtdparts according NAND chip used Ladislav Michl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160605174309.GE26814@localhost.localdomain \
    --to=ladis@linux-mips.org \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox