home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-arm / arch-pxa / tosa.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  6.0 KB  |  167 lines

  1. /*
  2.  * Hardware specific definitions for Sharp SL-C6000x series of PDAs
  3.  *
  4.  * Copyright (c) 2005 Dirk Opfer
  5.  *
  6.  * Based on Sharp's 2.4 kernel patches
  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.  */
  13. #ifndef _ASM_ARCH_TOSA_H_
  14. #define _ASM_ARCH_TOSA_H_ 1
  15.  
  16. /*  TOSA Chip selects  */
  17. #define TOSA_LCDC_PHYS        PXA_CS4_PHYS
  18. /* Internel Scoop */
  19. #define TOSA_CF_PHYS        (PXA_CS2_PHYS + 0x00800000)
  20. /* Jacket Scoop */
  21. #define TOSA_SCOOP_PHYS      (PXA_CS5_PHYS + 0x00800000)
  22.  
  23. /*
  24.  * SCOOP2 internal GPIOs
  25.  */
  26. #define TOSA_SCOOP_PXA_VCORE1        SCOOP_GPCR_PA11
  27. #define TOSA_SCOOP_TC6393_REST_IN    SCOOP_GPCR_PA12
  28. #define TOSA_SCOOP_IR_POWERDWN        SCOOP_GPCR_PA13
  29. #define TOSA_SCOOP_SD_WP        SCOOP_GPCR_PA14
  30. #define TOSA_SCOOP_PWR_ON        SCOOP_GPCR_PA15
  31. #define TOSA_SCOOP_AUD_PWR_ON        SCOOP_GPCR_PA16
  32. #define TOSA_SCOOP_BT_RESET        SCOOP_GPCR_PA17
  33. #define TOSA_SCOOP_BT_PWR_EN        SCOOP_GPCR_PA18
  34. #define TOSA_SCOOP_AC_IN_OL        SCOOP_GPCR_PA19
  35.  
  36. /* GPIO Direction   1 : output mode / 0:input mode */
  37. #define TOSA_SCOOP_IO_DIR     ( TOSA_SCOOP_PXA_VCORE1 | TOSA_SCOOP_TC6393_REST_IN | \
  38.         TOSA_SCOOP_IR_POWERDWN | TOSA_SCOOP_PWR_ON | TOSA_SCOOP_AUD_PWR_ON |\
  39.         TOSA_SCOOP_BT_RESET | TOSA_SCOOP_BT_PWR_EN )
  40. /* GPIO out put level when init   1: Hi */
  41. #define TOSA_SCOOP_IO_OUT     ( TOSA_SCOOP_TC6393_REST_IN )
  42.  
  43. /*
  44.  * SCOOP2 jacket GPIOs
  45.  */
  46. #define TOSA_SCOOP_JC_BT_LED        SCOOP_GPCR_PA11
  47. #define TOSA_SCOOP_JC_NOTE_LED        SCOOP_GPCR_PA12
  48. #define TOSA_SCOOP_JC_CHRG_ERR_LED    SCOOP_GPCR_PA13
  49. #define TOSA_SCOOP_JC_USB_PULLUP    SCOOP_GPCR_PA14
  50. #define TOSA_SCOOP_JC_TC6393_SUSPEND    SCOOP_GPCR_PA15
  51. #define TOSA_SCOOP_JC_TC3693_L3V_ON    SCOOP_GPCR_PA16
  52. #define TOSA_SCOOP_JC_WLAN_DETECT    SCOOP_GPCR_PA17
  53. #define TOSA_SCOOP_JC_WLAN_LED        SCOOP_GPCR_PA18
  54. #define TOSA_SCOOP_JC_CARD_LIMIT_SEL    SCOOP_GPCR_PA19
  55.  
  56. /* GPIO Direction   1 : output mode / 0:input mode */
  57. #define TOSA_SCOOP_JC_IO_DIR ( TOSA_SCOOP_JC_BT_LED | TOSA_SCOOP_JC_NOTE_LED | \
  58.         TOSA_SCOOP_JC_CHRG_ERR_LED | TOSA_SCOOP_JC_USB_PULLUP | \
  59.         TOSA_SCOOP_JC_TC6393_SUSPEND | TOSA_SCOOP_JC_TC3693_L3V_ON | \
  60.         TOSA_SCOOP_JC_WLAN_LED | TOSA_SCOOP_JC_CARD_LIMIT_SEL )
  61. /* GPIO out put level when init   1: Hi */
  62. #define TOSA_SCOOP_JC_IO_OUT ( 0 )
  63.  
  64. /*
  65.  * Timing Generator
  66.  */
  67. #define TG_PNLCTL             0x00
  68. #define TG_TPOSCTL             0x01
  69. #define TG_DUTYCTL             0x02
  70. #define TG_GPOSR             0x03
  71. #define TG_GPODR1             0x04
  72. #define TG_GPODR2             0x05
  73. #define TG_PINICTL             0x06
  74. #define TG_HPOSCTL             0x07
  75.  
  76. /*
  77.  * LED
  78.  */
  79. #define TOSA_SCOOP_LED_BLUE           TOSA_SCOOP_GPCR_PA11
  80. #define TOSA_SCOOP_LED_GREEN          TOSA_SCOOP_GPCR_PA12
  81. #define TOSA_SCOOP_LED_ORANGE        TOSA_SCOOP_GPCR_PA13
  82. #define TOSA_SCOOP_LED_WLAN        TOSA_SCOOP_GPCR_PA18
  83.  
  84.  
  85. /*
  86.  * PXA GPIOs
  87.  */
  88. #define TOSA_GPIO_POWERON        (0)
  89. #define TOSA_GPIO_RESET            (1)
  90. #define TOSA_GPIO_AC_IN            (2)
  91. #define TOSA_GPIO_RECORD_BTN        (3)
  92. #define TOSA_GPIO_SYNC            (4)    /* Cradle SYNC Button */
  93. #define TOSA_GPIO_USB_IN        (5)
  94. #define TOSA_GPIO_JACKET_DETECT        (7)
  95. #define TOSA_GPIO_nSD_DETECT        (9)
  96. #define TOSA_GPIO_nSD_INT        (10)
  97. #define TOSA_GPIO_TC6393_CLK        (11)
  98. #define TOSA_GPIO_BAT1_CRG        (12)
  99. #define TOSA_GPIO_CF_CD            (13)
  100. #define TOSA_GPIO_BAT0_CRG        (14)
  101. #define TOSA_GPIO_TC6393_INT        (15)
  102. #define TOSA_GPIO_BAT0_LOW        (17)
  103. #define TOSA_GPIO_TC6393_RDY        (18)
  104. #define TOSA_GPIO_ON_RESET        (19)
  105. #define TOSA_GPIO_EAR_IN        (20)
  106. #define TOSA_GPIO_CF_IRQ        (21)    /* CF slot0 Ready */
  107. #define TOSA_GPIO_ON_KEY        (22)
  108. #define TOSA_GPIO_VGA_LINE        (27)
  109. #define TOSA_GPIO_TP_INT        (32)    /* Touch Panel pen down interrupt */
  110. #define TOSA_GPIO_JC_CF_IRQ        (36)    /* CF slot1 Ready */
  111. #define TOSA_GPIO_BAT_LOCKED        (38)    /* Battery locked */
  112. #define TOSA_GPIO_TG_SPI_SCLK        (81)
  113. #define TOSA_GPIO_TG_SPI_CS        (82)
  114. #define TOSA_GPIO_TG_SPI_MOSI        (83)
  115. #define TOSA_GPIO_BAT1_LOW        (84)
  116.  
  117. #define TOSA_GPIO_HP_IN            GPIO_EAR_IN
  118.  
  119. #define TOSA_GPIO_MAIN_BAT_LOW        GPIO_BAT0_LOW
  120.  
  121. #define TOSA_KEY_STROBE_NUM        (11)
  122. #define TOSA_KEY_SENSE_NUM        (7)
  123.  
  124. #define TOSA_GPIO_HIGH_STROBE_BIT    (0xfc000000)
  125. #define TOSA_GPIO_LOW_STROBE_BIT    (0x0000001f)
  126. #define TOSA_GPIO_ALL_SENSE_BIT        (0x00000fe0)
  127. #define TOSA_GPIO_ALL_SENSE_RSHIFT    (5)
  128. #define TOSA_GPIO_STROBE_BIT(a)        GPIO_bit(58+(a))
  129. #define TOSA_GPIO_SENSE_BIT(a)        GPIO_bit(69+(a))
  130. #define TOSA_GAFR_HIGH_STROBE_BIT    (0xfff00000)
  131. #define TOSA_GAFR_LOW_STROBE_BIT    (0x000003ff)
  132. #define TOSA_GAFR_ALL_SENSE_BIT        (0x00fffc00)
  133. #define TOSA_GPIO_KEY_SENSE(a)         (69+(a))
  134. #define TOSA_GPIO_KEY_STROBE(a)        (58+(a))
  135.  
  136. /*
  137.  * Interrupts
  138.  */
  139. #define TOSA_IRQ_GPIO_WAKEUP            IRQ_GPIO(TOSA_GPIO_WAKEUP)
  140. #define TOSA_IRQ_GPIO_AC_IN             IRQ_GPIO(TOSA_GPIO_AC_IN)
  141. #define TOSA_IRQ_GPIO_RECORD_BTN        IRQ_GPIO(TOSA_GPIO_RECORD_BTN)
  142. #define TOSA_IRQ_GPIO_SYNC              IRQ_GPIO(TOSA_GPIO_SYNC)
  143. #define TOSA_IRQ_GPIO_USB_IN            IRQ_GPIO(TOSA_GPIO_USB_IN)
  144. #define TOSA_IRQ_GPIO_JACKET_DETECT     IRQ_GPIO(TOSA_GPIO_JACKET_DETECT)
  145. #define TOSA_IRQ_GPIO_nSD_INT           IRQ_GPIO(TOSA_GPIO_nSD_INT)
  146. #define TOSA_IRQ_GPIO_nSD_DETECT        IRQ_GPIO(TOSA_GPIO_nSD_DETECT)
  147. #define TOSA_IRQ_GPIO_BAT1_CRG          IRQ_GPIO(TOSA_GPIO_BAT1_CRG)
  148. #define TOSA_IRQ_GPIO_CF_CD             IRQ_GPIO(TOSA_GPIO_CF_CD)
  149. #define TOSA_IRQ_GPIO_BAT0_CRG          IRQ_GPIO(TOSA_GPIO_BAT0_CRG)
  150. #define TOSA_IRQ_GPIO_TC6393_INT        IRQ_GPIO(TOSA_GPIO_TC6393_INT)
  151. #define TOSA_IRQ_GPIO_BAT0_LOW          IRQ_GPIO(TOSA_GPIO_BAT0_LOW)
  152. #define TOSA_IRQ_GPIO_EAR_IN            IRQ_GPIO(TOSA_GPIO_EAR_IN)
  153. #define TOSA_IRQ_GPIO_CF_IRQ            IRQ_GPIO(TOSA_GPIO_CF_IRQ)
  154. #define TOSA_IRQ_GPIO_ON_KEY            IRQ_GPIO(TOSA_GPIO_ON_KEY)
  155. #define TOSA_IRQ_GPIO_VGA_LINE          IRQ_GPIO(TOSA_GPIO_VGA_LINE)
  156. #define TOSA_IRQ_GPIO_TP_INT            IRQ_GPIO(TOSA_GPIO_TP_INT)
  157. #define TOSA_IRQ_GPIO_JC_CF_IRQ         IRQ_GPIO(TOSA_GPIO_JC_CF_IRQ)
  158. #define TOSA_IRQ_GPIO_BAT_LOCKED        IRQ_GPIO(TOSA_GPIO_BAT_LOCKED)
  159. #define TOSA_IRQ_GPIO_BAT1_LOW          IRQ_GPIO(TOSA_GPIO_BAT1_LOW)
  160. #define TOSA_IRQ_GPIO_KEY_SENSE(a)      IRQ_GPIO(69+(a))
  161.  
  162. #define TOSA_IRQ_GPIO_MAIN_BAT_LOW     IRQ_GPIO(TOSA_GPIO_MAIN_BAT_LOW)
  163.  
  164. extern struct platform_device tosascoop_jc_device;
  165. extern struct platform_device tosascoop_device;
  166. #endif /* _ASM_ARCH_TOSA_H_ */
  167.