mainstone.h
上传用户:szlgq88
上传日期:2009-04-28
资源大小:48287k
文件大小:6k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  *  linux/include/asm-arm/arch-pxa/mainstone.h
  3.  *
  4.  *  Author: Nicolas Pitre
  5.  *  Created: Nov 14, 2002
  6.  *  Copyright: MontaVista Software Inc.
  7.  *
  8.  * This program is free software; you can redistribute it and/or modify
  9.  * it under the terms of the GNU General Public License version 2 as
  10.  * published by the Free Software Foundation.
  11.  */
  12. #ifndef ASM_ARCH_MAINSTONE_H
  13. #define ASM_ARCH_MAINSTONE_H
  14. #define MST_ETH_PHYS PXA_CS4_PHYS
  15. #define MST_FPGA_PHYS PXA_CS2_PHYS
  16. #define MST_FPGA_VIRT (0xf0000000)
  17. #define MST_P2V(x) ((x) - MST_FPGA_PHYS + MST_FPGA_VIRT)
  18. #define MST_V2P(x) ((x) - MST_FPGA_VIRT + MST_FPGA_PHYS)
  19. #ifndef __ASSEMBLY__
  20. # define __MST_REG(x) (*((volatile unsigned long *)MST_P2V(x)))
  21. #else
  22. # define __MST_REG(x) MST_P2V(x)
  23. #endif
  24. /* board level registers in the FPGA */
  25. #define MST_LEDDAT1 __MST_REG(0x08000010)
  26. #define MST_LEDDAT2 __MST_REG(0x08000014)
  27. #define MST_LEDCTRL __MST_REG(0x08000040)
  28. #define MST_GPSWR __MST_REG(0x08000060)
  29. #define MST_MSCWR1 __MST_REG(0x08000080)
  30. #define MST_MSCWR2 __MST_REG(0x08000084)
  31. #define MST_MSCWR3 __MST_REG(0x08000088)
  32. #define MST_MSCRD __MST_REG(0x08000090)
  33. #define MST_INTMSKENA __MST_REG(0x080000c0)
  34. #define MST_INTSETCLR __MST_REG(0x080000d0)
  35. #define MST_PCMCIA0 __MST_REG(0x080000e0)
  36. #define MST_PCMCIA1 __MST_REG(0x080000e4)
  37. #define MST_MSCWR1_CAMERA_ON (1 << 15)  /* Camera interface power control */
  38. #define MST_MSCWR1_CAMERA_SEL (1 << 14)  /* Camera interface mux control */
  39. #define MST_MSCWR1_LCD_CTL (1 << 13)  /* General-purpose LCD control */
  40. #define MST_MSCWR1_MS_ON (1 << 12)  /* Memory Stick power control */
  41. #define MST_MSCWR1_MMC_ON (1 << 11)  /* MultiMediaCard* power control */
  42. #define MST_MSCWR1_MS_SEL (1 << 10)  /* SD/MS multiplexer control */
  43. #define MST_MSCWR1_BB_SEL (1 << 9)   /* PCMCIA/Baseband multiplexer */
  44. #define MST_MSCWR1_BT_ON (1 << 8)   /* Bluetooth UART transceiver */
  45. #define MST_MSCWR1_BTDTR (1 << 7)   /* Bluetooth UART DTR */
  46. #define MST_MSCWR1_IRDA_MASK (3 << 5)   /* IrDA transceiver mode */
  47. #define MST_MSCWR1_IRDA_FULL (0 << 5)   /* full distance power */
  48. #define MST_MSCWR1_IRDA_OFF (1 << 5)   /* shutdown */
  49. #define MST_MSCWR1_IRDA_MED (2 << 5)   /* 2/3 distance power */
  50. #define MST_MSCWR1_IRDA_LOW (3 << 5)   /* 1/3 distance power */
  51. #define MST_MSCWR1_IRDA_FIR (1 << 4)   /* IrDA transceiver SIR/FIR */
  52. #define MST_MSCWR1_GREENLED (1 << 3)   /* LED D1 control */
  53. #define MST_MSCWR1_PDC_CTL (1 << 2)   /* reserved */
  54. #define MST_MSCWR1_MTR_ON (1 << 1)   /* Silent alert motor */
  55. #define MST_MSCWR1_SYSRESET (1 << 0)   /* System reset */
  56. #define MST_MSCWR2_USB_OTG_RST (1 << 6)   /* USB On The Go reset */
  57. #define MST_MSCWR2_USB_OTG_SEL (1 << 5)   /* USB On The Go control */
  58. #define MST_MSCWR2_nUSBC_SC (1 << 4)   /* USB client soft connect control */
  59. #define MST_MSCWR2_I2S_SPKROFF (1 << 3)   /* I2S CODEC amplifier control */
  60. #define MST_MSCWR2_AC97_SPKROFF (1 << 2)   /* AC97 CODEC amplifier control */
  61. #define MST_MSCWR2_RADIO_PWR (1 << 1)   /* Radio module power control */
  62. #define MST_MSCWR2_RADIO_WAKE (1 << 0)   /* Radio module wake-up signal */
  63. #define MST_MSCWR3_GPIO_RESET_EN (1 << 2) /* Enable GPIO Reset */
  64. #define MST_MSCWR3_GPIO_RESET (1 << 1) /* Initiate a GPIO Reset */
  65. #define MST_MSCWR3_COMMS_SW_RESET (1 << 0) /* Communications Processor Reset Control */
  66. #define MST_MSCRD_nPENIRQ (1 << 9)   /* ADI7873* nPENIRQ signal */
  67. #define MST_MSCRD_nMEMSTK_CD (1 << 8)   /* Memory Stick detection signal */
  68. #define MST_MSCRD_nMMC_CD (1 << 7)   /* SD/MMC card detection signal */
  69. #define MST_MSCRD_nUSIM_CD (1 << 6)   /* USIM card detection signal */
  70. #define MST_MSCRD_USB_CBL (1 << 5)   /* USB client cable status */
  71. #define MST_MSCRD_TS_BUSY (1 << 4)   /* ADI7873 busy */
  72. #define MST_MSCRD_BTDSR (1 << 3)   /* Bluetooth UART DSR */
  73. #define MST_MSCRD_BTRI (1 << 2)   /* Bluetooth UART Ring Indicator */
  74. #define MST_MSCRD_BTDCD (1 << 1)   /* Bluetooth UART DCD */
  75. #define MST_MSCRD_nMMC_WP (1 << 0)   /* SD/MMC write-protect status */
  76. #define MST_INT_S1_IRQ (1 << 15)  /* PCMCIA socket 1 IRQ */
  77. #define MST_INT_S1_STSCHG (1 << 14)  /* PCMCIA socket 1 status changed */
  78. #define MST_INT_S1_CD (1 << 13)  /* PCMCIA socket 1 card detection */
  79. #define MST_INT_S0_IRQ (1 << 11)  /* PCMCIA socket 0 IRQ */
  80. #define MST_INT_S0_STSCHG (1 << 10)  /* PCMCIA socket 0 status changed */
  81. #define MST_INT_S0_CD (1 << 9)   /* PCMCIA socket 0 card detection */
  82. #define MST_INT_nEXBRD_INT (1 << 7)   /* Expansion board IRQ */
  83. #define MST_INT_MSINS (1 << 6)   /* Memory Stick* detection */
  84. #define MST_INT_PENIRQ (1 << 5)   /* ADI7873* touch-screen IRQ */
  85. #define MST_INT_AC97 (1 << 4)   /* AC'97 CODEC IRQ */
  86. #define MST_INT_ETHERNET (1 << 3)   /* Ethernet controller IRQ */
  87. #define MST_INT_USBC (1 << 2)   /* USB client cable detection IRQ */
  88. #define MST_INT_USIM (1 << 1)   /* USIM card detection IRQ */
  89. #define MST_INT_MMC (1 << 0)   /* MMC/SD card detection IRQ */
  90. #define MST_PCMCIA_nIRQ (1 << 10)  /* IRQ / ready signal */
  91. #define MST_PCMCIA_nSPKR_BVD2 (1 << 9)   /* VDD sense / digital speaker */
  92. #define MST_PCMCIA_nSTSCHG_BVD1 (1 << 8)   /* VDD sense / card status changed */
  93. #define MST_PCMCIA_nVS2 (1 << 7)   /* VSS voltage sense */
  94. #define MST_PCMCIA_nVS1 (1 << 6)   /* VSS voltage sense */
  95. #define MST_PCMCIA_nCD (1 << 5)   /* Card detection signal */
  96. #define MST_PCMCIA_RESET (1 << 4)   /* Card reset signal */
  97. #define MST_PCMCIA_PWR_MASK (0x000f)   /* MAX1602 power-supply controls */
  98. #define MST_PCMCIA_PWR_VPP_0    0x0    /* voltage VPP = 0V */
  99. #define MST_PCMCIA_PWR_VPP_120  0x2     /* voltage VPP = 12V*/
  100. #define MST_PCMCIA_PWR_VPP_VCC  0x1    /* voltage VPP = VCC */
  101. #define MST_PCMCIA_PWR_VCC_0    0x0    /* voltage VCC = 0V */
  102. #define MST_PCMCIA_PWR_VCC_33   0x8    /* voltage VCC = 3.3V */
  103. #define MST_PCMCIA_PWR_VCC_50   0x4    /* voltage VCC = 5.0V */
  104. #endif