All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v3 0/8] Device tree support for PowerPC in U-Boot
@ 2018-09-03 16:05 Jagdish Gediya
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 1/8] powerpc/dts: Define '_end' symbol in mpc85xx U-Boot lds files Jagdish Gediya
                   ` (7 more replies)
  0 siblings, 8 replies; 22+ messages in thread
From: Jagdish Gediya @ 2018-09-03 16:05 UTC (permalink / raw)
  To: u-boot

In current implementation, PowerPC does not support device tree in U-Boot.
This patch enables device tree support for PowerPC platform .

T2080AQDS board used as first platform.

Dtb is embedded in the U-Boot following below steps using binmam tool.

1. Remove bootpg and resetvec section if required
2. Append dtb using binman
3. Append bootpg and resetvec section back if removed in 1st step.

To enable binman tool, 'binman' node  has been added in the device tree.

Jagdish Gediya (8):
  powerpc/dts: Define '_end' symbol in mpc85xx U-Boot lds files
  powerpc/dts: Makefile changes to clean and build dts
  binman: Add a new "skip-at-start" property in Section class
  binman: Add support for PowerPC mpc85xx 'bootpg + resetvec' entry
  powerpc: mpc85xx: Select BINMAN by default
  powerpc: mpc85xx: Use binman to embed dtb inside U-Boot
  powerpc: dts: Add u-boot.dtsi to use binman for MPC85xx boards
  powerpc: dts: Enable device tree support for T2080QDS

 Makefile                                           | 23 +++++++-
 arch/powerpc/Kconfig                               |  1 +
 arch/powerpc/cpu/mpc85xx/Kconfig                   |  4 ++
 arch/powerpc/cpu/mpc85xx/u-boot-nand.lds           |  1 +
 arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds       |  1 +
 arch/powerpc/cpu/mpc85xx/u-boot-spl.lds            |  1 +
 arch/powerpc/cpu/mpc85xx/u-boot.lds                |  1 +
 arch/powerpc/dts/Makefile                          | 14 +++++
 arch/powerpc/dts/e6500_power_isa.dtsi              | 39 ++++++++++++++
 arch/powerpc/dts/t2080.dtsi                        | 62 ++++++++++++++++++++++
 arch/powerpc/dts/t2080qds.dts                      | 17 ++++++
 arch/powerpc/dts/u-boot.dtsi                       | 32 +++++++++++
 board/freescale/t208xqds/README                    | 19 +++++++
 configs/T2080QDS_NAND_defconfig                    |  3 +-
 configs/T2080QDS_SDCARD_defconfig                  |  3 +-
 configs/T2080QDS_SPIFLASH_defconfig                |  3 +-
 configs/T2080QDS_defconfig                         |  4 +-
 dts/Makefile                                       |  2 +-
 tools/binman/README                                |  9 ++++
 tools/binman/README.entries                        | 14 ++++-
 tools/binman/bsection.py                           | 15 ++++--
 .../etype/powerpc_mpc85xx_bootpg_resetvec.py       | 25 +++++++++
 tools/binman/ftest.py                              | 16 ++++++
 .../test/80_4gb_and_skip_at_start_together.dts     | 21 ++++++++
 .../test/81_powerpc_mpc85xx_bootpg_resetvec.dts    | 16 ++++++
 25 files changed, 335 insertions(+), 11 deletions(-)
 create mode 100644 arch/powerpc/dts/Makefile
 create mode 100644 arch/powerpc/dts/e6500_power_isa.dtsi
 create mode 100644 arch/powerpc/dts/t2080.dtsi
 create mode 100644 arch/powerpc/dts/t2080qds.dts
 create mode 100644 arch/powerpc/dts/u-boot.dtsi
 create mode 100644 tools/binman/etype/powerpc_mpc85xx_bootpg_resetvec.py
 create mode 100644 tools/binman/test/80_4gb_and_skip_at_start_together.dts
 create mode 100644 tools/binman/test/81_powerpc_mpc85xx_bootpg_resetvec.dts

-- 
2.7.4

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [U-Boot] [PATCH v3 1/8] powerpc/dts: Define '_end' symbol in mpc85xx U-Boot lds files
  2018-09-03 16:05 [U-Boot] [PATCH v3 0/8] Device tree support for PowerPC in U-Boot Jagdish Gediya
@ 2018-09-03 16:05 ` Jagdish Gediya
  2018-09-14 10:53   ` Simon Glass
                     ` (2 more replies)
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 2/8] powerpc/dts: Makefile changes to clean and build dts Jagdish Gediya
                   ` (6 subsequent siblings)
  7 siblings, 3 replies; 22+ messages in thread
From: Jagdish Gediya @ 2018-09-03 16:05 UTC (permalink / raw)
  To: u-boot

'board_fdt_blob_setup' function sets up fdt blob at '&_end' so
define '_end' symbol in mpc85xx lds files.

Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
---
Changes for v2:
	- Define '_end' symbol in lds file instead of defining new
	  'board_fdt_blob_setup' function using existing '_init_end' symbol.

Changes for v3:
	- Define '_end' symbol in spl lds files too.

 arch/powerpc/cpu/mpc85xx/u-boot-nand.lds     | 1 +
 arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds | 1 +
 arch/powerpc/cpu/mpc85xx/u-boot-spl.lds      | 1 +
 arch/powerpc/cpu/mpc85xx/u-boot.lds          | 1 +
 4 files changed, 4 insertions(+)

diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
index 6db6da1..75b0285 100644
--- a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
+++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
@@ -74,6 +74,7 @@ SECTIONS
   .data.init : { *(.data.init) }
   . = ALIGN(256);
   __init_end = .;
+  _end = .;
 
   .bootpg ADDR(.text) - 0x1000 :
   {
diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
index 8588d7c..a2193bf 100644
--- a/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
+++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
@@ -42,6 +42,7 @@ SECTIONS
 	. = ALIGN(8);
 	__init_begin = .;
 	__init_end = .;
+	_end = .;
 #if defined(CONFIG_FSL_IFC) /* Restrict bootpg at 4K boundry for IFC */
 	.bootpg ADDR(.text) + 0x1000 :
 	{
diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds b/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
index 0495182..6dc8d99 100644
--- a/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
+++ b/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
@@ -55,6 +55,7 @@ SECTIONS
 	. = ALIGN(8);
 	__init_begin = .;
 	__init_end = .;
+	_end = .;
 #ifdef CONFIG_SPL_SKIP_RELOCATE
 	. = ALIGN(4);
 	__bss_start = .;
diff --git a/arch/powerpc/cpu/mpc85xx/u-boot.lds b/arch/powerpc/cpu/mpc85xx/u-boot.lds
index 14c31be..22bbac5 100644
--- a/arch/powerpc/cpu/mpc85xx/u-boot.lds
+++ b/arch/powerpc/cpu/mpc85xx/u-boot.lds
@@ -81,6 +81,7 @@ SECTIONS
   .data.init : { *(.data.init) }
   . = ALIGN(256);
   __init_end = .;
+  _end = .;
 
 #ifdef CONFIG_SYS_MPC85XX_NO_RESETVEC
   .bootpg ADDR(.text) - 0x1000 :
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [U-Boot] [PATCH v3 2/8] powerpc/dts: Makefile changes to clean and build dts
  2018-09-03 16:05 [U-Boot] [PATCH v3 0/8] Device tree support for PowerPC in U-Boot Jagdish Gediya
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 1/8] powerpc/dts: Define '_end' symbol in mpc85xx U-Boot lds files Jagdish Gediya
@ 2018-09-03 16:05 ` Jagdish Gediya
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 3/8] binman: Add a new "skip-at-start" property in Section class Jagdish Gediya
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 22+ messages in thread
From: Jagdish Gediya @ 2018-09-03 16:05 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
---
 No changes for v2 and v3.

 arch/powerpc/dts/Makefile | 12 ++++++++++++
 dts/Makefile              |  2 +-
 2 files changed, 13 insertions(+), 1 deletion(-)
 create mode 100644 arch/powerpc/dts/Makefile

diff --git a/arch/powerpc/dts/Makefile b/arch/powerpc/dts/Makefile
new file mode 100644
index 0000000..de14e7b
--- /dev/null
+++ b/arch/powerpc/dts/Makefile
@@ -0,0 +1,12 @@
+# SPDX-License-Identifier: GPL-2.0+
+
+targets += $(dtb-y)
+
+# Add any required device tree compiler flags here
+DTC_FLAGS +=
+
+PHONY += dtbs
+dtbs: $(addprefix $(obj)/, $(dtb-y))
+	@:
+
+clean-files := *.dtb
diff --git a/dts/Makefile b/dts/Makefile
index 36dfbe7..9a9a3d5 100644
--- a/dts/Makefile
+++ b/dts/Makefile
@@ -61,4 +61,4 @@ dtbs: $(obj)/dt.dtb $(obj)/dt-spl.dtb
 clean-files := dt.dtb.S dt-spl.dtb.S
 
 # Let clean descend into dts directories
