pic18fam.h 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302
  1. /*
  2. * pic18fam.h - PIC16 families
  3. *
  4. * This file is has been generated using ./pic18fam-h-gen.pl .
  5. */
  6. #ifndef __SDCC_PIC18FAM_H__
  7. #define __SDCC_PIC18FAM_H__ 1
  8. /*
  9. * Define device families.
  10. */
  11. #undef __SDCC_PIC16_FAMILY
  12. #if defined(__SDCC_PIC18F242) \
  13. || defined(__SDCC_PIC18F252) \
  14. || defined(__SDCC_PIC18F442) \
  15. || defined(__SDCC_PIC18F452)
  16. #define __SDCC_PIC16_FAMILY 1802420
  17. #elif defined(__SDCC_PIC18F248) \
  18. || defined(__SDCC_PIC18F258) \
  19. || defined(__SDCC_PIC18F448) \
  20. || defined(__SDCC_PIC18F458)
  21. #define __SDCC_PIC16_FAMILY 1802480
  22. #elif defined(__SDCC_PIC18F1220) \
  23. || defined(__SDCC_PIC18F1320)
  24. #define __SDCC_PIC16_FAMILY 1812200
  25. #elif defined(__SDCC_PIC18F1230) \
  26. || defined(__SDCC_PIC18F1330)
  27. #define __SDCC_PIC16_FAMILY 1812300
  28. #elif defined(__SDCC_PIC18F13K50) \
  29. || defined(__SDCC_PIC18F14K50)
  30. #define __SDCC_PIC16_FAMILY 1813502
  31. #elif defined(__SDCC_PIC18F2220) \
  32. || defined(__SDCC_PIC18F2320) \
  33. || defined(__SDCC_PIC18F4220) \
  34. || defined(__SDCC_PIC18F4320)
  35. #define __SDCC_PIC16_FAMILY 1822200
  36. #elif defined(__SDCC_PIC18F2221) \
  37. || defined(__SDCC_PIC18F2321) \
  38. || defined(__SDCC_PIC18F4221) \
  39. || defined(__SDCC_PIC18F4321)
  40. #define __SDCC_PIC16_FAMILY 1822210
  41. #elif defined(__SDCC_PIC18F23K20) \
  42. || defined(__SDCC_PIC18F24K20) \
  43. || defined(__SDCC_PIC18F25K20) \
  44. || defined(__SDCC_PIC18F26K20) \
  45. || defined(__SDCC_PIC18F43K20) \
  46. || defined(__SDCC_PIC18F44K20) \
  47. || defined(__SDCC_PIC18F45K20) \
  48. || defined(__SDCC_PIC18F46K20)
  49. #define __SDCC_PIC16_FAMILY 1823202
  50. #elif defined(__SDCC_PIC18F23K22) \
  51. || defined(__SDCC_PIC18F24K22) \
  52. || defined(__SDCC_PIC18F25K22) \
  53. || defined(__SDCC_PIC18F26K22) \
  54. || defined(__SDCC_PIC18F43K22) \
  55. || defined(__SDCC_PIC18F44K22) \
  56. || defined(__SDCC_PIC18F45K22) \
  57. || defined(__SDCC_PIC18F46K22)
  58. #define __SDCC_PIC16_FAMILY 1823222
  59. #elif defined(__SDCC_PIC18F2331) \
  60. || defined(__SDCC_PIC18F2431) \
  61. || defined(__SDCC_PIC18F4331) \
  62. || defined(__SDCC_PIC18F4431)
  63. #define __SDCC_PIC16_FAMILY 1823310
  64. #elif defined(__SDCC_PIC18F2410) \
  65. || defined(__SDCC_PIC18F2510) \
  66. || defined(__SDCC_PIC18F2515) \
  67. || defined(__SDCC_PIC18F2610) \
  68. || defined(__SDCC_PIC18F4410) \
  69. || defined(__SDCC_PIC18F4510) \
  70. || defined(__SDCC_PIC18F4515) \
  71. || defined(__SDCC_PIC18F4610)
  72. #define __SDCC_PIC16_FAMILY 1824100
  73. #elif defined(__SDCC_PIC18F24J10) \
  74. || defined(__SDCC_PIC18F25J10) \
  75. || defined(__SDCC_PIC18F44J10) \
  76. || defined(__SDCC_PIC18F45J10)
  77. #define __SDCC_PIC16_FAMILY 1824101
  78. #elif defined(__SDCC_PIC18F2420) \
  79. || defined(__SDCC_PIC18F2520) \
  80. || defined(__SDCC_PIC18F4420) \
  81. || defined(__SDCC_PIC18F4520)
  82. #define __SDCC_PIC16_FAMILY 1824200
  83. #elif defined(__SDCC_PIC18F2423) \
  84. || defined(__SDCC_PIC18F2523) \
  85. || defined(__SDCC_PIC18F4423) \
  86. || defined(__SDCC_PIC18F4523)
  87. #define __SDCC_PIC16_FAMILY 1824230
  88. #elif defined(__SDCC_PIC18F2450) \
  89. || defined(__SDCC_PIC18F4450)
  90. #define __SDCC_PIC16_FAMILY 1824500
  91. #elif defined(__SDCC_PIC18F24J50) \
  92. || defined(__SDCC_PIC18F25J50) \
  93. || defined(__SDCC_PIC18F26J50) \
  94. || defined(__SDCC_PIC18F44J50) \
  95. || defined(__SDCC_PIC18F45J50) \
  96. || defined(__SDCC_PIC18F46J50)
  97. #define __SDCC_PIC16_FAMILY 1824501
  98. #elif defined(__SDCC_PIC18F2455) \
  99. || defined(__SDCC_PIC18F2550) \
  100. || defined(__SDCC_PIC18F4455) \
  101. || defined(__SDCC_PIC18F4550)
  102. #define __SDCC_PIC16_FAMILY 1824550
  103. #elif defined(__SDCC_PIC18F2480) \
  104. || defined(__SDCC_PIC18F2580) \
  105. || defined(__SDCC_PIC18F4480) \
  106. || defined(__SDCC_PIC18F4580)
  107. #define __SDCC_PIC16_FAMILY 1824800
  108. #elif defined(__SDCC_PIC18F2525) \
  109. || defined(__SDCC_PIC18F2620) \
  110. || defined(__SDCC_PIC18F4525) \
  111. || defined(__SDCC_PIC18F4620)
  112. #define __SDCC_PIC16_FAMILY 1825250
  113. #elif defined(__SDCC_PIC18F2585) \
  114. || defined(__SDCC_PIC18F2680) \
  115. || defined(__SDCC_PIC18F4585) \
  116. || defined(__SDCC_PIC18F4680)
  117. #define __SDCC_PIC16_FAMILY 1825850
  118. #elif defined(__SDCC_PIC18F2682) \
  119. || defined(__SDCC_PIC18F2685) \
  120. || defined(__SDCC_PIC18F4682) \
  121. || defined(__SDCC_PIC18F4685)
  122. #define __SDCC_PIC16_FAMILY 1826820
  123. #elif defined(__SDCC_PIC18F6520) \
  124. || defined(__SDCC_PIC18F6620) \
  125. || defined(__SDCC_PIC18F6720) \
  126. || defined(__SDCC_PIC18F8520) \
  127. || defined(__SDCC_PIC18F8620) \
  128. || defined(__SDCC_PIC18F8720)
  129. #define __SDCC_PIC16_FAMILY 1865200
  130. #elif defined(__SDCC_PIC18F6527) \
  131. || defined(__SDCC_PIC18F6622) \
  132. || defined(__SDCC_PIC18F6627) \
  133. || defined(__SDCC_PIC18F6722) \
  134. || defined(__SDCC_PIC18F8527) \
  135. || defined(__SDCC_PIC18F8622) \
  136. || defined(__SDCC_PIC18F8627) \
  137. || defined(__SDCC_PIC18F8722)
  138. #define __SDCC_PIC16_FAMILY 1865270
  139. #elif defined(__SDCC_PIC18F65J50) \
  140. || defined(__SDCC_PIC18F66J50) \
  141. || defined(__SDCC_PIC18F66J55) \
  142. || defined(__SDCC_PIC18F67J50) \
  143. || defined(__SDCC_PIC18F85J50) \
  144. || defined(__SDCC_PIC18F86J50) \
  145. || defined(__SDCC_PIC18F86J55) \
  146. || defined(__SDCC_PIC18F87J50)
  147. #define __SDCC_PIC16_FAMILY 1865501
  148. #elif defined(__SDCC_PIC18F6585) \
  149. || defined(__SDCC_PIC18F6680) \
  150. || defined(__SDCC_PIC18F8585) \
  151. || defined(__SDCC_PIC18F8680)
  152. #define __SDCC_PIC16_FAMILY 1865850
  153. #elif defined(__SDCC_PIC18F66J60) \
  154. || defined(__SDCC_PIC18F66J65) \
  155. || defined(__SDCC_PIC18F67J60) \
  156. || defined(__SDCC_PIC18F86J60) \
  157. || defined(__SDCC_PIC18F86J65) \
  158. || defined(__SDCC_PIC18F87J60) \
  159. || defined(__SDCC_PIC18F96J60) \
  160. || defined(__SDCC_PIC18F96J65) \
  161. || defined(__SDCC_PIC18F97J60)
  162. #define __SDCC_PIC16_FAMILY 1866601
  163. #else
  164. #warning No family associated with the target device. Please update your pic16/pic18fam.h manually and/or inform the maintainer.
  165. #endif
  166. /*
  167. * Define ADC style per device family.
  168. */
  169. #undef __SDCC_ADC_STYLE
  170. #if (__SDCC_PIC16_FAMILY == 1823310)
  171. #define __SDCC_ADC_STYLE 0
  172. #elif (__SDCC_PIC16_FAMILY == 1802420) \
  173. || (__SDCC_PIC16_FAMILY == 1802480)
  174. #define __SDCC_ADC_STYLE 1802420
  175. #elif (__SDCC_PIC16_FAMILY == 1812200)
  176. #define __SDCC_ADC_STYLE 1812200
  177. #elif (__SDCC_PIC16_FAMILY == 1812300)
  178. #define __SDCC_ADC_STYLE 1812300
  179. #elif (__SDCC_PIC16_FAMILY == 1813502)
  180. #define __SDCC_ADC_STYLE 1813502
  181. #elif (__SDCC_PIC16_FAMILY == 1822200) \
  182. || (__SDCC_PIC16_FAMILY == 1822210) \
  183. || (__SDCC_PIC16_FAMILY == 1823202) \
  184. || (__SDCC_PIC16_FAMILY == 1824100) \
  185. || (__SDCC_PIC16_FAMILY == 1824101) \
  186. || (__SDCC_PIC16_FAMILY == 1824200) \
  187. || (__SDCC_PIC16_FAMILY == 1824230) \
  188. || (__SDCC_PIC16_FAMILY == 1824500) \
  189. || (__SDCC_PIC16_FAMILY == 1824550) \
  190. || (__SDCC_PIC16_FAMILY == 1824800) \
  191. || (__SDCC_PIC16_FAMILY == 1825250) \
  192. || (__SDCC_PIC16_FAMILY == 1825850) \
  193. || (__SDCC_PIC16_FAMILY == 1826820) \
  194. || (__SDCC_PIC16_FAMILY == 1865200) \
  195. || (__SDCC_PIC16_FAMILY == 1865270) \
  196. || (__SDCC_PIC16_FAMILY == 1865850) \
  197. || (__SDCC_PIC16_FAMILY == 1866601)
  198. #define __SDCC_ADC_STYLE 1822200
  199. #elif (__SDCC_PIC16_FAMILY == 1823222)
  200. #define __SDCC_ADC_STYLE 1823222
  201. #elif (__SDCC_PIC16_FAMILY == 1824501)
  202. #define __SDCC_ADC_STYLE 1824501
  203. #elif (__SDCC_PIC16_FAMILY == 1865501)
  204. #define __SDCC_ADC_STYLE 1865501
  205. #else
  206. #warning No ADC style associated with the target device. Please update your pic16/pic18fam.h manually and/or inform the maintainer.
  207. #endif
  208. /*
  209. * Define (E)USART style per device family.
  210. */
  211. #undef __SDCC_USART_STYLE
  212. #if (__SDCC_PIC16_FAMILY == 1812200)
  213. #define __SDCC_USART_STYLE 1812200
  214. #elif (__SDCC_PIC16_FAMILY == 1812300)
  215. #define __SDCC_USART_STYLE 1812300
  216. #elif (__SDCC_PIC16_FAMILY == 1813502)
  217. #define __SDCC_USART_STYLE 1813502
  218. #elif (__SDCC_PIC16_FAMILY == 1802420) \
  219. || (__SDCC_PIC16_FAMILY == 1802480) \
  220. || (__SDCC_PIC16_FAMILY == 1822200)
  221. #define __SDCC_USART_STYLE 1822200
  222. #elif (__SDCC_PIC16_FAMILY == 1822210) \
  223. || (__SDCC_PIC16_FAMILY == 1823202) \
  224. || (__SDCC_PIC16_FAMILY == 1823222) \
  225. || (__SDCC_PIC16_FAMILY == 1823310) \
  226. || (__SDCC_PIC16_FAMILY == 1824100) \
  227. || (__SDCC_PIC16_FAMILY == 1824101) \
  228. || (__SDCC_PIC16_FAMILY == 1824200) \
  229. || (__SDCC_PIC16_FAMILY == 1824230) \
  230. || (__SDCC_PIC16_FAMILY == 1824550) \
  231. || (__SDCC_PIC16_FAMILY == 1825250)
  232. #define __SDCC_USART_STYLE 1822210
  233. #elif (__SDCC_PIC16_FAMILY == 1824500) \
  234. || (__SDCC_PIC16_FAMILY == 1824800) \
  235. || (__SDCC_PIC16_FAMILY == 1825850) \
  236. || (__SDCC_PIC16_FAMILY == 1826820)
  237. #define __SDCC_USART_STYLE 1824500
  238. #elif (__SDCC_PIC16_FAMILY == 1824501) \
  239. || (__SDCC_PIC16_FAMILY == 1865270) \
  240. || (__SDCC_PIC16_FAMILY == 1865501) \
  241. || (__SDCC_PIC16_FAMILY == 1866601)
  242. #define __SDCC_USART_STYLE 1824501
  243. #elif (__SDCC_PIC16_FAMILY == 1865200)
  244. #define __SDCC_USART_STYLE 1865200
  245. #elif (__SDCC_PIC16_FAMILY == 1865850)
  246. #define __SDCC_USART_STYLE 1865850
  247. #else
  248. #warning No (E)USART style associated with the target device. Please update your pic16/pic18fam.h manually and/or inform the maintainer.
  249. #endif
  250. #endif /* !__SDCC_PIC18FAM_H__ */