On 3/5/07, Mitch Bradley <[EMAIL PROTECTED]> wrote:


The suspend/resume code uses MSR registers that are documented in the
AMD chip specs for the Geode GX and 5536 companion chips.  The I/O ports
are either legacy PC ports (for example the interrupt controller and
interval timer) or Geode-specific devices documented by the AMD chip
spec (for example MFGPT and SMBUS registers).  The OLPC wiki has
pointers to those AMD chip specs.  The base port numbers and addresses
for the Geode devices are established by MSR registers, as follows:

I/O ports:

18b0 SMBUS
1000 GPIO
1800 MFGPT
1880 IRQ mapper
1400 PM
1841 ACPI
1480 AC-97

Memory space:

fd000000 Frame buffer
fe000000 Graphics processor
fe004000 Video processor
fe008000 Display controller
fe01a000 OHCI (USB1)
fe01b000 EHCI (USB2)
efc00000 UOC (USB option controller)
fe00c000 CaFe NAND
fe010000 CaFe SD
fe014000 CaFe Camera

These addresses can be "discovered" by doing PCI configuration reads to
PCI device base address registers or by browing the Open Firmware device
tree.

There are a very small number of registers that the AMD public specs
list as reserved, but the code has to use anyway.  AMD told us the
required settings for those registers.  There are really very few such
registers.  The vast majority of the registers are fully documented in
AMD's public specs.

AMD employees and former employees, particularly Jordan Crouse and Tom
Sylla, have helped us a lot.  Even with the extensive documentation, it
requires a lot of time and experience to understand how everything fits
together.  Without the extensive handholding that those two people gave
me, I would not have been able to figure it all out.  Thanks, Jordan and
Tom!


Thanks for such a nice info. I have created a wiki based on your
information http://wiki.laptop.org/go/Port_Address.

Are these ports and MMIO address fixed or generated at runtime by
firmware/bios?

Thanks...

--
--------------------------------------------------------
Manish Regmi
Volunteer
OLPC Nepal
_______________________________________________
Devel mailing list
[email protected]
http://mailman.laptop.org/mailman/listinfo/devel

Reply via email to