arm-trusted-firmware/plat
Chris Kay 73f7b7ddbe fix(cot-dt2c): fix various breakages
This change fixes several breakages that were introduced in some build
configurations by the introduction of the cot-dt2c tool.

Some Python environments cannot be managed directly via `pip`, and
invocations of `make`, including `make distclean`, would cause errors
along the lines of:

    error: externally-managed-environment

    × This environment is externally managed
    ╰─> To install Python packages system-wide, try apt install
        python3-xyz, where xyz is the package you are trying to
        install.

This change has been resolved by ensuring that calls to the cot-dt2c
tool from the build system happen exclusively through Poetry, which
automatically sets up a virtual environment that *can* be modified.

Some environments saw the following error when building platforms where
the cot-dt2c tool was used:

    make: *** No rule to make target '<..>/debug/bl2_cot.c', needed
    by '<..>/debug/bl2/bl2_cot.o'.  Stop.

Additionally, environments with a more recent version of Python saw the
following error:

      File "<...>/lib/python3.12/site-packages/cot_dt2c/cot_parser.py",
      line 637, in img_to_c
        if ifdef:
           ^^^^^
    NameError: name 'ifdef' is not defined

Both of these errors have now been resolved by modifications to the
build system and the cot-dt2c tool to enable preprocessing of the device
tree source file before it is processed by the tool.

As a consequence of this change, the `pydevicetree` library is no longer
vendored into the repository tree, and we instead pull it in via a
dependency in Poetry.

This change also resolves several MyPy warnings and errors related to
missing type hints.

Change-Id: I72b2d01caca3fcb789d3fe2549f318a9c92d77d1
Signed-off-by: Chris Kay <chris.kay@arm.com>
2024-08-28 09:56:59 +00:00
..
allwinner fix(allwinner): dtb: check for correct error condition 2024-07-31 10:58:55 +01:00
amd/versal2 Merge "feat(versal2): add dummy implementation for SCMI PD" into integration 2024-08-12 11:50:54 +02:00
amlogic build: unify verbosity handling 2024-06-14 15:54:48 +00:00
arm fix(cot-dt2c): fix various breakages 2024-08-28 09:56:59 +00:00
aspeed/ast2700 fix(ast2700): fix mpll calculate statement 2024-08-01 14:55:15 +08:00
brcm refactor(console): consolidate console runtime switch 2024-05-08 15:50:58 +02:00
common feat(bl): add plat handler for image loading 2024-06-13 11:30:29 +02:00
hisilicon build: unify verbosity handling 2024-06-14 15:54:48 +00:00
imx build: consolidate directory creation rules 2024-07-22 09:41:30 +00:00
intel/soc fix(intel): add in missing ECC register 2024-08-23 13:41:25 +02:00
marvell build: consolidate directory creation rules 2024-07-22 09:41:30 +00:00
mediatek build: consolidate directory creation rules 2024-07-22 09:41:30 +00:00
nuvoton fix(nuvoton): prevent changing clock frequency 2024-03-26 16:44:07 +02:00
nvidia/tegra refactor(cm): convert el1-ctx assembly offset entries to c structure 2024-07-26 17:08:12 +01:00
nxp Merge changes from topic "nxp-drivers/add-linflex-clk" into integration 2024-08-22 15:09:16 +02:00
qemu Merge "feat(handoff): fix register convention r1/x1 value on transfer list" into integration 2024-07-24 20:04:53 +02:00
qti refactor(cm): convert el1-ctx assembly offset entries to c structure 2024-07-26 17:08:12 +01:00
renesas feat(rcar3): populate kaslr-seed in next stage DT 2024-07-06 17:58:00 +02:00
rockchip feat(rk3588): support SCMI for clock/reset domain 2024-08-13 15:45:37 +08:00
rpi Merge "feat(rpi5): add PCI SMCCC support" into integration 2024-07-09 12:39:13 +02:00
socionext build: unify verbosity handling 2024-06-14 15:54:48 +00:00
st feat(stm32mp2): load fw-config file 2024-08-12 15:54:52 +02:00
ti/k3 Revert "fix(ti): do not take system power reference in bl31_platform_setup()" 2024-02-05 10:45:48 +05:30
xilinx fix(xilinx): fix OVERRUN coverity violation 2024-08-20 04:57:13 -07:00