-subdir- += ../arch/arm/dts ../arch/microblaze/dts ../arch/mips/dts ../arch/sandbox/dts ../arch/x86/dts
+subdir- += ../arch/arm/dts ../arch/microblaze/dts ../arch/mips/dts ../arch/sandbox/dts ../arch/x86/dts ../arch/powerpc/dts
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [U-Boot] [PATCH v3 3/8] binman: Add a new "skip-at-start" property in Section class
  2018-09-03 16:05 [U-Boot] [PATCH v3 0/8] Device tree support for PowerPC in U-Boot Jagdish Gediya
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 1/8] powerpc/dts: Define '_end' symbol in mpc85xx U-Boot lds files Jagdish Gediya
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 2/8] powerpc/dts: Makefile changes to clean and build dts Jagdish Gediya
@ 2018-09-03 16:05 ` Jagdish Gediya
  2018-09-14 10:53   ` Simon Glass
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 4/8] binman: Add support for PowerPC mpc85xx 'bootpg + resetvec' entry Jagdish Gediya
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 22+ messages in thread
From: Jagdish Gediya @ 2018-09-03 16:05 UTC (permalink / raw)
  To: u-boot

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 entry
offset of the first entry. It 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".

Add a test case to check that 'skip-at-start' and 'end-at-4gb'
property can't be used together.

Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
---
Changes for v2:
	- Renamed 'start-pos' property to 'skip-at-start'
	- Updated README

Changes for v3:
	- Modification as per Simon Glass's comments
	- Added test case for 'skip-at-start' property

 tools/binman/README                                 |  9 +++++++++
 tools/binman/bsection.py                            | 15 +++++++++++----
 tools/binman/ftest.py                               |  8 ++++++++
 .../test/80_4gb_and_skip_at_start_together.dts      | 21 +++++++++++++++++++++
 4 files changed, 49 insertions(+), 4 deletions(-)
 create mode 100644 tools/binman/test/80_4gb_and_skip_at_start_together.dts

diff --git a/tools/binman/README b/tools/binman/README
index cb34171..7cd33d4 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 entry offset of the first entry.
+
+	For PowerPC mpc85xx based CPU, CONFIG_SYS_TEXT_BASE is the entry
+	offset of the first entry. It 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..5910092 100644
--- a/tools/binman/bsection.py
+++ b/tools/binman/bsection.py
@@ -59,7 +59,7 @@ class Section(object):
         self._pad_after = 0
         self._pad_byte = 0
         self._sort = False
-        self._skip_at_start = 0
+        self._skip_at_start = None
         self._end_4gb = False
         self._name_prefix = ''
         self._entries = OrderedDict()
@@ -79,10 +79,17 @@ 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')
-        if self._end_4gb and not self._size:
-            self._Raise("Section size must be provided when using end-at-4gb")
+        self._skip_at_start = fdt_util.GetInt(self._node, 'skip-at-start')
         if self._end_4gb:
-            self._skip_at_start = 0x100000000 - self._size
+            if not self._size:
+                self._Raise("Section size must be provided when using end-at-4gb")
+            if self._skip_at_start is not None:
+                self._Raise("Provide either 'end-at-4gb' or 'skip-at-start'")
+            else:
+                self._skip_at_start = 0x100000000 - self._size
+        else:
+            if self._skip_at_start is None:
+                self._skip_at_start = 0
         self._name_prefix = fdt_util.GetString(self._node, 'name-prefix')
 
     def _ReadEntries(self):
diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py
index a8456c2..36519a2 100644
--- a/tools/binman/ftest.py
+++ b/tools/binman/ftest.py
@@ -711,6 +711,14 @@ class TestFunctional(unittest.TestCase):
         self.assertIn("Section '/binman': Section size must be provided when "
                       "using end-at-4gb", str(e.exception))
 
+    def test4gbAndSkipAtStartTogether(self):
+        """Test that the end-at-4gb and skip-at-size property can't be used
+        together"""
+        with self.assertRaises(ValueError) as e:
+            self._DoTestFile('80_4gb_and_skip_at_start_together.dts')
+        self.assertIn("Section '/binman': Provide either 'end-at-4gb' or "
+                      "'skip-at-start'", str(e.exception))
+
     def testPackX86RomOutside(self):
         """Test that the end-at-4gb property checks for offset boundaries"""
         with self.assertRaises(ValueError) as e:
