Currently binman calculates '_skip_at_start' based on 'end-at-4gb'
property and it is used for x86 images.

For Powerpc mpc85xx based CPU, CONFIG_SYS_TEXT_BASE is the first
entry offset which can be 0xeff40000 or 0xfff40000 for nor flash boot,
0x201000 for sd boot etc, so "_skip_at_start" should be set to
CONFIG_SYS_TEXT_BASE.

'end-at-4gb' property is not applicable where CONFIG_SYS_TEXT_BASE +
Image size != 4gb.

Add new property "skip-at-start" in Section class so that
'_skip_at_start' can be calculated either based on "end-at-4gb"
or based on "skip-at-start".

Signed-off-by: Jagdish Gediya <jagdish.ged...@nxp.com>
---
Changes for v2:
        - Renamed 'start-pos' property to 'skip-at-start'
        - Updated README

 tools/binman/README      | 9 +++++++++
 tools/binman/bsection.py | 1 +
 2 files changed, 10 insertions(+)

diff --git a/tools/binman/README b/tools/binman/README
index cb34171..7b4bf2e 100644
--- a/tools/binman/README
+++ b/tools/binman/README
@@ -397,6 +397,15 @@ end-at-4gb:
        8MB ROM, the offset of the first entry would be 0xfff80000 with
        this option, instead of 0 without this option.
 
+skip-at-start:
+       This property specifies the first entry offset if not 0.
+
+       For Powerpc Book-E architecture, CONFIG_SYS_TEXT_BASE is the first
+       entry offset which can be 0xeff40000 or 0xfff40000 for nor flash boot,
+       0x201000 for sd boot etc.
+
+       'end-at-4gb' property is not applicable where CONFIG_SYS_TEXT_BASE +
+       Image size != 4gb.
 
 Examples of the above options can be found in the tests. See the
 tools/binman/test directory.
diff --git a/tools/binman/bsection.py b/tools/binman/bsection.py
index a0bd1b6..68997b7 100644
--- a/tools/binman/bsection.py
+++ b/tools/binman/bsection.py
@@ -79,6 +79,7 @@ class Section(object):
         self._pad_byte = fdt_util.GetInt(self._node, 'pad-byte', 0)
         self._sort = fdt_util.GetBool(self._node, 'sort-by-offset')
         self._end_4gb = fdt_util.GetBool(self._node, 'end-at-4gb')
+        self._skip_at_start = fdt_util.GetInt(self._node, 'skip-at-start', 0)
         if self._end_4gb and not self._size:
             self._Raise("Section size must be provided when using end-at-4gb")
         if self._end_4gb:
-- 
2.7.4

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to