Intel® Atom™-based Single
Board Computer with Ethernet ,
Video, USB, SATA, Serial I/O,
Digital I/O, Counter/Timers, Mini
PCIe, mSATA and
PCI/104-Plus Interface.
Although every effort has been made to ensure this document is error-free, VersaLogic makes no
representations or warranties with respect to this product and specifically disclaims any implied warranties
of merchantability or fitness for any particular purpose.
VersaLogic reserves the right to revise this product and associated documentation at any time without
obligation to notify anyone of such changes.
PC/104, PC/104-Plus, and the PC/104 logo are trademarks of the PC/104 Consortium.
EPM-39 Programmer’s Reference Manual ii
Product Release Notes
Release 1
First release of this document.
Support
The EPM-39 support page contains additional information and resources for this product
including:
Reference Manual (PDF format)
Operating system information and software drivers
Data sheets and manufacturers’ links for chips used in this product
BIOS information and upgrades
Utility routines and benchmark software
The VersaTech KnowledgeBase is an invaluable resource for resolving technical issues with
your VersaLogic product.
Table 34: ISACON1 – ISA Control Register #1 ............................................................... 27
Table 35: ISACON2 – ISA Control Register #2 ............................................................... 27
EPM-39 Programmer’s Reference Manual v
1
This document provides information for users requiring register-level information for developing
applications with the VL-EPM-39.
Related Documents
The following documents available are on the EPM-39 Product Support Web Page:EPM-39 Hardware Reference Manual – provides information on the board’s hardware
features including connectors and all interfaces.
Introduction
EPM-39 Programmer’s Reference Manual 1
00000h – 9FFFFh
Legacy system (DOS) area
A0000h – B7FFFh
ISA memory area (VGA frame buffer is not accessible)
B8000h – BFFFFh
Text mode buffer
C0000h – CFFFFh
Video BIOS area
D0000h – DFFFFh
PCI ROM expansion area
E0000h – FFFFFh
Legacy BIOS (reserved)
2
Memory Map
Table 1: Memory Map
Interrupts
The LPC SERIRQ is used for interrupt interface to the BayTrail SoC.
System Resources and Maps
Address Range Description
Each of the following devices can have an IRQ interrupt assigned to it and each with an interrupt
enable control for IRQ3, IRQ4, IRQ5, IRQ6, IRQ7, IRQ9, IRQ10, and IRQ11:
8254 timers (with three interrupt status bits)
8 AUX GPIOs (with one interrupt status bit)
COM 1 UART (with 16550 interrupt status bits)
Watchdog timer (one status bit)
Thermal event interrupts
ISA interrupts
The ISA bus supports 11 interrupts: IRQ3, IRQ4, IRQ5, IRQ6, IRQ7, IRQ9, IRQ10, IRQ11,
IRQ12, IRQ14, and IRQ15. There is an interrupt enable control for each and by default they are
all disabled. ISA bus interrupts simply pass through to the SERIRQ (no capture in the FPGA).
Common interrupts can be assigned to multiple devices if software can deal with it (this is
common on UARTs being handled by a common ISR).
Interrupt status bits for everything except the UARTs will “stick” and are cleared by a “writeone” to a status register bit. The 16550 UART interrupts behave as defined for the 16550
registers and are a pass-through to the LPC SERIRQ.
Per the VersaAPI standard, anytime an interrupt on the SERIRQ is enabled, the slot becomes
active. All interrupts in the SERIRQ are high-true so when the slot becomes active, the slot will
be low when there is no interrupt and high when there is an interrupt.
EPM-39 Programmer’s Reference Manual 2
Table 2: I/O Map
3F8h – 3FFh
COM1 serial port default
400h – 47Fh
ACPI / Power management (reserved)
500h – 5FFh
PCH GPIO (reserved)
C80h – CBBh
EPM-39 FPGA Board Control Registers
CBCh – CBFh
EPM-39 FPGA 8254 Timer Registers
I/O Address Range Device/Owner
System Resources and Maps
EPM-39 Programmer’s Reference Manual 3
0xC80 – 0xCBB
FPGA registers
60 bytes
0xCBC – 0xCBF
8254 timer address registers
4 bytes
0xC80 - 0xCBF
FPGA registers
64 bytes
All other LPC I/O cycles
ISA bus
Depends on SoC LPC I/O traffic
0x0 – 0xFFFFFF LPC memory cycles
ISA bus
Depends on SoC LPC memory traffic
0x1000000 and higher LPC memory
cycles
TPM is the only memory device on the
LPC bus
3
FPGA I/O Space
The FPGA is mapped into I/O space on the LPC bus
FPGA access: LPC I/O space
FPGA access size: All 8-bit byte accesses (16-bit like registers are aligned on 16-bit word
boundaries to make word access possible in software but the LPC bus still splits the accesses
into two 8-bit accesses)
FPGA address range: 0xC80 to 0xCBF (64-byte window)
The three 8254 timers only require four bytes of addressing and are located at the end of the
64-byte I/O block. The only requirement is that the base address must be aligned on a 4-byte
block. The table below lists the FPGA’s I/O map.
FPGA Register s
Table 3: FPGA I/O Map
Address Range Device Size
ISABUS ADDRE S S ING AND LPCI/O AND MEMORY MAP
The FPGA implements an LPC-to-ISA bridge. The LPC bus only has the he FPGA uses I/O
space 0xC80-0xCBF. The ISA bus memory address space is16 Mbytes (24-bits of address); ISA
busy I/O addressing is limited to 64 Kbytes (16 bits of address). As such, the following will be
the allowed memory and I/O map for the ISA bus.
All LPC I/O cycles that are unclaimed by the FPGA will pass through to the ISA bus. Similarly,
all LPC memory cycles below 16 Mbytes will be passed through to the ISA bus.
Table 4: ISA Bus I/O Map
Address Range Device Size
Table 5: ISA Memory Map
Address Range Device Size
EPM-39 Programmer’s Reference Manual 4
Ignored by FPGA
EPM-39 Programmer’s Reference Manual 5
FPGA Register Map
Register Access Key
Reset Status Key
R/W Read/Write POR Power-on reset (only resets one time when input power comes on)
RO Read-only (status or reserved) Platform
Resets prior to the processor entering t he S0 power state (that is, at power-on
and in sleep states)
R/WC Read-status/Write-1-to-Clear resetSX
• If FPGA_PSEN is a '0' in MISCSR1 (default setting), t hen this is the
same as the Platform reset.
• If FPGA_PSEN is a programmed to a '1', then it is the same as the
Power-On Reset (POR).
RSVDReserved. Only write 0 to this bit; ignore all read values. n/a Reset doesn't apply to status or res erved registers