diff --git a/tools/binman/test/80_4gb_and_skip_at_start_together.dts b/tools/binman/test/80_4gb_and_skip_at_start_together.dts
new file mode 100644
index 0000000..90c467d
--- /dev/null
+++ b/tools/binman/test/80_4gb_and_skip_at_start_together.dts
@@ -0,0 +1,21 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright 2018 NXP
+ */
+
+/dts-v1/;
+
+/ {
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	binman {
+		size = <32>;
+		sort-by-offset;
+		end-at-4gb;
+		skip-at-start = <0xffffffe0>;
+		u-boot {
+			offset = <0xffffffe0>;
+		};
+	};
+};
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [U-Boot] [PATCH v3 4/8] binman: Add support for PowerPC mpc85xx 'bootpg + resetvec' entry
  2018-09-03 16:05 [U-Boot] [PATCH v3 0/8] Device tree support for PowerPC in U-Boot Jagdish Gediya
                   ` (2 preceding siblings ...)
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 3/8] binman: Add a new "skip-at-start" property in Section class Jagdish Gediya
@ 2018-09-03 16:05 ` Jagdish Gediya
  2018-09-14 10:53   ` Simon Glass
  2018-09-17  5:58   ` Bin Meng
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 5/8] powerpc: mpc85xx: Select BINMAN by default Jagdish Gediya
                   ` (3 subsequent siblings)
  7 siblings, 2 replies; 22+ messages in thread
From: Jagdish Gediya @ 2018-09-03 16:05 UTC (permalink / raw)
  To: u-boot

This entry contains the PowerPC mpc85xx boot page and resetvec
sections.

Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
---
Changes for v2:
	- Updated README for new binman entry
	- Added test

Changes for v3:
	- Changed text from 'Powerpc' to 'PowerPC'

 tools/binman/README.entries                        | 14 +++++++++++-
 .../etype/powerpc_mpc85xx_bootpg_resetvec.py       | 25 ++++++++++++++++++++++
 tools/binman/ftest.py                              |  8 +++++++
 .../test/81_powerpc_mpc85xx_bootpg_resetvec.dts    | 16 ++++++++++++++
 4 files changed, 62 insertions(+), 1 deletion(-)
 create mode 100644 tools/binman/etype/powerpc_mpc85xx_bootpg_resetvec.py
 create mode 100644 tools/binman/test/81_powerpc_mpc85xx_bootpg_resetvec.dts

diff --git a/tools/binman/README.entries b/tools/binman/README.entries
index c6e7b22..6c78fb3 100644
--- a/tools/binman/README.entries
+++ b/tools/binman/README.entries
@@ -221,6 +221,18 @@ See README.x86 for information about Intel binary blobs.
 
 
 
+Entry: powerpc-mpc85xx-bootpg-resetvec: PowerPC mpc85xx bootpg + resetvec code for U-Boot
+-----------------------------------------------------------------------------------------
+
+Properties / Entry arguments:
+    - filename: Filename of u-boot-br.bin (default 'u-boot-br.bin')
+
+This enrty is valid for PowerPC mpc85xx cpus. This entry holds
+'bootpg + resetvec' code for PowerPC mpc85xx CPUs which needs to be
+placed at offset 'RESET_VECTOR_ADDRESS - 0xffc'.
+
+
+
 Entry: section: Entry that contains other entries
 -------------------------------------------------
 
@@ -543,7 +555,7 @@ Properties / Entry arguments:
     - kernelkey: Name of the kernel key to use (inside keydir)
     - preamble-flags: Value of the vboot preamble flags (typically 0)
 
-Chromium OS  signs the read-write firmware and kernel, writing the signature
+Chromium OS signs the read-write firmware and kernel, writing the signature
 in this block. This allows U-Boot to verify that the next firmware stage
 and kernel are genuine.
 
diff --git a/tools/binman/etype/powerpc_mpc85xx_bootpg_resetvec.py b/tools/binman/etype/powerpc_mpc85xx_bootpg_resetvec.py
new file mode 100644
index 0000000..59fedd2
--- /dev/null
+++ b/tools/binman/etype/powerpc_mpc85xx_bootpg_resetvec.py
@@ -0,0 +1,25 @@
+# SPDX-License-Identifier: GPL-2.0+
+# Copyright 2018 NXP
+#
+# Entry-type module for the PowerPC mpc85xx bootpg and resetvec code for U-Boot
+#
+
+from entry import Entry
+from blob import Entry_blob
+
+class Entry_powerpc_mpc85xx_bootpg_resetvec(Entry_blob):
+    """PowerPC mpc85xx bootpg + resetvec code for U-Boot
+
+    Properties / Entry arguments:
+        - filename: Filename of u-boot-br.bin (default 'u-boot-br.bin')
+
+    This enrty is valid for PowerPC mpc85xx cpus. This entry holds
+    'bootpg + resetvec' code for PowerPC mpc85xx CPUs which needs to be
+    placed at offset 'RESET_VECTOR_ADDRESS - 0xffc'.
+    """
+
+    def __init__(self, section, etype, node):
+        Entry_blob.__init__(self, section, etype, node)
+
+    def GetDefaultFilename(self):
+        return 'u-boot-br.bin'
diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py
index 36519a2..924701a 100644
--- a/tools/binman/ftest.py
+++ b/tools/binman/ftest.py
@@ -39,6 +39,7 @@ U_BOOT_SPL_DTB_DATA   = 'spldtb'
 U_BOOT_TPL_DTB_DATA   = 'tpldtb'
 X86_START16_DATA      = 'start16'
 X86_START16_SPL_DATA  = 'start16spl'
+PPC_MPC85XX_BR_DATA   = 'ppcmpc85xxbr'
 U_BOOT_NODTB_DATA     = 'nodtb with microcode pointer somewhere in here'
 U_BOOT_SPL_NODTB_DATA = 'splnodtb with microcode pointer somewhere in here'
 FSP_DATA              = 'fsp'
@@ -90,6 +91,7 @@ class TestFunctional(unittest.TestCase):
         TestFunctional._MakeInputFile('vga.bin', VGA_DATA)
         self._ResetDtbs()
         TestFunctional._MakeInputFile('u-boot-x86-16bit.bin', X86_START16_DATA)
+        TestFunctional._MakeInputFile('u-boot-br.bin', PPC_MPC85XX_BR_DATA)
         TestFunctional._MakeInputFile('spl/u-boot-x86-16bit-spl.bin',
                                       X86_START16_SPL_DATA)
         TestFunctional._MakeInputFile('u-boot-nodtb.bin', U_BOOT_NODTB_DATA)
@@ -764,6 +766,12 @@ class TestFunctional(unittest.TestCase):
         data = self._DoReadFile('33_x86-start16.dts')
         self.assertEqual(X86_START16_DATA, data[:len(X86_START16_DATA)])
 
+    def testPackPowerpcMpc85xxBootpgResetvec(self):
+        """Test that an image with powerpc-mpc85xx-bootpg-resetvec can be
+        created"""
+        data = self._DoReadFile('81_powerpc_mpc85xx_bootpg_resetvec.dts')
+        self.assertEqual(PPC_MPC85XX_BR_DATA, data[:len(PPC_MPC85XX_BR_DATA)])
+
     def _RunMicrocodeTest(self, dts_fname, nodtb_data, ucode_second=False):
         """Handle running a test for insertion of microcode
 
diff --git a/tools/binman/test/81_powerpc_mpc85xx_bootpg_resetvec.dts b/tools/binman/test/81_powerpc_mpc85xx_bootpg_resetvec.dts
new file mode 100644
index 0000000..8f4b16c
--- /dev/null
+++ b/tools/binman/test/81_powerpc_mpc85xx_bootpg_resetvec.dts
@@ -0,0 +1,16 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright 2018 NXP
+ */
+
+/dts-v1/;
+
+/ {
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	binman {
+		powerpc-mpc85xx-bootpg-resetvec {
+		};
+	};
+};
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [U-Boot] [PATCH v3 5/8] powerpc: mpc85xx: Select BINMAN by default
  2018-09-03 16:05 [U-Boot] [PATCH v3 0/8] Device tree support for PowerPC in U-Boot Jagdish Gediya
                   ` (3 preceding siblings ...)
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 4/8] binman: Add support for PowerPC mpc85xx 'bootpg + resetvec' entry Jagdish Gediya
@ 2018-09-03 16:05 ` Jagdish Gediya
  2018-09-14 10:53   ` Simon Glass
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 6/8] powerpc: mpc85xx: Use binman to embed dtb inside U-Boot Jagdish Gediya
                   ` (2 subsequent siblings)
  7 siblings, 1 reply; 22+ messages in thread
From: Jagdish Gediya @ 2018-09-03 16:05 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
---
 No changes for v2 and v3.

 arch/powerpc/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 8faef0b..c727d91 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -20,6 +20,7 @@ config MPC85xx
 	select CREATE_ARCH_SYMLINK
 	select SYS_FSL_DDR
 	select SYS_FSL_DDR_BE
+	select BINMAN
 	imply CMD_HASH
 	imply CMD_IRQ
 	imply USB_EHCI_HCD if USB
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [U-Boot] [PATCH v3 6/8] powerpc: mpc85xx: Use binman to embed dtb inside U-Boot
  2018-09-03 16:05 [U-Boot] [PATCH v3 0/8] Device tree support for PowerPC in U-Boot Jagdish Gediya
                   ` (4 preceding siblings ...)
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 5/8] powerpc: mpc85xx: Select BINMAN by default Jagdish Gediya
@ 2018-09-03 16:05 ` Jagdish Gediya
  2018-09-14 10:53   ` Simon Glass
  2018-09-25 18:48   ` York Sun
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 7/8] powerpc: dts: Add u-boot.dtsi to use binman for MPC85xx boards Jagdish Gediya
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 8/8] powerpc: dts: Enable device tree support for T2080QDS Jagdish Gediya
  7 siblings, 2 replies; 22+ messages in thread
From: Jagdish Gediya @ 2018-09-03 16:05 UTC (permalink / raw)
  To: u-boot

Below is the sequence to embed dtb inside U-Boot,
1. Remove bootpg and resetvec section if needed
2. Append dtb
3. Append bootpg and resetvec section back if removed in step 1

Above procedure is required only when CONFIG_MPC85xx and
CONFIG_OF_SEPARATE are defined.

Add new config CONFIG_MPC85XX_HAVE_RESET_VECTOR to indicate that
image has resetvec section. Step 1 and step 3 described above are
required only if this config is y.

Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
---
Changes for v2:
	- Don't change the generic target
	- Add new config option to use binman

Changes for v3:
	- Commit message change('u-boot' -> 'U-Boot')

 Makefile                         | 23 ++++++++++++++++++++++-
 arch/powerpc/cpu/mpc85xx/Kconfig |  4 ++++
 2 files changed, 26 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index b5bf8ab..03baa74 100644
--- a/Makefile
+++ b/Makefile
@@ -861,6 +861,10 @@ ifneq ($(CONFIG_SYS_INIT_SP_BSS_OFFSET),)
 ALL-y += init_sp_bss_offset_check
 endif
 
+ifeq ($(CONFIG_MPC85xx)$(CONFIG_OF_SEPARATE),yy)
+ALL-y += u-boot-with-dtb.bin
+endif
+
 LDFLAGS_u-boot += $(LDFLAGS_FINAL)
 
 # Avoid 'Not enough room for program headers' error on binutils 2.28 onwards.
@@ -983,7 +987,8 @@ spl/u-boot-spl.srec: spl/u-boot-spl FORCE
 	$(call if_changed,objcopy)
 
 OBJCOPYFLAGS_u-boot-nodtb.bin := -O binary \
-		$(if $(CONFIG_X86_16BIT_INIT),-R .start16 -R .resetvec)
+		$(if $(CONFIG_X86_16BIT_INIT),-R .start16 -R .resetvec)	\
+		$(if $(CONFIG_MPC85XX_HAVE_RESET_VECTOR),-R .bootpg -R .resetvec)
 
 binary_size_check: u-boot-nodtb.bin FORCE
 	@file_size=$(shell wc -c u-boot-nodtb.bin | awk '{print $$1}') ; \
@@ -1202,6 +1207,18 @@ u-boot-with-spl.sfp: spl/u-boot-spl.sfp u-boot.img FORCE
 	$(call if_changed,socboot)
 endif
 
+ifeq ($(CONFIG_MPC85xx)$(CONFIG_OF_SEPARATE),yy)
+u-boot-with-dtb.bin: u-boot.bin u-boot.dtb \
+	$(if $(CONFIG_MPC85XX_HAVE_RESET_VECTOR), u-boot-br.bin) FORCE
+	$(call if_changed,binman)
+
+ifeq ($(CONFIG_MPC85XX_HAVE_RESET_VECTOR),y)
+OBJCOPYFLAGS_u-boot-br.bin := -O binary -j .bootpg -j .resetvec
+u-boot-br.bin: u-boot FORCE
+	$(call if_changed,objcopy)
+endif
+endif
+
 # x86 uses a large ROM. We fill it with 0xff, put the 16-bit stuff (including
 # reset vector) at the top, Intel ME descriptor at the bottom, and U-Boot in
 # the middle. This is handled by binman based on an image description in the
@@ -1296,8 +1313,12 @@ spl/u-boot-spl.pbl: spl/u-boot-spl.bin FORCE
 ifeq ($(ARCH),arm)
 UBOOT_BINLOAD := u-boot.img
 else
+ifeq ($(CONFIG_MPC85xx)$(CONFIG_OF_SEPARATE),yy)
+UBOOT_BINLOAD := u-boot-with-dtb.bin
+else
 UBOOT_BINLOAD := u-boot.bin
 endif
+endif
 
 OBJCOPYFLAGS_u-boot-with-spl-pbl.bin = -I binary -O binary --pad-to=$(CONFIG_SPL_PAD_TO) \
 			  --gap-fill=0xff
diff --git a/arch/powerpc/cpu/mpc85xx/Kconfig b/arch/powerpc/cpu/mpc85xx/Kconfig
index 19e8d02..7d139ff 100644
--- a/arch/powerpc/cpu/mpc85xx/Kconfig
+++ b/arch/powerpc/cpu/mpc85xx/Kconfig
@@ -1143,6 +1143,10 @@ config ARCH_T4240
 	imply CMD_REGINFO
 	imply FSL_SATA
 
+config MPC85XX_HAVE_RESET_VECTOR
+	bool "Indicate reset vector at CONFIG_RESET_VECTOR_ADDRESS - 0xffc"
+	depends on MPC85xx
+
 config BOOKE
 	bool
 	default y
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [U-Boot] [PATCH v3 7/8] powerpc: dts: Add u-boot.dtsi to use binman for MPC85xx boards
  2018-09-03 16:05 [U-Boot] [PATCH v3 0/8] Device tree support for PowerPC in U-Boot Jagdish Gediya
                   ` (5 preceding siblings ...)
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 6/8] powerpc: mpc85xx: Use binman to embed dtb inside U-Boot Jagdish Gediya
@ 2018-09-03 16:05 ` Jagdish Gediya
  2018-09-14 10:53   ` Simon Glass
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 8/8] powerpc: dts: Enable device tree support for T2080QDS Jagdish Gediya
  7 siblings, 1 reply; 22+ messages in thread
