Home | History | Annotate | Line # | Download | only in include
walnut.h revision 1.1.44.1
      1  1.1.44.1  elad /*	$NetBSD: walnut.h,v 1.1.44.1 2006/04/19 02:32:32 elad Exp $	*/
      2       1.1   scw 
      3       1.1   scw /* include/eval.h, openbios_walnut, walnut_bios 8/10/00 14:35:05 */
      4       1.1   scw /*-----------------------------------------------------------------------------+
      5       1.1   scw |
      6       1.1   scw |       This source code has been made available to you by IBM on an AS-IS
      7       1.1   scw |       basis.  Anyone receiving this source is licensed under IBM
      8       1.1   scw |       copyrights to use it in any way he or she deems fit, including
      9       1.1   scw |       copying it, modifying it, compiling it, and redistributing it either
     10       1.1   scw |       with or without modifications.  No license under IBM patents or
     11       1.1   scw |       patent applications is to be implied by the copyright license.
     12       1.1   scw |
     13       1.1   scw |       Any user of this software should understand that IBM cannot provide
     14       1.1   scw |       technical support for this software and will not be responsible for
     15       1.1   scw |       any consequences resulting from the use of this software.
     16       1.1   scw |
     17       1.1   scw |       Any person who transfers this source code or any derivative work
     18       1.1   scw |       must include the IBM copyright notice, this paragraph, and the
     19       1.1   scw |       preceding two paragraphs in the transferred software.
     20       1.1   scw |
     21       1.1   scw |       COPYRIGHT   I B M   CORPORATION 1995
     22       1.1   scw |       LICENSED MATERIAL  -  PROGRAM PROPERTY OF I B M
     23       1.1   scw +-----------------------------------------------------------------------------*/
     24       1.1   scw /*-----------------------------------------------------------------------------+
     25       1.1   scw |
     26       1.1   scw |  File Name:   eval.h
     27       1.1   scw |
     28       1.1   scw |  Function:    Openbios board specific defines. Should contain no
     29       1.1   scw |		prototypes since this file gets included in assembly files.
     30       1.1   scw |
     31       1.1   scw |  Author:      James Burke
     32       1.1   scw |
     33       1.1   scw |  Change Activity-
     34       1.1   scw |
     35       1.1   scw |  Date        Description of Change                                       BY
     36       1.1   scw |  ---------   ---------------------                                       ---
     37       1.1   scw |  11-May-99   Created for Walnut                                          JWB
     38       1.1   scw |  01-Jul-99   Made ROM/SRAM non-cacheable in D_CACHEABLE_REGIONS          JWB
     39       1.1   scw |  08-Aug-00   Added memory regions and MMIO regions for ROM Monitor debug JWB
     40       1.1   scw |  10-Aug-00   Modified PCI memory regions                                 JWB
     41       1.1   scw |
     42       1.1   scw +-----------------------------------------------------------------------------*/
     43       1.1   scw 
     44       1.1   scw #ifndef _WALNUT_H_
     45       1.1   scw #define _WALNUT_H_
     46       1.1   scw 
     47       1.1   scw /*----------------------------------------------------------------------------+
     48       1.1   scw | 405GP PCI core memory map defines.
     49       1.1   scw +----------------------------------------------------------------------------*/
     50       1.1   scw #define MIN_PCI_MEMADDR_NOPREFETCH	0x80000000
     51       1.1   scw #define MIN_PCI_MEMADDR_PREFETCH	0xc0000000
     52       1.1   scw #define MIN_PCI_MEMADDR_VGA    		0x00000000
     53       1.1   scw #define MIN_PLB_PCI_IOADDR  0xe8000000  /* PLB side of PCI I/O address space */
     54       1.1   scw #define MIN_PCI_PCI_IOADDR  0x00000000  /* PCI side of PCI I/O address space */
     55       1.1   scw #define MAX_PCI_DEVICES     5
     56       1.1   scw 
     57       1.1   scw #define	SRAM_START_ADDR	0xfff00000	/* SRAM starting addr */
     58       1.1   scw #define	SRAM_SIZE	0x80000		/* SRAM size - 512K */
     59       1.1   scw 
     60       1.1   scw /*----------------------------------------------------------------------------+
     61       1.1   scw | Universal Interrupt Controller (UIC) events for the Walnut board.
     62       1.1   scw +----------------------------------------------------------------------------*/
     63       1.1   scw /* Walnut board external IRQs */
     64       1.1   scw #define EXT_IRQ_FPGA      	UIC_E0IS   	/* IRQ 25 */
     65       1.1   scw #define EXT_IRQ_SMI      	UIC_E1IS        /* IRQ 26 */
     66       1.1   scw #define EXT_IRQ_UNUSED 		UIC_E2IS    	/* IRQ 27 */
     67       1.1   scw #define EXT_IRQ_PCI_SLOT3 	UIC_E3IS        /* IRQ 28 */
     68       1.1   scw #define EXT_IRQ_PCI_SLOT2 	UIC_E4IS        /* IRQ 29 */
     69       1.1   scw #define EXT_IRQ_PCI_SLOT1 	UIC_E5IS        /* IRQ 30 */
     70       1.1   scw #define EXT_IRQ_PCI_SLOT0 	UIC_E6IS        /* IRQ 31 */
     71       1.1   scw 
     72       1.1   scw #define EXT_IRQ_CASCADE  	EXT_IRQ_FPGA
     73       1.1   scw #define EXT_IRQ_EXPANSION	EXT_IRQ_FPGA
     74       1.1   scw #define EXT_IRQ_IR       	EXT_IRQ_FPGA
     75       1.1   scw #define EXT_IRQ_KEYBOARD	EXT_IRQ_FPGA
     76       1.1   scw #define EXT_IRQ_MOUSE  		EXT_IRQ_FPGA
     77       1.1   scw 
     78       1.1   scw /*-----------------------------------------------------------------------------+
     79       1.1   scw | Defines for the RTC/NVRAM.
     80       1.1   scw +-----------------------------------------------------------------------------*/
     81       1.1   scw #define NVRAM_BASE      0xf0000000
     82       1.1   scw #if 0
     83       1.1   scw #define RTC_CONTROL     0x1ff8
     84       1.1   scw #define RTC_SECONDS     0x1ff9
     85       1.1   scw #define RTC_MINUTES     0x1ffa
     86       1.1   scw #define RTC_HOURS       0x1ffb
     87       1.1   scw #define RTC_DAY         0x1ffc
     88       1.1   scw #define RTC_DATE        0x1ffd
     89       1.1   scw #define RTC_MONTH       0x1ffe
     90       1.1   scw #define RTC_YEAR        0x1fff
     91       1.1   scw #endif
     92       1.1   scw 
     93       1.1   scw /*-----------------------------------------------------------------------------+
     94       1.1   scw | Defines for the Keyboard/Mouse controller.
     95       1.1   scw +-----------------------------------------------------------------------------*/
     96       1.1   scw #define KEY_MOUSE_BASE  0xf0100000
     97       1.1   scw #define KEY_MOUSE_DATA  0x0
     98       1.1   scw #define KEY_MOUSE_CMD   0x1  /* write only */
     99       1.1   scw #define KEY_MOUSE_STAT  0x1  /* read only */
    100       1.1   scw 
    101       1.1   scw /*-----------------------------------------------------------------------------+
    102       1.1   scw | Defines for FPGA regs.
    103       1.1   scw +-----------------------------------------------------------------------------*/
    104       1.1   scw #define	FPGA_BASE	0xf0300000
    105       1.1   scw #define FPGA_INT_STATUS 0x00    /* Int status - read only 	*/
    106       1.1   scw #define	 FPGA_SW_SMI	  0x10     /* SW_SMI_N present */
    107       1.1   scw #define	 FPGA_EXT_IRQ	  0x08     /* EXT_IRQ present */
    108       1.1   scw #define	 FPGA_IRQ_IRDA	  0x04     /* IRQ_IRDA present */
    109       1.1   scw #define	 FPGA_IRQ_KYBD	  0x02     /* IRQ_KYBD present */
    110       1.1   scw #define	 FPGA_IRQ_MOUSE	  0x01     /* IRQ_MOUSE present */
    111       1.1   scw #define FPGA_INT_ENABLE 0x01    /* Int enable 			*/
    112       1.1   scw       /* FPGA_SW_SMI  */	   /* enable SW_SMI_N */
    113       1.1   scw       /* FPGA_EXT_IRQ  */	   /* enable FPGA_EXT_IRQ */
    114       1.1   scw       /* FPGA_IRQ_IRDA  */	   /* enable FPGA_IRQ_IRDA */
    115       1.1   scw       /* FPGA_IRQ_KYBD  */	   /* enable FPGA_IRQ_KYBD */
    116       1.1   scw       /* FPGA_IRQ_MOUSE  */	   /* enable FPGA_IRQ_MOUSE */
    117       1.1   scw #define FPGA_INT_POL    0x02    /* Int polarity 		*/
    118       1.1   scw       /* FPGA_SW_SMI  */	   /* SW_SMI_N active high/rising */
    119       1.1   scw       /* FPGA_EXT_IRQ  */	   /* FPGA_EXT_IRQ active high/rising */
    120       1.1   scw       /* FPGA_IRQ_IRDA  */	   /* FPGA_IRQ_IRDA active high/rising */
    121       1.1   scw       /* FPGA_IRQ_KYBD  */	   /* FPGA_IRQ_KYBD active high/rising */
    122       1.1   scw       /* FPGA_IRQ_MOUSE  */	   /* FPGA_IRQ_MOUSE active high/rising */
    123       1.1   scw #define FPGA_INT_TRIG   0x03    /* Int type 			*/
    124       1.1   scw       /* FPGA_SW_SMI  */	   /* SW_SMI_N level */
    125       1.1   scw       /* FPGA_EXT_IRQ  */	   /* FPGA_EXT_IRQ level */
    126       1.1   scw       /* FPGA_IRQ_IRDA  */	   /* FPGA_IRQ_IRDA level */
    127       1.1   scw       /* FPGA_IRQ_KYBD  */	   /* FPGA_IRQ_KYBD level */
    128       1.1   scw       /* FPGA_IRQ_MOUSE  */	   /* FPGA_IRQ_MOUSE level */
    129       1.1   scw #define FPGA_BRDC       0x04    /* Board controls 		*/
    130       1.1   scw #define	 FPGA_BRDC_INT	 0x80	   /* IRQ_MOUSE is separate */
    131       1.1   scw #define	 FPGA_BRDC_TC3	 0x10	   /* DMA_EOT/TC3 is set to TC */
    132       1.1   scw #define	 FPGA_BRDC_TC2	 0x08	   /* DMA_EOT/TC2 is set to TC */
    133       1.1   scw #define	 FPGA_BRDC_DIS_EI 0x04	   /* disable expansion interface */
    134       1.1   scw #define	 FPGA_BRDC_EN_INV 0x02	   /* enable invalid address checking */
    135       1.1   scw #define	 FPGA_BRDC_UART_CR 0x01	   /* UART1 is set to CTS/RTS */
    136       1.1   scw #define FPGA_BRDS1      0x05    /* Board status - read only 	*/
    137       1.1   scw #define	 FPGA_BRDS1_CLK  0x04	   /* 405 SDRAM CLK disabled, MPC972 used */
    138       1.1   scw #define	 FPGA_BRDS1_FLASH_EN 0x02  /* On board FLASH disabled */
    139       1.1   scw #define	 FPGA_BRDS1_FLASH_SEL 0x01 /* FLASH at low addr */
    140       1.1   scw #define FPGA_BRDS2      0x06    /* Board status - read only */
    141       1.1   scw #define  SW_CLK_SRC1     0x40      /* if async pci, ext or int clk */
    142       1.1   scw #define	 SW_SEL1	 0x20	   /* use test clock for master clock */
    143       1.1   scw #define	 SW_SEL0	 0x10	   /* use 405GP arbiter */
    144       1.1   scw #define  FSEL_B          0x0c      /* use for mask */
    145  1.1.44.1  elad #define  FSEL_SDRAM100   0x01      /* select 100 MHz SDRAM */
    146  1.1.44.1  elad #define  FSEL_SDRAM66    0x03      /* select 66 MHz SDRAM */
    147       1.1   scw #define  FSEL_A          0x03      /* use for mask */
    148  1.1.44.1  elad #define  FSEL_PCI_66     0x01      /* select 66 MHz async int PCI */
    149  1.1.44.1  elad #define  FSEL_PCI_33     0x03      /* select 33 MHz async int PCI */
    150       1.1   scw #define FPGA_SPARE1     0x0e    /* Spare inputs - read only */
    151       1.1   scw #define FPGA_SPARE2     0x0f    /* Spare outputs */
    152       1.1   scw #define	FPGA_SIZE	FPGA_SPARE2
    153       1.1   scw 
    154       1.1   scw #endif /* _WALNUT_H_ */
    155