📄 xt2000.h
字号:
#ifndef _INC_XT2000_H_#define _INC_XT2000_H_/* * THIS FILE IS GENERATED -- DO NOT MODIFY BY HAND * * include/asm-xtensa/xtensa/xt2000.h - Definitions specific to the * Tensilica XT2000 Emulation Board * * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. * * Copyright (C) 2002 Tensilica Inc. */#include <xtensa/config/core.h>#include <xtensa/config/system.h>/* * Default assignment of XT2000 devices to external interrupts. *//* Ethernet interrupt: */#ifdef XCHAL_EXTINT3_NUM#define SONIC83934_INTNUM XCHAL_EXTINT3_NUM#define SONIC83934_INTLEVEL XCHAL_EXTINT3_LEVEL#define SONIC83934_INTMASK XCHAL_EXTINT3_MASK#else#define SONIC83934_INTMASK 0#endif/* DUART channel 1 interrupt (P1 - console): */#ifdef XCHAL_EXTINT4_NUM#define DUART16552_1_INTNUM XCHAL_EXTINT4_NUM#define DUART16552_1_INTLEVEL XCHAL_EXTINT4_LEVEL#define DUART16552_1_INTMASK XCHAL_EXTINT4_MASK#else#define DUART16552_1_INTMASK 0#endif/* DUART channel 2 interrupt (P2 - 2nd serial port): */#ifdef XCHAL_EXTINT5_NUM#define DUART16552_2_INTNUM XCHAL_EXTINT5_NUM#define DUART16552_2_INTLEVEL XCHAL_EXTINT5_LEVEL#define DUART16552_2_INTMASK XCHAL_EXTINT5_MASK#else#define DUART16552_2_INTMASK 0#endif/* FPGA-combined PCI/etc interrupts: */#ifdef XCHAL_EXTINT6_NUM#define XT2000_FPGAPCI_INTNUM XCHAL_EXTINT6_NUM#define XT2000_FPGAPCI_INTLEVEL XCHAL_EXTINT6_LEVEL#define XT2000_FPGAPCI_INTMASK XCHAL_EXTINT6_MASK#else#define XT2000_FPGAPCI_INTMASK 0#endif/* * Device addresses. * * Note: for endianness-independence, use 32-bit loads and stores for all * register accesses to Ethernet, DUART and LED devices. Undefined bits * may need to be masked out if needed when reading if the actual register * size is smaller than 32 bits. * * Note: XT2000 bus byte lanes are defined in terms of msbyte and lsbyte * relative to the processor. So 32-bit registers are accessed consistently * from both big and little endian processors. However, this means byte * sequences are not consistent between big and little endian processors. * This is fine for RAM, and for ROM if ROM is created for a specific * processor (and thus has correct byte sequences). However this may be * unexpected for Flash, which might contain a file-system that one wants * to use for multiple processor configurations (eg. the Flash might contain * the Ethernet card's address, endianness-independent application data, etc). * That is, byte sequences written in Flash by a core of a given endianness * will be byte-swapped when seen by a core of the other endianness. * Someone implementing an endianness-independent Flash file system will * likely handle this byte-swapping issue in the Flash driver software. */#define DUART16552_XTAL_FREQ 18432000 /* crystal frequency in Hz */#define XTBOARD_FLASH_MAXSIZE 0x4000000 /* 64 MB (max; depends on what is socketed!) */#define XTBOARD_EPROM_MAXSIZE 0x0400000 /* 4 MB (max; depends on what is socketed!) */#define XTBOARD_EEPROM_MAXSIZE 0x0080000 /* 512 kB (max; depends on what is socketed!) */#define XTBOARD_ASRAM_SIZE 0x0100000 /* 1 MB */#define XTBOARD_PCI_MEM_SIZE 0x8000000 /* 128 MB (allocated) */#define XTBOARD_PCI_IO_SIZE 0x1000000 /* 16 MB (allocated) */#ifdef XSHAL_IOBLOCK_BYPASS_PADDR/* PCI memory space: */# define XTBOARD_PCI_MEM_PADDR (XSHAL_IOBLOCK_BYPASS_PADDR+0x0000000)/* Socketed Flash (eg. 2 x 16-bit devices): */# define XTBOARD_FLASH_PADDR (XSHAL_IOBLOCK_BYPASS_PADDR+0x8000000)/* PCI I/O space: */# define XTBOARD_PCI_IO_PADDR (XSHAL_IOBLOCK_BYPASS_PADDR+0xC000000)/* V3 PCI interface chip register/config space: */# define XTBOARD_V3PCI_PADDR (XSHAL_IOBLOCK_BYPASS_PADDR+0xD000000)/* Bus Interface registers: */# define XTBOARD_BUSINT_PADDR (XSHAL_IOBLOCK_BYPASS_PADDR+0xD010000)/* FPGA registers: */# define XT2000_FPGAREGS_PADDR (XSHAL_IOBLOCK_BYPASS_PADDR+0xD020000)/* SONIC SN83934 Ethernet controller/transceiver: */# define SONIC83934_PADDR (XSHAL_IOBLOCK_BYPASS_PADDR+0xD030000)/* 8-character bitmapped LED display: */# define XTBOARD_LED_PADDR (XSHAL_IOBLOCK_BYPASS_PADDR+0xD040000)/* National-Semi PC16552D DUART: */# define DUART16552_1_PADDR (XSHAL_IOBLOCK_BYPASS_PADDR+0xD050020) /* channel 1 (P1 - console) */# define DUART16552_2_PADDR (XSHAL_IOBLOCK_BYPASS_PADDR+0xD050000) /* channel 2 (P2) *//* Asynchronous Static RAM: */# define XTBOARD_ASRAM_PADDR (XSHAL_IOBLOCK_BYPASS_PADDR+0xD400000)/* 8-bit EEPROM: */# define XTBOARD_EEPROM_PADDR (XSHAL_IOBLOCK_BYPASS_PADDR+0xD600000)/* 2 x 16-bit EPROMs: */# define XTBOARD_EPROM_PADDR (XSHAL_IOBLOCK_BYPASS_PADDR+0xD800000)#endif /* XSHAL_IOBLOCK_BYPASS_PADDR *//* These devices might be accessed cached: */#ifdef XSHAL_IOBLOCK_CACHED_PADDR# define XTBOARD_PCI_MEM_CACHED_PADDR (XSHAL_IOBLOCK_CACHED_PADDR+0x0000000)# define XTBOARD_FLASH_CACHED_PADDR (XSHAL_IOBLOCK_CACHED_PADDR+0x8000000)# define XTBOARD_ASRAM_CACHED_PADDR (XSHAL_IOBLOCK_CACHED_PADDR+0xD400000)# define XTBOARD_EEPROM_CACHED_PADDR (XSHAL_IOBLOCK_CACHED_PADDR+0xD600000)# define XTBOARD_EPROM_CACHED_PADDR (XSHAL_IOBLOCK_CACHED_PADDR+0xD800000)#endif /* XSHAL_IOBLOCK_CACHED_PADDR *//*** Same thing over again, this time with virtual addresses: ***/#ifdef XSHAL_IOBLOCK_BYPASS_VADDR/* PCI memory space: */# define XTBOARD_PCI_MEM_VADDR (XSHAL_IOBLOCK_BYPASS_VADDR+0x0000000)/* Socketed Flash (eg. 2 x 16-bit devices): */# define XTBOARD_FLASH_VADDR (XSHAL_IOBLOCK_BYPASS_VADDR+0x8000000)/* PCI I/O space: */# define XTBOARD_PCI_IO_VADDR (XSHAL_IOBLOCK_BYPASS_VADDR+0xC000000)/* V3 PCI interface chip register/config space: */# define XTBOARD_V3PCI_VADDR (XSHAL_IOBLOCK_BYPASS_VADDR+0xD000000)/* Bus Interface registers: */# define XTBOARD_BUSINT_VADDR (XSHAL_IOBLOCK_BYPASS_VADDR+0xD010000)/* FPGA registers: */# define XT2000_FPGAREGS_VADDR (XSHAL_IOBLOCK_BYPASS_VADDR+0xD020000)/* SONIC SN83934 Ethernet controller/transceiver: */# define SONIC83934_VADDR (XSHAL_IOBLOCK_BYPASS_VADDR+0xD030000)/* 8-character bitmapped LED display: */# define XTBOARD_LED_VADDR (XSHAL_IOBLOCK_BYPASS_VADDR+0xD040000)/* National-Semi PC16552D DUART: */# define DUART16552_1_VADDR (XSHAL_IOBLOCK_BYPASS_VADDR+0xD050020) /* channel 1 (P1 - console) */# define DUART16552_2_VADDR (XSHAL_IOBLOCK_BYPASS_VADDR+0xD050000) /* channel 2 (P2) *//* Asynchronous Static RAM: */# define XTBOARD_ASRAM_VADDR (XSHAL_IOBLOCK_BYPASS_VADDR+0xD400000)/* 8-bit EEPROM: */# define XTBOARD_EEPROM_VADDR (XSHAL_IOBLOCK_BYPASS_VADDR+0xD600000)/* 2 x 16-bit EPROMs: */# define XTBOARD_EPROM_VADDR (XSHAL_IOBLOCK_BYPASS_VADDR+0xD800000)#endif /* XSHAL_IOBLOCK_BYPASS_VADDR *//* These devices might be accessed cached: */#ifdef XSHAL_IOBLOCK_CACHED_VADDR# define XTBOARD_PCI_MEM_CACHED_VADDR (XSHAL_IOBLOCK_CACHED_VADDR+0x0000000)# define XTBOARD_FLASH_CACHED_VADDR (XSHAL_IOBLOCK_CACHED_VADDR+0x8000000)# define XTBOARD_ASRAM_CACHED_VADDR (XSHAL_IOBLOCK_CACHED_VADDR+0xD400000)# define XTBOARD_EEPROM_CACHED_VADDR (XSHAL_IOBLOCK_CACHED_VADDR+0xD600000)# define XTBOARD_EPROM_CACHED_VADDR (XSHAL_IOBLOCK_CACHED_VADDR+0xD800000)#endif /* XSHAL_IOBLOCK_CACHED_VADDR *//* System ROM: */#define XTBOARD_ROM_SIZE XSHAL_ROM_SIZE#ifdef XSHAL_ROM_VADDR#define XTBOARD_ROM_VADDR XSHAL_ROM_VADDR#endif#ifdef XSHAL_ROM_PADDR#define XTBOARD_ROM_PADDR XSHAL_ROM_PADDR#endif/* System RAM: */#define XTBOARD_RAM_SIZE XSHAL_RAM_SIZE#ifdef XSHAL_RAM_VADDR#define XTBOARD_RAM_VADDR XSHAL_RAM_VADDR#endif#ifdef XSHAL_RAM_PADDR#define XTBOARD_RAM_PADDR XSHAL_RAM_PADDR#endif#define XTBOARD_RAM_BYPASS_VADDR XSHAL_RAM_BYPASS_VADDR#define XTBOARD_RAM_BYPASS_PADDR XSHAL_RAM_BYPASS_PADDR/* * Things that depend on device addresses. */#define XTBOARD_CACHEATTR_WRITEBACK XSHAL_XT2000_CACHEATTR_WRITEBACK#define XTBOARD_CACHEATTR_WRITEALLOC XSHAL_XT2000_CACHEATTR_WRITEALLOC#define XTBOARD_CACHEATTR_WRITETHRU XSHAL_XT2000_CACHEATTR_WRITETHRU#define XTBOARD_CACHEATTR_BYPASS XSHAL_XT2000_CACHEATTR_BYPASS#define XTBOARD_CACHEATTR_DEFAULT XSHAL_XT2000_CACHEATTR_DEFAULT
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -