[U-Boot] [PATCH v2 4/8] binman: Add support for Powerpc mpc85xx 'bootpg + resetvec' entry
Bin Meng
bmeng.cn at gmail.com
Tue Aug 28 09:16:27 UTC 2018
On Tue, Aug 28, 2018 at 11:53 AM Jagdish Gediya <jagdish.gediya at nxp.com> wrote:
>
> This entry contains the Powerpc mpc85xx boot page and resetvec
nits: PowerPC
Please fix the title as well
> sections.
>
> Signed-off-by: Jagdish Gediya <jagdish.gediya at nxp.com>
> ---
> Changes for v2:
> - Updated README for new binman entry
> - Added test
>
> tools/binman/README.entries | 14 +++++++++++-
> .../etype/powerpc_mpc85xx_bootpg_resetvec.py | 25 ++++++++++++++++++++++
> tools/binman/ftest.py | 8 +++++++
> .../test/80_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/80_powerpc_mpc85xx_bootpg_resetvec.dts
>
> diff --git a/tools/binman/README.entries b/tools/binman/README.entries
> index c6e7b22..99440d6 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
nits: PowerPC, please fix this globally in this patch
> +-----------------------------------------------------------------------------------------
> +
> +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..37cf408
> --- /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 a8456c2..7a6a5ae 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)
> @@ -756,6 +758,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('80_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/80_powerpc_mpc85xx_bootpg_resetvec.dts b/tools/binman/test/80_powerpc_mpc85xx_bootpg_resetvec.dts
> new file mode 100644
> index 0000000..8f4b16c
> --- /dev/null
> +++ b/tools/binman/test/80_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 {
> + };
> + };
> +};
> --
Regards,
Bin
More information about the U-Boot
mailing list