]> git.dujemihanovic.xyz Git - u-boot.git/log
u-boot.git
4 years agox86: zboot: Correct image type
Simon Glass [Sat, 5 Sep 2020 20:50:41 +0000 (14:50 -0600)]
x86: zboot: Correct image type

At present U-Boot sets a loader type of 8 which means LILO version 8,
according to the spec. Update it to 0x80, which means U-Boot with no
particular version.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: zboot: Move kernel-version code into a function
Simon Glass [Sat, 5 Sep 2020 20:50:40 +0000 (14:50 -0600)]
x86: zboot: Move kernel-version code into a function

To help reduce the size and complexity of load_zimage(), move the code
that reads the kernel version into a separate function. Update
get_boot_protocol() to allow printing the 'Magic signature' message only
once, under control of its callers.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: zimage: Avoid using #ifdef
Simon Glass [Sat, 5 Sep 2020 20:50:39 +0000 (14:50 -0600)]
x86: zimage: Avoid using #ifdef

Use IS_ENABLED() instead of #ifdef in this file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: zimage: Use a state struct to hold the state
Simon Glass [Sat, 5 Sep 2020 20:50:38 +0000 (14:50 -0600)]
x86: zimage: Use a state struct to hold the state

At present the 'zboot' command does everything in one go. It would be
better if it supported sub-commands like bootm, so it is possible to
examine what will be booted before actually booting it.

In preparation for this, move the 'state' of the command into a struct.
This will allow it to be shared among multiple functions in this file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: Update the bootparam header
Simon Glass [Sat, 5 Sep 2020 20:50:37 +0000 (14:50 -0600)]
x86: Update the bootparam header

This header is missing a few of the newer features from the specification.
Add these as well as a link to the spec. Also use the BIT() macros where
appropriate.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agoMerge branch 'mpc85xx-for-v2021.01' into next
Tom Rini [Thu, 24 Sep 2020 12:30:25 +0000 (08:30 -0400)]
Merge branch 'mpc85xx-for-v2021.01' into next

- Add DM_SPI, DM_SPI_FLASH support for powerpc platforms
- Add DM_ETH support on P1010RDB, P1020RDB, P2020RDB
- Remove some un-maintained powerpc platforms
- Add USB_STORAGE support in config

4 years agoconfigs: powerpc: add usb (host) mass storage support
Ran Wang [Tue, 30 Jun 2020 05:08:34 +0000 (13:08 +0800)]
configs: powerpc: add usb (host) mass storage support

commit 0cfccb54014b ("configs: Resync with savedefconfig")
removed CONFIG_USB_STORAGE from some powerpc platforms' defconfig
files, whicih would block the use case of system loading rootfs
from USB drives, add them back.

Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoconfigs: Remove P5040DS secure boot configs
Priyanka Jain [Mon, 21 Sep 2020 06:26:45 +0000 (11:56 +0530)]
configs: Remove P5040DS secure boot configs

Remove NXP powerpc P5040DS secure boot configs as they are
no longer maintained.

Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoboard/freescale: Remove P5020DS board support
Priyanka Jain [Mon, 21 Sep 2020 06:26:44 +0000 (11:56 +0530)]
board/freescale: Remove P5020DS board support

Remove NXP powerpc P5020DS board support as it is no
longer maintained.

Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agopowerpc:Remove P4080DS secure boot configs
Priyanka Jain [Mon, 21 Sep 2020 06:26:43 +0000 (11:56 +0530)]
powerpc:Remove P4080DS secure boot configs

Remove NXP powerpc P4080DS secure boot configs as they are
no longer maintained.

Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoconfigs: Remove P3041DS secure boot configs
Priyanka Jain [Mon, 21 Sep 2020 06:26:42 +0000 (11:56 +0530)]
configs: Remove P3041DS secure boot configs

Remove NXP powerpc P3041DS secure boot configs as they are
no longer maintained.

Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoboard/freescale: Remove P1024RDB board support
Priyanka Jain [Mon, 21 Sep 2020 06:26:41 +0000 (11:56 +0530)]
board/freescale: Remove P1024RDB board support

Remove NXP powerpc P1024RDB board support as it is no
longer maintained.

Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoboard/freescale: Remove P1021RDB board support
Priyanka Jain [Mon, 21 Sep 2020 10:06:25 +0000 (15:36 +0530)]
board/freescale: Remove P1021RDB board support

Remove NXP powerpc P1021RDB board support as it is no
longer maintained.

Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoboard/freescale: Remove P1020MBG board support
Priyanka Jain [Mon, 21 Sep 2020 06:26:39 +0000 (11:56 +0530)]
board/freescale: Remove P1020MBG board support

