[coreboot] Dump GPIO I/O Registers

joe at smittys.pointclark.net joe at smittys.pointclark.net
Tue Feb 19 16:14:54 CET 2008

Quoting Tom Sylla <tsylla at gmail.com>:

> The dump tool is the way to go now, but just to answer a couple of your
> questions:
> joe at smittys.pointclark.net wrote:
>> OK, so lets clarify?
>> GPIOBASE?GPIO Base Address (LPC I/F?D31:F0)
>> 31:16 Reserved
>> 15:6 Base Address ? R/W. Provides the 64 bytes of I/O space for GPIO.
>> 5:1 Reserved
>> 0 Resource Indicator ? RO. Hardwired to 1; indicates I/O space.
>> 1. My value is 0x00000501. So if only bits 15:6 are the base   
>> address  this would make my base address 0x14 correct? This value   
>> would become  "0xbasehere"?
> Bits 15:6 of that register become bits 15:6 of the address range,
> meaning your base is just 0x500. (that isn't really stated in the
> datasheet, but that is they way those type of registers usually work,
> see regular PCI BARs for another example)
> Also, 0x14 would just not be an appropriate I/O base, take a look at an
> I/O port reference (i.e., ports.lst from Ralf Brown), and you will see
> that 14 is in the legacy DMA controller's I/O space. Anything less than
> 0x100 is really only for legacy stuff.
>> 2. Would I put 64 in "asmanyasyouwant" to dump the whole 64 bytes   
>> of  I/O space?
> Yes
>> 3. What is the pipe xxd for?
> When you use dd to read from /dev/port, you get out raw binary data.
> xxd turns that binary into a human-readable hex listing. (there are
> other tools to do this too, hexdump, etc)

Thanks again Tom that makes alot of sense.

Thanks - Joe

More information about the coreboot mailing list