drv_names.h 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. /* Copyright (C) 2018 RDA Technologies Limited and/or its affiliates("RDA").
  2. * All rights reserved.
  3. *
  4. * This software is supplied "AS IS" without any warranties.
  5. * RDA assumes no responsibility or liability for the use of the software,
  6. * conveys no license or title under any patent, copyright, or mask work
  7. * right to the product. RDA reserves the right to make changes in the
  8. * software without notification. RDA also make no representation or
  9. * warranty that such application will be suitable for the specified use
  10. * without further testing or modification.
  11. */
  12. #ifndef _DRV_NAMES_H_
  13. #define _DRV_NAMES_H_
  14. #include "osi_compiler.h"
  15. #include "quec_proj_config.h"
  16. OSI_EXTERN_C_BEGIN
  17. #define DRV_NAME_INVALID 0
  18. #define DRV_NAME_DEBUGUART OSI_MAKE_TAG('D', 'U', 'R', 'T') // DURT
  19. #define DRV_NAME_CP OSI_MAKE_TAG('C', 'P', ' ', ' ') // CP
  20. #define DRV_NAME_SCI1 OSI_MAKE_TAG('S', 'C', 'I', '1') // SCI1
  21. #define DRV_NAME_SCI2 OSI_MAKE_TAG('S', 'C', 'I', '2') // SCI2
  22. #define DRV_NAME_SPI1 OSI_MAKE_TAG('S', 'P', 'I', '1') // SPI1
  23. #define DRV_NAME_SPI2 OSI_MAKE_TAG('S', 'P', 'I', '2') // SPI2
  24. #define DRV_NAME_SPI3 OSI_MAKE_TAG('S', 'P', 'I', '3') // SPI3
  25. #define DRV_NAME_UART1 OSI_MAKE_TAG('U', 'R', 'T', '1') // URT1
  26. #define DRV_NAME_UART2 OSI_MAKE_TAG('U', 'R', 'T', '2') // URT2
  27. #define DRV_NAME_UART3 OSI_MAKE_TAG('U', 'R', 'T', '3') // URT3
  28. #define DRV_NAME_UART4 OSI_MAKE_TAG('U', 'R', 'T', '4') // URT4
  29. #define DRV_NAME_UART5 OSI_MAKE_TAG('U', 'R', 'T', '5') // URT5
  30. #define DRV_NAME_UART6 OSI_MAKE_TAG('U', 'R', 'T', '6') // URT6
  31. #define DRV_NAME_SPI_FLASH OSI_MAKE_TAG('S', 'F', 'L', '1') // SFL1
  32. #define DRV_NAME_SPI_FLASH_EXT OSI_MAKE_TAG('S', 'F', 'L', '2') // SFL2
  33. #define DRV_NAME_AON_WDT OSI_MAKE_TAG('A', 'O', 'W', 'D') // AOWD
  34. #define DRV_NAME_USB11 OSI_MAKE_TAG('U', 'S', 'B', '1') // USB1
  35. #define DRV_NAME_USB20 OSI_MAKE_TAG('U', 'S', 'B', '2') // USB2
  36. #define DRV_NAME_USRL_COM0 OSI_MAKE_TAG('U', 'S', 'L', '0') // USL0
  37. #define DRV_NAME_USRL_COM1 OSI_MAKE_TAG('U', 'S', 'L', '1') // USL1
  38. #define DRV_NAME_USRL_COM2 OSI_MAKE_TAG('U', 'S', 'L', '2') // USL2
  39. #define DRV_NAME_USRL_COM3 OSI_MAKE_TAG('U', 'S', 'L', '3') // USL3
  40. #define DRV_NAME_USRL_COM4 OSI_MAKE_TAG('U', 'S', 'L', '4') // USL4
  41. #define DRV_NAME_USRL_COM5 OSI_MAKE_TAG('U', 'S', 'L', '5') // USL5
  42. #define DRV_NAME_USRL_COM6 OSI_MAKE_TAG('U', 'S', 'L', '6') // USL6
  43. #define DRV_NAME_USRL_COM7 OSI_MAKE_TAG('U', 'S', 'L', '7') // USL7
  44. #define DRV_NAME_ACM0 OSI_MAKE_TAG('A', 'C', 'M', '0') // ACM0
  45. #define DRV_NAME_ACM1 OSI_MAKE_TAG('A', 'C', 'M', '1') // ACM1
  46. #define DRV_NAME_ACM2 OSI_MAKE_TAG('A', 'C', 'M', '2') // ACM2
  47. #define DRV_NAME_ACM3 OSI_MAKE_TAG('A', 'C', 'M', '3') // ACM3
  48. #define DRV_NAME_ACM4 OSI_MAKE_TAG('A', 'C', 'M', '4') // ACM4
  49. #define DRV_NAME_ACM5 OSI_MAKE_TAG('A', 'C', 'M', '5') // ACM5
  50. #define DRV_NAME_SDMMC1 OSI_MAKE_TAG('S', 'D', 'C', '1') // SDC1
  51. #define DRV_NAME_SDMMC2 OSI_MAKE_TAG('S', 'D', 'C', '2') // SDC2
  52. #define DRV_NAME_EMMC OSI_MAKE_TAG('E', 'M', 'M', 'C') // EMMC
  53. #define DRV_NAME_SDIO OSI_MAKE_TAG('S', 'D', 'I', 'O') // SDIO
  54. #define DRV_NAME_CAMERA1 OSI_MAKE_TAG('C', 'A', 'M', '1') // CAM1
  55. #define DRV_NAME_I2C1 OSI_MAKE_TAG('I', '2', 'C', '1') // I2C1
  56. #define DRV_NAME_I2C2 OSI_MAKE_TAG('I', '2', 'C', '2') // I2C2
  57. #define DRV_NAME_I2C3 OSI_MAKE_TAG('I', '2', 'C', '3') // I2C3
  58. #define DRV_NAME_I2S1 OSI_MAKE_TAG('I', '2', 'S', '1') // I2S1
  59. #define DRV_NAME_WCN OSI_MAKE_TAG('W', 'C', 'N', ' ') // WCN
  60. #ifndef CONFIG_QUEC_PROJECT_FEATURE_LEDCFG
  61. #define DRV_NAME_PWM1 OSI_MAKE_TAG('P', 'W', 'M', '1') // PWM1
  62. #else
  63. #define DRV_NAME_PWT OSI_MAKE_TAG('P', 'W', 'T', ' ') // PWT
  64. #define DRV_NAME_LPG OSI_MAKE_TAG('L', 'P', 'G', ' ') // LPG
  65. #define DRV_NAME_PWL0 OSI_MAKE_TAG('P', 'W', 'L', '0') // PWL0
  66. #define DRV_NAME_PWL1 OSI_MAKE_TAG('P', 'W', 'L', '1') // PWL1
  67. #endif
  68. #define DRV_NAME_LCD1 OSI_MAKE_TAG('L', 'C', 'D', '1') // LCD1
  69. #define DRV_NAME_LCD2 OSI_MAKE_TAG('L', 'C', 'D', '2') // LCD2
  70. #define DRV_NAME_GOUDA OSI_MAKE_TAG('G', 'O', 'U', 'D') // GOUD
  71. #define DRV_NAME_ADI_BUS OSI_MAKE_TAG('A', 'D', 'I', 'B') // ADIB
  72. #define DRV_NAME_IOMUX OSI_MAKE_TAG('I', 'O', 'M', 'X') // IOMX
  73. #define DRV_NAME_GPIO OSI_MAKE_TAG('G', 'P', 'I', 'O') // GPIO
  74. #define DRV_NAME_AXI_DMA OSI_MAKE_TAG('A', 'D', 'M', 'A') // ADMA
  75. #define DRV_NAME_PMICGPT OSI_MAKE_TAG('P', 'G', 'P', 'T') // PMICGPT
  76. #define DRV_NAME_GPT1 OSI_MAKE_TAG('G', 'P', 'T', '1') // GPT1
  77. #define DRV_NAME_GPT2 OSI_MAKE_TAG('G', 'P', 'T', '2') // GPT2
  78. #define DRV_NAME_GPT3 OSI_MAKE_TAG('G', 'P', 'T', '3') // GPT3
  79. #define DRV_NAME_GPT4 OSI_MAKE_TAG('G', 'P', 'T', '4') // GPT4
  80. #define DRV_NAME_CCID0 OSI_MAKE_TAG('C', 'I', 'D', '0') // CID0
  81. #define DRV_NAME_SEG_LCD OSI_MAKE_TAG('S', 'L', 'C', 'D') // SLCD
  82. #define DRV_NAME_KEYPAD OSI_MAKE_TAG('K', 'E', 'Y', 'P') // KEYP
  83. #define DRV_NAME_LTE_F8 OSI_MAKE_TAG('L', 'T', 'F', '8') // LTF8
  84. #define DRV_NAME_EFUSE OSI_MAKE_TAG('E', 'F', 'U', 'S') // EFUS
  85. #define DRV_NAME_SIM1 OSI_MAKE_TAG('S', 'I', 'M', '1') // SIM1
  86. #define DRV_NAME_SIM2 OSI_MAKE_TAG('S', 'I', 'M', '2') // SIM2
  87. #define DRV_NAME_PSRAM OSI_MAKE_TAG('P', 'R', 'A', 'M') // PRAM
  88. #define DRV_NAME_CE OSI_MAKE_TAG('C', 'E', 'N', 'G') // CENG
  89. #ifdef CONFIG_QUEC_PROJECT_FEATURE_FS_NAND_FLASH
  90. #define DRV_NAME_NAND_FLASH OSI_MAKE_TAG('N', 'A', 'N', 'D') // NAND
  91. #endif
  92. #ifdef CONFIG_QUEC_PROJECT_FEATURE_FS_NOR_FLASH
  93. #define DRV_NAME_ENOR_FLASH OSI_MAKE_TAG('E', 'N', 'O', 'R') // EXTNOR
  94. #endif
  95. #define DRV_NAME_PREFIX_MASK OSI_MAKE_TAG('\xff', '\xff', '\xff', '\x00')
  96. #define DRV_NAME_IS_UART(name) (((name)&DRV_NAME_PREFIX_MASK) == OSI_MAKE_TAG('U', 'R', 'T', '\0'))
  97. #define DRV_NAME_IS_USRL(name) (((name)&DRV_NAME_PREFIX_MASK) == OSI_MAKE_TAG('U', 'S', 'L', '\0') || ((name)&DRV_NAME_PREFIX_MASK) == OSI_MAKE_TAG('A', 'C', 'M', '\0'))
  98. // Get the last char. For example, OSI_MAKE_TAG('U', 'R', 'T', '1') ==> '1'
  99. #define DRV_NAME_SUFFIX(name) (((name)&0xff000000) >> 24)
  100. // Get index. It is assumed that the index is the last char, and start
  101. // from '1'. For example, OSI_MAKE_TAG('U', 'R', 'T', '1') ==> 0
  102. #define DRV_NAME_SUFFIX_INDEX(name) (DRV_NAME_SUFFIX(name) - '1')
  103. #ifdef CONFIG_QUEC_PROJECT_FEATURE_SLEEP
  104. #define DRV_NAME_OPEN_SLEEP_TAG OSI_MAKE_TAG('Q','L','S','\0')
  105. #define DRV_NAME_KERNEL_SLEEP_MAIN OSI_MAKE_TAG('Q', 'K', 'S', 'M')
  106. #define DRV_NAME_KERNEL_SLEEP_WAKEUP_IN OSI_MAKE_TAG('Q', 'W', 'K', 'I')
  107. #define DRV_NAME_KERNEL_SLEEP_DTR OSI_MAKE_TAG('Q', 'D', 'T', 'R')
  108. #endif
  109. #ifdef CONFIG_QUEC_PROJECT_FEATURE
  110. #define QL_DNAME_UAC OSI_MAKE_TAG('Q', 'U', 'A', 'C')
  111. #endif
  112. #ifdef CONFIG_QUEC_PROJECT_FEATURE_UART
  113. #define QUEC_DNAME_DIAG_COM OSI_MAKE_TAG('D', 'I', 'A', 'G')
  114. #endif
  115. #ifdef CONFIG_QUEC_PROJECT_FEATURE_CMUX
  116. #define QUEC_DNAME_CMUX1 OSI_MAKE_TAG('M', 'U', 'X', '1')
  117. #define QUEC_DNAME_CMUX2 OSI_MAKE_TAG('M', 'U', 'X', '2')
  118. #define QUEC_DNAME_CMUX3 OSI_MAKE_TAG('M', 'U', 'X', '3')
  119. #define QUEC_DNAME_CMUX4 OSI_MAKE_TAG('M', 'U', 'X', '4')
  120. #endif
  121. OSI_EXTERN_C_END
  122. #endif