Remove NXP powerpc P1020MBG board support as it is no
longer maintained.

Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoboard/freescale: Remove P1020UTM board support
Priyanka Jain [Mon, 21 Sep 2020 06:26:38 +0000 (11:56 +0530)]
board/freescale: Remove P1020UTM board support

Remove NXP powerpc P1020UTM board support as it is no
longer maintained.

Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoboard/freescale: Remove P1025RDB board support
Priyanka Jain [Mon, 21 Sep 2020 10:05:16 +0000 (15:35 +0530)]
board/freescale: Remove P1025RDB board support

Remove NXP powerpc P1025RDB board support as it is no
longer maintained.

Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoconfigs: Remove P1010RDB secure boot configs
Priyanka Jain [Mon, 21 Sep 2020 06:26:36 +0000 (11:56 +0530)]
configs: Remove P1010RDB secure boot configs

Remove NXP powerpc P1010RDB secure boot configs as they are
no longer maintained.

Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoboard/freescale: Remove p1023rdb board support
Priyanka Jain [Mon, 21 Sep 2020 06:26:35 +0000 (11:56 +0530)]
board/freescale: Remove p1023rdb board support

Remove NXP powerpc p1023rdb board support as it is no
longer maintained.

Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoconfigs: P2020RDB: Enable DM_ETH config
Hou Zhiqiang [Thu, 16 Jul 2020 10:09:25 +0000 (18:09 +0800)]
configs: P2020RDB: Enable DM_ETH config

Enable the DM_ETH and DM_MDIO config.

On P2020RDB, the eTSEC1 is connecting with a switch VSC7385,
so also enable the fixed PHY support.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodts: powerpc: p2020rdb: Add eTSEC DT nodes
Hou Zhiqiang [Mon, 21 Sep 2020 09:46:23 +0000 (15:16 +0530)]
dts: powerpc: p2020rdb: Add eTSEC DT nodes

P2020RDB implements 3 enhanced three-speed Ethernet controllers,
and the connection is shown below:
    eTSEC1: Connected to RGMII switch VSC7385
    eTSEC2: Connected to SGMII PHY VSC8221
    eTSEC3: Connected to SGMII PHY AR8021

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
[Rebased]
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoconfigs: P1010RDB: Enable DM_ETH config
Hou Zhiqiang [Thu, 16 Jul 2020 10:09:23 +0000 (18:09 +0800)]
configs: P1010RDB: Enable DM_ETH config

Enable the DM_ETH and DM_MDIO config.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agop1010rdb: Don't compile board_eth_init() for DM_ETH
Hou Zhiqiang [Mon, 21 Sep 2020 09:45:04 +0000 (15:15 +0530)]
p1010rdb: Don't compile board_eth_init() for DM_ETH

The board_eth_init() is only used by legacy ethernet driver framework,
so do not compile it when DM_ETH config has been selected.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
[Rebased]
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodts: powerpc: p1010rdb: Add eTSEC DT nodes
Hou Zhiqiang [Mon, 21 Sep 2020 09:43:22 +0000 (15:13 +0530)]
dts: powerpc: p1010rdb: Add eTSEC DT nodes

P1010RDB implements 3 enhanced three-speed Ethernet controllers,
and the connection is shown below:
    eTSEC1: Connected to RGMII PHY AR8033
    eTSEC2: Connected to SGMII PHY AR8033
    eTSEC3: Connected to SGMII PHY AR8033

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
[Rebased]
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoconfigs: P1020RDB: Enable DM_ETH config
Hou Zhiqiang [Thu, 16 Jul 2020 10:09:20 +0000 (18:09 +0800)]
configs: P1020RDB: Enable DM_ETH config

Enable the DM_ETH and DM_MDIO config.

On P1020RDB, the eTSEC1 is connecting with a switch VSC7385,
so also enable the fixed PHY support.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agop1_p2_rdb: Don't compile board_eth_init() for DM_ETH
Hou Zhiqiang [Mon, 21 Sep 2020 09:24:03 +0000 (14:54 +0530)]
p1_p2_rdb: Don't compile board_eth_init() for DM_ETH

The board_eth_init() is only used by legacy ethernet driver framework,
so do not compile it when DM_ETH config has been selected.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
[Rebased]
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodts: powerpc: p1020rdb: Add eTSEC DT nodes
Hou Zhiqiang [Mon, 21 Sep 2020 09:29:05 +0000 (14:59 +0530)]
dts: powerpc: p1020rdb: Add eTSEC DT nodes

