audk/ArmEbPkg/Include/ArmEb/ArmEb.h

103 lines
5.1 KiB
C
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*++
Copyright (c) 2010, Apple Inc. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
--*/
#ifndef __ARM_EB_H__
#define __ARM_EB_H__
#include <ArmEb/ArmEbUart.h>
#include <ArmEb/ArmEbTimer.h>
///
/// ARM EB Memory Map
///
// 0x00000000 - 0x0FFFFFFF SDRAM 256MB
// 0x10000000 - 0x100FFFFF System FPGA (config registers) 1MB
// 0x100000000x10000FFF 4KB System registers
// 0x100010000x10001FFF 4KB System controller
// 0x100020000x10002FFF 4KB Two-Wire Serial Bus Interface
// 0x100030000x10003FFF 4KB Reserved
// 0x100040000x10004FFF 4KB Advanced Audio CODEC Interface
// 0x100050000x10005FFF 4KB MultiMedia Card Interface (MCI)
// 0x100060000x10006FFF 4KB Keyboard/Mouse Interface 0
// 0x100070000x10007FFF 4KB Keyboard/Mouse Interface 1
// 0x100080000x10008FFF 4KB Character LCD Interface
// 0x100090000x10009FFF 4KB UART 0 Interface
// 0x1000A0000x1000AFFF 4KB UART 1 Interface
// 0x1000B0000x1000BFFF 4KB UART 2 Interface
// 0x1000C0000x1000CFFF 4KB UART 3 Interface
// 0x1000D0000x1000DFFF 4KB Synchronous Serial Port Interface
// 0x1000E0000x1000EFFF 4KB Smart Card Interface
// 0x1000F0000x1000FFFF 4KB Reserved
// 0x100100000x10010FFF 4KB Watchdog Interface
// 0x100110000x10011FFF 4KB Timer modules 0 and 1 interface (Timer 1 starts at 0x10011020)
// 0x100120000x10012FFF 4KB Timer modules 2 and 3 interface (Timer 3 starts at 0x10012020)
// 0x100130000x10013FFF 4KB GPIO Interface 0
// 0x100140000x10014FFF 4KB GPIO Interface 1
// 0x100150000x10015FFF 4KB GPIO Interface 2 (miscellaneous onboard I/O)
// 0x100160000x10016FFF 4KB Reserved
// 0x100170000x10017FFF 4KB Real Time Clock Interface
// 0x100180000x10018FFF 4KB Dynamic Memory Controller configuration
// 0x100190000x10019FFF 4KB PCI controller configuration registers
// 0x1001A0000x1001FFFF 24KB Reserved
// 0x100200000x1002FFFF 64KB Color LCD Controller
// 0x100300000x1003FFFF 64KB DMA Controller configuration registers
// 0x100400000x1004FFFF 64KB Generic Interrupt Controller 1 (nIRQ for tile 1)
// 0x100500000x1005FFFF 64KB Generic Interrupt Controller 2 (nFIQ for tile 1)
// 0x100600000x1006FFFF 64KB Generic Interrupt Controller 3 (nIRQ for tile 2)
// 0x100700000x1007FFFF 64KB Generic Interrupt Controller 4 (nFIQ for tile 2)
// 0x100800000x1008FFFF 64KB Static Memory Controller configuration registers
// 0x100A00000x100EFFFF 448MB Reserved
// 0x100900000x100FFFFF 64KB Debug Access Port (DAP)
// 0x10100000 - 0x100FFFFF Reserved 3MB
// 0x10400000 - 0x17FFFFFF System FPGA 124MB
// 0x18000000 - 0x1FFFFFFF Logic Tile 1 128MB
// 0x20000000 - 0x3FFFFFFF Reserved 512MB
// 0x40000000 - 0x7FFFFFFF System FPGA 1GB
// 0x400000000x43FFFFFF CS0 NOR flash (nNOR_CS1)
// 0x440000000x47FFFFFF CS1 NOR flash (nNOR_CS2)
// 0x480000000x4BFFFFFF CS2 SRAM (nSRAMCS)
// 0x4C0000000x4DFFFFFF CS3 Config flash
// 0x4E0000000x4EFFFFFF Ethernet
// 0x4F0000000x4FFFFFFF USB
// 0x500000000x53FFFFFF CS4 (nEXPCS) PISMO (nCS0)
// 0x540000000x57FFFFFF CS5 (nSTATICCS4) PISMO (nCS1)
// 0x580000000x5BFFFFFF CS6 (nSTATICCS5) PISMO (nCS2)
// 0x5C0000000x5FFFFFFF CS7 (nSTATICCS6) PISMO (nCS3)
// 0x610000000x61FFFFFF PCI SelfCfg window
// 0x620000000x62FFFFFF PCI Cfg window
// 0x630000000x63FFFFFF PCI I/O window
// 0x640000000x67FFFFFF PCI memory window 0
// 0x680000000x6BFFFFFF PCI memory window 1
// 0x6C0000000x6FFFFFFF PCI memory window 2
// 0x70000000 - 0x7FFFFFFF DRAM Mirror
// 0x80000000 - 0xFFFFFFFF Logic Tile site 2 2GB
//
// At reset EB_DRAM_BASE is alaised to EB_CS0_NOR_BASE
//
#define EB_DRAM_BASE 0x00000000 // 256 MB DRAM
#define EB_CONFIG_BASE 0x10000000
#define EB_CSO_NOR_BASE 0x40000000 // 64 MB NOR FLASH
#define EB_CS1_NOR_BASE 0x44000000 // 64 MB NOR FLASH
#define EB_CS2_SRAM 0x48000000 // 2 MB of SRAM
#define EB_CS3_CONFIG_FLASH 0x4c000000 // 8 MB Config FLASH for FPGA. Not to be used by application code
#define EB_CS3_ETHERNET 0x4e000000 // 16 MB Ethernet controller
#define EB_CS4_PISMO_CS0 0x50000000 // Expansion CS0
#define EB_CS5_PISMO_CS0 0x54000000 // Expansion CS0
#define EB_CS6_PISMO_CS0 0x58000000 // Expansion CS0
#define EB_DRAM_REMAP_BASE 0x70000000 // if REMAPSTAT is HIGH alais of EB_DRAM_BASE
#endif