Linux boot delayed by value of generic.reset_off_delay_ms (touchscreen reset)?

Paul Menzel <[email protected]>
Newsgroups gmane.linux.bios
Message-ID <[email protected]>
Dear coreboot folks,


On the Dell Latitude 5430 Chromebook (google/brya/var/crota) there is a 
delay of 160 ms during startup in the Linux kernel [1]:

     [    0.000000] microcode: microcode updated early to revision 
0x430, date = 2023-06-07
     [    0.000000] Linux version 5.15.124-20281-g306376f9e9db 
(chrome-bot@chromeos-release-builder-us-central1-c-x32-9-oel9) (Chromium 
OS 17.0_pre496208_p20230501-r16 clang version 17.0.0 
(/mnt/host/source/src/third_party/llvm-project 
98f5a340975bc00197c57e39eb4ca26e2da0e8a2), LLD 17.0.0) #1 SMP PREEMPT 
Mon Oct 2 18:31:36 PDT 2023
     […]
     [    0.150271] ACPI: PM: Power Resource [PR00]
     [    0.313289] ACPI: PM: Power Resource [PR01]

A @google.com person commented, that this *could* be caused by the reset 
delay of the ELAN touchscreen. From 
`src/third_party/coreboot/src/mainboard/google/brya/variants/crota/overridetree.cb`:

		device ref i2c3 on
			chip drivers/i2c/hid
				register "generic.hid" = ""ELAN900C""
				register "generic.desc" = ""ELAN Touchscreen""
				register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
				register "generic.detect" = "1"
				register "generic.reset_gpio" =
							"ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
				register "generic.reset_delay_ms" = "150"
				register "generic.reset_off_delay_ms" = "1"
				register "generic.enable_gpio" =
							"ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
				register "generic.enable_delay_ms" = "6"
				register "generic.stop_gpio" =
							"ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
				register "generic.stop_off_delay_ms" = "1"
				register "generic.has_power_resource" = "1"
				register "hid_desc_reg_offset" = "0x01"
				device i2c 0x16 on end
			end
		end

As I have been bitten the last time, I tried to flash a Dell Chromebook, 
I am weary to test, so I am asking here.

> The delay is unavoidable, although I suppose there's room for
> improvement on making ACPI power sequencing parallelizable or
> otherwise deferring it until the device is actually getting probed
> (preferably using asynchronous probe, since this is a slow device --
> ChromeOS tends to configure touchscreen drivers for async probe
> already, or else loaded as modules).
> 
> Perhaps you can take this problem upstream if you'd like to work on
> something, but from a ChromeOS perspective this is either Intended
> Behavior or a Feature Request. I don't think we're interested in
> tracking this as a Feature Request here.

During startup this reset delay should not hold up the boot, should it? 
Could the firmware reset the touchscreen, and somehow message the OS, 
that it’s not needed anymore?


Kind regards,

Paul


[1]: https://issuetracker.google.com/issues/303565666


PS: I was unable to change the issue title to correct PR01 to PR00.
_______________________________________________
coreboot mailing list -- [email protected]
To unsubscribe send an email to [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.