P1020RDB implements 3 enhanced three-speed Ethernet controllers,
and the connection is shown below:
    eTSEC1: Connected to RGMII switch VSC7385
    eTSEC2: Connected to SGMII PHY VSC8221
    eTSEC3: Connected to SGMII PHY AR8021

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
[Rebased]
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoconfigs: p1_p2_rdb: Add the default address of vsc7385 firmware
Hou Zhiqiang [Thu, 16 Jul 2020 10:09:17 +0000 (18:09 +0800)]
configs: p1_p2_rdb: Add the default address of vsc7385 firmware

Add the environment 'vscfw_addr' to assign a default address for
vsc7385 firmware uploading.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agofsl: p1_p2_rdb: Move vsc7835 firmware uploading to board_early_init_r()
Hou Zhiqiang [Thu, 16 Jul 2020 10:09:16 +0000 (18:09 +0800)]
fsl: p1_p2_rdb: Move vsc7835 firmware uploading to board_early_init_r()

Move vsc7835 firmware uploading to board_early_init_r(), so that
the switch also can work in DM eTSEC driver.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agompc8xxx: Don't compile board_eth_init() for DM_ETH
Hou Zhiqiang [Mon, 21 Sep 2020 09:38:45 +0000 (15:08 +0530)]
mpc8xxx: Don't compile board_eth_init() for DM_ETH

The cpu_eth_init() is only used by the legacy ethernet driver framework.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
[Rebased]
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agonet: tsec: Add the compatible string "gianfar" support
Hou Zhiqiang [Thu, 16 Jul 2020 10:09:14 +0000 (18:09 +0800)]
net: tsec: Add the compatible string "gianfar" support

Add compatible string "gianfar" support and update the
device-tree-bindings doc.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agonet: tsec: Add fixed-link PHY support
Hou Zhiqiang [Thu, 16 Jul 2020 10:09:13 +0000 (18:09 +0800)]
net: tsec: Add fixed-link PHY support

The info of fixed-link PHY is described in DT node instead of
getting from MII, so detect the fixed-link PHY DT node first,
if it doesn't exist then probe the MII.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
[Rebased]
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agonet: tsec: convert to use DM_MDIO when DM_ETH enabled
Hou Zhiqiang [Thu, 16 Jul 2020 10:09:12 +0000 (18:09 +0800)]
net: tsec: convert to use DM_MDIO when DM_ETH enabled

For the platforms on which the eTSEC driver uses DM_ETH, convert its
MDIO controller code to also use DM_MDIO.

Note that for handling the TBI PHY (the MAC PCS for SGMII), we still
don't register a udevice for it, since we can drive it locally and there
is no point in doing otherwise.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
[Reworked to fix gazerbeam config]
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agonet: fsl_mdio: Correct the MII management register block address
Hou Zhiqiang [Thu, 16 Jul 2020 10:09:11 +0000 (18:09 +0800)]
net: fsl_mdio: Correct the MII management register block address

The MII management register block offset is different between
gianfar and etsec2 compatible devices, this patch is to fix
this issue by adding driver data for different compatible
string.

Fixes: 2932c5a802a9 ("net: tsec: fsl_mdio: add DM MDIO support")
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agonet: fsl_mdio: Change to use virtual address
Hou Zhiqiang [Thu, 16 Jul 2020 10:09:10 +0000 (18:09 +0800)]
net: fsl_mdio: Change to use virtual address

Use virtual address to access the MII block registers instead
of physical address.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoconfigs: enable DM_MDIO for LS1021A-TWR and LS1021A-TSN
Vladimir Oltean [Thu, 16 Jul 2020 10:09:09 +0000 (18:09 +0800)]
configs: enable DM_MDIO for LS1021A-TWR and LS1021A-TSN

The tsec driver now requires DM_MDIO when DM_ETH is enabled. To avoid
build errors, enable DM_MDIO in these boards' configs before we actually
add DM_MDIO support to tsec.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agophy: make phy_connect_fixed work with a null mdio bus
Vladimir Oltean [Thu, 16 Jul 2020 10:09:08 +0000 (18:09 +0800)]
phy: make phy_connect_fixed work with a null mdio bus

It is utterly pointless to require an MDIO bus pointer for a fixed PHY
device. The fixed.c implementation does not require it, only
phy_device_create. Fix that.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoconfigs: P1010RDB: Enable eSPI controller and SPI flash DM driver
Hou Zhiqiang [Thu, 4 Jun 2020 15:17:05 +0000 (23:17 +0800)]
configs: P1010RDB: Enable eSPI controller and SPI flash DM driver

