minipc: hide ACPI for devices absent on Chromebox#36
Closed
jackadam1981 wants to merge 1 commit into
Closed
Conversation
348634a to
04ece75
Compare
This was referenced Jun 24, 2026
Author
|
Superseded: minipc hide redesign uses compile-time ACPI omit + SOC_INTEL_HIDE_SATA (fork kaisa-linux-s0ix @ 9309f3a), not _STA=0. Reopening as a new PR stack from MrChromebox-2606. |
4 tasks
jackadam1981
added a commit
to jackadam1981/coreboot-CXI4
that referenced
this pull request
Jun 28, 2026
Hide laptop/tablet-class ACPI and storage on Acer Chromebox CXI4 (Kaisa) when built as SYSTEM_TYPE_MINIPC. Prior related PRs MrChromebox#36, MrChromebox#37, and MrChromebox#38 were closed. Those were AI-auto submissions without hardware validation. This patch is submitted only after manual flash testing and acceptance on real hardware. Hardware scope: I only have one device (Kaisa / Acer Chromebox CXI4). All testing below is on that single unit. Other Puff SKUs are unchanged at compile time (BOARD_GOOGLE_KAISA* gates only). Kconfig (defaults enable hide; config.kaisa.uefi unchanged): - src/Kconfig: SYSTEM_HIDE_AC_ADAPTER / SYSTEM_HIDE_BATTERY (def_bool y if SYSTEM_TYPE_MINIPC) - src/mainboard/google/puff/Kconfig: KAISA_HIDE_VBTN, KAISA_HIDE_R8168_ACPI, KAISA_HIDE_EMMC, KAISA_HIDE_SATA under BOARD_GOOGLE_KAISA* EC ACPI (compile-time omit or _STA=0; EC Notify guarded): - src/ec/google/chromeec/acpi/ac.asl: omit Device (AC) / ACPI0003 - src/ec/google/chromeec/acpi/battery.asl: omit BAT0/BAT1; guard Notify - src/ec/google/chromeec/acpi/ec.asl: guard Notify(AC/BAT*) on _Qxx - src/ec/google/chromeec/acpi/vbtn.asl: VBTN/VBTO _STA=0 when hide - src/ec/google/chromeec/acpi/superio.asl: keyboard _STA=0 when hide Drivers / SoC / devicetree: - src/drivers/net/r8168.c: skip R8168 SSDT; PCI 10ec:8168 stays up - src/soc/intel/cannonlake/fsp_params.c: SataEnable/ScsEmmcEnabled off - src/soc/intel/cannonlake/acpi/scs.asl: eMMC _STA=0 when hide - src/mainboard/google/puff/variants/kaisa/overridetree.cb: sata off Tested on Kaisa only (single DUT): MrChromebox-2606 baseline vs this ROM (linux_v0.2.0). kaisa-pr1-hide-accept: baseline fail=2 (R8168 ACPI, 8086:02d3 SATA, 8086:02c4 eMMC visible); with this patch fail=0. Signed-off-by: Jack <jackadam1981@users.noreply.github.com>
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Hide ACPI nodes for hardware that is absent on Google Kaisa repurposed as an Acer CXI4 Chromebox (no battery, no lid, NVMe-only SKU): AC adapter, battery, volume buttons (VBTN), RTL8168 companion ACPI device, and eMMC host.
All hides are gated on
CONFIG_SYSTEM_TYPE_MINIPCKconfig options that default ton; Kaisa UEFI defconfig enables them explicitly (see #38).Hardware / test platform
BOARD_GOOGLE_KAISA(Puff baseboard,SYSTEM_TYPE_MINIPC=y)JACK-KAISA(192.168.2.119)Problem (before this change)
On stock MrChromebox Kaisa UEFI builds, Windows Device Manager showed:
ACPI\R8168ghost device � Code 28 (driver not installed). The Realtek GbE NIC works via PCI (PCI\VEN_10EC&DEV_8168), but an extra ACPI companion node confuses PnP and support tools.DEV_02C4) on NVMe-only boxes; users see an extra SD/eMMC class device with no media.ACPI0003(AC),PNP0C0A(battery), VBTN on a desktop chromebox.These do not affect ChromeOS images (different ACPI expectations) but are visible on Windows and generic Linux when using UEFI payload.
Validation (after flash with this patch + #37 + #38)
Automated inventory diff (
scripts/data/kaisa-chromeos-expected-devices.json, profilewindows_fork, 2026-06-22):PnP inventory: 18/21 expected devices OK; remaining UNEXPECTED items are Type-C retimer/DP bridge ACPI exposure (separate from this PR).
Windows still lists expected core devices: UHD 630, AX201 Wi-Fi, xHCI, Intel SST/DSP, HDMI audio endpoints, Chrome EC stack, NVMe boot drive.
Design notes (for review)
CONFIG_MINIPC_HIDE_*andCONFIG_SOC_INTEL_HIDE_EMMCdefaultn� only Kaisa/minipc defconfigs opt in (configs/cml: expand config.kaisa.uefi for Acer CXI4 Chromebox #38). Laptop Puff variants unchanged.ScsEmmcEnabledforced off whenSOC_INTEL_HIDE_EMMC; ACPISCS_STAhidden. Matches NVMe-only CXI4 SKUs.r8168.c; PCI NIC and (with mb/google/puff: UEFI 16MiB FMD and Kaisa chromebox tuning #37/configs/cml: expand config.kaisa.uefi for Acer CXI4 Chromebox #38) EDK2 RtkUndi still work.Files (9)
MINIPC_HIDE_{AC,BATTERY,VBTN,R8168_ACPI},SOC_INTEL_HIDE_EMMC, EC ACPI_STAguards, Cannonlakescs.asl,fsp_params.c.Build / test plan
make defconfig CONFIG_DEFCONFIG=configs/cml/config.kaisa.uefi && make(after mb/google/puff: UEFI 16MiB FMD and Kaisa chromebox tuning #37, configs/cml: expand config.kaisa.uefi for Acer CXI4 Chromebox #38, edk2 mb/google/puff: optional uefi-16MiB.fmd for iPXE builds #42)ACPI\R8168Code 28; no eMMC host on NVMe SKU/sys/bus/acpi/devices/on Linux � noR8168:00, no battery/AC nodesDependencies
None. #37 and #38 depend on this PR.
Out of scope