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
