Difference between revisions of "Developer Manual/Super IO"
Jump to navigation
Jump to search
AvengerF12 (talk | contribs) m |
AvengerF12 (talk | contribs) (Added a first draft of the configuration structure) |
||
Line 14: | Line 14: | ||
Each of these functions, inside a Super I/O, is split into its own logical device and everyone of these devices is identified by an hex number (starting from 0x0) called logical device number (LDN). | Each of these functions, inside a Super I/O, is split into its own logical device and everyone of these devices is identified by an hex number (starting from 0x0) called logical device number (LDN). | ||
I.e. 0x05 and 0x06 are the LDN respectively for the keyboard and the mouse. | I.e. addr 0x05 and 0x06 are the LDN respectively for the keyboard and the mouse. | ||
Check your chip's datasheet to find the complete list. | Check your chip's datasheet to find the complete list. | ||
== Super I/O configuration == | |||
A Super I/O chip can be configured through the use of its configuration registers. | |||
These registers can be divided into two classes: | |||
* Super I/O control and configuration | |||
* Logical Device control and configuration | |||
The first class contains all the registers that have the same value no matter which LDN has been selected, a sort of "global" register. | |||
An example of this class can be found in the LDN register (addr 0x7) which is used to select an LDN, the Super I/O ID register (addr 0x20) and the Revision ID register (addr 0x27) which contain respectively the ID and the revision number of your chip. | |||
The second class includes all the registers that are relative to the LDN that has been previously selected. | |||
Among these ones there is the Logical Device Control register (addr 0x30) which is used to enable or disable the functionality of that Logical Device, the I/O Address register (addr 0x60-0x61) which are used to access runtime registers, and others. | |||
== Virtual Logical Devices (vLDN) == | == Virtual Logical Devices (vLDN) == |