Enable the DM_SPI and DM_SPI_FLASH in P1010RDB defconfigs except
SECBOOT defconfigs.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodts: P1010RDB: Add eSPI slave DT nodes
Hou Zhiqiang [Thu, 4 Jun 2020 15:17:04 +0000 (23:17 +0800)]
dts: P1010RDB: Add eSPI slave DT nodes

Add DT nodes for eSPI slave device SPI flash.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodts: P1010: Add eSPI controller DT node
Hou Zhiqiang [Thu, 4 Jun 2020 15:17:03 +0000 (23:17 +0800)]
dts: P1010: Add eSPI controller DT node

Add eSPI controller DT node for P1010.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoconfigs: T4240RDB: Enable ESPI driver
Xiaowei Bao [Mon, 21 Sep 2020 07:21:19 +0000 (12:51 +0530)]
configs: T4240RDB: Enable ESPI driver

Enable the DM ESPI driver in T4240RDB defconfig.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
[Rebased]
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodts: T4240RDB: Add ESPI slave device node
Xiaowei Bao [Thu, 4 Jun 2020 15:17:01 +0000 (23:17 +0800)]
dts: T4240RDB: Add ESPI slave device node

Add ESPI slave node for T4240RDB.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodts: T4240: Add ESPI DT nodes
Xiaowei Bao [Thu, 4 Jun 2020 15:17:00 +0000 (23:17 +0800)]
dts: T4240: Add ESPI DT nodes

Add ESPI controller DT node for T4240.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoconfigs: T2080RDB: Enable ESPI driver
Xiaowei Bao [Mon, 21 Sep 2020 07:20:02 +0000 (12:50 +0530)]
configs: T2080RDB: Enable ESPI driver

Enable the DM ESPI driver in T2080RDB defconfig.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
[Rebased]
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodts: T2080RDB: Add ESPI slave device node
Xiaowei Bao [Thu, 4 Jun 2020 15:16:58 +0000 (23:16 +0800)]
dts: T2080RDB: Add ESPI slave device node

Add ESPI slave node for T2080RDB.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoconfigs: T1042D4RDB: Enable ESPI driver
Xiaowei Bao [Mon, 21 Sep 2020 07:18:41 +0000 (12:48 +0530)]
configs: T1042D4RDB: Enable ESPI driver

Enable the DM ESPI driver in T1042D4RDB defconfig.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
[Rebased]
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodts: T1042D4RDB: Add ESPI slave device node
Xiaowei Bao [Thu, 4 Jun 2020 15:16:56 +0000 (23:16 +0800)]
dts: T1042D4RDB: Add ESPI slave device node

Add ESPI slave node for T1042D4RDB.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodts: T104x: Add ESPI DT nodes
Xiaowei Bao [Thu, 4 Jun 2020 15:16:55 +0000 (23:16 +0800)]
dts: T104x: Add ESPI DT nodes

Add ESPI controller DT node for T104x.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoconfigs: T1024RDB: Enable ESPI driver
Xiaowei Bao [Mon, 21 Sep 2020 07:16:54 +0000 (12:46 +0530)]
configs: T1024RDB: Enable ESPI driver

Enable the DM ESPI driver in T1024RDB defconfig.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
[Rebased]
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodts: T1024RDB: Add ESPI slave device node
Xiaowei Bao [Mon, 21 Sep 2020 07:13:20 +0000 (12:43 +0530)]
dts: T1024RDB: Add ESPI slave device node

Add ESPI slave node for T1024RDB.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
[Rebased]
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodts: T102x: Add ESPI DT nodes
Xiaowei Bao [Thu, 4 Jun 2020 15:16:52 +0000 (23:16 +0800)]
dts: T102x: Add ESPI DT nodes

Add ESPI controller DT node for T102x.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoconfigs: P5040DS: Enable ESPI driver
Xiaowei Bao [Thu, 4 Jun 2020 15:16:51 +0000 (23:16 +0800)]
configs: P5040DS: Enable ESPI driver

Enable the DM ESPI driver in P5040DS defconfig.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodts: P5040DS: Add ESPI slave device node
Xiaowei Bao [Mon, 21 Sep 2020 07:11:17 +0000 (12:41 +0530)]
dts: P5040DS: Add ESPI slave device node

Add ESPI slave node for P5040DS.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
[Rebased]
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodts: P5040: Add ESPI DT nodes
Xiaowei Bao [Thu, 4 Jun 2020 15:16:49 +0000 (23:16 +0800)]
dts: P5040: Add ESPI DT nodes

Add ESPI controller DT node for P5040.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoconfigs: P4080DS: Enable ESPI driver
Xiaowei Bao [Thu, 4 Jun 2020 15:16:48 +0000 (23:16 +0800)]
configs: P4080DS: Enable ESPI driver

