Attention is currently required from: Raul Rangel, Paul Menzel, Tim Wawrzynczak, Karthik Ramasubramanian. Matt DeVillier has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/63212 )
Change subject: mb/google/octopus: Implement touchscreen,digitizer power sequencing ......................................................................
Patch Set 2:
(1 comment)
Commit Message:
https://review.coreboot.org/c/coreboot/+/63212/comment/e53ae34e_9b961aa0 PS2, Line 13:
So there is a problem with stock Chrome OS firmware?
depends on your perspective - it does work properly, with ChromeOS.
Currently, many ChromeOS devices in the coreboot tree have multiple I2C touchpad/touchscreen devices listed in the devicetree/overridetree. ACPI entries are generated for all of them, with a status value of 0xF (present and functional). This is wrong/violates spec, since it requires the OS to probe for each device to determine if it is actually there, rather than relying on the ACPI status being correct. Upstream Linux handles this somewhat; Windows completely craps out, since it believes that multiple devices are using the same resources (IRQ, GPIO, memory range).
The correct way to handle the multiple component issue is to have coreboot only generate ACPI entries for the components which are present (or at the least, set the status to 0x0 for those that are not)