Superiotool/add chip support: Difference between revisions

From coreboot
Jump to navigation Jump to search
(Created page with "== 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 ex...")
 
 
(7 intermediate revisions by the same user not shown)
Line 4: Line 4:
The superio I have(SMSC LPC47N217) is already supported but has no extended dump, we'll show how to add that.
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 for adding extended registers:
Here's the main structure(from superiotool.h) for adding extended registers:
  struct superio_registers {
  struct superio_registers {
         int32_t superio_id;            /* Signed, as we need EOT. */
         int32_t superio_id;            /* Signed, as we need EOT. */
Line 15: Line 15:
         } ldn[LDNSIZE];
         } 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.

Latest revision as of 17:12, 18 January 2013

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.