Enable the DM ESPI driver in P4080DS defconfig.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodts: P4080DS: Add ESPI slave device node
Xiaowei Bao [Mon, 21 Sep 2020 06:59:04 +0000 (12:29 +0530)]
dts: P4080DS: Add ESPI slave device node

Add ESPI slave node for P4080DS.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
[Rebased]
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodts: P4080: Add ESPI DT nodes
Xiaowei Bao [Thu, 4 Jun 2020 15:16:46 +0000 (23:16 +0800)]
dts: P4080: Add ESPI DT nodes

Add ESPI controller DT node for P4080.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoconfigs: P3041DS: Enable ESPI driver
Xiaowei Bao [Thu, 4 Jun 2020 15:16:45 +0000 (23:16 +0800)]
configs: P3041DS: Enable ESPI driver

Enable the DM ESPI driver in P3041DS defconfig.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodts: P3041DS: Add ESPI slave device node
Xiaowei Bao [Mon, 21 Sep 2020 06:56:07 +0000 (12:26 +0530)]
dts: P3041DS: Add ESPI slave device node

Add ESPI slave node for P3041DS.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
[Rebased]
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodts: P3041: Add ESPI DT nodes
Xiaowei Bao [Thu, 4 Jun 2020 15:16:43 +0000 (23:16 +0800)]
dts: P3041: Add ESPI DT nodes

Add ESPI controller DT node for P3041.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoconfigs: P2041RDB: Enable ESPI driver
Xiaowei Bao [Thu, 4 Jun 2020 15:16:42 +0000 (23:16 +0800)]
configs: P2041RDB: Enable ESPI driver

Enable the DM ESPI driver in P2041RDB defconfig.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodts: P2041RDB: Add ESPI slave device node
Xiaowei Bao [Mon, 21 Sep 2020 06:46:50 +0000 (12:16 +0530)]
dts: P2041RDB: Add ESPI slave device node

Add ESPI slave node for P2041RDB.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
[Rebased]
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodts: P2041: Add ESPI DT nodes
Xiaowei Bao [Thu, 4 Jun 2020 15:16:40 +0000 (23:16 +0800)]
dts: P2041: Add ESPI DT nodes

Add ESPI controller DT node for P2041.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoconfigs: P2020RDB: Enable ESPI driver
Xiaowei Bao [Thu, 4 Jun 2020 15:16:39 +0000 (23:16 +0800)]
configs: P2020RDB: Enable ESPI driver

Enable the DM ESPI driver in P2020RDB defconfig.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodts: P2020RDB: Add ESPI slave device node
Xiaowei Bao [Thu, 4 Jun 2020 15:16:38 +0000 (23:16 +0800)]
dts: P2020RDB: Add ESPI slave device node

Add ESPI slave node for P2020RDB.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodts: P2020: Add ESPI DT nodes
Xiaowei Bao [Thu, 4 Jun 2020 15:16:37 +0000 (23:16 +0800)]
dts: P2020: Add ESPI DT nodes

Add ESPI controller DT node for P2020.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoconfigs: P1020RDB: Enable ESPI driver
Xiaowei Bao [Thu, 4 Jun 2020 15:16:36 +0000 (23:16 +0800)]
configs: P1020RDB: Enable ESPI driver

Enable the DM ESPI driver in P1020RDB defconfig.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodts: P1020RDB: Add ESPI slave device node
Xiaowei Bao [Thu, 4 Jun 2020 15:16:35 +0000 (23:16 +0800)]
dts: P1020RDB: Add ESPI slave device node

Add ESPI slave node for P1020RDB.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodts: P1020: Add ESPI DT nodes
Xiaowei Bao [Thu, 4 Jun 2020 15:16:34 +0000 (23:16 +0800)]
dts: P1020: Add ESPI DT nodes

Add ESPI controller DT node for P1020.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoconfigs: enable espi device module in T2080QDS
Chuanhua Han [Mon, 21 Sep 2020 06:40:16 +0000 (12:10 +0530)]
configs: enable espi device module in T2080QDS

This patch is to enable  espi DM for T2080QDS in uboot

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
[Rebased]
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agopowerpc: dts: t2080qds: add espi slave nodes support
Chuanhua Han [Thu, 4 Jun 2020 15:16:32 +0000 (23:16 +0800)]
powerpc: dts: t2080qds: add espi slave nodes support

Add espi slave nodes  to support t2080qds.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agopowerpc: dts: t2080: add espi controller node support
Chuanhua Han [Thu, 4 Jun 2020 15:16:31 +0000 (23:16 +0800)]
powerpc: dts: t2080: add espi controller node support

