On Tue, Mar 23, 2021 at 04:13:53PM +0100, Mark Kettenis wrote: > > Date: Tue, 23 Mar 2021 14:14:40 +0100 > > From: Theo Buehler <t...@theobuehler.org> > > It would help if you could try and boot a kernel that adds some debug > prints instead of calling aml_die(). Probably need to know the values > of alen, bpos, blen, mode and flag for starters.
Thanks. alen 0x00, bpos 0x278, blen 0x10, mode 0x00, flag 0x605 So: AML_FIELD_ACCESS(flag) == AML_FIELD_BUFFER_ACC, bpos & 0x03 == 0 and the aml_die("Invalid GenericSerialBus access") is hit because blen is twice as long as it should be according to the conditional preceding it: if (AML_FIELD_ACCESS(flag) != AML_FIELD_BUFFERACC || bpos & 0x3 || blen != 8) If I skip the aml_die("Invalid GenericSerialBus access"), it hits the next aml_die("Could not find GenericSerialBus controller"); because node->i2c == NULL.