gpio.h
上传用户:poi891205
上传日期:2013-07-15
资源大小:9745k
文件大小:23k
源码类别:

DVD

开发平台:

C/C++

  1. #ifndef __GPIO_H
  2. #define __GPIO_H
  3. // sft_cfg0[0]
  4. #define SFTCFG0_0_RA19_EN           (0<<0)  // (default)
  5. #define SFTCFG0_0_RA19_DIS          (1<<0)
  6. // sft_cfg0[2:1]
  7. #define SFTCFG0_21_RA20_DIS         (0<<1)
  8. #define SFTCFG0_21_RA20_P19         (1<<1)  // (default), when HW config at 3
  9. #define SFTCFG0_21_RA20_P129        (2<<1)  // (default), when HW config at 2
  10. // sft_cfg0[4:3]
  11. #define SFTCFG0_43_RA21_DIS         (0<<3)
  12. #define SFTCFG0_43_RA21_P20         (1<<3)  // (default), when HW config at 3
  13. #define SFTCFG0_43_RA21_P130        (2<<3)  // (default), when HW config at 2
  14. // sft_cfg0[6:5]
  15. #define SFTCFG0_65_RA22_DIS         (0<<5)
  16. #define SFTCFG0_65_RA22_P21         (1<<5)  // (default), when HW config at 3
  17. #define SFTCFG0_65_RA22_P131        (2<<5)  // (default), when HW config at 2
  18. // sft_cfg0[8:7]
  19. #define SFTCFG0_87_RA23_DIS         (0<<7)
  20. #define SFTCFG0_87_RA23_256         (1<<7)  // only available at 256 pin package
  21. #define SFTCFG0_87_RA23_P133        (2<<7)  // (default), when HW config at 2
  22. // sft_cfg0[10:9]
  23. #define SFTCFG0_A9_RA24_DIS         (0<<9)
  24. #define SFTCFG0_A9_RA24_256         (1<<9)  // only available at 256 pin package
  25. #define SFTCFG0_A9_RA24_P134        (2<<9)  // (default), when HW config at 2
  26. // sft_cfg0[12:11]
  27. #define SFTCFG0_CB_RA25_DIS         (0<<11)
  28. #define SFTCFG0_CB_RA25_256         (1<<11) // only available at 256 pin package
  29. #define SFTCFG0_CB_RA25_P135        (2<<11) // (default), when HW config at 2
  30. // sft_cfg0[14:13]
  31. #define SFTCFG0_ED_RA26_DIS         (0<<13)
  32. #define SFTCFG0_ED_RA26_256         (1<<13) // only available at 256 pin package
  33. #define SFTCFG0_ED_RA26_P136        (2<<13) // (default), when HW config at 2
  34. // sft_cfg1[0]
  35. #define SFTCFG1_0_CS1_DIS           (0<<0)  // use pin 69 as GPIO13
  36. #define SFTCFG1_0_CS1_EN            (1<<0)  // (default)
  37. // sft_cfg1[1]
  38. #define SFTCFG1_1_CS2_DIS           (0<<1)
  39. #define SFTCFG1_1_CS2_EN            (1<<1)  // (default)
  40. // sft_cfg1[2]
  41. #define SFTCFG1_2_CS3_DIS           (0<<2)
  42. #define SFTCFG1_2_CS3_EN            (1<<2)  // (default)
  43. // sft_cfg1[3]
  44. #define SFTCFG1_3_CS4_DIS           (0<<3)
  45. #define SFTCFG1_3_CS4_EN            (1<<3)  // (default)
  46. // sft_cfg1[4]
  47. #define SFTCFG1_4_OE_DIS            (0<<4)
  48. #define SFTCFG1_4_OE_EN             (1<<4)  // (default)
  49. // sft_cfg1[5]
  50. #define SFTCFG1_5_WE_DIS            (0<<5)
  51. #define SFTCFG1_5_WE_EN             (1<<5)  // (default)
  52. // sft_cfg1[6]
  53. #define SFTCFG1_6_CHRDY_DIS         (0<<6)  // (default)
  54. #define SFTCFG1_6_CHRDY_EN          (1<<6)
  55. // sft_cfg1[9:7]
  56. #define SFTCFG1_97_IORW_DIS         (0<<7)  // (default)
  57. #define SFTCFG1_97_IORW_P19_P20     (1<<7)  // IOR from pin 19, IOW from pin 20
  58. #define SFTCFG1_97_IORW_P135_P136   (2<<7)  // IOR from pin 135, IOW from pin 136
  59. #define SFTCFG1_97_IORW_P58_P59     (3<<7)  // IOR from pin 58, IOW from pin 59
  60. #define SFTCFG1_97_IORW_256         (4<<7)  // only available at 256 pin package
  61. // sft_cfg1[12:10]
  62. #define SFTCFG1_CA_WAIT_DIS         (0<<10) // (default)
  63. #define SFTCFG1_CA_WAIT_P21         (1<<10) // PCMCIA_WAIT_B from pin 21
  64. #define SFTCFG1_CA_WAIT_P61         (2<<10) // PCMCIA_WAIT_B from pin 61
  65. #define SFTCFG1_CA_WAIT_P129        (3<<10) // PCMCIA_WAIT_B from pin 129
  66. #define SFTCFG1_CA_WAIT_P138        (4<<10) // PCMCIA_WAIT_B from pin 138
  67. #define SFTCFG1_CA_WAIT_256         (5<<10) // only available at 256 pin package
  68. // sft_cfg1[13]
  69. #define SFTCFG1_D_BOOT_ROM          (0<<13) // (default), boot from bfc00000 (internal ROM)
  70. #define SFTCFG1_D_BOOT_SDRAM        (1<<13) // boot from 80000000 (SDRAM)
  71. // sft_cfg1[15:14]
  72. #define SFTCFG1_FE_LPT_DIS          (0<<14) // (default)
  73. #define SFTCFG1_FE_LPT_P62_64       (1<<14) // STB from pin 62, ACK from pin 64
  74. #define SFTCFG1_FE_LPT_P135_136     (2<<14) // STB from pin 135, ACK from pin 136
  75. #define SFTCFG1_FE_LPT_256          (3<<14) // only available at 256 pin package
  76. // sft_cfg2[0]
  77. #define SFTCFG2_0_ATAPI_DIS         (0<<0)  // (default)
  78. #define SFTCFG2_0_ATAPI_EN          (1<<0)
  79. // sft_cfg2[1]
  80. #define SFTCFG2_1_IOP_RESET_DIS     (0<<1)  // (default)
  81. #define SFTCFG2_1_IOP_RESET_EN      (1<<1)  // enable IOP reset RISC
  82. // sft_cfg2[4:2]
  83. #define SFTCFG2_42_UART0_DIS        (0<<2)  // disable UART0
  84. #define SFTCFG2_42_UART0_P19_20     (1<<2)  // UART0 RX from pin 19, TX from pin 20
  85. #define SFTCFG2_42_UART0_P65_66     (2<<2)  // UART0 RX from pin 65, TX from pin 66
  86. #define SFTCFG2_42_UART0_P130_131   (3<<2)  // UART0 RX from pin 130, TX from pin 131
  87. #define SFTCFG2_42_UART0_P144_145   (4<<2)  // UART0 RX from pin 144, TX from pin 145
  88. #define SFTCFG2_42_UART0_P175_176   (5<<2)  // (default), UART0 RX from pin 175, TX from pin 176
  89. #define SFTCFG2_42_UART0_256_1      (6<<2)  // only available at 256 pin package
  90. #define SFTCFG2_42_UART0_256_2      (7<<2)  // only available at 256 pin package
  91. // sft_cfg2[8:5]
  92. #define SFTCFG2_85_UART1_DIS        (0x0<<5)    // (default)
  93. #define SFTCFG2_85_UART1_CFG3       (0x3<<5)    // UART1 RX from pin 41, TX from pin 43
  94. #define SFTCFG2_85_UART1_CFG4       (0x4<<5)    // UART1 CTS from pin 39, RTS from pin 40, RX from pin 41, TX from pin 43
  95. #define SFTCFG2_85_UART1_CFG5       (0x5<<5)    // UART1 DCD from pin 34, RI from pin 35, DSR from pin 37, DTR from pin 38, CTS from pin 39, RTS from pin 40, RX from pin 41, TX from pin 43
  96. #define SFTCFG2_85_UART1_CFG6       (0x6<<5)    // UART1 RX from pin 134, TX from pin 135
  97. #define SFTCFG2_85_UART1_CFG7       (0x7<<5)    // UART1 CTS from pin 136, RTS from pin 138, RX from pin 134, TX from pin 135
  98. #define SFTCFG2_85_UART1_CFG8       (0x8<<5)    // UART1 DCD from pin 145, RI from pin 144, DSR from pin 141, DTR from pin 143, CTS from pin 136, RTS from pin 138, RX from pin 134, TX from pin 135
  99. #define SFTCFG2_85_UART1_CFG9       (0x9<<5)    // UART1 RX from pin 141, TX from pin 143
  100. #define SFTCFG2_85_UART1_CFG10      (0xa<<5)    // UART1 CTS from pin 144, RTS from pin 145, RX from pin 141, TX from pin 143
  101. #define SFTCFG2_85_UART1_CFG11      (0xb<<5)    // UART1 DCD from pin 150, RI from pin 149, DSR from pin 146, DTR from pin 148, CTS from pin 144, RTS from pin 145, RX from pin 141, TX from pin 143
  102. #define SFTCFG2_85_UART1_CFG14      (0xe<<5)    // UART1 RX from pin 29, TX from pin 31
  103. #define SFTCFG2_85_UART1_CFG15      (0xf<<5)    // UART1 RX from pin 70, TX from pin 71
  104. // sft_cfg2[11:9]
  105. #define SFTCFG2_B9_TVLCD_DIS        (0<<9)  // (default)
  106. // sft_cfg2[12]
  107. #define SFTCFG2_C_BRE_DIS           (0<<12) // (default), disable bootstrap
  108. #define SFTCFG2_C_BRE_EN            (1<<12) // enable bootstrap
  109. // sft_cfg2[13]
  110. #define SFTCFG2_D_BRP_DIS           (0<<13) // (default), disable internal pull up at bootstrap RXD (pin 175)
  111. #define SFTCFG2_D_BRP_EN            (1<<13)
  112. // sft_cfg2[14]
  113. #define SFTCFG2_E_BRS_DIS           (0<<14) // (default), bootstrap from UART0
  114. #define SFTCFG2_E_BRS_EN            (1<<14) // from UART1
  115. // sft_cfg2[15]
  116. #define SFTCFG2_F_SWAP_DIS          (0<<15) // (default)
  117. #define SFTCFG2_F_SWAP_EN           (1<<15) // swap UART0 and UART1 signals
  118. // sft_cfg3[2:0]
  119. #define SFTCFG3_20_EADC_DIS         (0<<0)  // (default)
  120. #define SFTCFG3_20_EADC_CFG1        (1<<0)  // BCK from pin 19, LRCK from pin 20, DATA from pin 21
  121. #define SFTCFG3_20_EADC_CFG2        (2<<0)  // BCK from pin 58, LRCK from pin 59, DATA from pin 60
  122. #define SFTCFG3_20_EADC_CFG3        (3<<0)  // BCK from pin 34, LRCK from pin 35, DATA from pin 37
  123. #define SFTCFG3_20_EADC_CFG4        (4<<0)  // BCK from pin 130, LRCK from pin 131, DATA from pin 133
  124. #define SFTCFG3_20_EADC_CFG5        (5<<0)  // BCK from pin 141, LRCK from pin 143, DATA from pin 144
  125. #define SFTCFG3_20_EADC_CFG6        (6<<0)  // only available at 256 pin package
  126. // sft_cfg3[3]
  127. #define SFTCFG3_3_AU2_DIS           (0<<3)  // pin 169 used as GPIO 59
  128. #define SFTCFG3_3_AU2_EN            (1<<3)  // (default)
  129. // sft_cfg3[4]
  130. #define SFTCFG3_4_AU3_DIS           (0<<4)  // pin 170 used as GPIO 60
  131. #define SFTCFG3_4_AU3_EN            (1<<4)  // (default)
  132. // sft_cfg3[5]
  133. #define SFTCFG3_5_AU4_DIS           (0<<5)  // pin 163 used as GPIO 57
  134. #define SFTCFG3_5_AU4_EN            (1<<5)  // (default)
  135. // sft_cfg3[6]
  136. #define SFTCFG3_6_LRCK_DIS          (0<<6)  // pin 171 used as GPIO 61
  137. #define SFTCFG3_6_LRCK_EN           (1<<6)  // (default)
  138. // sft_cfg3[7]
  139. #define SFTCFG3_7_AUD_DIS           (0<<7)  // pin 164 used as GPIO 58, pin 165 used as GPIO 19, pin 166 used as GPIO 20, pin 168 used as GPIO 21, pin 173 used as GPIO 22, pin 174 used as GPIO 23
  140. #define SFTCFG3_7_AUD_EN            (1<<7)  // (default)
  141. // sft_cfg3[8]
  142. #define SFTCFG3_8_SPEED_DIS         (0<<8)  // (default)
  143. #define SFTCFG3_8_SPEED_EN          (1<<8)
  144. // sft_cfg3[11:9]
  145. #define SFTCFG3_B9_SYNC_DIS         (0<<9)  // (default)
  146. #define SFTCFG3_B9_SYNC_CFG1        (2<<9)  // slave mode, HSYNC from pin 146, VSYNC from pin 148
  147. #define SFTCFG3_B9_SYNC_CFG2        (3<<9)  // master mode, HSYNC on pin 146, VSYNC on pin 148
  148. #define SFTCFG3_B9_SYNC_CFG3        (4<<9)  // slave mode, HSYNC from pin 34, VSYNC from pin 35
  149. #define SFTCFG3_B9_SYNC_CFG4        (5<<9)  // master mode, HSYNC on pin 34, VSYNC on pin 35
  150. #define SFTCFG3_B9_SYNC_256_1       (6<<9)  // only available at 256 pin package
  151. #define SFTCFG3_B9_SYNC_256_2       (7<<9)  // only available at 256 pin package
  152. // sft_cfg3[13:12]
  153. #define SFTCFG3_DC_TELETEXT_DIS     (0<<12) // (default)
  154. #define SFTCFG3_DC_TELETEXT_CFG1    (1<<12) // Teletext BIT from pin 149, REQ from pin 150
  155. #define SFTCFG3_DC_TELETEXT_CFG2    (2<<12) // Teletext BIT from pin 37, REQ from pin 38
  156. #define SFTCFG3_DC_TELETEXT_256     (3<<12) // only available at 256 pin package
  157. // sft_cfg3[15:14]
  158. #define SFTCFG3_FE_PCSYNC_DIS       (0<<14) // (default)
  159. #define SFTCFG3_FE_PCSYNC_P175_176  (1<<14) // HSYNC_PC on pin 175, VSYNC_PC on pin 176
  160. #define SFTCFG3_FE_PCSYNC_P146_148  (2<<14) // HSYNC_PC on pin 146, VSYNC_PC on pin 148
  161. #define SFTCFG3_FE_PCSYNC_P144_145  (3<<14) // HSYNC_PC on pin 144, VSYNC_PC on pin 145
  162. // sft_cfg4[2:0]
  163. #define SFTCFG4_20_DSP_FL0_DIS      (0<<0)  // (default)
  164. #define SFTCFG4_20_DSP_FL0_P146     (1<<0)  // DSP_FL0 from pin 146
  165. #define SFTCFG4_20_DSP_FL0_P19      (2<<0)  // DSP_FL0 from pin 19
  166. #define SFTCFG4_20_DSP_FL0_P53      (3<<0)  // DSP_FL0 from pin 53
  167. #define SFTCFG4_20_DSP_FL0_P67      (4<<0)  // DSP_FL0 from pin 67
  168. #define SFTCFG4_20_DSP_FL0_256      (5<<0)  // only available at 256 pin package
  169. // sft_cfg4[5:3]
  170. #define SFTCFG4_53_DSP_FL1_DIS      (0<<3)  // (default)
  171. #define SFTCFG4_53_DSP_FL1_P148     (1<<3)  // DSP_FL1 from pin 148
  172. #define SFTCFG4_53_DSP_FL1_P20      (2<<3)  // DSP_FL1 from pin 20
  173. #define SFTCFG4_53_DSP_FL1_P54      (3<<3)  // DSP_FL1 from pin 54
  174. #define SFTCFG4_53_DSP_FL1_P68      (4<<3)  // DSP_FL1 from pin 68
  175. #define SFTCFG4_53_DSP_FL1_256      (5<<3)  // only available at 256 pin package
  176. // sft_cfg4[8:6]
  177. #define SFTCFG4_86_DSP_FL2_DIS      (0<<6)  // (default)
  178. #define SFTCFG4_86_DSP_FL2_P149     (1<<6)  // DSP_FL1 from pin 149
  179. #define SFTCFG4_86_DSP_FL2_P56      (3<<6)  // DSP_FL1 from pin 56
  180. #define SFTCFG4_86_DSP_FL2_P70      (4<<6)  // DSP_FL1 from pin 70
  181. #define SFTCFG4_86_DSP_FL2_256      (5<<6)  // only available at 256 pin package
  182. // sft_cfg4[11:9]
  183. #define SFTCFG4_B9_DSP_FO_DIS       (0<<9)  // (default)
  184. #define SFTCFG4_B9_DSP_FO_P150      (1<<9)  // DSP_FO from pin 150
  185. #define SFTCFG4_B9_DSP_FO_P21       (2<<9)  // DSP_FO from pin 21
  186. #define SFTCFG4_B9_DSP_FO_P57       (3<<9)  // DSP_FO from pin 57
  187. #define SFTCFG4_B9_DSP_FO_P71       (4<<9)  // DSP_FO from pin 71
  188. #define SFTCFG4_B9_DSP_FO_256       (5<<9)  // only available at 256 pin package
  189. // sft_cfg4[12]
  190. #define SFTCFG4_C_TTIO_DIS          (0<<12) // (default)
  191. #define SFTCFG4_C_TTIO_CFG          (1<<12) // TTIO use pin 26,27,28,29
  192. // sft_cfg4[14:13]
  193. #define SFTCFG4_ED_TDM_DIS          (0<<13) // (default)
  194. #define SFTCFG4_ED_TDM_CFG1         (1<<13) // DX from pin 26, CLK from pin 27, FSXR from pin 28, DR from pin 29
  195. #define SFTCFG4_ED_TDM_CFG2         (2<<13) // DX from pin 153, CLK from pin 154, FSXR from pin 155, DR from pin 156
  196. // sft_cfg5[2:0]
  197. #define SFTCFG5_20_DSP_IN_DIS       (0<<0)  // (default)
  198. #define SFTCFG5_20_DSP_IN_CFG1      (1<<0)  // IN from pin 149, IRQE from pin 150
  199. #define SFTCFG5_20_DSP_IN_CFG2      (2<<0)  // IN from pin 136, IRQE from pin 138
  200. #define SFTCFG5_20_DSP_IN_CFG3      (3<<0)  // IN from pin 29, IRQE from pin 31
  201. #define SFTCFG5_20_DSP_IN_256       (4<<0)  // only available at 256 pin package
  202. // sft_cfg5[8:6]
  203. #define SFTCFG5_86_RISC_INT1_DIS    (0<<6)  // (default)
  204. #define SFTCFG5_86_RISC_INT1_CFG1   (1<<6)  // INT1[11] from pin 141, INT1[12] from pin 143, INT1[13] from pin 144, INT1[14] from pin 145, INT1[15] from pin 146
  205. #define SFTCFG5_86_RISC_INT1_CFG2   (2<<6)  // INT1[11] from pin 129, INT1[12] from pin 130, INT1[13] from pin 131, INT1[14] from pin 133, INT1[15] from pin 134
  206. #define SFTCFG5_86_RISC_INT1_CFG3   (3<<6)  // INT1[11] from pin 29, INT1[12] from pin 31, INT1[13] from pin 34, INT1[14] from pin 35, INT1[15] from pin 37
  207. #define SFTCFG5_86_RISC_INT1_256    (4<<6)  // only available at 256 pin package
  208. // sft_cfg5[11:9]
  209. #define SFTCFG5_B9_RISC_INT52_DIS   (0<<9)  // (default)
  210. #define SFTCFG5_B9_RISC_INT52_CFG1  (1<<9)  // INTRQ_N[2] from pin 141, INTRQ_N[3] from pin 143, INTRQ_N[4] from pin 144, INTRQ_N[5] from pin 145
  211. #define SFTCFG5_B9_RISC_INT52_CFG2  (2<<9)  // INTRQ_N[2] from pin 129, INTRQ_N[3] from pin 130, INTRQ_N[4] from pin 131, INTRQ_N[5] from pin 133
  212. #define SFTCFG5_B9_RISC_INT52_CFG3  (3<<9)  // INTRQ_N[2] from pin 29, INTRQ_N[3] from pin 31, INTRQ_N[4] from pin 34, INTRQ_N[5] from pin 35
  213. #define SFTCFG5_B9_RISC_INT52_256   (4<<9)  // only available at 256 pin package
  214. // sft_cfg5[14:12]
  215. #define SFTCFG5_EC_RISC_INTEXT_DIS  (0<<12) // (default)
  216. #define SFTCFG5_EC_RISC_INTEXT_CFG1 (1<<12) // INTRQ_N[0] from pin 141, INTRQ_N[1] from pin 143, INTRQ_N[2] from pin 144, INTRQ_N[3] from pin 145, INTRQ_N[4] from pin 146, INTRQ_N[5] from pin 148
  217. #define SFTCFG5_EC_RISC_INTEXT_CFG2 (2<<12) // INTRQ_N[0] from pin 129, INTRQ_N[1] from pin 130, INTRQ_N[2] from pin 131, INTRQ_N[3] from pin 133, INTRQ_N[4] from pin 134, INTRQ_N[5] from pin 135
  218. #define SFTCFG5_EC_RISC_INTEXT_CFG3 (3<<12) // INTRQ_N[0] from pin 29, INTRQ_N[1] from pin 31, INTRQ_N[2] from pin 34, INTRQ_N[3] from pin 35, INTRQ_N[4] from pin 37, INTRQ_N[5] from pin 38
  219. #define SFTCFG5_EC_RISC_INTEXT_256  (4<<12) // only available at 256 pin package
  220. // sft_cfg5[15]
  221. #define SFTCFG5_F_BRIT_DIS          (0<<15) // (default)
  222. #define SFTCFG5_F_BRIT_256          (1<<15) // only available at 256 pin package
  223. // sft_cfg6[0]
  224. #define SFTCFG6_0_SCLK_NOT_INVERT   (0<<0)  // MPEG_CLK not invert
  225. #define SFTCFG6_0_SCLK_INVERT       (1<<0)  // (default), invert
  226. // sft_cfg6[1]
  227. #define SFTCFG6_1_SMEM_DIS          (0<<1)
  228. #define SFTCFG6_1_SMEM_EN           (1<<1)  // (default), SERVO/MPEG SDRAM interface enable
  229. // sft_cfg6[2]
  230. #define SFTCFG6_2_SREG_DIS          (0<<2)
  231. #define SFTCFG6_2_SREG_EN           (1<<2)  // (default), SERVO/MPEG register interface enable
  232. // sft_cfg6[3]
  233. #define SFTCFG6_3_SMODE_DIS         (0<<3)  // (default)
  234. #define SFTCFG6_3_SMODE_EN          (1<<3)  // bit2-0 is used to config SERVO/MPEG interface
  235. // sft_cfg6[4]
  236. #define SFTCFG6_4_SA11_DIS          (0<<4)  // pin 109 used as GPIO 14
  237. #define SFTCFG6_4_SA11_EN           (1<<4)  // (default)
  238. // sft_cfg6[5]
  239. #define SFTCFG6_5_SA12_DIS          (0<<5)  // pin 151 used as GPIO 18
  240. #define SFTCFG6_5_SA12_EN           (1<<5)  // (default)
  241. // sft_cfg6[6]
  242. #define SFTCFG6_6_SBA1_DIS          (0<<6)  // pin 121 used as GPIO 15
  243. #define SFTCFG6_6_SBA1_EN           (1<<6)  // (default)
  244. // sft_cfg6[7]
  245. #define SFTCFG6_7_SDQM2_DIS         (0<<7)  // pin 140 used as GPIO 17
  246. #define SFTCFG6_7_SDQM2_EN          (1<<7)  // (default)
  247. // sft_cfg6[8]
  248. #define SFTCFG6_8_SDQM3_DIS         (0<<8)  // pin 139 used as GPIO 16
  249. #define SFTCFG6_8_SDQM3_EN          (1<<8)  // (default)
  250. // sft_cfg6[9]
  251. #define SFTCFG6_9_SPD_DIS           (0<<9)  // (default)
  252. #define SFTCFG6_9_SPD_EN            (1<<9)  // share mode: pin 34,35,37; non-share mode: pin 56,57,58
  253. // sft_cfg6[10]
  254. #define SFTCFG6_A_PLLA1_DIS         (0<<10) // 135 MHz PLLA disable
  255. #define SFTCFG6_A_PLLA1_EN          (1<<10) // (default)
  256. // sft_cfg6[11]
  257. #define SFTCFG6_B_PLLA2_DIS         (0<<11) // 147 MHz PLLA disable
  258. #define SFTCFG6_B_PLLA2_EN          (1<<11) // (default)
  259. // sft_cfg6[12]
  260. #define SFTCFG6_C_TVTET_DIS         (0<<12) // (default)
  261. #define SFTCFG6_C_TVTST_EN          (1<<12)
  262. // sft_cfg6[13]
  263. #define SFTCFG6_D_OSD_TV            (0<<13) // (default)
  264. #define SFTCFG6_D_OSD_PIN           (1<<13)
  265. // sft_cfg6[14]
  266. #define SFTCFG6_E_656_TV            (0<<14) // (default)
  267. #define SFTCFG6_E_656_PIN           (1<<14)
  268. /*
  269. #define GPIOSEL_8_HVSYNC    (1<<8)
  270. //
  271. // GPIO_SEL[]
  272. //
  273. // GPIO_SEL[1:0]
  274. #define GPIOSEL_10_EPP      (0x0<<0)    // EPP
  275. #define GPIOSEL_10_MODEM    (0x1<<0)
  276. #define GPIOSEL_10_UARTS    (0x2<<0)    // 2 UART, for extra GPIO and UART debugging
  277. #define GPIOSEL_10_GPIOS    (0x3<<0)
  278. // GPIO_SEL[5:2]
  279. #define GPIOSEL_52_ATAPI    (0x0<<2)
  280. #define GPIOSEL_52_UDE      (0x1<<2)
  281. #define GPIOSEL_52_UDE2     (0x8<<2)
  282. #define GPIOSEL_52_GPIO     (0xc<<2)
  283. // GPIO_SEL[6]
  284. #define GPIOSEL_6_GPIO      (0<<6)      // 0: RISC_INT3 and IRQE3_L
  285. #define GPIOSEL_6_CLK27M    (1<<6)      // 1: TV-encoder 27M
  286. // GPIO_SEL[7]
  287. #define GPIOSEL_7_GPIO      (0<<7)      // 0: RISC_INT2 and IRQE2_L
  288. #define GPIOSEL_7_PALNTSC   (1<<7)      // 1: O_PAL_NTSC
  289. // GPIO_SEL[8]
  290. #define GPIOSEL_8_HVSYNC_IN (0<<8)      // 0: GPIO
  291. #define GPIOSEL_8_GPIO      (1<<8)      // 1: DSP FL0
  292. // GPIO_SEL[9]
  293. #define GPIOSEL_9_UART_NORMAL   (0<<9)      // 0: UART1/UART2
  294. #define GPIOSEL_9_UART_SWAPPED  (1<<9)      // 1: UART2/UART1
  295. // GPIO_SEL[10]
  296. #define GPIOSEL_A_GPIO20    (0<<10)     // 0: GPIO[20]
  297. #define GPIOSEL_A_FL0       (1<<10)     // 1: DSP FL0
  298. // GPIO_SEL[11]
  299. #define GPIOSEL_B_GPIO21    (0<<11)     // 0: GPIO[21]
  300. #define GPIOSEL_B_FL1       (1<<11)     // 1: DSP FL1
  301. // GPIO_SEL[12]
  302. #define GPIOSEL_C_GPIO59    (0<<12)     // 0: GPIO[59]
  303. #define GPIOSEL_C_FL2       (1<<12)     // 1: DSP FL2
  304. // GPIO_SEL[14:13]
  305. #define GPIOSEL_ED_TVOUT_ALYS   (0<<13)     // 0b00: always output
  306. #define GPIOSEL_ED_TVOUT_TRI    (2<<13)     // 0b10: HZ when GPIOE[2]==1
  307. #define GPIOSEL_ED_TVOUT_TRIN   (3<<13)     // 0b11: HZ when GPIOE[2]==0
  308. //
  309. // GPIO_SEL_AUX
  310. //
  311. // GPIO_SEL_AUX[0]
  312. #define GPIOAUX_0_ROMADDR21 (0<<0)      // 0: ROM_ADDR[21] (default)
  313. #define GPIOAUX_0_GPIO0     (1<<0)      // 1: GPIO[0]
  314. // GPIO_SEL_AUX[1]
  315. #define GPIOAUX_1_ROMADDR20 (0<<1)      // 0: ROM_ADDR[20] (default)
  316. #define GPIOAUX_1_GPIO1     (1<<1)      // 1: GPIO[1]
  317. // GPIO_SEL_AUX[2]
  318. #define GPIOAUX_2_MEMWEB    (0<<2)      // 0: MEMWE_B (default)
  319. #define GPIOAUX_2_GPIO2     (1<<2)      // 1: GPIO[2]
  320. // GPIO_SEL_AUX[3]
  321. #define GPIOAUX_3_MEMOEB    (0<<3)      // 0: MEMOE_B (default)
  322. #define GPIOAUX_3_GPIO12    (1<<3)      // 1: GPIO[12]
  323. // GPIO_SEL_AUX[6:4]
  324. #define GPIOAUX_64_MEMCS3_CSX   (1<<4)      // 000: normal
  325. #define GPIOAUX_64_MEMCS3_CS1   (0<<4)      // 001: direct CS3 to CS1 (for CS1 programming)
  326. #define GPIOAUX_64_MEMCS3_CS2   (2<<4)      // 010: direct CS3 to CS2 (for CS2 programming)
  327. #define GPIOAUX_64_MEMCS3_CS3   (3<<4)      // 011: direct CS3 to CS2 (for CS3 programming)
  328. #define GPIOAUX_64_MEMCS3_GPIO  (4<<4)      // 100: GPIO[15:13]
  329. // GPIO_SEL_AUX[7]
  330. #define GPIOAUX_7_ROMADDR22 (0<<7)      // 0: ROM_ADDR[22]
  331. #define GPIOAUX_7_GPIO16    (1<<7)      // 1: GPIO[16]
  332. // GPIO_SEL_AUX[8]
  333. #define GPIOAUX_8_ROMADDR23 (0<<8)      // 0: ROM_ADDR[23]
  334. #define GPIOAUX_8_GPIO17    (1<<8)      // 1: GPIO[17]
  335. // GPIO_SEL_AUX[9]
  336. #define GPIOAUX_9_ROMADDR24 (0<<9)      // 0: ROM_ADDR[24]
  337. #define GPIOAUX_9_GPIO18    (1<<9)      // 1: GPIO[18]
  338. // GPIO_SEL_AUX[10]
  339. #define GPIOAUX_A_ROMADDR25 (0<<10)     // 0: ROM_ADDR[25]
  340. #define GPIOAUX_A_GPIO19    (1<<10)     // 1: GPIO[19]
  341. // aux: 10
  342. // sel: 00
  343. #define GPIO_SEL_DEFAULT    ( GPIOSEL_10_EPP    
  344.                 | GPIOSEL_52_ATAPI  
  345.                 | GPIOSEL_6_GPIO    
  346.                 | GPIOSEL_7_GPIO    
  347.                 | GPIOSEL_8_HVSYNC_IN   
  348.                 | GPIOSEL_9_UART_NORMAL 
  349.                 | GPIOSEL_A_FL0     
  350.                 | GPIOSEL_B_FL1     
  351.                 | GPIOSEL_C_GPIO59  
  352.                 | GPIOSEL_ED_TVOUT_ALYS 
  353.                 )
  354. #define GPIO_SEL_AUX_DEFAULT    ( GPIOAUX_0_GPIO0   
  355.                 | GPIOAUX_1_GPIO1   
  356.                 | GPIOAUX_2_GPIO2   
  357.                 | GPIOAUX_3_MEMOEB  
  358.                 | GPIOAUX_64_MEMCS3_CSX 
  359.                 | GPIOAUX_7_ROMADDR22   
  360.                 | GPIOAUX_8_ROMADDR23   
  361.                 | GPIOAUX_9_ROMADDR24   
  362.                 | GPIOAUX_A_ROMADDR25   
  363.                 )
  364. */
  365. //
  366. // generic GPIO operations
  367. // 
  368. #define GPIO_I_GET(a)   ((regs0->gpio_in[a/16] >> (a%16)) & 0x01)
  369. #define GPIO_O_SET(a,d) ((d) ? (regs0->gpio_out[a/16] |= (1<<(a%16))) 
  370.                              : (regs0->gpio_out[a/16] &= ~(1<<(a%16))) )
  371. #define GPIO_E_SET(a,d) ((d) ? (regs0->gpio_oe[a/16] |= (1<<(a%16))) 
  372.                              : (regs0->gpio_oe[a/16] &= ~(1<<(a%16))) )
  373. #define GPIO_M_SET(a,d) ((d) ? (regs0->gpio_master[a/16] |= (1<<(a%16))) 
  374.                              : (regs0->gpio_master[a/16] &= ~(1<<(a%16))) )
  375. #ifdef SPHE8202
  376. #include "gpio_8202.h"
  377. #else
  378. #include "gpio_mute_8200.h"
  379. #endif
  380. #ifdef TOP_DOOR_LOADER
  381. #ifdef USE_2_DOOR_SENSE_GPIO //gerry,2004-1-10 9:51
  382.     #define GPIO_GET_DOOR_STATUS()          (GPIO_I_GET(DOOR_SENSE_GPIO)|GPIO_I_GET(DOOR_SENSE_GPIO_2))
  383. #else
  384.     #define GPIO_GET_DOOR_STATUS()          GPIO_I_GET(DOOR_SENSE_GPIO)
  385.     #endif
  386.     #define DOOR_OPEN                       1
  387. #endif //#ifdef TOP_DOOR_LOADER
  388. #ifdef PORTABLE_DVD //Jack for Portable DVD 04/06/03
  389.     #include "gpio_portable.h" //0725 splitted for portable
  390. #endif
  391. //GPIO Function
  392. #ifdef SUPPORT_VIDEO_BUFFER_STANDBY
  393. void video_buff_power_off(void);
  394. void video_buff_power_on(void);
  395. #endif
  396.                              
  397. #ifdef SUPPORT_EXTERNAL_MIC                          
  398. void extern_mic_detect_on(void);
  399. int extern_mic_is_detected(void);
  400. void extern_mic_unmute(void);
  401. void extern_mic_mute(void);
  402. #endif
  403.                              
  404. #ifdef GPIO_KEY_LIGHT
  405. void init_keylight_io(void);
  406. #if defined(USE_VFD_GAME_PORT_TO_KEYBOARD_HJ)
  407. void init_hj_keylight_io(void);
  408. #elif defined(USE_VFDPORT_TO_KEYLIGHT_GBM)
  409. void init_gbm_keylight_io(void);
  410. #elif defined(USE_VFDPORT_TO_KEYLIGHT_IDALL)
  411.     void init_idall_keylight_io(void);
  412.     #elif defined(USE_VFDPORT_TO_KEYLIGHT_THAKRAL)
  413.     void init_thakral_keylight_io(void);
  414. #endif
  415. #endif
  416.                              
  417. #endif/*__GPIO_H*/