Add espi controller node to support t2080.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoMerge tag 'dm-pull-22sep20' of git://git.denx.de/u-boot-dm into next
Tom Rini [Tue, 22 Sep 2020 20:59:48 +0000 (16:59 -0400)]
Merge tag 'dm-pull-22sep20' of git://git.denx.de/u-boot-dm into next

binman enhancements for FIT
sunxi64 conversion to use binman
New 'no-map' property for reserved memory

4 years agolog: mute messages generated by log drivers
Heinrich Schuchardt [Mon, 14 Sep 2020 08:01:00 +0000 (10:01 +0200)]
log: mute messages generated by log drivers

When a message is written by a log driver (e.g. via the network stack) this
may result in the generation of further messages. We cannot allow these
additional messages to be emitted as this might result in an infinite
recursion.

Up to now only the syslog driver was safeguarded. We should safeguard all
log drivers instead.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agodm: add cells_count parameter in live DT APIs of_parse_phandle_with_args
Patrick Delaunay [Thu, 10 Sep 2020 16:26:17 +0000 (18:26 +0200)]
dm: add cells_count parameter in live DT APIs of_parse_phandle_with_args

In the live tree API ofnode_parse_phandle_with_args, the cell_count
argument must be used when cells_name is NULL.

But this argument is not provided to the live DT function
of_parse_phandle_with_args even it is provided to
fdtdec_parse_phandle_with_args.

This patch adds support of the cells_count parameter in dev_ and
of_node API to allow migration and support of live DT:
- of_parse_phandle_with_args

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agooptee: add property no-map to secure reserved memory
Etienne Carriere [Thu, 10 Sep 2020 08:50:01 +0000 (10:50 +0200)]
optee: add property no-map to secure reserved memory

OP-TEE reserved memory node must set property "no-map" to prevent
Linux kernel from mapping secure memory unless what non-secure world
speculative accesses of the CPU can violate the memory firmware
configuration.

Fixes: 6ccb05eae01b ("image: fdt: copy possible optee nodes to a loaded devicetree")
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
4 years agotest: fdtdec: Add test for new no-map fdtdec_add_reserved_memory() parameter
Patrice Chotard [Thu, 10 Sep 2020 08:50:00 +0000 (10:50 +0200)]
test: fdtdec: Add test for new no-map fdtdec_add_reserved_memory() parameter

Add a test to verify that the no-map property is added in reserved-memory
node when fdtdec_add_reserved_memory() no-map parameter is set to true.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agofdtdec: optionally add property no-map to created reserved memory node
Etienne Carriere [Thu, 10 Sep 2020 08:49:59 +0000 (10:49 +0200)]
fdtdec: optionally add property no-map to created reserved memory node

Add boolean input argument @no_map to helper function
fdtdec_add_reserved_memory() to add or not "no-map" property
for an added reserved memory node.

Property no-map is used by the Linux kernel to not not map memory
in its static memory mapping. It is needed for example for the|
consistency of system non-cached memory and to prevent speculative
accesses to some firewalled memory.

No functional change. A later change will update to OPTEE library to
add no-map property to OP-TEE reserved memory nodes.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agobinman: sunxi: Add help message for missing sunxi ATF BL31
Simon Glass [Sun, 6 Sep 2020 16:39:10 +0000 (10:39 -0600)]
binman: sunxi: Add help message for missing sunxi ATF BL31

Add a special help message pointing to the relevant README.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agobinman: Support help messages for missing blobs
Simon Glass [Sun, 6 Sep 2020 16:39:09 +0000 (10:39 -0600)]
binman: Support help messages for missing blobs

When an external blob is missing it can be quite confusing for the user.
Add a way to provide a help message that is shown.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
4 years agobinman: Allow selecting default FIT configuration
Simon Glass [Sun, 6 Sep 2020 16:39:08 +0000 (10:39 -0600)]
binman: Allow selecting default FIT configuration

Add a new entry argument to the fit entry which allows selection of the
default configuration to use. This is the 'default' property in the
'configurations' node.

Update the Makefile to pass in the value of DEVICE_TREE or
CONFIG_DEFAULT_DEVICE_TREE to provide this information.

Signed-off-by: Simon Glass <sjg@chromium.org>
Suggested-by: Michal Simek <michal.simek@xilinx.com>
4 years agobinman: Document how CROSS_COMPILE, CC, HOSTCC etc. are used in README
Alper Nebi Yasak [Sun, 6 Sep 2020 11:46:07 +0000 (14:46 +0300)]
binman: Document how CROSS_COMPILE, CC, HOSTCC etc. are used in README