From: Jagdish Gediya @ 2018-09-03 16:05 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
---
Changes for v2:
	- Remove mpc85xx-u-boot.dtsi
	- Update u-boot.dtsi to use CONFIG_MPC85XX_HAVE_RESET_VECTOR

Changes for v3:
	- Use 'sort-by-offset' property instead of 'sort-by-pos'

 arch/powerpc/dts/u-boot.dtsi | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)
 create mode 100644 arch/powerpc/dts/u-boot.dtsi

diff --git a/arch/powerpc/dts/u-boot.dtsi b/arch/powerpc/dts/u-boot.dtsi
new file mode 100644
index 0000000..213d543
--- /dev/null
+++ b/arch/powerpc/dts/u-boot.dtsi
@@ -0,0 +1,32 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright 2018 NXP
+ */
+
+#include <config.h>
+
+/ {
+	binman {
+		filename = "u-boot-with-dtb.bin";
+		skip-at-start = <CONFIG_SYS_TEXT_BASE>;
+		sort-by-offset;
+		pad-byte = <0xff>;
+		size = <CONFIG_SYS_MONITOR_LEN>;
+
+		u-boot-with-ucode-ptr {
+			offset = <CONFIG_SYS_TEXT_BASE>;
+			optional-ucode;
+		};
+
+		u-boot-dtb-with-ucode {
+#ifdef CONFIG_MPC85xx
+			align = <256>;
+#endif
+		};
+#ifdef CONFIG_MPC85XX_HAVE_RESET_VECTOR
+		powerpc-mpc85xx-bootpg-resetvec {
+			offset = <(CONFIG_RESET_VECTOR_ADDRESS - 0xffc)>;
+		};
+#endif
+	};
+};
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [U-Boot] [PATCH v3 8/8] powerpc: dts: Enable device tree support for T2080QDS
  2018-09-03 16:05 [U-Boot] [PATCH v3 0/8] Device tree support for PowerPC in U-Boot Jagdish Gediya
                   ` (6 preceding siblings ...)
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 7/8] powerpc: dts: Add u-boot.dtsi to use binman for MPC85xx boards Jagdish Gediya
@ 2018-09-03 16:05 ` Jagdish Gediya
  2018-09-14 10:53   ` Simon Glass
  7 siblings, 1 reply; 22+ messages in thread
From: Jagdish Gediya @ 2018-09-03 16:05 UTC (permalink / raw)
  To: u-boot

Add device tree for T2080QDS board and enable CONFIG_OF_CONTROL
so that device tree can be compiled.

Update board README for device tree usage.

Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
---
Changes for v2:
	- Enable CONFIG_MPC85XX_HAVE_RESET_VECTOR in T2080QDS_defconfig
	- README and commit message changes as per Bin Meng's comments

No changes for v3.

 arch/powerpc/dts/Makefile             |  2 ++
 arch/powerpc/dts/e6500_power_isa.dtsi | 39 ++++++++++++++++++++++
 arch/powerpc/dts/t2080.dtsi           | 62 +++++++++++++++++++++++++++++++++++
 arch/powerpc/dts/t2080qds.dts         | 17 ++++++++++
 board/freescale/t208xqds/README       | 19 +++++++++++
 configs/T2080QDS_NAND_defconfig       |  3 +-
 configs/T2080QDS_SDCARD_defconfig     |  3 +-
 configs/T2080QDS_SPIFLASH_defconfig   |  3 +-
 configs/T2080QDS_defconfig            |  4 ++-
 9 files changed, 148 insertions(+), 4 deletions(-)
 create mode 100644 arch/powerpc/dts/e6500_power_isa.dtsi
 create mode 100644 arch/powerpc/dts/t2080.dtsi
 create mode 100644 arch/powerpc/dts/t2080qds.dts

diff --git a/arch/powerpc/dts/Makefile b/arch/powerpc/dts/Makefile
index de14e7b..a19aa56 100644
--- a/arch/powerpc/dts/Makefile
+++ b/arch/powerpc/dts/Makefile
@@ -1,5 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0+
 
+dtb-$(CONFIG_TARGET_T2080QDS) += t2080qds.dtb
+
 targets += $(dtb-y)
 
 # Add any required device tree compiler flags here
diff --git a/arch/powerpc/dts/e6500_power_isa.dtsi b/arch/powerpc/dts/e6500_power_isa.dtsi
new file mode 100644
index 0000000..1b06170
--- /dev/null
+++ b/arch/powerpc/dts/e6500_power_isa.dtsi
@@ -0,0 +1,39 @@
+// SPDX-License-Identifier: GPL-2.0+ OR X11
+/*
+ * e6500 Power ISA Device Tree Source (include)
+ *
+ * Copyright 2013 Freescale Semiconductor Inc.
+ * Copyright 2018 NXP
+ */
+
+/ {
+	cpus {
+		power-isa-version = "2.06";
+		power-isa-b;		// Base
+		power-isa-e;		// Embedded
+		power-isa-atb;		// Alternate Time Base
+		power-isa-cs;		// Cache Specification
+		power-isa-ds;		// Decorated Storage
+		power-isa-e.ed;		// Embedded.Enhanced Debug
+		power-isa-e.pd;		// Embedded.External PID
+		power-isa-e.hv;		// Embedded.Hypervisor
+		power-isa-e.le;		// Embedded.Little-Endian
+		power-isa-e.pm;		// Embedded.Performance Monitor
+		power-isa-e.pc;		// Embedded.Processor Control
+		power-isa-ecl;		// Embedded Cache Locking
+		power-isa-exp;		// External Proxy
+		power-isa-fp;		// Floating Point
+		power-isa-fp.r;		// Floating Point.Record
+		power-isa-mmc;		// Memory Coherence
+		power-isa-scpm;		// Store Conditional Page Mobility
+		power-isa-wt;		// Wait
+		power-isa-64;		// 64-bit
+		power-isa-e.pt;		// Embedded.Page Table
+		power-isa-e.hv.lrat;	// Embedded.Hypervisor.LRAT
+		power-isa-e.em;		// Embedded Multi-Threading
+		power-isa-v;		// Vector (AltiVec)
+		fsl,eref-er;		// Enhanced Reservations
+		fsl,eref-deo;		// Data Cache Extended Operations
+		mmu-type = "power-embedded";
+	};
+};
diff --git a/arch/powerpc/dts/t2080.dtsi b/arch/powerpc/dts/t2080.dtsi
new file mode 100644
index 0000000..db65ea5
--- /dev/null
+++ b/arch/powerpc/dts/t2080.dtsi
@@ -0,0 +1,62 @@
+// SPDX-License-Identifier: GPL-2.0+ OR X11
+/*
+ * T2080/T2081 Silicon/SoC Device Tree Source (pre include)
+ *
+ * Copyright 2013 Freescale Semiconductor Inc.
+ * Copyright 2018 NXP
+ */
+
+/dts-v1/;
+
+/include/ "e6500_power_isa.dtsi"
+
+/ {
+	#address-cells = <2>;
+	#size-cells = <2>;
+	interrupt-parent = <&mpic>;
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu0: PowerPC,e6500 at 0 {
+			device_type = "cpu";
+			reg = <0 1>;
+			fsl,portid-mapping = <0x80000000>;
+		};
+		cpu1: PowerPC,e6500 at 2 {
+			device_type = "cpu";
+			reg = <2 3>;
+			fsl,portid-mapping = <0x80000000>;
+		};
+		cpu2: PowerPC,e6500 at 4 {
+			device_type = "cpu";
+			reg = <4 5>;
+			fsl,portid-mapping = <0x80000000>;
+		};
+		cpu3: PowerPC,e6500 at 6 {
+			device_type = "cpu";
+			reg = <6 7>;
+			fsl,portid-mapping = <0x80000000>;
+		};
+	};
+
+	soc: soc at ffe000000 {
+		ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
+		reg = <0xf 0xfe000000 0 0x00001000>;
+		#address-cells = <1>;
+		#size-cells = <1>;
+		device_type = "soc";
+		compatible = "simple-bus";
+
+		mpic: pic at 40000 {
+			interrupt-controller;
+			#address-cells = <0>;
+			#interrupt-cells = <4>;
+			reg = <0x40000 0x40000>;
+			compatible = "fsl,mpic";
+			device_type = "open-pic";
+			clock-frequency = <0x0>;
+		};
+	};
+};
diff --git a/arch/powerpc/dts/t2080qds.dts b/arch/powerpc/dts/t2080qds.dts
new file mode 100644
index 0000000..1819a08
--- /dev/null
+++ b/arch/powerpc/dts/t2080qds.dts
@@ -0,0 +1,17 @@
+// SPDX-License-Identifier: GPL-2.0+ OR X11
+/*
+ * T2080QDS Device Tree Source
+ *
+ * Copyright 2013 - 2015 Freescale Semiconductor Inc.
+ * Copyright 2018 NXP
+ */
+
+/include/ "t2080.dtsi"
+
+/ {
+	model = "fsl,T2080QDS";
+	compatible = "fsl,T2080QDS";
+	#address-cells = <2>;
+	#size-cells = <2>;
+	interrupt-parent = <&mpic>;
+};
diff --git a/board/freescale/t208xqds/README b/board/freescale/t208xqds/README
index 2a2a0e5..d690857 100755
--- a/board/freescale/t208xqds/README
+++ b/board/freescale/t208xqds/README
@@ -272,3 +272,22 @@ How to update the ucode of Freescale FMAN
 
 For more details, please refer to T2080QDS User Guide and access
 website www.freescale.com and Freescale QorIQ SDK Infocenter document.
+
+Device tree support and how to enable it for different configs
+--------------------------------------------------------------
+Device tree support is available for t2080qds for below mentioned boot,
+1. NOR Boot
+2. NAND Boot
+3. SD Boot
+4. SPIFLASH Boot
+
+To enable device tree support for other boot, below configs need to be
+enabled in relative defconfig file,
+1. CONFIG_DEFAULT_DEVICE_TREE="t2080qds" (Change default device tree name if required)
+2. CONFIG_OF_CONTROL
+3. CONFIG_MPC85XX_HAVE_RESET_VECTOR if reset vector is located at
+   CONFIG_RESET_VECTOR_ADDRESS - 0xffc
+
+If device tree support is enabled in defconfig,
+1. use 'u-boot-with-dtb.bin' for NOR boot.
+2. use 'u-boot-with-spl-pbl.bin' for other boot.
diff --git a/configs/T2080QDS_NAND_defconfig b/configs/T2080QDS_NAND_defconfig
index 6b5de4d..4a39cd2 100644
--- a/configs/T2080QDS_NAND_defconfig
+++ b/configs/T2080QDS_NAND_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
 CONFIG_SPL=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T2080QDS=y
+CONFIG_DEFAULT_DEVICE_TREE="t2080qds"
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_OF_BOARD_SETUP=y
@@ -35,6 +36,7 @@ CONFIG_CMD_FAT=y
 CONFIG_CMD_MTDPARTS=y
 CONFIG_MTDIDS_DEFAULT="nor0=fe8000000.nor,nand0=fff800000.flash,spi0=spife110000.0"
 CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),96m(fs),-(user);fff800000.flash:1m(uboot),5m(kernel),128k(dtb),96m(fs),-(user);spife110000.0:1m(uboot),5m(kernel),128k(dtb),-(user)"
+CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_FSL_CAAM=y
 CONFIG_FSL_ESDHC=y
@@ -54,4 +56,3 @@ CONFIG_SPI=y
 CONFIG_FSL_ESPI=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
-CONFIG_OF_LIBFDT=y
diff --git a/configs/T2080QDS_SDCARD_defconfig b/configs/T2080QDS_SDCARD_defconfig
index a203582..c89c63d 100644
--- a/configs/T2080QDS_SDCARD_defconfig
+++ b/configs/T2080QDS_SDCARD_defconfig
@@ -8,6 +8,7 @@ CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
 CONFIG_SPL=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T2080QDS=y
+CONFIG_DEFAULT_DEVICE_TREE="t2080qds"
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_OF_BOARD_SETUP=y
@@ -35,6 +36,7 @@ CONFIG_CMD_FAT=y
 CONFIG_CMD_MTDPARTS=y
 CONFIG_MTDIDS_DEFAULT="nor0=fe8000000.nor,nand0=fff800000.flash,spi0=spife110000.0"
 CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),96m(fs),-(user);fff800000.flash:1m(uboot),5m(kernel),128k(dtb),96m(fs),-(user);spife110000.0:1m(uboot),5m(kernel),128k(dtb),-(user)"
+CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_FSL_CAAM=y
 CONFIG_FSL_ESDHC=y
@@ -53,4 +55,3 @@ CONFIG_SPI=y
 CONFIG_FSL_ESPI=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
-CONFIG_OF_LIBFDT=y
diff --git a/configs/T2080QDS_SPIFLASH_defconfig b/configs/T2080QDS_SPIFLASH_defconfig
index 6528eea..b5f960f 100644
--- a/configs/T2080QDS_SPIFLASH_defconfig
+++ b/configs/T2080QDS_SPIFLASH_defconfig
@@ -9,6 +9,7 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
 CONFIG_SPL_SPI_SUPPORT=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T2080QDS=y
+CONFIG_DEFAULT_DEVICE_TREE="t2080qds"
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_OF_BOARD_SETUP=y
@@ -36,6 +37,7 @@ CONFIG_CMD_FAT=y
 CONFIG_CMD_MTDPARTS=y
 CONFIG_MTDIDS_DEFAULT="nor0=fe8000000.nor,nand0=fff800000.flash,spi0=spife110000.0"
 CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),96m(fs),-(user);fff800000.flash:1m(uboot),5m(kernel),128k(dtb),96m(fs),-(user);spife110000.0:1m(uboot),5m(kernel),128k(dtb),-(user)"
+CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_FSL_CAAM=y
 CONFIG_FSL_ESDHC=y
@@ -54,4 +56,3 @@ CONFIG_SPI=y
 CONFIG_FSL_ESPI=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
-CONFIG_OF_LIBFDT=y
diff --git a/configs/T2080QDS_defconfig b/configs/T2080QDS_defconfig
index 4a5cbb2..b34a0f5 100644
--- a/configs/T2080QDS_defconfig
+++ b/configs/T2080QDS_defconfig
@@ -2,6 +2,7 @@ CONFIG_PPC=y
 CONFIG_SYS_TEXT_BASE=0xEFF40000
 CONFIG_MPC85xx=y
 CONFIG_TARGET_T2080QDS=y
+CONFIG_MPC85XX_HAVE_RESET_VECTOR=y
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_OF_BOARD_SETUP=y
@@ -24,6 +25,8 @@ CONFIG_CMD_FAT=y
 CONFIG_CMD_MTDPARTS=y
 CONFIG_MTDIDS_DEFAULT="nor0=fe8000000.nor,nand0=fff800000.flash,spi0=spife110000.0"
 CONFIG_MTDPARTS_DEFAULT="mtdparts=fe8000000.nor:1m(uboot),5m(kernel),128k(dtb),96m(fs),-(user);fff800000.flash:1m(uboot),5m(kernel),128k(dtb),96m(fs),-(user);spife110000.0:1m(uboot),5m(kernel),128k(dtb),-(user)"
+CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="t2080qds"
 CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_FSL_CAAM=y
 CONFIG_FSL_ESDHC=y
@@ -42,4 +45,3 @@ CONFIG_SPI=y
 CONFIG_FSL_ESPI=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
-CONFIG_OF_LIBFDT=y
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [U-Boot] [PATCH v3 1/8] powerpc/dts: Define '_end' symbol in mpc85xx U-Boot lds files
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 1/8] powerpc/dts: Define '_end' symbol in mpc85xx U-Boot lds files Jagdish Gediya
@ 2018-09-14 10:53   ` Simon Glass
  2018-09-17  5:58   ` Bin Meng
  2018-09-28 15:50   ` York Sun
  2 siblings, 0 replies; 22+ messages in thread
