coreboot/src/soc
Subrata Banik 800d3dbef4 soc/qualcomm/x1p42100: Support separate RO/RW CPUCP binaries
The CPUCP (CPU Control Processor) binary is currently stored
uncompressed in the RO region. To save space in the RO section
while maintaining fast boot performance in normal mode, split the
CPUCP CBFS entry into two distinct files:

1. cpucp_rw: Stored in FW_MAIN_A and FW_MAIN_B with no compression
   for performance.
2. cpucp_ro: Stored in the COREBOOT (RO) region with LZMA
   compression to save flash space.

Update the loading logic in cpucp_load_reset.c to select the
appropriate binary based on the current vboot mode (Normal vs.
Recovery).

BUG=None
TEST=Verified that CPUCP loads from 'cpucp_rw' during normal boot
and 'cpucp_ro' when vboot recovery is triggered.

Normal Mode:
```
[INFO ]  CBFS: Found 'fallback/cpucp_rw' @0xc8640 size 0x79244
         in mcache @0x8669d628
```

Recovery Mode:
```
[INFO ]  CBFS: Found 'fallback/cpucp_ro' @0xc8640 size 0x79244
         in mcache @0x8669d628
```

Change-Id: Iec5294beec4377b13f8b7354d86055d5907c6556
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/91852
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
2026-03-27 06:17:18 +00:00
..
amd soc/amd/glinda: Add RAS Kconfig options 2026-03-25 18:42:20 +00:00
cavium soc/cavium: Fix non matching types 2024-08-30 07:34:47 +00:00
example/min86 soc: Add SPDX license headers to Kconfig files 2024-02-18 02:03:37 +00:00
ibm/power9 soc/power9/rom_media.c: find CBFS in PNOR 2025-08-28 20:14:01 +00:00
intel soc/intel/common/block/smm: drain sync smi around smmstore 2026-03-20 16:27:32 +00:00
mediatek soc/mediatek/common: dsi: Fix CPHY hfp_byte error check 2026-03-19 06:41:42 +00:00
nvidia treewide: Move mipi_panel_parse_commands() to commonlib 2026-01-14 09:38:36 +00:00
qualcomm soc/qualcomm/x1p42100: Support separate RO/RW CPUCP binaries 2026-03-27 06:17:18 +00:00
rockchip treewide: Move mipi_panel_parse_commands() to commonlib 2026-01-14 09:38:36 +00:00
samsung samsung/exynos5250: Replace 'unsigned long int' by 'unsigned long' 2025-01-15 08:32:16 +00:00
sifive tree: Remove unused <assert.h> 2024-11-19 00:40:04 +00:00
ti soc/ti/am335x: Remove superfluous formats 2024-08-02 14:45:13 +00:00
ucb/riscv soc/riscv/ucb: Switch to FDT parsing to get memory size 2025-02-26 17:11:09 +00:00
xilinx soc/xilinx/zynq7000: Initial Xilinx Zynq 7000 SoC bringup 2025-01-23 00:41:01 +00:00