coreboot/src
Matt DeVillier ae0d232402 drivers/intel/mipi_camera: Add ACPI device type selection
Refactor the MIPI camera driver to support two ACPI device generation
modes via a Kconfig choice:

1. Windows/Linux mode (MIPI_ACPI_TYPE_WINDOWS_LINUX): Generates a
   single ACPI device for the camera sensor and any associated VCM or
   NVM devices on the same I2C bus. The IPU ACPI device is attached to
   the iGPU, not standalone. This is the preferred method for Windows
   and mainline Linux.

2. ChromeOS mode (MIPI_ACPI_TYPE_CHROMEOS): Generates separate ACPI
   devices for each camera component (sensor, CIO2, VCM, NVM). The IPU
   ACPI device is generated separately from the iGPU. This maintains
   compatibility with the existing ChromeOS-style setup.

The implementation uses runtime conditionals to select between the two
modes. Common helper functions are shared between modes, while device-
specific logic is conditional based on the selected ACPI type.

The default selection is MIPI_ACPI_TYPE_CHROMEOS for ChromeOS builds and
MIPI_ACPI_TYPE_WINDOWS_LINUX otherwise.

Change-Id: I0bc4894aff04d6b296011e85d790d624890da055
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/90522
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Alicja Michalska <ahplka19@gmail.com>
2025-12-17 20:24:35 +00:00
..
acpi include/acpi/acpi_apei.h: Update APEI structs for better readability 2025-12-16 15:48:17 +00:00
arch arch/x86/acpi_bert_storage.c: Fix Error Section GUID compare 2025-12-16 15:48:34 +00:00
commonlib lib/bootmem: Add memory type for Armv9 MTE tag storage 2025-12-13 14:29:29 +00:00
console console: Fix flushing for slow consoles 2025-10-02 22:44:46 +00:00
cpu cpu/x86/mtrr: Simplify MTRR solution calculation on AMD systems 2025-12-11 00:11:52 +00:00
device device/azalia: Drop spurious read-back of STATESTS 2025-12-17 18:15:10 +00:00
drivers drivers/intel/mipi_camera: Add ACPI device type selection 2025-12-17 20:24:35 +00:00
ec Remove <swab.h> and swabXX() functions 2025-12-12 07:09:45 +00:00
include mipi: Support passing user data to mipi_cmd_func_t 2025-12-17 06:56:00 +00:00
lib lib/bootmem: Add memory type for Armv9 MTE tag storage 2025-12-13 14:29:29 +00:00
mainboard mb/{google,intel}: Add ROM type and address for MIPI camera sensors 2025-12-17 20:24:02 +00:00
northbridge device/dram/ddr3: Fill in voltage fields for SMBIOS type 17 2025-12-08 02:36:00 +00:00
sbom sbom: Fix build with merged bootblock and romstage 2025-07-07 14:29:29 +00:00
security {mb, security}: Use EC_REBOOT_FLAG_IMMEDIATE for cold reboots 2025-12-05 06:52:35 +00:00
soc soc/qualcomm/common: Add CMD-DB driver support 2025-12-17 13:55:02 +00:00
southbridge sb/intel/common/firmware/Makefile.mk: fix INTEL_IFD_SET_TOP_SWAP_BOOTBLOCK_SIZE 2025-12-11 00:10:29 +00:00
superio sio/nuvoton/common/nuvoton.h: Add common Nuvoton SIO LDNs 2025-10-29 16:56:07 +00:00
vendorcode vc/intel/fsp/fsp2_0/wildcatlake: Update WCL FSP headers to FSP WCL.3393.02 2025-12-15 00:45:38 +00:00
Kconfig Kconfig: Introduce HAVE_CBFS_FILE_OPTION_BACKEND 2025-09-17 04:18:07 +00:00