mb/google/nissa/var/meliks: Link touchscreen device with display panel
In some panels, the power supply for the display and the I2C touch screen comes from the same source. As a result, if the display is not powered on, the I2C bus will also be unpowered. This leads to a problem : if the Intel DRM driver has not yet reached the stage where it powers on the display, the I2C touch screen device integrated into the panel will remain unpowered as well. A similar issue can also occur after resuming from s0ix. In Linux-like systems, the Intel DRM driver and the generic I2C driver operate independently, so their execution order in the kernel cannot be guaranteed. Kernel patchsets link: https://lore.kernel.org/all/cover.1749199013.git.jani.nikula@intel.com/ Due to the required kernel changes mentioned above, an ACPI device LCD0 needs to be declared under GFX0, and a _DSD declaration must be added to the I2C touch screen device. An example that clearly illustrates the required ACPI change: Scope (\_SB.PCI0.GFX0) { ... Device (LCD0) { Name (_STA, 0x0F) // _STA: Status ... } } Scope (\_SB.PCI0.I2C1) { .... Name (_DSD, Package (0x02) // _DSD: Device-Specific Data { ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, Package (0x02) { ... Package (0x02) { "panel", \_SB.PCI0.GFX0.LCD0 } } }) } BUG=b:398703068 TEST=Extracted SSDT contains a required _DSD entry within the I2C1 touchscreen device scope Cq-Depend: chromium:6626797 Change-Id: I73058851c35a7190d70a51a554cccf21253fc59b Signed-off-by: Simon Yang <simon1.yang@intel.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/87762 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Eric Lai <ericllai@google.com> Reviewed-by: Subrata Banik <subratabanik@google.com>
This commit is contained in:
parent
6e58c0148b
commit
b9aae6180b
1 changed files with 4 additions and 0 deletions
|
|
@ -240,6 +240,10 @@ chip soc/intel/alderlake
|
|||
register "generic.reset_off_delay_ms" = "2"
|
||||
register "generic.has_power_resource" = "1"
|
||||
register "generic.use_gpio_for_status" = "true"
|
||||
register "generic.property_count" = "1"
|
||||
register "generic.property_list[0].type" = "ACPI_DP_TYPE_REFERENCE"
|
||||
register "generic.property_list[0].name" = ""panel""
|
||||
register "generic.property_list[0].string" = ""\\_SB.PCI0.GFX0.LCD0""
|
||||
register "hid_desc_reg_offset" = "0x1"
|
||||
device i2c 4F on end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue