[coreboot] Superiotool to devicetree.cb

Uwe Hermann uwe at hermann-uwe.de
Tue Sep 29 20:26:04 CEST 2009


Hi,

On Tue, Sep 29, 2009 at 06:47:26PM +0100, Crankyadmin wrote:
> Below is my output of superiotool. Lets use the floppy as a example.
> 
> Found Winbond W83627EHF/EF/EHG/EG (id=0x88, rev=0x63) at 0x2e
                                                           ^^^^
                                            Super I/O config register is 0x2e

> Register dump:
> idx 20 21 22 23 24 25 26 27  28 29 2a 2b 2c 2d 2e 2f
> val 88 63 ff 00 80 00 00 ff  50 04 00 00 00 21 00 ff
> def 88 MM ff 00 MM 00 MM RR  50 04 00 RR 00 21 00 00

> LDN 0x00 (Floppy)
      ^^^^
  logical device number 0 (== floppy)


> idx 30 60 61 70 74 f0 f1 f2  f4 f5
         ----- -- --
> val 00 00 00 06 02 8e 00 ff  00 00
> def 01 03 f0 06 02 8e 00 ff  00 00
         ^^^^^ ^^ ^^
         0x3f0 6  2


> How does this turn into this:
> 
> devicetree.cb
> ----->snip<-----
> device pnp 2e.0 on #floppy
             ^^^^
        This is the config port (without "0x"), then a dot, then the LDN

>  io 0x60 = 0x3f0

I/O base, in register 0x60 of the Superio LDN 0 (in this case), 16 bit
in size, thus it's in 0x60 and 0x61.


>  irq 0x70 = 6

The IRQ is in register 0x70, value is 6, see above


>  drq 0x74 = 2

Similar here.


> BTW the way these to sets of information are unlikely to match, what
> I'm trying to collate is how do you get them to match. Any hints would
> be appreciated

You have to read the superio datasheet to get the correct existing LDNs
and their registers/values etc. superiotool -d helps, but reading the
respective datasheet is required of course, to make sure everything's OK.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org




More information about the coreboot mailing list