From: Simon Glass @ 2018-09-14 10:53 UTC (permalink / raw)
  To: u-boot

On 3 September 2018 at 18:05, Jagdish Gediya <jagdish.gediya@nxp.com> wrote:
> 'board_fdt_blob_setup' function sets up fdt blob at '&_end' so
> define '_end' symbol in mpc85xx lds files.
>
> Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
> ---
> Changes for v2:
>         - Define '_end' symbol in lds file instead of defining new
>           'board_fdt_blob_setup' function using existing '_init_end' symbol.
>
> Changes for v3:
>         - Define '_end' symbol in spl lds files too.
>
>  arch/powerpc/cpu/mpc85xx/u-boot-nand.lds     | 1 +
>  arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds | 1 +
>  arch/powerpc/cpu/mpc85xx/u-boot-spl.lds      | 1 +
>  arch/powerpc/cpu/mpc85xx/u-boot.lds          | 1 +
>  4 files changed, 4 insertions(+)

Reviewed-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [U-Boot] [PATCH v3 3/8] binman: Add a new "skip-at-start" property in Section class
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 3/8] binman: Add a new "skip-at-start" property in Section class Jagdish Gediya
@ 2018-09-14 10:53   ` Simon Glass
  0 siblings, 0 replies; 22+ messages in thread
From: Simon Glass @ 2018-09-14 10:53 UTC (permalink / raw)
  To: u-boot

On 3 September 2018 at 18:05, Jagdish Gediya <jagdish.gediya@nxp.com> wrote:
> 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 entry
> offset of the first entry. It 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".
>
> Add a test case to check that 'skip-at-start' and 'end-at-4gb'
> property can't be used together.
>
> Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
> ---
> Changes for v2:
>         - Renamed 'start-pos' property to 'skip-at-start'
>         - Updated README
>
> Changes for v3:
>         - Modification as per Simon Glass's comments
>         - Added test case for 'skip-at-start' property
>
>  tools/binman/README                                 |  9 +++++++++
>  tools/binman/bsection.py                            | 15 +++++++++++----
>  tools/binman/ftest.py                               |  8 ++++++++
>  .../test/80_4gb_and_skip_at_start_together.dts      | 21 +++++++++++++++++++++
>  4 files changed, 49 insertions(+), 4 deletions(-)
>  create mode 100644 tools/binman/test/80_4gb_and_skip_at_start_together.dts

Reviewed-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [U-Boot] [PATCH v3 4/8] binman: Add support for PowerPC mpc85xx 'bootpg + resetvec' entry
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 4/8] binman: Add support for PowerPC mpc85xx 'bootpg + resetvec' entry Jagdish Gediya
@ 2018-09-14 10:53   ` Simon Glass
  2018-09-17  5:58   ` Bin Meng
  1 sibling, 0 replies; 22+ messages in thread
From: Simon Glass @ 2018-09-14 10:53 UTC (permalink / raw)
  To: u-boot

On 3 September 2018 at 18:05, Jagdish Gediya <jagdish.gediya@nxp.com> wrote:
> This entry contains the PowerPC mpc85xx boot page and resetvec
> sections.
>
> Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
> ---
> Changes for v2:
>         - Updated README for new binman entry
>         - Added test
>
> Changes for v3:
>         - Changed text from 'Powerpc' to 'PowerPC'
>
>  tools/binman/README.entries                        | 14 +++++++++++-
>  .../etype/powerpc_mpc85xx_bootpg_resetvec.py       | 25 ++++++++++++++++++++++
>  tools/binman/ftest.py                              |  8 +++++++
>  .../test/81_powerpc_mpc85xx_bootpg_resetvec.dts    | 16 ++++++++++++++
>  4 files changed, 62 insertions(+), 1 deletion(-)
>  create mode 100644 tools/binman/etype/powerpc_mpc85xx_bootpg_resetvec.py
>  create mode 100644 tools/binman/test/81_powerpc_mpc85xx_bootpg_resetvec.dts

Reviewed-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [U-Boot] [PATCH v3 5/8] powerpc: mpc85xx: Select BINMAN by default
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 5/8] powerpc: mpc85xx: Select BINMAN by default Jagdish Gediya
@ 2018-09-14 10:53   ` Simon Glass
  0 siblings, 0 replies; 22+ messages in thread
