bonito.h
来自「国产CPU-龙芯(loongson)BIOS源代码」· C头文件 代码 · 共 439 行 · 第 1/2 页
H
439 行
/* * Bonito Register Map * Copyright (c) 1999 Algorithmics Ltd * * Algorithmics gives permission for anyone to use and modify this file * without any obligation or license condition except that you retain * this copyright message in any source redistribution in whole or part. * * Updated copies of this and other files can be found at * ftp://ftp.algor.co.uk/pub/bonito/ * * Users of the Bonito controller are warmly recommended to contribute * any useful changes back to Algorithmics (mail to * bonito@algor.co.uk). *//* Revision 1.48 autogenerated on 08/17/99 15:20:01 */#ifndef _BONITO_H_#ifdef __ASSEMBLER__/* offsets from base register */#define BONITO(x) (x)#else /* !__ASSEMBLER *//* offsets from base pointer, this construct allows optimisation *//* static char * const _bonito = PA_TO_KVA1(BONITO_BASE); *//*#define BONITO(x) *(volatile unsigned long *)(PHYS_TO_UNCACHED(BONITO_REG_BASE)+(x))*/#define BONITO(x) *(volatile unsigned long *)(0xbfe00000+(x))#endif /* __ASSEMBLER__ */#define RTC_INDEX_REG 0x70#define RTC_DATA_REG 0x71#define RTC_NVRAM_BASE 0x0e#define COM1_BASE_ADDR 0xbfd003f8#define COM2_BASE_ADDR 0xbfd002f8#define NS16550HZ 1843200/*********************************************************************//*nvram define *//*********************************************************************/#ifdef NVRAM_IN_FLASH# define NVRAM_SIZE 494# define NVRAM_SECSIZE 500# define NVRAM_OFFS 0x00000000# define ETHER_OFFS 494 /* Ethernet address base */#else /* Use clock ram, 256 bytes only */# define NVRAM_SIZE 108# define NVRAM_SECSIZE NVRAM_SIZE /* Helper */# define NVRAM_OFFS 0# define ETHER_OFFS 108 /* Ethernet address base */#endif/*********************************************************************//*PCI map *//*********************************************************************/#define PCI_MEM_SPACE_PCI_BASE 0x00000000#define PCI_LOCAL_MEM_PCI_BASE 0x80000000#define PCI_IO_SPACE_BASE 0x00000000#define PCI_LOCAL_MEM_ISA_BASE 0x00800000#define BONITO_BOOT_BASE 0x1fc00000#define BONITO_BOOT_SIZE 0x00100000#define BONITO_BOOT_TOP (BONITO_BOOT_BASE+BONITO_BOOT_SIZE-1)#define BONITO_FLASH_BASE 0x1c000000#define BONITO_FLASH_SIZE 0x03000000#define BONITO_FLASH_TOP (BONITO_FLASH_BASE+BONITO_FLASH_SIZE-1)#define BONITO_SOCKET_BASE 0x1f800000#define BONITO_SOCKET_SIZE 0x00400000#define BONITO_SOCKET_TOP (BONITO_SOCKET_BASE+BONITO_SOCKET_SIZE-1)#define BONITO_REG_BASE 0x1fe00000#define BONITO_REG_SIZE 0x00040000#define BONITO_REG_TOP (BONITO_REG_BASE+BONITO_REG_SIZE-1)#define BONITO_DEV_BASE 0x1ff00000#define BONITO_DEV_SIZE 0x00100000#define BONITO_DEV_TOP (BONITO_DEV_BASE+BONITO_DEV_SIZE-1)#define BONITO_PCILO_BASE 0x10000000#define BONITO_PCILO_BASE_VA 0xb0000000#define BONITO_PCILO_SIZE 0x0c000000#define BONITO_PCILO_TOP (BONITO_PCILO_BASE+BONITO_PCILO_SIZE-1)#define BONITO_PCILO0_BASE 0x10000000#define BONITO_PCILO1_BASE 0x14000000#define BONITO_PCILO2_BASE 0x18000000#define BONITO_PCIHI_BASE 0x20000000#define BONITO_PCIHI_SIZE 0x20000000#define BONITO_PCIHI_TOP (BONITO_PCIHI_BASE+BONITO_PCIHI_SIZE-1)#define BONITO_PCIIO_BASE 0x1fd00000#define BONITO_PCIIO_BASE_VA 0xbfd00000#define BONITO_PCIIO_SIZE 0x00010000#define BONITO_PCIIO_TOP (BONITO_PCIIO_BASE+BONITO_PCIIO_SIZE-1)#define BONITO_PCICFG_BASE 0x1fe80000#define BONITO_PCICFG_SIZE 0x00080000#define BONITO_PCICFG_TOP (BONITO_PCICFG_BASE+BONITO_PCICFG_SIZE-1) /* Bonito Register Bases */#define BONITO_PCICONFIGBASE 0x00#define BONITO_REGBASE 0x100/* PCI Configuration Registers */#define BONITO_PCI_REG(x) BONITO(BONITO_PCICONFIGBASE + (x))#define BONITO_PCIDID BONITO_PCI_REG(0x00)#define BONITO_PCICMD BONITO_PCI_REG(0x04)#define BONITO_PCICLASS BONITO_PCI_REG(0x08)#define BONITO_PCILTIMER BONITO_PCI_REG(0x0c)#define BONITO_PCIBASE0 BONITO_PCI_REG(0x10)#define BONITO_PCIBASE1 BONITO_PCI_REG(0x14)#define BONITO_PCIBASE2 BONITO_PCI_REG(0x18)#define BONITO_PCIEXPRBASE BONITO_PCI_REG(0x30)#define BONITO_PCIINT BONITO_PCI_REG(0x3c)#define BONITO_PCICMD_PERR_CLR 0x80000000#define BONITO_PCICMD_SERR_CLR 0x40000000#define BONITO_PCICMD_MABORT_CLR 0x20000000#define BONITO_PCICMD_MTABORT_CLR 0x10000000#define BONITO_PCICMD_TABORT_CLR 0x08000000#define BONITO_PCICMD_MPERR_CLR 0x01000000#define BONITO_PCICMD_PERRRESPEN 0x00000040#define BONITO_PCICMD_ASTEPEN 0x00000080#define BONITO_PCICMD_SERREN 0x00000100#define BONITO_PCILTIMER_BUSLATENCY 0x0000ff00#define BONITO_PCILTIMER_BUSLATENCY_SHIFT 8/* 1. Bonito h/w Configuration *//* Power on register */#define BONITO_BONPONCFG BONITO(BONITO_REGBASE + 0x00)#define BONITO_BONPONCFG_SYSCONTROLLERRD 0x00040000#define BONITO_BONPONCFG_ROMCS1SAMP 0x00020000#define BONITO_BONPONCFG_ROMCS0SAMP 0x00010000#define BONITO_BONPONCFG_CPUBIGEND 0x00004000#define BONITO_BONPONCFG_CPUPARITY 0x00002000#define BONITO_BONPONCFG_CPUTYPE 0x00000007#define BONITO_BONPONCFG_CPUTYPE_SHIFT 0#define BONITO_BONPONCFG_PCIRESET_OUT 0x00000008#define BONITO_BONPONCFG_IS_ARBITER 0x00000010#define BONITO_BONPONCFG_ROMBOOT 0x000000c0#define BONITO_BONPONCFG_ROMBOOT_SHIFT 6#define BONITO_BONPONCFG_ROMBOOT_FLASH (0x0<<BONITO_BONPONCFG_ROMBOOT_SHIFT)#define BONITO_BONPONCFG_ROMBOOT_SOCKET (0x1<<BONITO_BONPONCFG_ROMBOOT_SHIFT)#define BONITO_BONPONCFG_ROMBOOT_SDRAM (0x2<<BONITO_BONPONCFG_ROMBOOT_SHIFT)#define BONITO_BONPONCFG_ROMBOOT_CPURESET (0x3<<BONITO_BONPONCFG_ROMBOOT_SHIFT)#define BONITO_BONPONCFG_ROMCS0WIDTH 0x00000100#define BONITO_BONPONCFG_ROMCS1WIDTH 0x00000200#define BONITO_BONPONCFG_ROMCS0FAST 0x00000400#define BONITO_BONPONCFG_ROMCS1FAST 0x00000800#define BONITO_BONPONCFG_CONFIG_DIS 0x00000020/* Other Bonito configuration */#define BONITO_BONGENCFG_OFFSET 0x4#define BONITO_BONGENCFG BONITO(BONITO_REGBASE + BONITO_BONGENCFG_OFFSET)#define BONITO_BONGENCFG_DEBUGMODE 0x00000001#define BONITO_BONGENCFG_SNOOPEN 0x00000002#define BONITO_BONGENCFG_CPUSELFRESET 0x00000004#define BONITO_BONGENCFG_FORCE_IRQA 0x00000008#define BONITO_BONGENCFG_IRQA_ISOUT 0x00000010#define BONITO_BONGENCFG_IRQA_FROM_INT1 0x00000020#define BONITO_BONGENCFG_BYTESWAP 0x00000040#define BONITO_BONGENCFG_PREFETCHEN 0x00000100#define BONITO_BONGENCFG_WBEHINDEN 0x00000200#define BONITO_BONGENCFG_CACHEALG 0x00000c00#define BONITO_BONGENCFG_CACHEALG_SHIFT 10#define BONITO_BONGENCFG_PCIQUEUE 0x00001000#define BONITO_BONGENCFG_CACHESTOP 0x00002000#define BONITO_BONGENCFG_MSTRBYTESWAP 0x00004000#define BONITO_BONGENCFG_BUSERREN 0x00008000#define BONITO_BONGENCFG_NORETRYTIMEOUT 0x00010000#define BONITO_BONGENCFG_SHORTCOPYTIMEOUT 0x00020000/* 2. IO & IDE configuration */#define BONITO_IODEVCFG BONITO(BONITO_REGBASE + 0x08)/* 3. IO & IDE configuration */#define BONITO_SDCFG BONITO(BONITO_REGBASE + 0x0c)/* 4. PCI address map control */#define BONITO_PCIMAP BONITO(BONITO_REGBASE + 0x10)#define BONITO_PCIMEMBASECFG BONITO(BONITO_REGBASE + 0x14)#define BONITO_PCIMAP_CFG BONITO(BONITO_REGBASE + 0x18)/* 5. ICU & GPIO regs */ /* GPIO Regs - r/w */#define BONITO_GPIODATA_OFFSET 0x1c#define BONITO_GPIODATA BONITO(BONITO_REGBASE + BONITO_GPIODATA_OFFSET)#define BONITO_GPIOIE BONITO(BONITO_REGBASE + 0x20)/* ICU Configuration Regs - r/w */#define BONITO_INTEDGE BONITO(BONITO_REGBASE + 0x24)#define BONITO_INTSTEER BONITO(BONITO_REGBASE + 0x28)#define BONITO_INTPOL BONITO(BONITO_REGBASE + 0x2c)/* ICU Enable Regs - IntEn & IntISR are r/o. */#define BONITO_INTENSET BONITO(BONITO_REGBASE + 0x30)#define BONITO_INTENCLR BONITO(BONITO_REGBASE + 0x34)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?