[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