From: Simon Glass @ 2018-09-14 10:53 UTC (permalink / raw)
  To: u-boot

On 3 September 2018 at 18:05, Jagdish Gediya <jagdish.gediya@nxp.com> wrote:
> Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>  No changes for v2 and v3.
>
>  arch/powerpc/Kconfig | 1 +
>  1 file changed, 1 insertion(+)

Reviewed-by: Simon Glass <sjg@chromium.org>

This is more than a default - with 'select' it will not be possible to
deselected it in a defconfig file, as I understand it. But that seems
OK to me.

- Simon

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [U-Boot] [PATCH v3 6/8] powerpc: mpc85xx: Use binman to embed dtb inside U-Boot
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 6/8] powerpc: mpc85xx: Use binman to embed dtb inside U-Boot Jagdish Gediya
@ 2018-09-14 10:53   ` Simon Glass
  2018-09-25 18:48   ` York Sun
  1 sibling, 0 replies; 22+ messages in thread
From: Simon Glass @ 2018-09-14 10:53 UTC (permalink / raw)
  To: u-boot

On 3 September 2018 at 18:05, Jagdish Gediya <jagdish.gediya@nxp.com> wrote:
> Below is the sequence to embed dtb inside U-Boot,
> 1. Remove bootpg and resetvec section if needed
> 2. Append dtb
> 3. Append bootpg and resetvec section back if removed in step 1
>
> Above procedure is required only when CONFIG_MPC85xx and
> CONFIG_OF_SEPARATE are defined.
>
> Add new config CONFIG_MPC85XX_HAVE_RESET_VECTOR to indicate that
> image has resetvec section. Step 1 and step 3 described above are
> required only if this config is y.
>
> Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
> ---
> Changes for v2:
>         - Don't change the generic target
>         - Add new config option to use binman

Where is that config option? I don't see it in this patch.

>
> Changes for v3:
>         - Commit message change('u-boot' -> 'U-Boot')
>
>  Makefile                         | 23 ++++++++++++++++++++++-
>  arch/powerpc/cpu/mpc85xx/Kconfig |  4 ++++
>  2 files changed, 26 insertions(+), 1 deletion(-)

Reviewed-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [U-Boot] [PATCH v3 7/8] powerpc: dts: Add u-boot.dtsi to use binman for MPC85xx boards
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 7/8] powerpc: dts: Add u-boot.dtsi to use binman for MPC85xx boards Jagdish Gediya
@ 2018-09-14 10:53   ` Simon Glass
  0 siblings, 0 replies; 22+ messages in thread
From: Simon Glass @ 2018-09-14 10:53 UTC (permalink / raw)
  To: u-boot

On 3 September 2018 at 18:05, Jagdish Gediya <jagdish.gediya@nxp.com> wrote:
> Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
> ---
> Changes for v2:
>         - Remove mpc85xx-u-boot.dtsi
>         - Update u-boot.dtsi to use CONFIG_MPC85XX_HAVE_RESET_VECTOR
>
> Changes for v3:
>         - Use 'sort-by-offset' property instead of 'sort-by-pos'
>
>  arch/powerpc/dts/u-boot.dtsi | 32 ++++++++++++++++++++++++++++++++
>  1 file changed, 32 insertions(+)
>  create mode 100644 arch/powerpc/dts/u-boot.dtsi

Reviewed-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [U-Boot] [PATCH v3 8/8] powerpc: dts: Enable device tree support for T2080QDS
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 8/8] powerpc: dts: Enable device tree support for T2080QDS Jagdish Gediya
@ 2018-09-14 10:53   ` Simon Glass
  0 siblings, 0 replies; 22+ messages in thread
From: Simon Glass @ 2018-09-14 10:53 UTC (permalink / raw)
  To: u-boot