Explain that binman interprets these environment variables in the
"External tools" section to run target/host specific versions of the
tools, and add a new section on how to use CROSS_COMPILE to run the
tests on non-x86 machines.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agobinman: Allow resolving host-specific tools from env vars
Alper Nebi Yasak [Sun, 6 Sep 2020 11:46:06 +0000 (14:46 +0300)]
binman: Allow resolving host-specific tools from env vars

This patch lets tools.Run() use host-specific versions with the
for_host keyword argument, based on the host-specific environment
variables (HOSTCC, HOSTOBJCOPY, HOSTSTRIP, etc.).

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agobinman: Use target-specific tools when cross-compiling
Alper Nebi Yasak [Sun, 6 Sep 2020 11:46:05 +0000 (14:46 +0300)]
binman: Use target-specific tools when cross-compiling

Currently, binman always runs the compile tools like cc, objcopy, strip,
etc. using their literal name. Instead, this patch makes it use the
target-specific versions by default, derived from the tool-specific
environment variables (CC, OBJCOPY, STRIP, etc.) or from the
CROSS_COMPILE environment variable.

For example, the u-boot-elf etype directly uses 'strip'. Trying to run
the tests with 'CROSS_COMPILE=i686-linux-gnu- binman test' on an arm64
host results in the '097_elf_strip.dts' test to fail as the arm64
version of 'strip' can't understand the format of the x86 ELF file.

This also adjusts some command.Output() calls that caused test errors or
failures to use the target versions of the tools they call. After this,
patch, an arm64 host can run all tests with no errors or failures using
a correct CROSS_COMPILE value.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agobinman: Support cross-compiling test files to x86
Alper Nebi Yasak [Sun, 6 Sep 2020 11:46:04 +0000 (14:46 +0300)]
binman: Support cross-compiling test files to x86

These test files are currently "intended for use on x86 hosts", but most
of the tests using them can still pass when cross-compiled to x86 on an
arm64 host.

This patch enables non-x86 hosts to run the tests by specifying a
cross-compiler via CROSS_COMPILE. The list of variables it sets is taken
from the top-level Makefile. It would be possible to automatically set
an x86 cross-compiler with a few blocks like:

    ifneq ($(shell i386-linux-gnu-gcc --version 2> /dev/null),)
    CROSS_COMPILE = i386-linux-gnu-
    endif

But it wouldn't propagate to the binman process calling this Makefile,
so it's better just raise an error and expect 'binman test' to be run
with a correct CROSS_COMPILE.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agodm: syscon: typo alerady
Heinrich Schuchardt [Sat, 22 Aug 2020 05:16:26 +0000 (07:16 +0200)]
dm: syscon: typo alerady

* Fix typo: %s/alerady/already/.
* Add missing 'the'.
* Reformat a comment.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agobuildman: Use git worktrees instead of git clones when possible
Alper Nebi Yasak [Thu, 3 Sep 2020 12:51:03 +0000 (15:51 +0300)]
buildman: Use git worktrees instead of git clones when possible

This patch makes buildman create linked working trees instead of clones
of the source repository, but keeps updating the older clones of the
repository that might already exist. These worktrees share "everything
except working directory specific files such as HEAD, index, etc." with
the source repository. See the git-worktree(1) manual page for more
information.

If git-worktree isn't available, silently falls back to cloning the
repository.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
4 years agosunxi: Drop the FIT-generator script
Simon Glass [Tue, 1 Sep 2020 11:14:02 +0000 (05:14 -0600)]
sunxi: Drop the FIT-generator script

This file is no-longer used. Drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agosunxi: Convert 64-bit boards to use binman
Simon Glass [Tue, 1 Sep 2020 11:14:01 +0000 (05:14 -0600)]
sunxi: Convert 64-bit boards to use binman

At present 64-bit sunxi boards use the Makefile to create a FIT, using
USE_SPL_FIT_GENERATOR. This is deprecated.

Update sunxi to use binman instead.

Signed-off-by: Simon Glass <sjg@chromium.org>
Tested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoMakefile: Support missing external blobs always
Simon Glass [Tue, 1 Sep 2020 11:14:00 +0000 (05:14 -0600)]
Makefile: Support missing external blobs always

