[coreboot] Out-of spec EC control codes

Andrey Korolyov andrey at xdel.ru
Wed Mar 29 19:50:53 CEST 2017


Hi,

while doing LPC examination for keyboard actions on Getac laptop few
weeks ago, I noticed that the controlling sequence for backlight step
has been put outside of an ACPI spec for no visible reason (therefore
it is not possible to control backlight using unmodified ectool, for
example).

Sample step control sequence when Fn+Backlightxx is pressed looks like
following:

CT   DT
0x80 0x17 // Reading 0x17 for current level, twice (why???)
0x80 0x17
0x86 0xff 0xf9 0x7f // Ok, now that`s weird, Why OEM-ing control
sequences is necessary in there?
0x80 0x17 // Reading updated value

I wonder if some people in list have touched simular kind of
development, is there any real reason behind using non-standard
control commands for EC? There *are* counterexamples in coreboot tree,
but they are using very extensive control command set and stepping
outside of spec looks reasonable. In my case, controller seemingly
uses just as few handles as the spec suggests, but omits standard ones
in favor of 0x85/0x86, could be there any practical reason for doing
this?



More information about the coreboot mailing list