On 3 September 2018 at 18:05, Jagdish Gediya <jagdish.gediya@nxp.com> wrote:
> Add device tree for T2080QDS board and enable CONFIG_OF_CONTROL
> so that device tree can be compiled.
>
> Update board README for device tree usage.
>
> Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
> ---
> Changes for v2:
>         - Enable CONFIG_MPC85XX_HAVE_RESET_VECTOR in T2080QDS_defconfig
>         - README and commit message changes as per Bin Meng's comments
>
> No changes for v3.
>
>  arch/powerpc/dts/Makefile             |  2 ++
>  arch/powerpc/dts/e6500_power_isa.dtsi | 39 ++++++++++++++++++++++
>  arch/powerpc/dts/t2080.dtsi           | 62 +++++++++++++++++++++++++++++++++++
>  arch/powerpc/dts/t2080qds.dts         | 17 ++++++++++
>  board/freescale/t208xqds/README       | 19 +++++++++++
>  configs/T2080QDS_NAND_defconfig       |  3 +-
>  configs/T2080QDS_SDCARD_defconfig     |  3 +-
>  configs/T2080QDS_SPIFLASH_defconfig   |  3 +-
>  configs/T2080QDS_defconfig            |  4 ++-
>  9 files changed, 148 insertions(+), 4 deletions(-)
>  create mode 100644 arch/powerpc/dts/e6500_power_isa.dtsi
>  create mode 100644 arch/powerpc/dts/t2080.dtsi
>  create mode 100644 arch/powerpc/dts/t2080qds.dts

Reviewed-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [U-Boot] [PATCH v3 1/8] powerpc/dts: Define '_end' symbol in mpc85xx U-Boot lds files
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 1/8] powerpc/dts: Define '_end' symbol in mpc85xx U-Boot lds files Jagdish Gediya
  2018-09-14 10:53   ` Simon Glass
@ 2018-09-17  5:58   ` Bin Meng
  2018-09-28 15:50   ` York Sun
  2 siblings, 0 replies; 22+ messages in thread
From: Bin Meng @ 2018-09-17  5:58 UTC (permalink / raw)
  To: u-boot

On Mon, Sep 3, 2018 at 1:08 PM Jagdish Gediya <jagdish.gediya@nxp.com> wrote:
>
> 'board_fdt_blob_setup' function sets up fdt blob at '&_end' so
> define '_end' symbol in mpc85xx lds files.
>
> Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
> ---
> Changes for v2:
>         - Define '_end' symbol in lds file instead of defining new
>           'board_fdt_blob_setup' function using existing '_init_end' symbol.
>
> Changes for v3:
>         - Define '_end' symbol in spl lds files too.
>
>  arch/powerpc/cpu/mpc85xx/u-boot-nand.lds     | 1 +
>  arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds | 1 +
>  arch/powerpc/cpu/mpc85xx/u-boot-spl.lds      | 1 +
>  arch/powerpc/cpu/mpc85xx/u-boot.lds          | 1 +
>  4 files changed, 4 insertions(+)
>

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [U-Boot] [PATCH v3 4/8] binman: Add support for PowerPC mpc85xx 'bootpg + resetvec' entry
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 4/8] binman: Add support for PowerPC mpc85xx 'bootpg + resetvec' entry Jagdish Gediya
  2018-09-14 10:53   ` Simon Glass
@ 2018-09-17  5:58   ` Bin Meng
  1 sibling, 0 replies; 22+ messages in thread
From: Bin Meng @ 2018-09-17  5:58 UTC (permalink / raw)
  To: u-boot

On Mon, Sep 3, 2018 at 1:08 PM Jagdish Gediya <jagdish.gediya@nxp.com> wrote:
>
> This entry contains the PowerPC mpc85xx boot page and resetvec
> sections.
>
> Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
> ---
> Changes for v2:
>         - Updated README for new binman entry
>         - Added test
>
> Changes for v3:
>         - Changed text from 'Powerpc' to 'PowerPC'
>
>  tools/binman/README.entries                        | 14 +++++++++++-
>  .../etype/powerpc_mpc85xx_bootpg_resetvec.py       | 25 ++++++++++++++++++++++
>  tools/binman/ftest.py                              |  8 +++++++
>  .../test/81_powerpc_mpc85xx_bootpg_resetvec.dts    | 16 ++++++++++++++
>  4 files changed, 62 insertions(+), 1 deletion(-)
>  create mode 100644 tools/binman/etype/powerpc_mpc85xx_bootpg_resetvec.py
>  create mode 100644 tools/binman/test/81_powerpc_mpc85xx_bootpg_resetvec.dts
>

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [U-Boot] [PATCH v3 6/8] powerpc: mpc85xx: Use binman to embed dtb inside U-Boot
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 6/8] powerpc: mpc85xx: Use binman to embed dtb inside U-Boot Jagdish Gediya
  2018-09-14 10:53   ` Simon Glass
@ 2018-09-25 18:48   ` York Sun
  2018-09-26 10:17     ` Jagdish Gediya
  1 sibling, 1 reply; 22+ messages in thread
From: York Sun @ 2018-09-25 18:48 UTC (permalink / raw)
  To: u-boot

On 09/02/2018 10:08 PM, Jagdish Gediya wrote:
> Below is the sequence to embed dtb inside U-Boot,
> 1. Remove bootpg and resetvec section if needed
> 2. Append dtb
> 3. Append bootpg and resetvec section back if removed in step 1
> 
> Above procedure is required only when CONFIG_MPC85xx and
> CONFIG_OF_SEPARATE are defined.
> 
> Add new config CONFIG_MPC85XX_HAVE_RESET_VECTOR to indicate that
> image has resetvec section. Step 1 and step 3 described above are
> required only if this config is y.
> 
> Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
> ---
> Changes for v2:
> 	- Don't change the generic target
> 	- Add new config option to use binman
> 
> Changes for v3:
> 	- Commit message change('u-boot' -> 'U-Boot')
> 
>  Makefile                         | 23 ++++++++++++++++++++++-
>  arch/powerpc/cpu/mpc85xx/Kconfig |  4 ++++
>  2 files changed, 26 insertions(+), 1 deletion(-)
> 
> diff --git a/Makefile b/Makefile
> index b5bf8ab..03baa74 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -861,6 +861,10 @@ ifneq ($(CONFIG_SYS_INIT_SP_BSS_OFFSET),)
>  ALL-y += init_sp_bss_offset_check
>  endif
>  
> +ifeq ($(CONFIG_MPC85xx)$(CONFIG_OF_SEPARATE),yy)
> +ALL-y += u-boot-with-dtb.bin
> +endif
> +

One thing confuses me is the output file. My understand is we will use
u-boot-with-dtb.bin file. Other files are intermediate files. It would
be helpful to explain each output file, especially for debugging, and
let other know we switch from one file to another after this patch set.

CONFIG_OF_SEPARATE seems not be selected explicitly anywhere. Are we
relying on the first choice to be selected automatically? Is it guaranteed?

York

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [U-Boot] [PATCH v3 6/8] powerpc: mpc85xx: Use binman to embed dtb inside U-Boot
  2018-09-25 18:48   ` York Sun
@ 2018-09-26 10:17     ` Jagdish Gediya
  2018-09-26 18:11       ` York Sun
  0 siblings, 1 reply; 22+ messages in thread
From: Jagdish Gediya @ 2018-09-26 10:17 UTC (permalink / raw)
  To: u-boot

Hi York,

> -----Original Message-----
> From: York Sun
> Sent: Wednesday, September 26, 2018 12:19 AM
> To: Jagdish Gediya <jagdish.gediya@nxp.com>; u-boot at lists.denx.de;
> Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>; Poonam Aggrwal
> <poonam.aggrwal@nxp.com>; sjg at chromium.org; bmeng.cn at gmail.com
> Cc: trini at konsulko.com
> Subject: Re: [PATCH v3 6/8] powerpc: mpc85xx: Use binman to embed dtb
> inside U-Boot
> 
> On 09/02/2018 10:08 PM, Jagdish Gediya wrote:
> > Below is the sequence to embed dtb inside U-Boot, 1. Remove bootpg and
> > resetvec section if needed 2. Append dtb 3. Append bootpg and resetvec
> > section back if removed in step 1
> >
> > Above procedure is required only when CONFIG_MPC85xx and
> > CONFIG_OF_SEPARATE are defined.
> >
> > Add new config CONFIG_MPC85XX_HAVE_RESET_VECTOR to indicate that
> image
> > has resetvec section. Step 1 and step 3 described above are required
> > only if this config is y.
> >
> > Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
> > ---
> > Changes for v2:
> > 	- Don't change the generic target
> > 	- Add new config option to use binman
> >
> > Changes for v3:
> > 	- Commit message change('u-boot' -> 'U-Boot')
> >
> >  Makefile                         | 23 ++++++++++++++++++++++-
> >  arch/powerpc/cpu/mpc85xx/Kconfig |  4 ++++
> >  2 files changed, 26 insertions(+), 1 deletion(-)
> >
> > diff --git a/Makefile b/Makefile
> > index b5bf8ab..03baa74 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -861,6 +861,10 @@ ifneq ($(CONFIG_SYS_INIT_SP_BSS_OFFSET),)
> >  ALL-y += init_sp_bss_offset_check
> >  endif
> >
> > +ifeq ($(CONFIG_MPC85xx)$(CONFIG_OF_SEPARATE),yy)
> > +ALL-y += u-boot-with-dtb.bin
> > +endif
> > +
> 
> One thing confuses me is the output file. My understand is we will use u-
> boot-with-dtb.bin file. Other files are intermediate files. It would be helpful
> to explain each output file, especially for debugging, and let other know we
> switch from one file to another after this patch set.
I have already updated the board README for u-boot-with-dtb.bin. Apart from it, Only one new (u-boot-br.bin) intermediate  file is generated with respect to the existing U-Boot compilations flow. Should I update board README or commit message for u-boot-br.bin?
> 
> CONFIG_OF_SEPARATE seems not be selected explicitly anywhere. Are we
> relying on the first choice to be selected automatically? Is it guaranteed?
yes, We are relying on the first choice to be selected automatically. It should be guaranteed, I am seeing that no configs in U-Boot are enabling it explicitly but many board uses u-boot-dtb.bin or files based on u-boot-dtb.bin for booting which are only generated if CONFIG_OF_SEPARATE is enabled.

Regards,
Jagdish

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [U-Boot] [PATCH v3 6/8] powerpc: mpc85xx: Use binman to embed dtb inside U-Boot
  2018-09-26 10:17     ` Jagdish Gediya
