Hi again,

first, I have posted this question already on Stackoverflow [1] and
Reddit [2] but forgot to put it on the mailing list.

> I have a touchscreen controller (which is an I2C slave) that I need to enable 
> via APCI. This should be done by calling the _PS0 ACPI method. I call this 
> method by using AcpiEvaluateObject with no arguments and no return values.
> 
> When calling this method on the parent object (I2C4), everything goes fine 
> but calling it on the touch screen controller (TCS2), it fails. What also 
> makes me wonder is that it returns AE_AML_UNINITIALIZED_ARG even though it 
> doesn't take any args (according to the DSDT).
> 
> Calling the _CRS method on the same object also works without any problems. I 
> also looked into the Linux kernel source how they change ACPI power states 
> and they use the exact same mechanism. It boils down to the use of 
> acpi_evaluate_object in acpi_dev_pm_explicit_set which also seems to work on 
> the touchscreen device.
> 
> what am I missing to successfully enable the touchscreen device via ACPI? Is 
> there something the Linux kernel is initializing implicitly (I couldn't find 
> something like this)?

The current workaround for this issue is to use the GPIO pins to enable
the controller. But this isn't the desired way since it requires an
additional GPIO driver that takes ~100 LOC and also a separate ACPI
initialization for this driver.

Besides that other functions that are needed to get initial parameters
return errors. On the specific device I have the following examples:

> \_SB_.I2C4.SSCN
> \_SB_.I2C4.FMCN
> \_SB_.I2C4.FPCN
> \_SB_.I2C4.HSCN

Similar things also happen on the GPIO device (\_SB_.GPO1).

Regards,
Johannes


[1]:
https://stackoverflow.com/questions/44382881/acpi-ps0-failing-with-uninitialized-arg
[2]:
https://www.reddit.com/r/osdev/comments/6mtlv7/acpi_psx_function_returns_ae_aml_uninitialized_arg/
DSDT:
https://gist.github.com/jklmnn/15ed561202e04390e7bc366c0f803577#file-dsdt-dsl-L10947

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main

Reply via email to