At present binman warns about missing external blobs only when the
BUILD_ROM is defined. Enable this behaviour always, since many boards
are starting to use these (e.g. ARM Trusted Firmware's BL31).

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agobinman: Support generating FITs with multiple dtbs
Simon Glass [Tue, 1 Sep 2020 11:13:59 +0000 (05:13 -0600)]
binman: Support generating FITs with multiple dtbs

In some cases it is useful to generate a FIT which has a number of DTB
images, selectable by configuration. Add support for this in binman,
using a simple iterator and string substitution.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agobinman: Add support for ATF BL31
Simon Glass [Tue, 1 Sep 2020 11:13:58 +0000 (05:13 -0600)]
binman: Add support for ATF BL31

Add an entry for ARM Trusted Firmware's 'BL31' payload, which is the
device's main firmware. Typically this is U-Boot.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agobinman: Move 'external' support into base class
Simon Glass [Tue, 1 Sep 2020 11:13:57 +0000 (05:13 -0600)]
binman: Move 'external' support into base class

At present we have an Entry_blob_ext which implement a blob which holds an
external binary. We need to support other entry types that hold external
binaries, e.g. Entry_blob_named_by_arg. Move the support into the base
Entry class to allow this.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agolibfdt: Detected out-of-space with fdt_finish()
Simon Glass [Tue, 1 Sep 2020 11:13:56 +0000 (05:13 -0600)]
libfdt: Detected out-of-space with fdt_finish()

At present the Python sequential-write interface can produce an error when
it calls fdt_finish(), since this needs to add a terminating tag to the
end of the struct section.

Fix this by automatically expanding the buffer if needed.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agobinman: Fix up a few missing comments
Simon Glass [Tue, 1 Sep 2020 11:13:55 +0000 (05:13 -0600)]
binman: Fix up a few missing comments

Tidy up a few test functions which lack argument comments. Rename one that
has the same name as a different test.

Also fix up the comment for PrepareImagesAndDtbs().

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agobinman: Allow entry args to be required
Simon Glass [Tue, 1 Sep 2020 11:13:54 +0000 (05:13 -0600)]
binman: Allow entry args to be required

If an entry argument is needed by an entry but the entry argument is not
present, then a strange error can occur when trying to read the file.

Fix this by allowing arguments to be required. Select this option for the
cros-ec-rw entry. If a filename is provided in the node, allow that to be
used.

Also tidy up a few related tests to make the error string easier to find,
and fully ignore unused return values.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocore: improve of_match_ptr with OF_PLATDATA
Walter Lozano [Wed, 29 Jul 2020 16:17:31 +0000 (13:17 -0300)]
core: improve of_match_ptr with OF_PLATDATA

Currently of_match_ptr is used to avoid referencing compatible strings
when OF_CONTROL is not enabled. This behaviour could be improved by
taking into account also OF_PLATDATA, as when this configuration is
enabled the compatible strings are not used at all.

Signed-off-by: Walter Lozano <walter.lozano@collabora.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agotools: Drop unnecessary use of __file__
Simon Glass [Sat, 29 Aug 2020 17:36:15 +0000 (11:36 -0600)]
tools: Drop unnecessary use of __file__

There are few places where the path of the current modules is calculated
but not used. Drop them.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agobinman: Use pkg_resources to find resources
Simon Glass [Sat, 29 Aug 2020 17:36:14 +0000 (11:36 -0600)]
binman: Use pkg_resources to find resources

At present we look for resources based on the path of the Python module
that wants them. Instead we should use Python's pkg_resources feature
which is designed for this purpose.

Update binman to use this.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agobinman: Build FIT image subentries with the section etype
Alper Nebi Yasak [Mon, 31 Aug 2020 09:58:20 +0000 (12:58 +0300)]
binman: Build FIT image subentries with the section etype

When reading subentries of each image, the FIT entry type directly
concatenates their contents without padding them according to their
offset, size, align, align-size, align-end, pad-before, pad-after
properties.

This patch makes sure these properties are respected by offloading this
image-data building to the section etype, where each subnode of the
"images" node is processed as a section. Alignments and offsets are
respective to the beginning of each image. For example, the following
fragment can end up having "u-boot-spl" start at 0x88 within the final
FIT binary, while "u-boot" would then end up starting at e.g. 0x20088.

fit {
description = "example";

images {
kernel-1 {
description = "U-Boot with SPL";
type = "kernel";
arch = "arm64";
os = "linux";
compression = "none";

u-boot-spl {
};
u-boot {
align = <0x10000>;
};
};
};
}

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reinstate check in testPadInSections(), squash in
   "binman: Allow FIT binaries to have missing external blobs"
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
4 years agobinman: Respect pad-before property of section subentries
Alper Nebi Yasak [Mon, 31 Aug 2020 09:58:19 +0000 (12:58 +0300)]
binman: Respect pad-before property of section subentries

Other relevant properties (pad-after, offset, size, align, align-size,
align-end) already work since Pack() sets correct ranges for subentries'
data (.offset, .size variables), but some padding here is necessary to
align the data within this range to match the pad-before property.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>