mb/dell/optiplex_9020: Implement late HWM initialization
commit75dd80649925a5a30486a40068b7bb287c07b167
authorMate Kukri <kukri.mate@gmail.com>
Tue, 23 Apr 2024 17:04:38 +0000 (23 18:04 +0100)
committerFelix Held <felix-coreboot@felixheld.de>
Wed, 24 Apr 2024 17:42:40 +0000 (24 17:42 +0000)
treeb0f988cd57edecef37d2dcbcda46e3312fa2f631
parent51e472d568339fd76222933b16b88ddafaa8177b
mb/dell/optiplex_9020: Implement late HWM initialization

There are 4 different chassis types specified by vendor firmware, each
with a slightly different HWM configuration.

The chassis type to use is determined at runtime by reading a set of
4 PCH GPIOs: 70, 38, 17, and 1.

Additionally vendor firmware also provides an option to run the fans at
full speed. This is substituted with a coreboot nvram option in this
implementation.

This was tested to make fan control work on my OptiPlex 7020 SFF.

NOTE: This is superficially similar to the OptiPlex 9010's SCH5545
however the OptiPlex 9020's SCH5555 does not use externally
programmed EC firmware.

Change-Id: Ibdccd3fc7364e03e84ca606592928410624eed43
Signed-off-by: Mate Kukri <kukri.mate@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81529
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
src/mainboard/dell/optiplex_9020/Makefile.mk
src/mainboard/dell/optiplex_9020/bootblock.c
src/mainboard/dell/optiplex_9020/cmos.default
src/mainboard/dell/optiplex_9020/cmos.layout
src/mainboard/dell/optiplex_9020/mainboard.c
src/mainboard/dell/optiplex_9020/sch5555_ec.c [new file with mode: 0644]
src/mainboard/dell/optiplex_9020/sch5555_ec.h [new file with mode: 0644]