Hi Keith,
On 06.05.20 18:50, Keith Hui wrote:
I've run into two problems with this work and hoping for insights.
First, Linux kernel is throwing a warning. Full dmesg (from kernel start to prompt) attached, but it's these lines in particular:
[ 5.977786] ACPI Warning: SystemIO range 0x0000000000000F00-0x0000000000000F07 conflicts with OpRegion 0x0000000000000F00-0x0000000000000F06 (\SM00) (20150930/utaddress-254)
I'm not 100% sure but looking at Linux `drivers/i2c/busses/i2c-piix4.c`, it seems Linux anticipates that ACPI might use the SMBus too. But you have to make it aware that this is about the same device. Maybe you also have to match the i/o region's size, e.g. make your `OpRegion` 8 ports long.
You should move your SMBus ASL code into a `Device` node below `PCI0`. AFAICT
Device (SMB0) { Name (_ADR, 0x00040003) /* PCI 0:04.3, right? */
... }
I guess this should actually live in `src/southbridge/intel/i82371eb/ acpi/i82371eb.asl`. The mainboard code could then call the `WBYT` and `RBYT` methods.
If this doesn't work, it might still be possible to make the resource conflict less obvious to Linux.
Again, not 100% sure how this works, but I'm sure this is the right direction. Your other issues seems related.
Hope this helps, Nico