arm-trusted-firmware/drivers/renesas/common
Marek Vasut 1a5711519a fix(rcar3-drivers): disable A/B loader support by default
The A/B loader [1] meant to be used for convenient CI testing.
The tool is installed into the same location as SA0, where it
conveniently fits due to its size, and where it makes use of
non-volatile PMIC registers to alternate between loading and
starting A or B copy of the BL2. The PMIC registers are used
because CPU registers are lost across reset.

In case the B copy is loaded, it is loaded from 8 MiB offset
from start of HF. In case the B copy fails to boot, a simple
reset of the system will switch back to booting previously
known working A copy and allow recovery.

The A/B loader sets MFIS bit MFISBTSTSR_BOOT_PARTITION to
pass the information which A/B copy is currently booting on
to TFA, which then loads the follow up components from 0 MiB
or 8 MiB offset, depending on whether the A or B copy is being
booted.

The MFISBTSTSR_BOOT_PARTITION interferes with regular A/B
switching during boot from eMMC as the boot media, where
the BootROM also sets MFISBTSTSR_BOOT_PARTITION bit in case
the system boots from SECOND eMMC HW BOOT partition.

Since the A/B loader is meant as a development and CI tool,
isolate the A/B loader use to RPC HF only and furthermore
isolate it behind new RCAR_RPC_HYPERFLASH_ABLOADER option
which is disabled by default.

[1] https://github.com/marex/abloader

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Change-Id: I04ecd50fa1405b78e1ba3949d54029034d4f22d8
2024-11-10 16:09:55 +01:00
..
auth drivers: renesas: auth: Move to common 2021-01-13 13:03:49 +00:00
avs drivers: renesas: avs: Move to common 2021-01-13 13:03:49 +00:00
console fix(tree): correct some typos 2023-05-09 15:57:12 +01:00
ddr fix(rcar3-drivers): update DDR setting 2023-10-16 20:45:27 +02:00
delay drivers: renesas: delay: Move to common 2021-01-13 13:03:48 +00:00
dma drivers: renesas: dma: Move to common 2021-01-13 13:03:49 +00:00
emmc fix(tree): correct some typos 2023-05-09 15:57:12 +01:00
iic_dvfs fix(drivers/rcar3): i2c_dvfs: fix I2C operation 2021-07-10 17:35:23 +02:00
io fix(rcar3-drivers): disable A/B loader support by default 2024-11-10 16:09:55 +01:00
pwrc feat(plat/rcar3): modify type for Internal function argument 2021-12-12 13:07:06 +01:00
rom fix(renesas): align incompatible function pointers 2022-12-01 16:17:34 +00:00
rpc drivers: renesas: rpc: Move to common 2021-01-13 13:03:49 +00:00
scif feat(plat/rcar3): add process of SSCG setting for R-Car D3 2021-09-12 01:13:48 +02:00
watchdog feat(plat/rcar3): modify SWDT counter setting for R-Car D3 2021-09-12 01:13:48 +02:00
common.c fix(drivers/rcar3): fix CPG registers redefinition 2021-07-10 17:35:20 +02:00
ddr_regs.h drivers: renesas: Move ddr/qos/qos header files 2021-01-13 13:03:49 +00:00
pfc_regs.h fix(tree): correct some typos 2023-05-09 15:57:12 +01:00
qos_reg.h drivers: renesas: Move ddr/qos/qos header files 2021-01-13 13:03:49 +00:00