@ 2018-09-26 18:11       ` York Sun
  0 siblings, 0 replies; 22+ messages in thread
From: York Sun @ 2018-09-26 18:11 UTC (permalink / raw)
  To: u-boot

On 09/26/2018 03:17 AM, Jagdish Gediya wrote:
> Hi York,
> 
>> -----Original Message-----
>> From: York Sun
>> Sent: Wednesday, September 26, 2018 12:19 AM
>> To: Jagdish Gediya <jagdish.gediya@nxp.com>; u-boot at lists.denx.de;
>> Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>; Poonam Aggrwal
>> <poonam.aggrwal@nxp.com>; sjg at chromium.org; bmeng.cn at gmail.com
>> Cc: trini at konsulko.com
>> Subject: Re: [PATCH v3 6/8] powerpc: mpc85xx: Use binman to embed dtb
>> inside U-Boot
>>
>> On 09/02/2018 10:08 PM, Jagdish Gediya wrote:
>>> Below is the sequence to embed dtb inside U-Boot, 1. Remove bootpg and
>>> resetvec section if needed 2. Append dtb 3. Append bootpg and resetvec
>>> section back if removed in step 1
>>>
>>> Above procedure is required only when CONFIG_MPC85xx and
>>> CONFIG_OF_SEPARATE are defined.
>>>
>>> Add new config CONFIG_MPC85XX_HAVE_RESET_VECTOR to indicate that
>> image
>>> has resetvec section. Step 1 and step 3 described above are required
>>> only if this config is y.
>>>
>>> Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
>>> ---
>>> Changes for v2:
>>> 	- Don't change the generic target
>>> 	- Add new config option to use binman
>>>
>>> Changes for v3:
>>> 	- Commit message change('u-boot' -> 'U-Boot')
>>>
>>>  Makefile                         | 23 ++++++++++++++++++++++-
>>>  arch/powerpc/cpu/mpc85xx/Kconfig |  4 ++++
>>>  2 files changed, 26 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/Makefile b/Makefile
>>> index b5bf8ab..03baa74 100644
>>> --- a/Makefile
>>> +++ b/Makefile
>>> @@ -861,6 +861,10 @@ ifneq ($(CONFIG_SYS_INIT_SP_BSS_OFFSET),)
>>>  ALL-y += init_sp_bss_offset_check
>>>  endif
>>>
>>> +ifeq ($(CONFIG_MPC85xx)$(CONFIG_OF_SEPARATE),yy)
>>> +ALL-y += u-boot-with-dtb.bin
>>> +endif
>>> +
>>
>> One thing confuses me is the output file. My understand is we will use u-
>> boot-with-dtb.bin file. Other files are intermediate files. It would be helpful
>> to explain each output file, especially for debugging, and let other know we
>> switch from one file to another after this patch set.
> I have already updated the board README for u-boot-with-dtb.bin. Apart from it, Only one new (u-boot-br.bin) intermediate  file is generated with respect to the existing U-Boot compilations flow. Should I update board README or commit message for u-boot-br.bin?

I see the updated README for T2080QDS. I can see u-boot-br.bin from the
change history so it is clear to me. Maybe you can suggest additional
language to the commit message to make it more clear.

>>
>> CONFIG_OF_SEPARATE seems not be selected explicitly anywhere. Are we
>> relying on the first choice to be selected automatically? Is it guaranteed?
> yes, We are relying on the first choice to be selected automatically. It should be guaranteed, I am seeing that no configs in U-Boot are enabling it explicitly but many board uses u-boot-dtb.bin or files based on u-boot-dtb.bin for booting which are only generated if CONFIG_OF_SEPARATE is enabled.
> 

I didn't find anywhere saying the first choice is guaranteed if nothing
is explicitly selected.

York

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [U-Boot] [PATCH v3 1/8] powerpc/dts: Define '_end' symbol in mpc85xx U-Boot lds files
  2018-09-03 16:05 ` [U-Boot] [PATCH v3 1/8] powerpc/dts: Define '_end' symbol in mpc85xx U-Boot lds files Jagdish Gediya
  2018-09-14 10:53   ` Simon Glass
  2018-09-17  5:58   ` Bin Meng
@ 2018-09-28 15:50   ` York Sun
  2 siblings, 0 replies; 22+ messages in thread
From: York Sun @ 2018-09-28 15:50 UTC (permalink / raw)
  To: u-boot

On 09/02/2018 10:08 PM, Jagdish Gediya wrote:
> 'board_fdt_blob_setup' function sets up fdt blob at '&_end' so
> define '_end' symbol in mpc85xx lds files.
> 
> Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
> ---
> Changes for v2:
> 	- Define '_end' symbol in lds file instead of defining new
> 	  'board_fdt_blob_setup' function using existing '_init_end' symbol.
> 
> Changes for v3:
> 	- Define '_end' symbol in spl lds files too.
> 

This patch set has been applied to mpc85xx master, awaiting upstream.
Thanks.

York

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2018-09-28 15:50 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-03 16:05 [U-Boot] [PATCH v3 0/8] Device tree support for PowerPC in U-Boot Jagdish Gediya
2018-09-03 16:05 ` [U-Boot] [PATCH v3 1/8] powerpc/dts: Define '_end' symbol in mpc85xx U-Boot lds files Jagdish Gediya
2018-09-14 10:53   ` Simon Glass
2018-09-17  5:58   ` Bin Meng
2018-09-28 15:50   ` York Sun
2018-09-03 16:05 ` [U-Boot] [PATCH v3 2/8] powerpc/dts: Makefile changes to clean and build dts Jagdish Gediya
2018-09-03 16:05 ` [U-Boot] [PATCH v3 3/8] binman: Add a new "skip-at-start" property in Section class Jagdish Gediya
2018-09-14 10:53   ` Simon Glass
2018-09-03 16:05 ` [U-Boot] [PATCH v3 4/8] binman: Add support for PowerPC mpc85xx 'bootpg + resetvec' entry Jagdish Gediya
2018-09-14 10:53   ` Simon Glass
2018-09-17  5:58   ` Bin Meng
2018-09-03 16:05 ` [U-Boot] [PATCH v3 5/8] powerpc: mpc85xx: Select BINMAN by default Jagdish Gediya
2018-09-14 10:53   ` Simon Glass
2018-09-03 16:05 ` [U-Boot] [PATCH v3 6/8] powerpc: mpc85xx: Use binman to embed dtb inside U-Boot Jagdish Gediya
2018-09-14 10:53   ` Simon Glass
2018-09-25 18:48   ` York Sun
2018-09-26 10:17     ` Jagdish Gediya
2018-09-26 18:11       ` York Sun
2018-09-03 16:05 ` [U-Boot] [PATCH v3 7/8] powerpc: dts: Add u-boot.dtsi to use binman for MPC85xx boards Jagdish Gediya
2018-09-14 10:53   ` Simon Glass
2018-09-03 16:05 ` [U-Boot] [PATCH v3 8/8] powerpc: dts: Enable device tree support for T2080QDS Jagdish Gediya
2018-09-14 10:53   ` Simon Glass

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.