Hello community!
I am adding support for f81866 and f81966 fintek chips in superiotool: https://review.coreboot.org/q/topic:%22fintek%22
However, there are some difficulties to make a dump of the registers of these chips. Their global LDN0 and HWM registers contain fields that switch the register banks of these devices. At the same time, these registers contain fields that should not change after they are configured.
For example, <Port Select Register - Index 27h> register contains: BANK_PROG_SEL field[3-2] - Bank select for configuration registers (bank 0/1/2/3) and PORT_4E_EN[4] - 0: The configuration register port is 2E/2F. 1: The configuration register port is 4E/4F.
I suggest introducing a new element in chip configuration for such registers - an extra selector: https://review.coreboot.org/c/coreboot/+/83196 It seems to me that this is the optimal solution.
This allows superiotool to configure the register fields to select a bank before making a correct dump for the corresponding LDN in automatic mode.
Please review.
Thx
// Regards, // Max