board_cfg.h 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152
  1. /*
  2. * Copyright (c) 2015 Intel Corporation
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. #ifndef __BOARD_CFG_H
  7. #define __BOARD_CFG_H
  8. #define LCD_PADDRV_LEVEL (1)
  9. #define LCD_CLK_PADDRV_LEVEL (2)
  10. #include <drivers/cfg_drv/dev_config.h>
  11. #include <soc.h>
  12. /*
  13. * The device module enables the definition, If 1, the corresponding module is opened, the GPIO configuration is enabled,
  14. * If 0, the corresponding module is closed, and the GPIO configuration is turned off
  15. */
  16. #define CONFIG_GPIO_A 1
  17. #define CONFIG_GPIO_A_NAME "GPIOA"
  18. #define CONFIG_GPIO_B 1
  19. #define CONFIG_GPIO_B_NAME "GPIOB"
  20. #define CONFIG_GPIO_C 1
  21. #define CONFIG_GPIO_C_NAME "GPIOC"
  22. #define CONFIG_WIO 1
  23. #define CONFIG_WIO_NAME "WIO"
  24. #define CONFIG_EXTEND_GPIO 0
  25. #define CONFIG_EXTEND_GPIO_NAME "GPIOD"
  26. #define CONFIG_GPIO_PIN2NAME(x) (((x) < 32) ? CONFIG_GPIO_A_NAME : (((x) < 64) ? CONFIG_GPIO_B_NAME : CONFIG_GPIO_C_NAME))
  27. #define CONFIG_SPI_FLASH_0 0
  28. #define CONFIG_SPI_FLASH_NAME "spi_flash"
  29. #define CONFIG_SPI_FLASH_1 0
  30. #define CONFIG_SPI_FLASH_1_NAME "spi_flash_1"
  31. #define CONFIG_SPI_FLASH_2 0
  32. #define CONFIG_SPI_FLASH_2_NAME "spi_flash_2"
  33. #define CONFIG_SIM_FLASH 0
  34. #define CONFIG_SIM_FLASH_NAME "sim_flash"
  35. #define CONFIG_ACTLOG_STORAGE_NAME CONFIG_SPI_FLASH_NAME
  36. #define CONFIG_BLOCK_DEV_FLASH 1
  37. #define CONFIG_BLOCK_DEV_FLASH_NAME "spinand_flash"
  38. #define CONFIG_SPINAND_0 1
  39. #define CONFIG_SPINAND_3 0
  40. #define CONFIG_SPINAND_FLASH_NAME "spinand"
  41. #define CONFIG_MMC_0 0
  42. #define CONFIG_MMC_0_NAME "MMC_0"
  43. #define CONFIG_MMC_1 0
  44. #define CONFIG_MMC_1_NAME "MMC_1"
  45. #define CONFIG_SD 0
  46. #define CONFIG_SD_NAME "sd"
  47. #define CONFIG_UART_0 1
  48. #define CONFIG_UART_0_NAME "UART_0"
  49. #define CONFIG_UART_1 0
  50. #define CONFIG_UART_1_NAME "UART_1"
  51. #define CONFIG_UART_2 0
  52. #define CONFIG_UART_2_NAME "UART_2"
  53. #define CONFIG_UART_3 0
  54. #define CONFIG_UART_3_NAME "UART_3"
  55. #define CONFIG_UART_4 0
  56. #define CONFIG_UART_4_NAME "UART_4"
  57. #define CONFIG_PWM 1
  58. #define CONFIG_PWM_NAME "PWM"
  59. #define CONFIG_I2C_0 0
  60. #define CONFIG_I2C_0_NAME "I2C_0"
  61. #define CONFIG_I2C_1 1
  62. #define CONFIG_I2C_1_NAME "I2C_1"
  63. #define CONFIG_I2C_2 0
  64. #define CONFIG_I2C_2_NAME "I2C_2"
  65. #define CONFIG_I2C_3 0
  66. #define CONFIG_I2C_3_NAME "I2C_3"
  67. #define CONFIG_SPI_1 0
  68. #define CONFIG_SPI_1_NAME "SPI_1"
  69. #define CONFIG_SPI_2 0
  70. #define CONFIG_SPI_2_NAME "SPI_2"
  71. #define CONFIG_SPI_3 0
  72. #define CONFIG_SPI_3_NAME "SPI_3"
  73. #define CONFIG_I2CMT_0 1
  74. #define CONFIG_I2CMT_0_NAME "I2CMT_0"
  75. #define CONFIG_I2CMT_1 1
  76. #define CONFIG_I2CMT_1_NAME "I2CMT_1"
  77. #define CONFIG_SPIMT_0 0
  78. #define CONFIG_SPIMT_0_NAME "SPIMT_0"
  79. #define CONFIG_SPIMT_1 0
  80. #define CONFIG_SPIMT_1_NAME "SPIMT_1"
  81. #define CONFIG_AUDIO_DAC_0 1
  82. #define CONFIG_AUDIO_DAC_0_NAME "DAC_0"
  83. #define CONFIG_AUDIO_ADC_0 1
  84. #define CONFIG_AUDIO_ADC_0_NAME "ADC_0"
  85. #define CONFIG_AUDIO_I2STX_0 0
  86. #define CONFIG_AUDIO_I2STX_0_NAME "I2STX_0"
  87. #define CONFIG_AUDIO_I2SRX_0 0
  88. #define CONFIG_AUDIO_I2SRX_0_NAME "I2SRX_0"
  89. #define CONFIG_AUDIO_SPDIFRX_0 0
  90. #define CONFIG_AUDIO_SPDIFRX_0_NAME "SPDIFRX_0"
  91. #define CONFIG_AUDIO_SPDIFTX_0 0
  92. #define CONFIG_AUDIO_SPDIFTX_0_NAME "SPDIFTX_0"
  93. #define CONFIG_PANEL 1
  94. #define CONFIG_LCD_DISPLAY_DEV_NAME "lcd_panel"
  95. #define CONFIG_DISPLAY_ENGINE_DEV 1
  96. #define CONFIG_DISPLAY_ENGINE_DEV_NAME "de_acts"
  97. #define CONFIG_DMA2D_LITE_DEV 1
  98. #define CONFIG_DMA2D_LITE_DEV_NAME "dma2d_lite_acts"
  99. #define CONFIG_JPEG_HW_DEV 1
  100. #define CONFIG_JPEG_HW_DEV_NAME "jpeg_hw_acts"
  101. #define CONFIG_LCDC_DEV 1
  102. #define CONFIG_LCDC_DEV_NAME "lcdc_acts"
  103. #define CONFIG_GPU_DEV 1
  104. #define CONFIG_GPU_DEV_NAME "gpu"
  105. #define CONFIG_ADCKEY 0
  106. #define CONFIG_INPUT_DEV_ACTS_ADCKEY_NAME "keyadc"
  107. #define CONFIG_GPIOKEY 1
  108. #define CONFIG_INPUT_DEV_ACTS_GPIOKEY_NAME "keygpio"
  109. #define CONFIG_ONOFFKEY 1
  110. #define CONFIG_INPUT_DEV_ACTS_ONOFF_KEY_NAME "onoffkey"
  111. #define CONFIG_TPKEY 1
  112. #define CONFIG_TPKEY_DEV_NAME "tpkey"
  113. #define CONFIG_ACTS_BATTERY 1
  114. #define CONFIG_ACTS_BATTERY_DEV_NAME "batadc"
  115. #define CONFIG_VIBRATOR 1
  116. #define CONFIG_VIBRATOR_DEV_NAME "VIBRATOR"
  117. #define CONFIG_CEC 0
  118. #define CONFIG_ACTS_BATTERY_NTC 1
  119. #define CONFIG_KNOB_ENCODER 1
  120. #define CONFIG_KNOB_ENCODER_DEV_NAME "knobencoder"
  121. #define CONFIG_UART_0_USE_TX_DMA 1
  122. #define CONFIG_UART_0_TX_DMA_CHAN 0x2
  123. #define CONFIG_UART_0_TX_DMA_ID 1
  124. #define CONFIG_UART_0_USE_RX_DMA 1
  125. #define CONFIG_UART_0_RX_DMA_CHAN 0xff
  126. #define CONFIG_UART_0_RX_DMA_ID 1
  127. #define CONFIG_UART_1_USE_TX_DMA 0
  128. #define CONFIG_UART_1_TX_DMA_CHAN 0xff
  129. #define CONFIG_UART_1_TX_DMA_ID 2
  130. #define CONFIG_MMC_0_USE_DMA 1
  131. #define CONFIG_MMC_0_DMA_CHAN 0xff
  132. #define CONFIG_MMC_0_DMA_ID 5
  133. #define CONFIG_MMC_1_USE_DMA 0
  134. #define CONFIG_MMC_1_DMA_CHAN 0xff
  135. #define CONFIG_MMC_1_DMA_ID 6
  136. #define CONFIG_PWM_USE_DMA 1
  137. #define CONFIG_PWM_DMA_CHAN 0xff
  138. #define CONFIG_PWM_DMA_ID 21
  139. #define CONFIG_I2C_0_USE_DMA 0
  140. #define CONFIG_I2C_0_DMA_CHAN 0xff
  141. #define CONFIG_I2C_0_DMA_ID 19
  142. #define CONFIG_I2C_1_USE_DMA 0
  143. #define CONFIG_I2C_1_DMA_CHAN 0xff
  144. #define CONFIG_I2C_1_DMA_ID 20
  145. #define CONFIG_I2C_2_USE_DMA 0
  146. #define CONFIG_I2C_2_DMA_CHAN 0xff
  147. #define CONFIG_I2C_2_DMA_ID 24
  148. #define CONFIG_I2C_3_USE_DMA 0
  149. #define CONFIG_I2C_3_DMA_CHAN 0xff
  150. #define CONFIG_I2C_3_DMA_ID 25
  151. #define CONFIG_I2CMT_0_USE_DMA 0
  152. #define CONFIG_I2CMT_0_DMA_CHAN 0xff
  153. #define CONFIG_I2CMT_1_USE_DMA 0
  154. #define CONFIG_I2CMT_1_DMA_CHAN 0xff
  155. #define CONFIG_SPI_1_USE_DMA 1
  156. #define CONFIG_SPI_1_TXDMA_CHAN 0xff
  157. #define CONFIG_SPI_1_RXDMA_CHAN 0xff
  158. #define CONFIG_SPI_1_DMA_ID 8
  159. #define CONFIG_SPI_2_USE_DMA 1
  160. #define CONFIG_SPI_2_TXDMA_CHAN 0xff
  161. #define CONFIG_SPI_2_RXDMA_CHAN 0xff
  162. #define CONFIG_SPI_2_DMA_ID 9
  163. #define CONFIG_SPI_3_USE_DMA 1
  164. #define CONFIG_SPI_3_TXDMA_CHAN 0xff
  165. #define CONFIG_SPI_3_RXDMA_CHAN 0xff
  166. #define CONFIG_SPI_3_DMA_ID 10
  167. #define CONFIG_SPIMT_0_DMA_CHAN 0xff
  168. #define CONFIG_SPIMT_1_DMA_CHAN 0xff
  169. /* The DMA channel for DAC FIFO0 */
  170. #define CONFIG_AUDIO_DAC_0_FIFO0_DMA_CHAN (0xff)
  171. /* The DMA slot ID for DAC FIFO0 */
  172. #define CONFIG_AUDIO_DAC_0_FIFO0_DMA_ID (0xb)
  173. /* The DMA channel for DAC FIFO1 */
  174. #define CONFIG_AUDIO_DAC_0_FIFO1_DMA_CHAN (0xff)
  175. /* The DMA slot ID for DAC FIFO1 */
  176. #define CONFIG_AUDIO_DAC_0_FIFO1_DMA_ID (0xc)
  177. /* The DMA channel for ADC FIFO0 */
  178. #define CONFIG_AUDIO_ADC_0_FIFO0_DMA_CHAN (0xff)
  179. /* The DMA slot ID for ADC FIFO0 */
  180. #define CONFIG_AUDIO_ADC_0_FIFO0_DMA_ID (0xb)
  181. /* The DMA channel for ADC FIFO1 */
  182. #define CONFIG_AUDIO_ADC_0_FIFO1_DMA_CHAN (0xff)
  183. /* The DMA slot ID for ADC FIFO1 */
  184. #define CONFIG_AUDIO_ADC_0_FIFO1_DMA_ID (0xc)
  185. /* The DMA channel for I2STX FIFO0 */
  186. #define CONFIG_AUDIO_I2STX_0_FIFO0_DMA_CHAN (0xff)
  187. /* The DMA slot ID for I2STX FIFO0 */
  188. #define CONFIG_AUDIO_I2STX_0_FIFO0_DMA_ID (0xe)
  189. /* The DMA channel for I2SRX FIFO0 */
  190. #define CONFIG_AUDIO_I2SRX_0_FIFO0_DMA_CHAN (0xff)
  191. /* The DMA slot ID for I2SRX FIFO0 */
  192. #define CONFIG_AUDIO_I2SRX_0_FIFO0_DMA_ID (0xe)
  193. /* The DMA channel for SPDIFRX FIFO0 */
  194. #define CONFIG_AUDIO_SPDIFRX_0_FIFO0_DMA_CHAN (0xff)
  195. /* The DMA slot ID for SPDIFRX FIFO0 */
  196. #define CONFIG_AUDIO_SPDIFRX_0_FIFO0_DMA_ID (0x10)
  197. /*
  198. * Device module interrupt priority definition
  199. */
  200. #define CONFIG_BTC_IRQ_PRI 0
  201. #define CONFIG_TWS_IRQ_PRI 0
  202. #define CONFIG_UART_0_IRQ_PRI 0
  203. #define CONFIG_UART_1_IRQ_PRI 0
  204. #define CONFIG_MMC_0_IRQ_PRI 0
  205. #define CONFIG_MMC_1_IRQ_PRI 0
  206. #define CONFIG_DMA_IRQ_PRI 0
  207. #define CONFIG_MPU_IRQ_PRI 0
  208. #define CONFIG_GPIO_IRQ_PRI 0
  209. #define CONFIG_I2C_0_IRQ_PRI 0
  210. #define CONFIG_I2C_1_IRQ_PRI 0
  211. #define CONFIG_I2C_2_IRQ_PRI 0
  212. #define CONFIG_I2C_3_IRQ_PRI 0
  213. #define CONFIG_SPI_1_IRQ_PRI 0
  214. #define CONFIG_SPI_2_IRQ_PRI 0
  215. #define CONFIG_SPI_3_IRQ_PRI 0
  216. #define CONFIG_I2CMT_0_IRQ_PRI 0
  217. #define CONFIG_I2CMT_1_IRQ_PRI 0
  218. #define CONFIG_SPIMT_0_IRQ_PRI 0
  219. #define CONFIG_SPIMT_1_IRQ_PRI 0
  220. #define CONFIG_AUDIO_DAC_0_IRQ_PRI 0
  221. #define CONFIG_AUDIO_ADC_0_IRQ_PRI 0
  222. #define CONFIG_AUDIO_I2STX_0_IRQ_PRI 0
  223. #define CONFIG_AUDIO_I2SRX_0_IRQ_PRI 0
  224. #define CONFIG_AUDIO_SPDIFRX_0_IRQ_PRI 0
  225. #define CONFIG_PMU_IRQ_PRI 0
  226. #define CONFIG_RTC_IRQ_PRI 0
  227. #define CONFIG_WDT_0_IRQ_PRI 0
  228. #define CONFIG_DSP_IRQ_PRI 0
  229. #define CONFIG_PMUADC_IRQ_PRI 0
  230. /*
  231. spi nor flash cfg
  232. */
  233. #define CONFIG_SPI_FLASH_CHIP_SIZE 0x2000000
  234. #define CONFIG_SPI_FLASH_BUS_WIDTH 4
  235. #define CONFIG_SPI_FLASH_DELAY_CHAIN (11*3) //unit:0.25ns
  236. #define CONFIG_SPI_FLASH_NO_IRQ_LOCK 1
  237. #define CONFIG_SPI_FLASH_FREQ_MHZ 96
  238. //#define CONFIG_SPI0_NOR_DTR_MODE
  239. //#define CONFIG_SPI0_NOR_QPI_MODE
  240. //#define CONFIG_SPI_XIP_READ
  241. #define CONFIG_SPI_XIP_VADDR 0x12000000 /*max 32MB xip read*/
  242. /*
  243. spi nand flash cfg
  244. */
  245. #define CONFIG_SPINAND_USE_SPICONTROLER 0
  246. #define CONFIG_SPINAND_FLASH_BUS_WIDTH 4
  247. #define CONFIG_SPINAND_FLASH_FREQ_MHZ 96
  248. /*
  249. mmc board cfg
  250. */
  251. #define CONFIG_MMC_0_BUS_WIDTH 4
  252. #define CONFIG_MMC_0_CLKSEL 0 /*0 or 1, config by pinctrls*/
  253. #define CONFIG_MMC_0_DATA_REG_WIDTH 4
  254. #define CONFIG_MMC_0_USE_GPIO_IRQ 0
  255. #define CONFIG_MMC_0_GPIO_IRQ_DEV CONFIG_GPIO_A_NAME /*CONFIG_GPIO_A_NAME&CONFIG_GPIO_B_NAME&CONFIG_GPIO_C_NAME*/
  256. #define CONFIG_MMC_0_GPIO_IRQ_NUM 10 /*GPIOA10*/
  257. #define CONFIG_MMC_0_GPIO_IRQ_FLAG 0 /*0=GPIO_ACTIVE_HIGH OR 1=GPIO_ACTIVE_LOW*/
  258. #define CONFIG_MMC_0_ENABLE_SDIO_IRQ 0 /* If 1 to enable SD0 SDIO IRQ */
  259. #define CONFIG_MMC_1_BUS_WIDTH 4
  260. #define CONFIG_MMC_1_CLKSEL 0
  261. #define CONFIG_MMC_1_DATA_REG_WIDTH 1
  262. #define CONFIG_MMC_1_MFP
  263. #define CONFIG_MMC_1_USE_GPIO_IRQ 0
  264. #define CONFIG_MMC_1_ENABLE_SDIO_IRQ 0 /* If 1 to enable SD1 SDIO IRQ */
  265. #define CONFIG_MMC_ACTS_ERROR_DETAIL 1 /* If 1 to print detail information when error occured */
  266. #define CONFIG_MMC_WAIT_DAT1_BUSY 1 /* If 1 to wait SD/MMC card data 1 pin busy */
  267. #define CONFIG_MMC_YIELD_WAIT_DMA_DONE 1 /* If 1 to yield task to wait DMA done */
  268. #define CONFIG_MMC_SD0_FIFO_WIDTH_8BITS 0 /* If 1 to enable SD0 FIFO width 8 bits transfer */
  269. #define CONFIG_MMC_STATE_FIFO 0 /* If 1 to enable using FIFO state for CPU read/write operations */
  270. /*
  271. sd board cfg
  272. */
  273. #define CONFIG_SD_MMC_DEV CONFIG_MMC_0_NAME /*CONFIG_MMC_0_NAME or CONFIG_MMC_1_NAME*/
  274. /*
  275. uart board cfg
  276. */
  277. #define CONFIG_UART_0_SPEED 2000000
  278. #define CONFIG_UART_1_SPEED 115200
  279. /*
  280. pwm board cfg
  281. */
  282. #define CONFIG_PWM_CYCLE 8000
  283. /*
  284. I2C board cfg
  285. */
  286. #define CONFIG_I2C_0_CLK_FREQ 100000
  287. #define CONFIG_I2C_0_MAX_ASYNC_ITEMS 10
  288. #define CONFIG_I2C_1_CLK_FREQ 100000
  289. #define CONFIG_I2C_1_MAX_ASYNC_ITEMS 3
  290. #define CONFIG_I2C_2_CLK_FREQ 100000
  291. #define CONFIG_I2C_2_MAX_ASYNC_ITEMS 3
  292. #define CONFIG_I2C_3_CLK_FREQ 100000
  293. #define CONFIG_I2C_3_MAX_ASYNC_ITEMS 3
  294. /*
  295. SPI board cfg
  296. */
  297. /*
  298. I2CMT cfg
  299. */
  300. #define CONFIG_I2CMT_0_CLK_FREQ 400000
  301. #define CONFIG_I2CMT_1_CLK_FREQ 400000
  302. /*
  303. SPIMT cfg
  304. */
  305. /*
  306. tp board cfg
  307. */
  308. #define CONFIG_TP_RESET_GPIO 1
  309. #define CONFIG_TP_RESET_GPIO_NAME CONFIG_GPIO_B_NAME
  310. #define CONFIG_TP_RESET_GPIO_NUM 17
  311. #define CONFIG_TP_RESET_GPIO_FLAG GPIO_ACTIVE_LOW
  312. /*
  313. audio board cfg
  314. */
  315. /**
  316. * The DAC working mode in dedicated PCB layout.
  317. * - 0: single-end(non-direct drive) mode
  318. * - 1: single-end(direct drive VRO) mode
  319. * - 2: differential mode
  320. */
  321. #define CONFIG_AUDIO_DAC_0_LAYOUT (2)
  322. /* If 1 to enable DAC high performance which only works in differential layout */
  323. #define CONFIG_AUDIO_DAC_HIGH_PERFORMACE_DIFF_EN (1)
  324. #if (CONFIG_AUDIO_DAC_HIGH_PERFORMACE_DIFF_EN == 1)
  325. #define CONFIG_AUDIO_DAC_HIGH_PERFORMANCE_SHCL_PW (0xc8)
  326. #define CONFIG_AUDIO_DAC_HIGH_PERFORMANCE_SHCL_SET (0xe1)
  327. #define CONFIG_AUDIO_DAC_HIGH_PERFORMANCE_SHCL_CURBIAS (0)
  328. #endif
  329. /**
  330. * The LEOPARD DAC PA gain setting as below:
  331. * The LEOPARD DAC PA gain setting as below:
  332. * PA gain DARSET = 0 DARSET = 1
  333. * 7 2.72VPP ------
  334. * 6 2.23VPP ------
  335. * 5 1.74VPP ------
  336. * 4 1.20VPP 2.71VPP
  337. * 3 0.98VPP 2.22VPP
  338. * 2 0.76VPP 1.72VPP
  339. * 1 0.54VPP 1.23VPP
  340. * 0 0.32VPP 0.74VPP
  341. */
  342. #define CONFIG_AUDIO_DAC_0_PA_VOL (4)
  343. /* Enable DAC left and right channels mix function. */
  344. #define CONFIG_AUDIO_DAC_0_LR_MIX (0)
  345. /* Enable DAC SDM(noise detect mute) function. */
  346. #define CONFIG_AUDIO_DAC_0_NOISE_DETECT_MUTE (1)
  347. /* SDM mute counter configuration. */
  348. #define CONFIG_AUDIO_DAC_0_SDM_CNT (0x1000)
  349. /* SDM noise dectection threshold */
  350. #define CONFIG_AUDIO_DAC_0_SDM_THRES (0x800)
  351. /* Enable DAC automute function when continuously output 512x(configurable) samples 0 data. */
  352. #define CONFIG_AUDIO_DAC_0_AUTOMUTE (0)
  353. /* Enable ADC loopback to DAC function. */
  354. #define CONFIG_AUDIO_DAC_0_LOOPBACK (0)
  355. /* If 1 to mute the DAC left channel. */
  356. #define CONFIG_AUDIO_DAC_0_LEFT_MUTE (0)
  357. /* If 1 to mute the DAC right channel. */
  358. #define CONFIG_AUDIO_DAC_0_RIGHT_MUTE (0)
  359. /* Auto mute counter configuration. */
  360. #define CONFIG_AUDIO_DAC_0_AM_CNT (0x1000)
  361. /* Auto noise dectection threshold */
  362. #define CONFIG_AUDIO_DAC_0_AM_THRES (0)
  363. /* If 1 to enable DAC automute IRQ function. */
  364. #define CONFIG_AUDIO_DAC_0_AM_IRQ (0)
  365. /* The threshold to generate half empty IRQ signal. */
  366. #define CONFIG_AUDIO_DAC_0_PCMBUF_HE_THRES (0xE0)
  367. /* The threshold to generate half full IRQ signal. */
  368. #define CONFIG_AUDIO_DAC_0_PCMBUF_HF_THRES (0xF0)
  369. /* If 1 to open external PA when power on */
  370. #define CONFIG_POWERON_OPEN_EXTERNAL_PA (0)
  371. /* If 1 to enable DAC power perfered */
  372. #define CONFIG_AUDIO_DAC_POWER_PREFERRED (1)
  373. /* If 1 to wait for writting PCMBUF completly */
  374. #define CONFIG_AUDIO_DAC_WAIT_WRITE_PCMBUF_FINISH (1)
  375. /* The timeout out of writing PCMBUF in microsecond */
  376. #define CONFIG_AUDIO_DAC_WAIT_WRITE_PCMBUF_TIMEOUT_US (1000000)
  377. /* The sleep time in millisecond to of writing PCMBUF */
  378. #define CONFIG_AUDIO_DAC_WAIT_WRITE_PCMBUF_SLEEP_MS (0)
  379. #if (CONFIG_AUDIO_DAC_WAIT_WRITE_PCMBUF_FINISH != 0)
  380. /* Wait until next time writing pcmbuf to write previous one completely */
  381. #define CONFIG_AUDIO_DAC_WAIT_WRITE_PCMBUF_NEXT_TIME (1)
  382. #endif
  383. /********************************** I2STX CONFIGURATION **********************************/
  384. /**
  385. * I2STX channel number selection.
  386. * - 2: 2 channels
  387. * - 4: 4 channels(TDM)
  388. * - 8: 8 channels(TDM)
  389. */
  390. #define CONFIG_AUDIO_I2STX_0_CHANNEL_NUM (2)
  391. /**
  392. * I2STX transfer format selection.
  393. * - 0: I2S format
  394. * - 1: left-justified format
  395. * - 2: right-justified format
  396. * - 3: TDM format
  397. */
  398. #define CONFIG_AUDIO_I2STX_0_FORMAT (0)
  399. /**
  400. * I2STX BCLK data width.
  401. * - 0: 32bits
  402. * - 1: 16bits
  403. */
  404. #define CONFIG_AUDIO_I2STX_0_BCLK_WIDTH (0)
  405. /* Enable the SRD(sample rate detect) function. */
  406. #define CONFIG_AUDIO_I2STX_0_SRD_EN (0)
  407. /**
  408. * I2STX master or slaver mode selection.
  409. * - 0: master
  410. * - 1: slaver
  411. */
  412. #define CONFIG_AUDIO_I2STX_0_MODE (0)
  413. /* Enable in slave mode MCLK to use internal clock. */
  414. #define CONFIG_AUDIO_I2STX_0_SLAVE_INTERNAL_CLK (0)
  415. /**
  416. * I2STX LRCLK process selection.
  417. * - 0: 50% duty for I2S
  418. * - 1: 1 BCLK
  419. */
  420. #define CONFIG_AUDIO_I2STX_0_LRCLK_PROC (0)
  421. /**
  422. * I2STX MCLK reverse selection.
  423. * - 0: normal
  424. * - 1: reverse
  425. */
  426. #define CONFIG_AUDIO_I2STX_0_MCLK_REVERSE (0)
  427. /* Enable I2STX channel BCLK/LRCLK alway existed which used in master mode. */
  428. #define CONFIG_AUDIO_I2STX_0_ALWAYS_OPEN (0)
  429. /**
  430. * I2STX transfer TDM format selection.
  431. * - 0: I2S format
  432. * - 1: left-justified format
  433. */
  434. #define CONFIG_AUDIO_I2STX_0_TDM_FORMAT (0)
  435. /**
  436. * I2STX TDM frame start position selection.
  437. * - 0: the rising edge of LRCLK with a pulse.
  438. * - 1: the rising edge of LRCLK with a 50% duty cycle.
  439. * - 2: the falling edge of LRCLK with a 50% duty cycle.
  440. */
  441. #define CONFIG_AUDIO_I2STX_0_TDM_FRAME (0)
  442. /**
  443. * I2STX data output delay selection.
  444. * - 0: 2 mclk cycles after the bclk rising edge.
  445. * - 1: 3 mclk cycles after the bclk rising edge.
  446. * - 2: 4 mclk cycles after the bclk rising edge.
  447. * - 3: 5 mclk cycles after the bclk rising edge.
  448. */
  449. #define CONFIG_AUDIO_I2STX_0_TX_DELAY (0)
  450. /**
  451. * PCM enable
  452. * selet pcm mode
  453. * 0:disable pcm enable i2s
  454. * 1:enable pcm disable i2s
  455. */
  456. #define CONFIG_AUDIO_PCMTX_0_EN (0)
  457. /**
  458. * first PCM enable
  459. * set pcm format
  460. * 0: short frame
  461. * 1: long frame
  462. */
  463. #define CONFIG_AUDIO_PCMTX_0_FORMART (1)
  464. /**
  465. * first PCM enable
  466. * set pcm slot
  467. * 0: slot 1
  468. * 1: slot 2
  469. * 2: slot 4
  470. * 3: slot 8
  471. */
  472. #define CONFIG_AUDIO_PCMTX_0_SLOT (1)
  473. /********************************** SPDIFTX CONFIGURATION **********************************/
  474. /* Enable the clock of SPDIFTX source from I2STX div2 clock. */
  475. #define CONFIG_AUDIO_SPDIFTX_0_CLK_I2STX_DIV2 (0)
  476. /********************************** ADC CONFIGURATION **********************************/
  477. /* The end address of SRAM which used by DMA interleaved mode */
  478. #define AUDIO_IN_DMA_RESERVED_ADDRESS (0x02000000)
  479. /**
  480. * ADC0 channel HPF auto-set time selection.
  481. * - 0: 1.3ms in 48kfs
  482. * - 1: 5ms in 48kfs
  483. * - 2: 10ms in 48kfs
  484. * - 3: 20ms in 48kfs
  485. */
  486. #define CONFIG_AUDIO_ADC_0_CH0_HPF_TIME (1)
  487. /* ADC channel0 frequency which range from 0 ~ 111111b. */
  488. #define CONFIG_AUDIO_ADC_0_CH0_FREQUENCY (0)
  489. /* If 1 to enable ADC channel0 HPF high frequency range. */
  490. #define CONFIG_AUDIO_ADC_0_CH0_HPF_FC_HIGH (0)
  491. /**
  492. * ADC channel1 HPF auto-set time selection.
  493. * - 0: 1.3ms in 48kfs
  494. * - 1: 5ms in 48kfs
  495. * - 2: 10ms in 48kfs
  496. * - 3: 20ms in 48kfs
  497. */
  498. #define CONFIG_AUDIO_ADC_0_CH1_HPF_TIME (1)
  499. /* ADC channel1 frequency which range from 0 ~ 111111b. */
  500. #define CONFIG_AUDIO_ADC_0_CH1_FREQUENCY (0)
  501. /* If 1 to enable ADC channel1 HPF high frequency range. */
  502. #define CONFIG_AUDIO_ADC_0_CH1_HPF_FC_HIGH (0)
  503. /**
  504. * ADC channel2 HPF auto-set time selection.
  505. * - 0: 1.3ms in 48kfs
  506. * - 1: 5ms in 48kfs
  507. * - 2: 10ms in 48kfs
  508. * - 3: 20ms in 48kfs
  509. */
  510. #define CONFIG_AUDIO_ADC_0_CH2_HPF_TIME (1)
  511. /* ADC channel2 frequency which range from 0 ~ 111111b. */
  512. #define CONFIG_AUDIO_ADC_0_CH2_FREQUENCY (0)
  513. /* If 1 to enable ADC channel2 HPF high frequency range. */
  514. #define CONFIG_AUDIO_ADC_0_CH2_HPF_FC_HIGH (0)
  515. /**
  516. * ADC channel3 HPF auto-set time selection.
  517. * - 0: 1.3ms in 48kfs
  518. * - 1: 5ms in 48kfs
  519. * - 2: 10ms in 48kfs
  520. * - 3: 20ms in 48kfs
  521. */
  522. #define CONFIG_AUDIO_ADC_0_CH3_HPF_TIME (1)
  523. /* ADC channel3 frequency which range from 0 ~ 111111b. */
  524. #define CONFIG_AUDIO_ADC_0_CH3_FREQUENCY (0)
  525. /* If 1 to enable ADC channel3 HPF high frequency range. */
  526. #define CONFIG_AUDIO_ADC_0_CH3_HPF_FC_HIGH (0)
  527. /**
  528. * Audio LDO output voltage selection.
  529. * - 0: 1.6v
  530. * - 1: 1.7v
  531. * - 2: 1.8v
  532. * - 3: 1.9v
  533. */
  534. #define CONFIG_AUDIO_ADC_0_LDO_VOLTAGE (1)
  535. /*
  536. * Audio VMIC control MIC power as <vmic-ctl0, vmic-ctl1, vmic-ctl2>.
  537. * - 0x: disable VMIC OP
  538. * - 2: bypass VMIC OP
  539. * - 3: enable VMIC OP
  540. */
  541. #define CONFIG_AUDIO_ADC_0_VMIC_CTL_ARRAY {3, 3, 3}
  542. /**
  543. * Audio VMIC control the MIC voltage as <vmic-vol0, vmic-vol1>.
  544. * - 0: 0.8 AVCC
  545. * - 1: 0.85 AVCC
  546. * - 2: 0.9 AVCC
  547. * - 3: 0.95 AVCC
  548. */
  549. #define CONFIG_AUDIO_ADC_0_VMIC_VOLTAGE_ARRAY {2, 2, 2}
  550. /* Enable ADC fast capacitor charge function. */
  551. #define CONFIG_AUDIO_ADC_0_FAST_CAP_CHARGE (0)
  552. /**
  553. * ADC channels selection for AEC.
  554. * - 0: select ADC0 for AEC
  555. * - 1: select ADC1 for AEC
  556. */
  557. #define CONFIG_AUDIO_ADC_0_AEC_SEL (1)
  558. /********************************** I2SRX CONFIGURATION **********************************/
  559. /**
  560. * I2SRX channel number selection.
  561. * - 2: 2 channels
  562. * - 4: 4 channels(TDM)
  563. * - 8: 8 channels(TDM)
  564. */
  565. #define CONFIG_AUDIO_I2SRX_0_CHANNEL_NUM (2)
  566. /**
  567. * I2SRX transfer format selection.
  568. * - 0: I2S format
  569. * - 1: left-justified format
  570. * - 2: right-justified format
  571. * - 3: TDM format
  572. */
  573. #define CONFIG_AUDIO_I2SRX_0_FORMAT (0)
  574. /**
  575. * I2SRX BCLK data width.
  576. * - 0: 32bits
  577. * - 1: 16bits
  578. */
  579. #define CONFIG_AUDIO_I2SRX_0_BCLK_WIDTH (0)
  580. /* Enable the SRD(sample rate detect) function. */
  581. #define CONFIG_AUDIO_I2SRX_0_SRD_EN (1)
  582. /**
  583. * I2SRX master or slaver mode selection.
  584. * - 0: master
  585. * - 1: slaver
  586. */
  587. #define CONFIG_AUDIO_I2SRX_0_MODE (0)
  588. /* Enable in slave mode MCLK to use internal clock. */
  589. #define CONFIG_AUDIO_I2SRX_0_SLAVE_INTERNAL_CLK (0)
  590. /**
  591. * I2STX LRCLK process selection.
  592. * - 0: 50% duty for I2S
  593. * - 1: 1 BCLK
  594. */
  595. #define CONFIG_AUDIO_I2SRX_0_LRCLK_PROC (0)
  596. /**
  597. * I2SRX MCLK reverse selection.
  598. * - 0: normal
  599. * - 1: reverse
  600. */
  601. #define CONFIG_AUDIO_I2SRX_0_MCLK_REVERSE (0)
  602. /**
  603. * I2SRX transfer TDM format selection.
  604. * - 0: I2S format
  605. * - 1: left-justified format
  606. */
  607. #define CONFIG_AUDIO_I2SRX_0_TDM_FORMAT (0)
  608. /**
  609. * I2SRX TDM frame start position selection.
  610. * - 0: the rising edge of LRCLK with a pulse.
  611. * - 1: the rising edge of LRCLK with a 50% duty cycle.
  612. * - 2: the falling edge of LRCLK with a 50% duty cycle.
  613. */
  614. #define CONFIG_AUDIO_I2SRX_0_TDM_FRAME (0)
  615. /* If 1 to enable the I2SRX clock source from I2STX. */
  616. #define CONFIG_AUDIO_I2SRX_0_CLK_FROM_I2STX (0)
  617. /**
  618. * PCM enable
  619. * selet pcm mode
  620. * 0:disable pcm enable i2s
  621. * 1:enable pcm disable i2s
  622. */
  623. #define CONFIG_AUDIO_PCMRX_0_EN (0)
  624. /**
  625. * first PCM enable
  626. * set pcm format
  627. * 0: long frame
  628. * 1: short frame
  629. */
  630. #define CONFIG_AUDIO_PCMRX_0_FORMART (1)
  631. /**
  632. * first PCM enable
  633. * set pcm slot
  634. * 0: slot 1
  635. * 1: slot 2
  636. * 2: slot 4
  637. * 3: slot 8
  638. */
  639. #define CONFIG_AUDIO_PCMRX_0_SLOT (1)
  640. /********************************** SPDIFRX CONFIGURATION **********************************/
  641. /* Specify minimal CORE_PLL clock for spdifrx. */
  642. #define CONFIG_AUDIO_SPDIFRX_0_MIN_COREPLL_CLOCK (50000000)
  643. /*
  644. * dma2d lite cfg
  645. */
  646. #define CONFIG_DMA2D_LITE_SDMA_CHAN 1
  647. /*
  648. * jpeg hw cfg
  649. */
  650. #define CONFIG_JPEG_HW_INPUT_SDMA_CHAN 2
  651. #define CONFIG_JPEG_HW_OUTPUT_SDMA_CHAN 3
  652. #define CONFIG_JPEG_HW_COUPLE_SDMA_CHAN 4
  653. #define CONFIG_MEM_OPT_SDMA_CHAN 4
  654. /*
  655. * jpeg cfg
  656. */
  657. /* jpeg clock speed */
  658. #define CONFIG_JPEG_CLOCK_KHZ (200000)
  659. /*
  660. * GPU cfg
  661. */
  662. /* GPU clock speed */
  663. #define CONFIG_GPU_CLOCK_KHZ (200000)
  664. /*
  665. * DE cfg
  666. */
  667. /* DE clock speed */
  668. #define CONFIG_DISPLAY_ENGINE_CLOCK_KHZ (200000)
  669. /*
  670. * LCDC cfg
  671. */
  672. /* LCDC y-flip mode enabled */
  673. #define CONFIG_LCDC_Y_FLIP 0
  674. /*
  675. * panel cfg
  676. */
  677. #define CONFIG_PANEL_PORT_TYPE PANEL_PORT_QSPI
  678. #define CONFIG_PANEL_PORT_CS (0)
  679. #define CONFIG_PANEL_PORT_SPI_CPOL (1)
  680. #define CONFIG_PANEL_PORT_SPI_CPHA (1)
  681. #define CONFIG_PANEL_PORT_SPI_DUAL_LANE (1)
  682. /* Accepted values: 1, 2, 4, 8 */
  683. #define CONFIG_PANEL_PORT_SPI_AHB_CLK_DIVISION (2)
  684. /* X-Resolution */
  685. #define CONFIG_PANEL_TIMING_HACTIVE (466)
  686. /* Y-Resolution */
  687. #define CONFIG_PANEL_TIMING_VACTIVE (466)
  688. /* Pixel transfer clock rate in KHz */
  689. #define CONFIG_PANEL_TIMING_PIXEL_CLK_KHZ (60000)
  690. /* Refresh rate in Hz */
  691. #define CONFIG_PANEL_TIMING_REFRESH_RATE_HZ (60)
  692. /* TE signal exists */
  693. #define CONFIG_PANEL_TIMING_TE_ACTIVE (1)
  694. //#define CONFIG_PANEL_BACKLIGHT_PWM PWM_CFG_MAKE(CONFIG_PWM_NAME, 7, 255, 1)
  695. //#define CONFIG_PANEL_BACKLIGHT_GPIO GPIO_CFG_MAKE(CONFIG_GPIO_C_NAME, 0, GPIO_ACTIVE_HIGH, 1)
  696. #define CONFIG_PANEL_BRIGHTNESS_DELAY_PERIODS (0)
  697. /* brightness range [0, 255] */
  698. #if CONFIG_AEM_WATCH_SUPPORT
  699. #define CONFIG_PANEL_BRIGHTNESS (0)
  700. #define CONFIG_PANEL_AOD_BRIGHTNESS (48)
  701. #else
  702. #define CONFIG_PANEL_BRIGHTNESS (255)
  703. #define CONFIG_PANEL_AOD_BRIGHTNESS (128)
  704. #endif
  705. #define CONFIG_PANEL_TE_SCANLINE (300)
  706. /* fixed screen offset due to material or other issue */
  707. #define CONFIG_PANEL_FIX_OFFSET_X (6)
  708. #define CONFIG_PANEL_FIX_OFFSET_Y (0)
  709. /* (logical) resolution area reported to user */
  710. #define CONFIG_PANEL_HOR_RES (CONFIG_PANEL_TIMING_HACTIVE)
  711. #define CONFIG_PANEL_VER_RES (CONFIG_PANEL_TIMING_VACTIVE)
  712. #define CONFIG_PANEL_OFFSET_X (0)
  713. #define CONFIG_PANEL_OFFSET_Y (0)
  714. /* round panel */
  715. #define CONFIG_PANEL_ROUND_SHAPE (1)
  716. /* ESD check period in milliseconds */
  717. #define CONFIG_PANEL_ESD_CHECK_PERIOD 3000
  718. /* Optimization:
  719. * At most 7 areas (3~7) will be posted for full screen refresh.
  720. *
  721. * Areas are defined as (x1, y1, x2, y2), and must be arraged from top to bottom.
  722. * Both their position and size must also be even.
  723. */
  724. #if 1
  725. #define CONFIG_PANEL_FULL_SCREEN_OPT_AREA \
  726. { \
  727. { 124 - CONFIG_PANEL_OFFSET_X, 0 - CONFIG_PANEL_OFFSET_Y, 341 - CONFIG_PANEL_OFFSET_X, 27 - CONFIG_PANEL_OFFSET_Y }, \
  728. { 68 - CONFIG_PANEL_OFFSET_X, 28 - CONFIG_PANEL_OFFSET_Y, 397 - CONFIG_PANEL_OFFSET_X, 67 - CONFIG_PANEL_OFFSET_Y }, \
  729. { 28 - CONFIG_PANEL_OFFSET_X, 68 - CONFIG_PANEL_OFFSET_Y, 437 - CONFIG_PANEL_OFFSET_X, 123 - CONFIG_PANEL_OFFSET_Y }, \
  730. { 0 - CONFIG_PANEL_OFFSET_X, 124 - CONFIG_PANEL_OFFSET_Y, 465 - CONFIG_PANEL_OFFSET_X, 341 - CONFIG_PANEL_OFFSET_Y }, \
  731. { 28 - CONFIG_PANEL_OFFSET_X, 342 - CONFIG_PANEL_OFFSET_Y, 437 - CONFIG_PANEL_OFFSET_X, 397 - CONFIG_PANEL_OFFSET_Y }, \
  732. { 68 - CONFIG_PANEL_OFFSET_X, 398 - CONFIG_PANEL_OFFSET_Y, 397 - CONFIG_PANEL_OFFSET_X, 437 - CONFIG_PANEL_OFFSET_Y }, \
  733. { 124 - CONFIG_PANEL_OFFSET_X, 438 - CONFIG_PANEL_OFFSET_Y, 341 - CONFIG_PANEL_OFFSET_X, 465 - CONFIG_PANEL_OFFSET_Y }, \
  734. }
  735. #else
  736. #define CONFIG_PANEL_FULL_SCREEN_OPT_AREA \
  737. { \
  738. { 68 - CONFIG_PANEL_OFFSET_X, 0 - CONFIG_PANEL_OFFSET_Y, 397 - CONFIG_PANEL_OFFSET_X, 67 - CONFIG_PANEL_OFFSET_Y }, \
  739. { 0 - CONFIG_PANEL_OFFSET_X, 68 - CONFIG_PANEL_OFFSET_Y, 465 - CONFIG_PANEL_OFFSET_X, 397 - CONFIG_PANEL_OFFSET_Y }, \
  740. { 68 - CONFIG_PANEL_OFFSET_X, 398 - CONFIG_PANEL_OFFSET_Y, 397 - CONFIG_PANEL_OFFSET_X, 465 - CONFIG_PANEL_OFFSET_Y }, \
  741. }
  742. #endif
  743. /*
  744. * tp cfg
  745. */
  746. #define CONFIG_TPKEY_I2C_NAME CONFIG_I2C_1_NAME
  747. #define CONFIG_TPKEY_LOWPOWER (1)
  748. /*
  749. PMU cfg
  750. */
  751. /* If 1 to enable the ON-OFF key short press detection function. */
  752. #define CONFIG_PMU_ONOFF_SHORT_DETECT (1)
  753. /* If 1 to indicates that ON-OFF key and REMOTE key use the same WIO */
  754. #define CONFIG_PMU_ONOFF_REMOTE_SAME_WIO (1)
  755. /*
  756. PMUADC cfg
  757. */
  758. #define CONFIG_PMUADC_DEBOUNCE (1)
  759. /** PMUADC battery channel over sampling counter
  760. * - 0: disable over sampling
  761. * - 1: 4 times
  762. * - 2: 8 times
  763. * - 3: 16 times
  764. */
  765. #define CONFIG_PMUADC_BAT_AVG_CNT (2)
  766. /* If 1 to wait PMUADC AVG sample completely */
  767. #define CONFIG_PMUADC_BAT_WAIT_AVG_COMPLETE (0)
  768. /** PMUADC LRADC1 channel over sampling counter
  769. * - 0: disable over sampling
  770. * - 1: 4 times
  771. * - 2: 8 times
  772. * - 3: 16 times
  773. */
  774. #define CONFIG_PMUADC_LRADC1_AVG (0)
  775. /** PMUADC LRADC2 channel over sampling counter
  776. * - 0: disable over sampling
  777. * - 1: 4 times
  778. * - 2: 8 times
  779. * - 3: 16 times
  780. */
  781. #define CONFIG_PMUADC_LRADC2_AVG (2)
  782. /**
  783. * PMU ADC LRADC clock source selection.
  784. * - 0: RC32K
  785. * - 1: CK32K768
  786. * - 2: RC4M/16
  787. * - 3: HOSC/128
  788. */
  789. #define CONFIG_PMUADC_CLOCK_SOURCE (3)
  790. /**
  791. * PMU ADC LRADC clock source divisor selection.
  792. * - 0: /1
  793. * - 1: /2
  794. * - 2: /4
  795. * - 3: /8
  796. */
  797. #define CONFIG_PMUADC_CLOCK_DIV (0)
  798. /**
  799. * PMU ADC previous buffer current BIAS selection.
  800. * - 0: 0.25uA
  801. * - 1: 0.5uA
  802. * - 2: 0.75uA
  803. * - 3: 1uA
  804. */
  805. #define CONFIG_PMUADC_IBIAS_BUF_SEL (0)
  806. /**
  807. * PMU ADC core current BIAS selection.
  808. * - 0: 0.25uA
  809. * - 1: 0.5uA
  810. * - 2: 0.75uA
  811. * - 3: 1uA
  812. */
  813. #define CONFIG_PMUADC_IBIAS_ADC_SEL (1)
  814. /* The timeout of sync counter8hz */
  815. #define CONFIG_PMU_COUNTER8HZ_SYNC_TIMEOUT_US (2000000)
  816. /* If 1 to enable backup time when power off */
  817. #define CONFIG_PM_BACKUP_TIME_FUNCTION_EN (1)
  818. #define CONFIG_PM_BACKUP_TIME_NVRAM_ITEM_NAME "PM_BAK_TIME"
  819. /*
  820. ADCKEY cfg
  821. */
  822. /* The time interval in millisecond to polling read the PMU ADC key. */
  823. #define CONFIG_ADCKEY_POLL_INTERVAL_MS (20)
  824. /* The total time in millisecond to polling read the PMU ADC key. */
  825. #define CONFIG_ADCKEY_POLL_TOTAL_MS (1000)
  826. /* The stable counter of sample filter. */
  827. #define CONFIG_ADCKEY_SAMPLE_FILTER_CNT (3)
  828. /* The LRADC channel for ADC KEY */
  829. #define CONFIG_ADCKEY_LRADC_CHAN (PMUADC_ID_LRADC3)
  830. /*
  831. ONOFFKEY cfg
  832. */
  833. /*
  834. * The time threshold in millisecond to estimate the on-off key press is a long time pressed.
  835. * - 0: 50ms < t < 0.125s is a short pressed key press; t >= 0.125s is a long pressed key.
  836. * - 1: 50ms < t < 0.25s is a short pressed key; t >= 0.25s is a long pressed key.
  837. * - 2: 50ms < t < 0.5s is a short pressed key press; t >= 0.5s is a long pressed key.
  838. * - 3: 50ms < t < 1s is a short pressed key press; t >= 1s is a long pressed key.
  839. * - 4: 50ms < t < 1.5s is a short pressed key press; t >= 1.5s is a long pressed key.
  840. * - 5: 50ms < t < 2s is a short pressed key press; t >= 2s is a long pressed key.
  841. * - 6: 50ms < t < 3s is a short pressed key press; t >= 3s is a long pressed key.
  842. * - 7: 50ms < t < 4s is a short pressed key press; t >= 4s is a long pressed key.
  843. */
  844. #define CONFIG_ONOFFKEY_LONG_PRESS_TIME (3)
  845. /*
  846. * ON-OFF key function selection.
  847. * - 0: no function
  848. * - 1: reset
  849. * - 2: restart
  850. */
  851. #define CONFIG_ONOFFKEY_FUNCTION (1)
  852. /* The time interval in millisecond to polling read the PMU ADC key. */
  853. #define CONFIG_ONOFFKEY_POLL_INTERVAL_MS (20)
  854. /* The total time in millisecond to polling onoff ADC key */
  855. #define CONFIG_ONOFFKEY_POLL_TOTAL_MS (6000)
  856. /* The stable counter for ONOFF KEY sample filter */
  857. #define CONFIG_ONOFFKEY_SAMPLE_FILTER_CNT (3)
  858. /* The key code of ONOFF KEY which defined by user */
  859. #define CONFIG_ONOFFKEY_USER_KEYCODE (1) /* KEY_POWER which reference to input_dev.h */
  860. /*
  861. GPIOKEY cfg
  862. */
  863. /* The time interval in millisecond to polling read the GPIO key. */
  864. #define CONFIG_GPIOKEY_POLL_INTERVAL_MS (20)
  865. /* The total time in millisecond to polling onoff GPIO key */
  866. #define CONFIG_GPIOKEY_POLL_TOTAL_MS (6000)
  867. /* The stable counter for GPIO KEY sample filter */
  868. #define CONFIG_GPIOKEY_SAMPLE_FILTER_CNT (3)
  869. /* The voltage level when gpio key is pressed */
  870. #define CONFIG_GPIOKEY_PRESSED_VOLTAGE_LEVEL (1)
  871. /* The key code of GPIO KEY which defined by user */
  872. #define CONFIG_GPIOKEY_USER_KEYCODE (9) /* KEY_TBD which reference to input_dev.h */
  873. /*
  874. RTC cfg
  875. */
  876. /**
  877. * The RTC clock source selection.
  878. * - 0: RTC_CLKSRC_HOSC_4HZ
  879. * - 1: RTC_CLKSRC_LOSC_100HZ
  880. * - 2: RTC_CLKSRC_HCL_RC32K_100HZ
  881. */
  882. #define CONFIG_RTC_CLK_SOURCE (2)
  883. /**
  884. * if 1 eanble The RTC clock calibration in power off
  885. RTC CONFIG_RTC_CLK_SOURCE=2 calibration can enable
  886. */
  887. #define CONFIG_RTC_ENABLE_CALIBRATION 1
  888. /*
  889. Watchdog cfg
  890. */
  891. /*
  892. Battery cfg
  893. */
  894. /* The time interval for battery voltage showing debug. */
  895. #define CONFIG_BATTERY_DEBUG_INTERVAL_SEC (60)
  896. #ifdef CONFIG_ACTS_BATTERY_SUPPLY_EXT_COULOMETER
  897. /* extern coulometer device name */
  898. #define CONFIG_ACTS_EXT_COULOMETER_DEV_NAME "coulometer"
  899. /* extern coulometer use i2c device name */
  900. #define CONFIG_COULOMETER_I2C_NAME CONFIG_I2C_1_NAME
  901. /* extern coulometer poll interval period ms */
  902. #define CONFIG_COULOMETER_INTERVAL_MSEC (1000)
  903. #endif
  904. #ifdef CONFIG_ACTS_BATTERY_SUPPLY_EXTERNAL
  905. /* extern charger use i2c device name */
  906. #define CONFIG_EXT_CHARGER_I2C_NAME CONFIG_I2C_1_NAME
  907. #define CONFIG_EXT_CHARGER_ISR_GPIO GPIO_CFG_MAKE(CONFIG_WIO_NAME, 1, GPIO_ACTIVE_LOW, 1) // WIO1
  908. #endif
  909. #endif /* __BOARD_CFG_H */