eagle.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:8k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /*
  2.  * FILE NAME
  3.  * include/asm-mips/vr41xx/eagle.h
  4.  *
  5.  * BRIEF MODULE DESCRIPTION
  6.  * Include file for NEC Eagle board.
  7.  *
  8.  * Author: MontaVista Software, Inc.
  9.  *         yyuasa@mvista.com or source@mvista.com
  10.  *
  11.  * Copyright 2001,2002 MontaVista Software Inc.
  12.  *
  13.  *  This program is free software; you can redistribute it and/or modify it
  14.  *  under the terms of the GNU General Public License as published by the
  15.  *  Free Software Foundation; either version 2 of the License, or (at your
  16.  *  option) any later version.
  17.  *
  18.  *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
  19.  *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  20.  *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  21.  *  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
  22.  *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
  23.  *  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
  24.  *  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  25.  *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
  26.  *  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
  27.  *  USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  28.  *
  29.  *  You should have received a copy of the GNU General Public License along
  30.  *  with this program; if not, write to the Free Software Foundation, Inc.,
  31.  *  675 Mass Ave, Cambridge, MA 02139, USA.
  32.  */
  33. #ifndef __NEC_EAGLE_H
  34. #define __NEC_EAGLE_H
  35. #include <asm/addrspace.h>
  36. #include <asm/vr41xx/vr41xx.h>
  37. /*
  38.  * Board specific address mapping
  39.  */
  40. #define VR41XX_PCI_MEM1_BASE 0x10000000
  41. #define VR41XX_PCI_MEM1_SIZE 0x04000000
  42. #define VR41XX_PCI_MEM1_MASK 0x7c000000
  43. #define VR41XX_PCI_MEM2_BASE 0x14000000
  44. #define VR41XX_PCI_MEM2_SIZE 0x02000000
  45. #define VR41XX_PCI_MEM2_MASK 0x7e000000
  46. #define VR41XX_PCI_IO_BASE 0x16000000
  47. #define VR41XX_PCI_IO_SIZE 0x02000000
  48. #define VR41XX_PCI_IO_MASK 0x7e000000
  49. #define VR41XX_PCI_IO_START 0x01000000
  50. #define VR41XX_PCI_IO_END 0x01ffffff
  51. #define VR41XX_PCI_MEM_START 0x12000000
  52. #define VR41XX_PCI_MEM_END 0x15ffffff
  53. #define IO_PORT_BASE KSEG1ADDR(VR41XX_PCI_IO_BASE)
  54. #define IO_PORT_RESOURCE_START 0
  55. #define IO_PORT_RESOURCE_END VR41XX_PCI_IO_SIZE
  56. #define IO_MEM1_RESOURCE_START VR41XX_PCI_MEM1_BASE
  57. #define IO_MEM1_RESOURCE_END (VR41XX_PCI_MEM1_BASE + VR41XX_PCI_MEM1_SIZE)
  58. #define IO_MEM2_RESOURCE_START VR41XX_PCI_MEM2_BASE
  59. #define IO_MEM2_RESOURCE_END (VR41XX_PCI_MEM2_BASE + VR41XX_PCI_MEM2_SIZE)
  60. /*
  61.  * General-Purpose I/O Pin Number
  62.  */
  63. #define VRC4173_PIN 1
  64. #define PCISLOT_PIN 4
  65. #define FPGA_PIN 5
  66. #define DCD_PIN 15
  67. /*
  68.  * Interrupt Number
  69.  */
  70. #define VRC4173_CASCADE_IRQ GIU_IRQ(VRC4173_PIN)
  71. #define PCISLOT_IRQ GIU_IRQ(PCISLOT_PIN)
  72. #define FPGA_CASCADE_IRQ GIU_IRQ(FPGA_PIN)
  73. #define DCD_IRQ GIU_IRQ(DCD_PIN)
  74. #define SDBINT_IRQ_BASE 89
  75. #define DEG_IRQ (SDBINT_IRQ_BASE + 1)
  76. #define ENUM_IRQ (SDBINT_IRQ_BASE + 2)
  77. #define SIO1INT_IRQ (SDBINT_IRQ_BASE + 3)
  78. #define SIO2INT_IRQ (SDBINT_IRQ_BASE + 4)
  79. #define PARINT_IRQ (SDBINT_IRQ_BASE + 5)
  80. #define SDBINT_IRQ_LAST PARINT_IRQ
  81. #define PCIINT_IRQ_BASE 97
  82. #define CP_INTA_IRQ (PCIINT_IRQ_BASE + 0)
  83. #define CP_INTB_IRQ (PCIINT_IRQ_BASE + 1)
  84. #define CP_INTC_IRQ (PCIINT_IRQ_BASE + 2)
  85. #define CP_INTD_IRQ (PCIINT_IRQ_BASE + 3)
  86. #define LANINTA_IRQ (PCIINT_IRQ_BASE + 4)
  87. #define PCIINT_IRQ_LAST LANINTA_IRQ
  88. /*
  89.  * On board Devices I/O Mapping
  90.  */
  91. #define NEC_EAGLE_SIO1RB KSEG1ADDR(0x0DFFFEC0)
  92. #define NEC_EAGLE_SIO1TH KSEG1ADDR(0x0DFFFEC0)
  93. #define NEC_EAGLE_SIO1IE KSEG1ADDR(0x0DFFFEC2)
  94. #define NEC_EAGLE_SIO1IID KSEG1ADDR(0x0DFFFEC4)
  95. #define NEC_EAGLE_SIO1FC KSEG1ADDR(0x0DFFFEC4)
  96. #define NEC_EAGLE_SIO1LC KSEG1ADDR(0x0DFFFEC6)
  97. #define NEC_EAGLE_SIO1MC KSEG1ADDR(0x0DFFFEC8)
  98. #define NEC_EAGLE_SIO1LS KSEG1ADDR(0x0DFFFECA)
  99. #define NEC_EAGLE_SIO1MS KSEG1ADDR(0x0DFFFECC)
  100. #define NEC_EAGLE_SIO1SC KSEG1ADDR(0x0DFFFECE)
  101. #define NEC_EAGLE_SIO2TH KSEG1ADDR(0x0DFFFED0)
  102. #define NEC_EAGLE_SIO2IE KSEG1ADDR(0x0DFFFED2)
  103. #define NEC_EAGLE_SIO2IID KSEG1ADDR(0x0DFFFED4)
  104. #define NEC_EAGLE_SIO2FC KSEG1ADDR(0x0DFFFED4)
  105. #define NEC_EAGLE_SIO2LC KSEG1ADDR(0x0DFFFED6)
  106. #define NEC_EAGLE_SIO2MC KSEG1ADDR(0x0DFFFED8)
  107. #define NEC_EAGLE_SIO2LS KSEG1ADDR(0x0DFFFEDA)
  108. #define NEC_EAGLE_SIO2MS KSEG1ADDR(0x0DFFFEDC)
  109. #define NEC_EAGLE_SIO2SC KSEG1ADDR(0x0DFFFEDE)
  110. #define NEC_EAGLE_PIOPP_DATA KSEG1ADDR(0x0DFFFEE0)
  111. #define NEC_EAGLE_PIOPP_STATUS KSEG1ADDR(0x0DFFFEE2)
  112. #define NEC_EAGLE_PIOPP_CNT KSEG1ADDR(0x0DFFFEE4)
  113. #define NEC_EAGLE_PIOPP_EPPADDR KSEG1ADDR(0x0DFFFEE6)
  114. #define NEC_EAGLE_PIOPP_EPPDATA0 KSEG1ADDR(0x0DFFFEE8)
  115. #define NEC_EAGLE_PIOPP_EPPDATA1 KSEG1ADDR(0x0DFFFEEA)
  116. #define NEC_EAGLE_PIOPP_EPPDATA2 KSEG1ADDR(0x0DFFFEEC)
  117. #define NEC_EAGLE_PIOECP_DATA KSEG1ADDR(0x0DFFFEF0)
  118. #define NEC_EAGLE_PIOECP_CONFIG KSEG1ADDR(0x0DFFFEF2)
  119. #define NEC_EAGLE_PIOECP_EXTCNT KSEG1ADDR(0x0DFFFEF4)
  120. /*
  121.  *  FLSHCNT Register
  122.  */
  123. #define NEC_EAGLE_FLSHCNT KSEG1ADDR(0x0DFFFFA0)
  124. #define NEC_EAGLE_FLSHCNT_FRDY 0x80
  125. #define NEC_EAGLE_FLSHCNT_VPPE 0x40
  126. #define NEC_EAGLE_FLSHCNT_WP2 0x01
  127. /*
  128.  * FLSHBANK Register
  129.  */
  130. #define NEC_EAGLE_FLSHBANK KSEG1ADDR(0x0DFFFFA4)
  131. #define NEC_EAGLE_FLSHBANK_S_BANK2 0x40
  132. #define NEC_EAGLE_FLSHBANK_S_BANK1 0x20
  133. #define NEC_EAGLE_FLSHBANK_BNKQ4 0x10
  134. #define NEC_EAGLE_FLSHBANK_BNKQ3 0x08
  135. #define NEC_EAGLE_FLSHBANK_BNKQ2 0x04
  136. #define NEC_EAGLE_FLSHBANK_BNKQ1 0x02
  137. #define NEC_EAGLE_FLSHBANK_BNKQ0 0x01
  138. /*
  139.  * SWITCH Setting Register
  140.  */
  141. #define NEC_EAGLE_SWTCHSET KSEG1ADDR(0x0DFFFFA8)
  142. #define NEC_EAGLE_SWTCHSET_DP2SW4 0x80
  143. #define NEC_EAGLE_SWTCHSET_DP2SW3 0x40
  144. #define NEC_EAGLE_SWTCHSET_DP2SW2 0x20
  145. #define NEC_EAGLE_SWTCHSET_DP2SW1 0x10
  146. #define NEC_EAGLE_SWTCHSET_DP1SW4 0x08
  147. #define NEC_EAGLE_SWTCHSET_DP1SW3 0x04
  148. #define NEC_EAGLE_SWTCHSET_DP1SW2 0x02
  149. #define NEC_EAGLE_SWTCHSET_DP1SW1 0x01
  150. /*
  151.  * PPT Parallel Port Device Controller
  152.  */
  153. #define NEC_EAGLE_PPT_WRITE_DATA KSEG1ADDR(0x0DFFFFB0)
  154. #define NEC_EAGLE_PPT_READ_DATA KSEG1ADDR(0x0DFFFFB2)
  155. #define NEC_EAGLE_PPT_CNT KSEG1ADDR(0x0DFFFFB4)
  156. #define NEC_EAGLE_PPT_CNT2 KSEG1ADDR(0x0DFFFFB4)
  157. /* Control Register */
  158. #define NEC_EAGLE_PPT_INTMSK 0x20
  159. #define NEC_EAGLE_PPT_PARIINT 0x10
  160. #define NEC_EAGLE_PPT_SELECTIN 0x08
  161. #define NEC_EAGLE_PPT_INIT 0x04
  162. #define NEC_EAGLE_PPT_AUTOFD 0x02
  163. #define NEC_EAGLE_PPT_STROBE 0x01
  164. /* Control Rgister 2 */
  165. #define NEC_EAGLE_PPT_PAREN 0x80
  166. #define NEC_EAGLE_PPT_AUTOEN 0x20
  167. #define NEC_EAGLE_PPT_BUSY 0x10
  168. #define NEC_EAGLE_PPT_ACK 0x08
  169. #define NEC_EAGLE_PPT_PE 0x04
  170. #define NEC_EAGLE_PPT_SELECT 0x02
  171. #define NEC_EAGLE_PPT_FAULT 0x01
  172. /*
  173.  * LEDWR Register
  174.  */
  175. #define NEC_EAGLE_LEDWR1 KSEG1ADDR(0x0DFFFFC0)
  176. #define NEC_EAGLE_LEDWR2 KSEG1ADDR(0x0DFFFFC4)
  177. /*
  178.  * SDBINT Register
  179.  */
  180. #define NEC_EAGLE_SDBINT KSEG1ADDR(0x0DFFFFD0)
  181. #define NEC_EAGLE_SDBINT_PARINT 0x20
  182. #define NEC_EAGLE_SDBINT_SIO2INT 0x10
  183. #define NEC_EAGLE_SDBINT_SIO1INT 0x08
  184. #define NEC_EAGLE_SDBINT_ENUM 0x04
  185. #define NEC_EAGLE_SDBINT_DEG 0x02
  186. /*
  187.  * SDB INTMSK Register
  188.  */
  189. #define NEC_EAGLE_SDBINTMSK KSEG1ADDR(0x0DFFFFD4)
  190. #define NEC_EAGLE_SDBINTMSK_MSKPAR 0x20
  191. #define NEC_EAGLE_SDBINTMSK_MSKSIO2 0x10
  192. #define NEC_EAGLE_SDBINTMSK_MSKSIO1 0x08
  193. #define NEC_EAGLE_SDBINTMSK_MSKENUM 0x04
  194. #define NEC_EAGLE_SDBINTMSK_MSKDEG 0x02
  195. /*
  196.  * RSTREG Register
  197.  */
  198. #define NEC_EAGLE_RSTREG KSEG1ADDR(0x0DFFFFD8)
  199. #define NEC_EAGLE_RST_RSTSW 0x02
  200. #define NEC_EAGLE_RST_LEDOFF 0x01
  201. /*
  202.  * PCI INT Rgister
  203.  */
  204. #define NEC_EAGLE_PCIINTREG KSEG1ADDR(0x0DFFFFDC)
  205. #define NEC_EAGLE_PCIINT_LANINT 0x10
  206. #define NEC_EAGLE_PCIINT_CP_INTD 0x08
  207. #define NEC_EAGLE_PCIINT_CP_INTC 0x04
  208. #define NEC_EAGLE_PCIINT_CP_INTB 0x02
  209. #define NEC_EAGLE_PCIINT_CP_INTA 0x01
  210. /*
  211.  * PCI INT Mask Register
  212.  */
  213. #define NEC_EAGLE_PCIINTMSKREG KSEG1ADDR(0x0DFFFFE0)
  214. #define NEC_EAGLE_PCIINTMSK_MSKLANINT 0x10
  215. #define NEC_EAGLE_PCIINTMSK_MSKCP_INTD 0x08
  216. #define NEC_EAGLE_PCIINTMSK_MSKCP_INTC 0x04
  217. #define NEC_EAGLE_PCIINTMSK_MSKCP_INTB 0x02
  218. #define NEC_EAGLE_PCIINTMSK_MSKCP_INTA 0x01
  219. /*
  220.  * CLK Division Register
  221.  */
  222. #define NEC_EAGLE_CLKDIV KSEG1ADDR(0x0DFFFFE4)
  223. #define NEC_EAGLE_CLKDIV_PCIDIV1 0x10
  224. #define NEC_EAGLE_CLKDIV_PCIDIV0 0x08
  225. #define NEC_EAGLE_CLKDIV_VTDIV2 0x04
  226. #define NEC_EAGLE_CLKDIV_VTDIV1 0x02
  227. #define NEC_EAGLE_CLKDIV_VTDIV0 0x01
  228. /*
  229.  * Source Revision Register
  230.  */
  231. #define NEC_EAGLE_REVISION KSEG1ADDR(0x0DFFFFE8)
  232. #endif /* __NEC_EAGLE_H */