Sorry for joining in late. I wrote a utility a while ago that dumped the GPIO registers of an ICH7. Maybe your registers look pretty similar.
My output is something like: Intel Southbridge: 8086:27b8 GPIOBASE = 0x0480
gpiobase+0x0000: 0x1f1ff7c0 gpiobase+0x0004: 0xe0e8efc3 gpiobase+0x0008: 0x00000000 gpiobase+0x000c: 0xebffeeff gpiobase+0x0010: 0x00000000 gpiobase+0x0014: 0x00000000 gpiobase+0x0018: 0x00000000 gpiobase+0x001c: 0x00000000 gpiobase+0x0020: 0x00000000 gpiobase+0x0024: 0x00000000 gpiobase+0x0028: 0x00000000 gpiobase+0x002c: 0x00002180 gpiobase+0x0030: 0x000000ff gpiobase+0x0034: 0x00000030 gpiobase+0x0038: 0x00010035 gpiobase+0x003c: 0x00000000
* joe@smittys.pointclark.net joe@smittys.pointclark.net [080219 10:59]:
Quoting Peter Stuge peter@stuge.se:
On Mon, Feb 18, 2008 at 07:45:55PM -0500, joe@smittys.pointclark.net wrote:
Once you have the base address, you can read the GPIO control registers from /dev/port, with the seek equal to the base address.
How?? This is the part I am looking for, this would be the golden ticket:-)
Oh! This can be fairly simple.
dd if=/dev/ioport bs=1 skip=$[0xbasehere] count=asmanyasyouwant | xxd
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.
- 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"?
- Would I put 64 in "asmanyasyouwant" to dump the whole 64 bytes of
I/O space?
- What is the pipe xxd for?
Thanks again for the help:-)
Thanks - Joe
-- coreboot mailing list coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot