Messages in this thread | | | Date | Wed, 29 Dec 2021 13:17:31 +0000 | From | Lee Jones <> | Subject | Re: [PATCH v2] mfd: intel-lpss: Fix I2C4 not being available on the Microsoft Surface Go & Go 2 |
| |
On Fri, 03 Dec 2021, Hans de Goede wrote:
> Many DSDTs for Kaby Lake and Kaby Lake Refresh models contain a > _SB.PCI0.GEXP ACPI Device node describing an I2C attached PCA953x > GPIO expander. > > This seems to be something which is copy and pasted from the DSDT > from some reference design since this ACPI Device is present even on > models where no such GPIO expander is used at all, such as on the > Microsoft Surface Go & Go 2. > > This ACPI Device is a problem because it contains a SystemMemory > OperationRegion which covers the MMIO for the I2C4 I2C controller. This > causes the MFD cell for the I2C4 controller to not be instantiated due > to a resource conflict, requiring the use of acpi_enforce_resources=lax > to work around this. > > I have done an extensive analysis of all the ACPI tables on the > Microsoft Surface Go and the _SB.PCI0.GEXP ACPI Device's methods are > not used by any code in the ACPI tables, neither are any of them > directly called by any Linux kernel code. This is unsurprising since > running i2cdetect on the I2C4 bus shows that there is no GPIO > expander chip present on these devices at all. > > This commit adds a PCI subsystem vendor:device table listing PCI devices > where it is known to be safe to ignore resource conflicts with ACPI > declared SystemMemory regions. > > This makes the I2C4 bus work out of the box on the Microsoft Surface > Go & Go 2, which is necessary for the cameras on these devices to work. > > Cc: Dan Scally <djrscally@gmail.com> > Cc: Kate Hsuan <hpa@redhat.com> > Cc: Maximilian Luz <luzmaximilian@gmail.com> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> > Signed-off-by: Hans de Goede <hdegoede@redhat.com> > --- > Changes in v2: > - Use PCI_VENDOR_ID_INTEL instead of 0x8086 > - Small tweaks to commit message > - Added Laurent's and Andy's Reviewed-by > --- > drivers/mfd/intel-lpss-pci.c | 12 ++++++++++++ > drivers/mfd/intel-lpss.c | 1 + > drivers/mfd/intel-lpss.h | 1 + > 3 files changed, 14 insertions(+)
Applied, thanks.
-- Lee Jones [李琼斯] Senior Technical Lead - Developer Services Linaro.org │ Open source software for Arm SoCs Follow Linaro: Facebook | Twitter | Blog
| |