graphicsclient.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:3k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  * linux/include/asm-arm/arch-sa1100/graphicsclient.h
  3.  *
  4.  * Created 2000/06/11 by Nicolas Pitre <nico@cam.org>
  5.  * Modified 7/27/00 by Woojung <whuh@applieddata.net>
  6.  *
  7.  * This file contains the hardware specific definitions for the 
  8.  * ADS GraphicsClient/ThinClient boards.
  9.  */
  10. #ifndef __ASM_ARCH_HARDWARE_H
  11. #error "include <asm/hardware.h> instead"
  12. #endif
  13. #define ADS_CPLD_BASE (0x10000000)
  14. #define ADS_p2v( x ) ((x) - ADS_CPLD_BASE + 0xf0000000)
  15. #define ADS_v2p( x ) ((x) - 0xf0000000 + ADS_CPLD_BASE)
  16. /* Parallel Port */
  17. #define _ADS_PPDR 0x10020000 /* parallel port data reg */
  18. #define _ADS_PPSR 0x10020004 /* parallel port status reg */
  19. /* PCMCIA */
  20. #define _ADS_CS_STATUS 0x10040000 /* PCMCIA status reg */
  21. #define ADS_CS_ST_A_READY (1 << 0) /* Socket A Card Ready */
  22. #define ADS_CS_ST_A_CD (1 << 2) /* Socket A Card Detect */
  23. #define ADS_CS_ST_A_BUSY (1 << 4) /* Socket A Card Busy */
  24. #define ADS_CS_ST_A_STS (1 << 6) /* Socket A Card STS */
  25. #define _ADS_CS_PR 0x10040004 /* PCMCIA Power/Reset */
  26. #define ADS_CS_PR_A_5V_POWER (1 << 0) /* Socket A Enable 5V Power */
  27. #define ADS_CS_PR_A_3V_POWER (1 << 0) /* Socket A Enable 3.3V Power */
  28. #define ADS_CS_PR_A_RESET (1 << 2) /* Socket A Reset */
  29. #define _ADS_SW_SWITCHES 0x10060000 /* Software Switches */
  30. /* Extra IRQ Controller */
  31. #define _ADS_INT_ST1 0x10080000 /* IRQ Status #1 */
  32. #define _ADS_INT_ST2 0x10080004 /* IRQ Status #2 */
  33. #define _ADS_INT_EN1 0x10080008 /* IRQ Enable #1 */
  34. #define _ADS_INT_EN2 0x1008000c /* IRQ Enable #2 */
  35. /* Discrete Controller (AVR:Atmel AT90LS8535) */
  36. #define _ADS_AVR_REG 0x10080018
  37. /* On-Board Ethernet */
  38. #define _ADS_ETHERNET 0x100e0000 /* Ethernet */
  39. /* Extra UARTs */
  40. #define _ADS_UARTA 0x10100000 /* UART A */
  41. #define _ADS_UARTB 0x10120000 /* UART B */
  42. #define _ADS_UARTC 0x10140000 /* UART C */
  43. #define _ADS_UARTD 0x10160000 /* UART D */
  44. /* UART controll lines GPIOs */
  45. #define GPIO_GC_UART0_RTS       GPIO_GPIO15
  46. #define GPIO_GC_UART1_RTS     GPIO_GPIO17
  47. #define GPIO_GC_UART2_RTS     GPIO_GPIO19
  48. #define GPIO_GC_UART0_CTS       GPIO_GPIO14
  49. #define GPIO_GC_UART1_CTS       GPIO_GPIO16
  50. #define GPIO_GC_UART2_CTS       GPIO_GPIO17
  51. /* UART controll lines IRQs */
  52. #define IRQ_GC_UART0_CTS       IRQ_GPIO14
  53. #define IRQ_GC_UART1_CTS       IRQ_GPIO16
  54. #define IRQ_GC_UART2_CTS       IRQ_GPIO17
  55. #ifndef __ASSEMBLY__
  56. struct gc_uart_ctrl_data_t {
  57.   int cts_gpio;
  58.   int cts_prev_state;
  59.   struct uart_info *info;
  60.   struct uart_port *port;
  61. };
  62. #endif /* __ASSEMBLY__ */
  63. /* LEDs */
  64. #define ADS_LED0 GPIO_GPIO20 /* on-board D22 */
  65. #define ADS_LED1 GPIO_GPIO21 /* on-board D21 */
  66. #define ADS_LED2 GPIO_GPIO22 /* on-board D20 */
  67. #define ADS_LED3 GPIO_GPIO23 /* external */
  68. #define ADS_LED4 GPIO_GPIO24 /* external */
  69. #define ADS_LED5 GPIO_GPIO25 /* external */
  70. #define ADS_LED6 GPIO_GPIO26 /* external */
  71. #define ADS_LED7 GPIO_GPIO27 /* external */
  72. /* Virtual register addresses */
  73. #ifndef __ASSEMBLY__
  74. #define ADS_INT_ST1 (*((volatile u_char *) ADS_p2v(_ADS_INT_ST1)))
  75. #define ADS_INT_ST2 (*((volatile u_char *) ADS_p2v(_ADS_INT_ST2)))
  76. #define ADS_INT_EN1 (*((volatile u_char *) ADS_p2v(_ADS_INT_EN1)))
  77. #define ADS_INT_EN2 (*((volatile u_char *) ADS_p2v(_ADS_INT_EN2)))
  78. #define ADS_ETHERNET ((int) ADS_p2v(_ADS_ETHERNET))
  79. #define ADS_AVR_REG (*((volatile u_char *) ADS_p2v(_ADS_AVR_REG)))
  80. #endif