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];
};