40680B LX cs5536 Xromportgd
40680B LX cs5536 Xromportgd
40680B LX cs5536 Xromportgd
April 2006
Publication ID: 40680B
AMD’s products are not designed, intended, authorized or warranted for use as
components in systems intended for surgical implant into the body, or in other
applications intended to support or sustain life, or in any other application in which
the failure of AMD’s product could create a situation where personal injury, death,
or severe property or environmental damage may occur. AMD reserves the right to
discontinue or make changes to its products at any time without notice.
Trademarks
AMD, the AMD Arrow logo, and combinations thereof, and Geode, GeodeLink, Virtual System Architecture, and
XpressGRAPHICS are trademarks of Advanced Micro Devices, Inc.
Windows is a registered trademark of Microsoft Corporation in the United States and/or other jurisdictions.
Other product names used in this publication are for identification purposes only and may be trademarks of their respective
companies.
Contents
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.0 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.0 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.1 Processor Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.2 AMD Geode™ CS5536 Companion Device Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.3 Virtual System Architecture™ Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.4 PCI Bus Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.5 Miscellaneous Initializations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.0 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.1 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
List of Figures
List of Tables
1.1 Introduction
1.0Overview
1
This document describes the changes needed for GeodeROM and other BIOSs to support the AMD Geode™ LX processor
and the AMD Geode™ CS5536 companion device. GeodeROM requires modifications for hardware initialization and spe-
cific implementations.
Each section targets the GeodeROM changes needed to support the Geode LX processor/CS5536 device system. Where
appropriate, the changes list the “Entry Conditions” that briefly describe the machine state required to execute that function,
as well as some pseudo code for implementing the changes.
For more information on GeodeROM, see the AMD Geode™ GeodeROM Functional Specification (publication ID 32087).
1.2 Assumptions
The following assumptions must be made clear during the design phase.
GeodeROM expects all memory has a serial presence detect (SPD) to determine characteristics for memory controller ini-
tialization. If a SPD is not present, GeodeROM outputs a POST code and halts, unless customizations have been made for
the platform.
RDMSR
Input
ECX - Address to read.
Output
EDX:EAX - 64 bits data returned.
WRMSR
Input
ECX - Address to write.
EDX:EAX - 64 bits data written.
Output
None.
RDMSR:
Load MSR specified by ECX into EDX:EAX.
WRMSR:
Write the value in EDX:EAX to MSR specified by ECX.
3.0GeodeLink™ Architecture
GeodeLink™ architecture connects the internal modules of the AMD Geode™ LX processor using the data channels pro-
3
vided by GeodeLink Interface Units (GLIUs). GeodeLink modules are connected to GLIU ports 1 – 7 as shown in Figure 3-
1. Port 0 is always the GLIU itself. GLIUs can be chained together and up to a maximum of six GLIUs can be connected
allowing for 32 modules.
GLMC
1 CPU Core
3
0
7 4
Not Used GLIU0 DC
6 5
Not Used 2 GP
GLIU0 GLIU1
AMD Geode™
ACC
LX Processor 1 VP Not Used 5 DD
2
0 6 4
7 3
Not Used GLIU1 GLCP GLCP GLIU IDE
7 3
6 5
0
2
Security Block 4 VIP USBC
AMD Geode™ 1
(AES)
CS5536
Companion
GLPCI Device GLPCI
PCI Bus
3.2 Descriptors
Descriptors are used to route memory or I/O resources through GLIUs to a processor module. Memory and I/O addresses
that do not have descriptors are subtractively decoded through the GLIUs and out to the PCI. It is important that no descrip-
tors overlap each other. The result is indeterminate.
The AMD Geode™ LX processor contains many of the components normally found in system support chipsets.
4
GeodeROM must set up these components, including the DRAM controller, L1 cache controller, clock control, and PCI con-
troller as well as some proprietary systems like GeodeLink™ architecture.
This chapter contains descriptions and some pseudo code for Geode LX processor-specific code sequences in
GeodeROM. The modifications are grouped into CPU core initialization, DRAM controller initialization, GeodeLink interface
initialization, PCI bus initialization, and miscellaneous other initializations/changes.
PCI Clock
DOTREF
CPU Clock
COREMULT
COREDIV
GLCP_SYSRSTPLL[11]
SYSREF SYSPLL
GLIU Clock
GLIUMULT
MBDIV SDRAM Clock
GLCP_SYSRSTPLL[12]
After the BIOS sets the multipliers, it should note that this functionality has already occurred, then reset the CPU by setting
CHIP_RESET (bit 0) of the GLCP_SYSRSTPLL register. The SWFLAGS field of GLCP_SYSRSTPLL was created for this
purpose. It is simply a scratchpad for the BIOS to define and use. Its value is maintained across a CHIP_RESET type of
reset, but not POR#.
It is possible, but not typical, to bypass the system PLL and drive the CPU and/or the GLIU clocks from the DOTREF input.
This is accomplished by setting the COREBYAPASS and/or the GLIUBYPASS bits.
If there is an incorrect setting in the CMOS Setup Utility and the system cannot boot three times in a row, GeodeROM
resets CMOS to the defaults.
63:56 ROMRP ROM Region Properties. Region properties for addresses greater than ROMBASE (bits
[55:36]).
55:36 ROMBASE ROM Base Address. Base address for boot ROM. This field represents A[32:12] of the
memory address space, for 4 KB granularity.
35:28 DEVRP SYSTOP to ROMBASE Region Properties. Region properties for addresses less than
ROMBASE (bits 55:36]) and addresses greater than or equal to SYSTOP (bits [27:8]).
27:8 SYSTOP Top of System Memory. Top of system memory that is available for general processor
use. The frame buffer and other private memory areas are located above SYSTOP.
7:0 SYSRP System Memory Region Properties. Region properties for addresses less than SYS-
TOP (bits [27:8]). Note that Region Configuration 000A0000h-000FFFFFh takes prece-
dence over SYSRP.
Note: Region Properties: 7:6 = Reserved; 5 = Write Serialize; 4 = Write Combine; 3 = Write-through; 2 = Write Protect;
1 = Write Allocate; 0 = Cache Disable.
Registers:
CR0
RCONF MSRs: CPU Core MSR Address 00001808h-00001817h
Instruction Memory Configuration Register: CPU Core MSR Address 00001700h
Data Memory Configuration Register: CPU Core MSR Address 00001800h
Entry Conditions:
None
Procedure:
IF <L1 cache requested>
Setup the Default Region Configuration Properties and any other RCONFs required.
Write Cache Disable and Not Write-Through bits (bits [30:29]) in the CR0 register.
WBINVD
ENDIF
Note: See Figure 7-2 on page 31 for a pictorial presentation.
GLPCI Regions
The GLPCI has similar MSRs to the CPU Core Region Configuration registers for inbound transactions. These memory
regions control the memory hole from 6460 KB to 1 MB. Six flexible region MRSs are assigned: Memory Region 0 Configu-
ration (R0) through Memory Region 5 Configuration (R5).
Descriptor Allocation
Register: PHY_CAP (MSR Address GLIU0: 10000086h, GLIU1: 40000086h)
Each GLIU descriptor allocation is defined in the PHY_CAP register.
GLIU0 GLIU1
Descriptor MSR Address Memory Range Descriptor MSR Address Memory Range
P2D_BM[5:0] 10000020h P2D_BM[9:0] 40000020h
10000021h 40000021h
10000022h 40000022h
10000023h 40000023h
10000024h 40000024h
10000025h 40000025h
P2D_BMO[1:0] 10000026h 40000026h
10000027h 40000027h
P2D_R[0] 10000028h 40000028h
P2D_RO[3:0] 10000029h 40000029h
1000002Ah P2D_R[3:0] 4000002Ah
1000002Bh 4000002Bh
P2D_SC[0] 1000002Ch 4000002Ch
P2D_RSVD 1000002Dh - 4000002Dh
1000003Fh P2D_SC[0] 4000002Eh
P2D_RSVD 4000002Eh -
4000003Fh
4.2.1 Chipset ID
Hardware PCI Header ID = 20F81022h
Virtual PCI Header ID = 09201022h
Example:
; set IDSEL
mov eax, 02000000h ; IDSEL = AD25, device #15
; mov eax, 04000000h ; IDSEL = AD30, device #20
out 0000h, eax
; set ExtMSR
mov eax, 0F0F0F0Fh ; device #15
mov edx, 000F0F0Fh ; device #15
; mov eax, 14141414h ; device #20
; mov edx, 00141414h ; device #20
mov ecx, extMSR
WRMSR
The XPIC has several incoming sources. They are IRQ, LPC, Y, and Z sources. The Y sources include software, USB, RTC
alarm, audio, power management, NAND Flash, SMB, KEL, and UARTs. The Z sources include eight MFGPTs and eight
GPIOs. During PCI scan, GeodeROM allocates memory, I/O, and interrupts to the PCI devices. This includes the virtual
devices emulated by VSA. VSA is responsible for the setup of the XPIC mapper for the devices it is virtualizing.
4.2.4.6 ACPI
Location: 9C00h or other normal ACPI location
Description: NA
Initialization: ACPI VSM
5.1 Implementation
5.0Implementation
The following is a collection of implementation details to consider in the GeodeROM implementation phase.
5
5.1.1 Clocking
There are two clock inputs to the LX processor: the system PCI clock (SYSREF), used to derive the Core clock, and the
GeodeLink™ clock, used for the memory clock. The Dot clock is used for video display control. The Core and GeodeLink
clocks can be programmed and restarted by reseting the LX processor.
6.0Setup Options
6
Initial configuration is set in the configurator at build time. Based on those settings, there are some setup options at runtime
that are platform specific. Check your platform specification for more details.
Desired Setup Options:
• Clock configuration - complete control of system PLLs
— Default: Use strap setting for core. GeodeLink™ interface frequency is calculated based on DIMM type.
• PM settings
— Default: Off
• Audio enable/disable
— Default: Enabled
• Video Primary/Secondary/Disabled
— Default: Secondary
• Video Memory Size
— Default: 24 MB
• Cache enable/disable
— Default: Write Back
• MTest enable/disable
— Default: disabled
• LPT enable/disable
— Default: 378
Note: If a setting is incorrect and the system cannot boot three times, CMOS is reset to the default setup options.
7.0Memory Map
7
Figures 7-1, 7-2, and 7-3 show the system memory. Figure 7-1 is the GLIU descriptor map, Figure 7-2 shows the Core
cache descriptors, and Figure 7-3 on page 32 shows the Core cache region configurations.
Figure 7-4 on page 33 shows the flow of GeodeROM in the LX processor/CS5536 system.
Memory Descriptors
FFFFFFFFh (4 GB)
ROM
FFFC0000h
Subtractive to PCI
Subtractive to PCI
Subtractive to PCI
Subtractive to PCI
Memory Mapped
PCI
PCI
PCI
Top of DRAM
Frame Buffer
RCONF_SMM VSA and Frame Buffer
VSA
RCONF_DEFAULT SYSTOP
PCI
RCONF_DEFAULT SYSRC Top of System
(OS) RAM
Extended Memory
RCONF_A0_BF-RCONF_E0_FF
Conventional Memory
Reset
ROM
Fetch
CPU ID N
Uses CPU ID instruction.
Correct? Halt
N CMOS/NVRAM
Valid and
Checksum
Ok?
Y Failed to
Failed boots need a POR
Load CMOS/ Boot
reset and will always take this path.
NVRAM Defaults 3 Times?
Early CS5536
Initialization
PLL Flag
Y
indicates
2nd Pass?
Continue POST
N
PLL Reset completed
Finish Post
Enable
Setup Stack Interrupts
VSA
Shadow ROM Initialization
CS5536 descriptor
Chipset
set here,
Initialization N
after shadow. Keyboard
Flag
F1 Pressed?
Reset Reboot
SuperI/O
Initialization INT 19
Setup
Flag
Reset Reboot
Reset
A.1
Appendix ASupport Documentation
One AMD Place • P.O. Box 3453 • Sunnyvale, CA 94088-3453 USA • Tel: 408-749-4000 or 800-538-8450 • TWX: 910-339-9280 • TELEX: 34-6306