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 <[email protected]>
>
> 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.