SConscript 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315
  1. from building import *
  2. cwd = GetCurrentDir()
  3. src = Split('''
  4. source/ccmu/hal_clk.c
  5. source/ccmu/sunxi-ng/clk-fixed-rate.c
  6. source/ccmu/sunxi-ng/ccu_common.c
  7. source/ccmu/sunxi-ng/ccu_sdm.c
  8. source/ccmu/sunxi-ng/ccu_mp.c
  9. source/ccmu/sunxi-ng/ccu_mult.c
  10. source/ccmu/sunxi-ng/clk-fixed-factor.c
  11. source/ccmu/sunxi-ng/ccu_reset.c
  12. source/ccmu/sunxi-ng/ccu_gate.c
  13. source/ccmu/sunxi-ng/ccu-sun8iw20-rtc.c
  14. source/ccmu/sunxi-ng/ccu-sun8iw20-r.c
  15. source/ccmu/sunxi-ng/ccu_frac.c
  16. source/ccmu/sunxi-ng/ccu_mux.c
  17. source/ccmu/sunxi-ng/ccu_nm.c
  18. source/ccmu/sunxi-ng/ccu.c
  19. source/ccmu/sunxi-ng/ccu_nk.c
  20. source/ccmu/sunxi-ng/clk.c
  21. source/ccmu/sunxi-ng/ccu_nkm.c
  22. source/ccmu/sunxi-ng/clk-divider.c
  23. source/ccmu/sunxi-ng/ccu_div.c
  24. source/ccmu/sunxi-ng/ccu_nkmp.c
  25. source/ccmu/sunxi-ng/ccu-sun8iw20.c
  26. source/ccmu/hal_reset.c
  27. source/gpio/hal_gpio.c
  28. source/gpio/sun8iw20/gpio-sun8iw20.c
  29. source/uart/hal_uart.c
  30. source/pwm/hal_pwm.c
  31. source/watchdog/hal_watchdog.c
  32. source/timer/hal_timer.c
  33. source/timer/sunxi_timer.c
  34. source/timer/hal_avs.c
  35. ''')
  36. #./source/disp2/disp/lcd/VVX07H005A10.c
  37. #./source/disp2/disp/lcd/st7701s.c
  38. #./source/disp2/disp/lcd/to20t20000.c
  39. #./source/disp2/disp/lcd/lq101r1sx03.c
  40. #./source/disp2/disp/lcd/s2003t46g.c
  41. #./source/disp2/disp/lcd/tm_dsi_panel.c
  42. #./source/disp2/disp/lcd/st7789v_cpu.c
  43. #./source/disp2/disp/lcd/default_eink.c
  44. #./source/disp2/disp/lcd/h245qbn02.c
  45. #./source/disp2/disp/lcd/dx0960be40a1.c
  46. #./source/disp2/disp/lcd/WilliamLcd.c
  47. #./source/disp2/disp/lcd/ili9881c.c
  48. #./source/disp2/disp/lcd/S6D7AA0X01.c
  49. #./source/disp2/disp/lcd/inet_dsi_panel.c
  50. #./source/disp2/disp/lcd/t30p106.c
  51. #./source/disp2/disp/lcd/fd055hd003s.c
  52. #./source/disp2/disp/lcd/wtl096601g03.c
  53. #./source/disp2/disp/lcd/lt070me05000.c
  54. #./source/disp2/disp/lcd/tft720x1280.c
  55. #./source/disp2/disp/lcd/st7796s.c
  56. #./source/disp2/disp/lcd/frd450h40014.c
  57. #./source/disp2/disp/lcd/lh219wq1.c
  58. #./source/disp2/disp/lcd/wtq05027d01.c
  59. #./source/disp2/disp/lcd/ls029b3sx02.c
  60. #./source/disp2/disp/lcd/st7789v.c
  61. #./source/disp2/disp/lcd/cpu_gg1p4062utsw.c
  62. #./source/disp2/disp/lcd/ili9341.c
  63. #./source/disp2/disp/lcd/t27p06.c
  64. #./source/disp2/disp/lcd/rt13qv005d.c
  65. # ./source/disp2/disp/lcd/he0801a068.c
  66. # ./source/disp2/disp/de/lowlevel_v2x/disp_waveform.c
  67. # ./source/disp2/disp/de/lowlevel_v2x/de_eink.c
  68. # ./source/disp2/disp/de/lowlevel_v2x/disp_eink_data.c
  69. # ./source/disp2/disp/de/lowlevel_v2x/rtmx_eink.c
  70. # ./source/disp2/disp/de/lowlevel_v2x/de_dsi_28.c
  71. # ./source/disp2/soc/sun8iw19.c
  72. # ./source/disp2/soc/VVX07H005A10_mipi_config.c
  73. # ./source/disp2/soc/f133_fpga.c
  74. # ./source/disp2/soc/v459_perf1.c
  75. # ./source/disp2/soc/f133_lvds.c
  76. # ./source/disp2/disp/de/disp_smart_backlight.c
  77. # ./source/disp2/disp/de/lowlevel_v2x/de_lcd.c
  78. # ./source/disp2/disp/de/disp_hdmi.c
  79. # ./source/disp2/disp/de/disp_tv.c
  80. # ./source/disp2/disp/de/disp_vdevice.c
  81. # ./source/disp2/disp/lcd/tft08006.c
  82. # ./source/disp2/soc/tft08006_mipi_config.c
  83. disp2_src = Split('''
  84. ./source/disp2/disp/de/disp_manager.c
  85. ./source/disp2/disp/de/disp_lcd.c
  86. ./source/disp2/disp/de/disp_display.c
  87. ./source/disp2/disp/de/disp_device.c
  88. ./source/disp2/disp/de/disp_features.c
  89. ./source/disp2/disp/de/disp_capture.c
  90. ./source/disp2/disp/de/lowlevel_v2x/de_wb.c
  91. ./source/disp2/disp/de/lowlevel_v2x/de_dsi.c
  92. ./source/disp2/disp/de/lowlevel_v2x/de_peak.c
  93. ./source/disp2/disp/de/lowlevel_v2x/de_gsu.c
  94. ./source/disp2/disp/de/lowlevel_v2x/de_vep_table.c
  95. ./source/disp2/disp/de/lowlevel_v2x/de_hal.c
  96. ./source/disp2/disp/de/lowlevel_v2x/de_vsu.c
  97. ./source/disp2/disp/de/lowlevel_v2x/de_scaler_table.c
  98. ./source/disp2/disp/de/lowlevel_v2x/de_ccsc.c
  99. ./source/disp2/disp/de/lowlevel_v2x/de_bws.c
  100. ./source/disp2/disp/de/lowlevel_v2x/de_lti.c
  101. ./source/disp2/disp/de/lowlevel_v2x/de_lcd_sun50iw10.c
  102. ./source/disp2/disp/de/lowlevel_v2x/disp_al.c
  103. ./source/disp2/disp/de/lowlevel_v2x/de_clock.c
  104. ./source/disp2/disp/de/lowlevel_v2x/de_smbl.c
  105. ./source/disp2/disp/de/lowlevel_v2x/de_enhance.c
  106. ./source/disp2/disp/de/lowlevel_v2x/de_rtmx.c
  107. ./source/disp2/disp/de/lowlevel_v2x/de_ase.c
  108. ./source/disp2/disp/de/lowlevel_v2x/de_feat.c
  109. ./source/disp2/disp/de/lowlevel_v2x/de_fce.c
  110. ./source/disp2/disp/de/lowlevel_v2x/de_dcsc.c
  111. ./source/disp2/disp/de/lowlevel_v2x/de_fcc.c
  112. ./source/disp2/disp/de/disp_private.c
  113. ./source/disp2/disp/de/disp_enhance.c
  114. ./source/disp2/disp/lcd/default_panel.c
  115. ./source/disp2/disp/lcd/lcd_source.c
  116. ./source/disp2/disp/lcd/panels.c
  117. ./source/disp2/disp/disp_sys_intf.c
  118. ./source/disp2/disp/dev_disp.c
  119. ./source/disp2/disp/disp_debug.c
  120. ./source/disp2/soc/disp_board_config.c
  121. ./source/disp2/soc/platform_resource.c
  122. ./source/disp2/soc/sun20iw1.c
  123. ''')
  124. if GetDepend('LCD_SUPPORT_TFTRGB'):
  125. if not GetDepend('LCD_USING_XML_CONFIG'):
  126. disp2_src += ['./source/disp2/soc/rgb_config.c']
  127. if GetDepend('LCD_SUPPORT_TFT08006'):
  128. # disp2_src += ['./source/disp2/soc/tft08006_mipi_config.c']
  129. disp2_src += ['./source/disp2/disp/lcd/tft08006.c']
  130. sdmmc_src = Split('''
  131. source/sdmmc/core.c
  132. source/sdmmc/hal_sdpin.c
  133. source/sdmmc/hal_sdhost.c
  134. source/sdmmc/mmc.c
  135. source/sdmmc/quirks.c
  136. source/sdmmc/sd.c
  137. source/sdmmc/sdio.c
  138. source/sdmmc/test.c
  139. source/sdmmc/sdio_irq.c
  140. source/sdmmc/cmd/cmd_sd.c
  141. source/sdmmc/osal/os/RT-Thread/os_debug.c
  142. source/sdmmc/osal/os/RT-Thread/os_mutex.c
  143. source/sdmmc/osal/os/RT-Thread/os_queue.c
  144. source/sdmmc/osal/os/RT-Thread/os_timer.c
  145. source/sdmmc/osal/os/RT-Thread/os_semaphore.c
  146. source/sdmmc/osal/os/RT-Thread/os_thread.c
  147. source/sdmmc/blkpart.c
  148. ''')
  149. dma_src = Split('''
  150. source/dma/hal_dma.c
  151. source/common/dma_alloc.c
  152. ''')
  153. spi_src = Split('''
  154. source/spi/hal_spi.c
  155. ''')
  156. disp2_test_src = Split('''
  157. ./test/disp2/disp_layer_rgb_test.c
  158. ./test/disp2/disp_layer_cfg.c
  159. ./test/disp2/disp_mem.c
  160. ''')
  161. test_src = Split('''
  162. test/gpio/test_gpio.c
  163. test/ccmu/test_ng_ccmu.c
  164. test/dma/test_dma.c
  165. test/spi/test_spi.c
  166. ''')
  167. gmac = Split('''
  168. source/gmac/hal_geth_utils.c
  169. source/gmac/hal_geth.c
  170. ''')
  171. phy = Split('''
  172. source/phy/hal_miiphyutil.c
  173. source/phy/hal_phy.c
  174. ''')
  175. rtc = Split('''
  176. source/rtc/hal_rtc.c
  177. source/rtc/rtc-lib.c
  178. ''')
  179. g2d_src = Split('''
  180. source/g2d_rcq/g2d_bld.c
  181. source/g2d_rcq/g2d_mixer.c
  182. source/g2d_rcq/g2d_ovl_v.c
  183. source/g2d_rcq/g2d_rotate.c
  184. source/g2d_rcq/g2d_top.c
  185. source/g2d_rcq/simple_idr.c
  186. source/g2d_rcq/g2d.c
  187. source/g2d_rcq/g2d_ovl_u.c
  188. source/g2d_rcq/g2d_rcq.c
  189. source/g2d_rcq/g2d_scal.c
  190. source/g2d_rcq/g2d_wb.c
  191. ''')
  192. g2d_path = [cwd + '/source/g2d_rcq/']
  193. disp2_path = [
  194. cwd + '/test/disp2', cwd + '/source/disp2/disp',
  195. cwd + '/source/disp2/disp/lcd',
  196. cwd + '/source/disp2/disp/de',
  197. cwd + '/source/disp2/disp/de/lowlevel_v2x',
  198. cwd + '/source/disp2/soc']
  199. rtc_path = [cwd + '/../include/hal/rtc']
  200. twi_src = []
  201. twi_path = []
  202. if GetDepend('DRIVERS_TWI'):
  203. twi_src += ['source/twi/hal_twi.c']
  204. twi_path += [cwd + '/source/twi']
  205. udc_src = Split('''
  206. source/usb/platform/sun20iw1/usb_sun20iw1.c
  207. ''')
  208. # source/usb/udc/hal_udc.c
  209. udc_path = [cwd + '/source/usb/udc', cwd + '/source/usb/include']
  210. ce_src = Split('''
  211. source/ce/ce_common.c
  212. source/ce/hal_ce.c
  213. ''')
  214. ce_path = [cwd + '/source/ce']
  215. efuse_src = Split('''
  216. source/efuse/efuse.c
  217. source/efuse/hal_efuse.c
  218. ''')
  219. efuse_path = [cwd + '/source/efuse']
  220. CPPPATH = [
  221. cwd,
  222. cwd + '/../include/hal',
  223. cwd + '/../include/hal/sdmmc',
  224. cwd + '/../include/hal/phy',
  225. cwd + '/../include/hal/usb',
  226. cwd + '/../include/osal',
  227. cwd + '/source',
  228. cwd + '/source/uart',
  229. cwd + '/source/ccmu',
  230. cwd + '/source/gpio',
  231. cwd + '/source/gpio/sun8iw20',
  232. cwd + '/source/pwm',
  233. cwd + '/../include/hal/sdmmc/osal',
  234. cwd + '/../include/hal/sdmmc/hal',
  235. cwd + '/source/timer',
  236. ]
  237. uart_src = Split('''
  238. source/uart/hal_uart.c
  239. ''')
  240. uart_path = [cwd + '/source/uart']
  241. if GetDepend('DRVIERS_UART'):
  242. CPPPATH += uart_path
  243. src += uart_src
  244. if GetDepend('DISP2_SUNXI'):
  245. CPPPATH += disp2_path
  246. src += disp2_src #+ disp2_test_src
  247. CPPPATH += rtc_path
  248. if GetDepend('DRIVERS_SDMMC'):
  249. src += sdmmc_src
  250. if GetDepend('DRIVERS_SPI'):
  251. src += spi_src
  252. src += dma_src
  253. # src += test_src
  254. src += rtc
  255. if GetDepend('DRIVERS_GMAC'):
  256. src += gmac
  257. src += phy
  258. if GetDepend('DRIVERS_TWI'):
  259. CPPPATH += twi_path
  260. src += twi_src
  261. if GetDepend('DRIVERS_G2D'):
  262. src += g2d_src
  263. CPPPATH += g2d_path
  264. if GetDepend('DRIVERS_USB'):
  265. if GetDepend('USB_DEVICE'):
  266. src += udc_src
  267. CPPPATH += udc_path
  268. if GetDepend('DRIVERS_CE'):
  269. src += ce_src
  270. CPPPATH += ce_path
  271. if GetDepend('DRIVERS_EFUSE'):
  272. src += efuse_src
  273. CPPPATH += efuse_path
  274. group = DefineGroup('hal', src, depend = [''], CPPPATH = CPPPATH)
  275. Return('group')