ctr_firmware/trunk/include/ctr/hw/ARM11/mmap_global.h
nakasima 01c59b7756 NE1ボードでブートROMが一応動作しているので一旦コミット。
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_firmware@192 b871894f-2f95-9b40-918c-086798483c85
2009-01-21 07:09:12 +00:00

141 lines
5.4 KiB
C

/*---------------------------------------------------------------------------*
Project: CtrFirm - include - ctr - HW - ARM11
File: mmap_global.h
Copyright 2008 Nintendo. All rights reserved.
These coded instructions, statements, and computer programs contain
proprietary information of Nintendo of America Inc. and/or Nintendo
Company Ltd., and are protected by Federal copyright law. They may
not be disclosed to third parties or copied or duplicated in any form,
in whole or in part, without the prior written consent of Nintendo.
$Date:: $
$Rev$
$Author$
*---------------------------------------------------------------------------*/
#ifndef CTR_HW_ARM11_MMAP_GLOBAL_H_
#define CTR_HW_ARM11_MMAP_GLOBAL_H_
#ifdef __cplusplus
extern "C" {
#endif
/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*
GLOBAL MEMORY MAP
*---------------------------------------------------------------------------*/
//----------------------------- MAIN
#ifndef SDK_NE1EMU
#define HW_MAIN_MEM 0x20000000
#else // SDK_NE1EMU
#define HW_MAIN_MEM 0x80000000
#define HW_MAIN_MEM_NE1EMU_SIZE 0x10000000 // 256MB
#endif // SDK_NE1EMU
#define HW_MAIN_MEM_EX HW_MAIN_MEM_END
#define HW_MAIN_MEM_END (HW_MAIN_MEM + HW_MAIN_MEM_SIZE)
#define HW_MAIN_MEM_EX_END (HW_MAIN_MEM + HW_MAIN_MEM_EX_SIZE)
#define HW_MAIN_MEM_SIZE 0x04000000 // 64MB
#define HW_MAIN_MEM_EX_SIZE 0x08000000 // 128MB
#if !defined(SDK_MG20EMU) && !defined(SDK_NE1EMU)
//----------------------------- AXI-WRAM
#define HW_AXI_WRAM 0x1ff80000
#define HW_AXI_WRAM_END (HW_AXI_WRAM + HW_AXI_WRAM_SIZE)
#define HW_AXI_WRAM_SIZE 0x80000 // 512KB
//----------------------------- DSP-WRAM
#define HW_DSP_WRAM 0x1ff00000
#define HW_DSP_WRAM_END (HW_DSP_WRAM + HW_DSP_WRAM_SIZE)
#define HW_DSP_WRAM_SIZE 0x80000 // 512KB
//----------------------------- VRAM
#define HW_VRAM 0x18000000
#define HW_VRAM_END (HW_MAIN_MEM + HW_VRAM_SIZE)
#define HW_VRAM_SIZE 0x400000 // 4MB
#else // SDK_MG20EMU || SDK_NE1EMU
//----------------------------- AXI-WRAM
#define HW_AXI_WRAM (HW_AXI_WRAM_END - HW_AXI_WRAM_SIZE)
#ifdef SDK_MG20EMU
#define HW_AXI_WRAM_END HW_MAIN_MEM_END
#else // SDK_NE1EMU
#define HW_AXI_WRAM_END (HW_MAIN_MEM + HW_MAIN_MEM_NE1EMU_SIZE)
#endif // SDK_NE1EMU
#define HW_AXI_WRAM_SIZE 0x80000 // 512KB
//----------------------------- DSP-WRAM
#define HW_DSP_WRAM (HW_DSP_WRAM_END - HW_DSP_WRAM_SIZE)
#define HW_DSP_WRAM_END HW_AXI_WRAM
#define HW_DSP_WRAM_SIZE 0x80000 // 512KB
//----------------------------- VRAM
#ifdef SDK_MG20EMU
#define HW_VRAM 0x1e000000
#else // SDK_NE1EMU
#define HW_VRAM HW_IOREG_END
#endif // SDK_NE1EMU
#define HW_VRAM_END (HW_VRAM + HW_VRAM_SIZE)
#define HW_VRAM_SIZE 0x400000 // 4MB
#endif // SDK_MG20EMU || SDK_NE1EMU
//----------------------------- IOs
#ifndef SDK_NE1EMU
#define HW_IOREG 0x10000000
#else // SDK_NE1EMU
#define HW_IOREG HW_MAIN_MEM_EX_END
#endif // SDK_NE1EMU
#define HW_IOREG_END (HW_IOREG + HW_IOREG_SIZE)
#define HW_IOREG_SIZE 0x01000000 // 16MB
#define HW_REG_BASE HW_IOREG // alias
#define HW_AHBP_REG (HW_IOREG + 0x00100000)
#define HW_APB_REG (HW_IOREG + 0x00200000)
#define HW_AHBML_REG (HW_IOREG + 0x00300000)
#define HW_GPU_REG (HW_IOREG + 0x00400000)
#if !defined(SDK_MG20EMU) && !defined(SDK_NE1EMU)
#define HW_MPCORE_REG (HW_IOREG + 0x07e00000)
#else // SDK_MG20EMU || SDK_NE1EMU
#ifdef SDK_MG20EMU
#define HW_MPCORE_REG 0xff000000
#else // SDK_NE1EMU
#define HW_MPCORE_REG 0xc0000000
#define HW_NE1SYS_REG 0x18037c00
#define HW_NE1EXBUS_REG 0x1801a000
#define HW_NE1DDR2_REG 0x18021000
#endif // SDK_NE1EMU
#endif // SDK_MG20EMU || SDK_NE1EMU
#define HW_AHBP_REG_END (HW_AHBP_REG + HW_AHBP_REG_SIZE)
#define HW_APB_REG_END (HW_APB_REG + HW_APB_REG_SIZE)
#define HW_AHBML_REG_END (HW_AHBML_REG + HW_AHBML_REG_SIZE)
#define HW_GPU_REG_END (HW_GPU_REG + HW_GPU_REG_SIZE)
#define HW_MPCORE_REG_REG (HW_MPCORE_REG + HW_MPCORE_REG_SIZE)
#define HW_AHBP_REG_SIZE 0x80000 // 512KB
#define HW_APB_REG_SIZE 0x100000 // 1MB
#define HW_AHBML_REG_SIZE 0x40000 // 256KB
#define HW_GPU_REG_SIZE 0x100000 // 1MB
#define HW_MPCORE_REG_SIZE 0x20000 // 128KB
//----------------------------- System ROM
#ifdef SDK_MG20EMU
#define HW_BIOS_IMG 0xfffe0000
#define HW_BIOS 0xffff0000
#else // include SDK_NE1EMU
#define HW_BIOS_IMG 0x00000000
#ifdef SDK_NE1EMU
#define HW_BIOS 0x00000000
#else // SDK_NE1EMU
#define HW_BIOS 0x00010000
#endif // SDK_NE1EMU
#endif // include SDK_NE1EMU
#define HW_BIOS_END (HW_BIOS + HW_BIOS_SIZE)
#define HW_BIOS_SIZE 0x8000 // 32KB
/*---------------------------------------------------------------------------*/
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* CTR_HW_ARM11_MMAP_GLOBAL_H_ */