Superiotool/add chip support
The wiki is being retired!
Documentation is now handled by the same processes we use for code: Add something to the Documentation/ directory in the coreboot repo, and it will be rendered to https://doc.coreboot.org/. Contributions welcome!
Introduction
This page explain how to add support for your superio chip in Superiotool.
Howto
The superio I have(SMSC LPC47N217) is already supported but has no extended dump, we'll show how to add that.
Here's the main structure(from superiotool.h) for adding extended registers:
struct superio_registers { int32_t superio_id; /* Signed, as we need EOT. */ const char *name; /* Super I/O name */ struct { int8_t ldn; const char *name; /* LDN name */ int16_t idx[IDXSIZE]; int16_t def[IDXSIZE]; } ldn[LDNSIZE]; };
- lLDN means logical device name. Floppy, Serial or parallel port are logical devices.
- int8_t ldn is the logical device number
- idx is an array of "Configuration Registers" belonging to the logical device.
- def are the default value of the corresponding idx registers.