f8.h 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  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 _F8_H_
  13. #define _F8_H_
  14. // Auto generated by dtools(see dtools.txt for its version).
  15. // Don't edit it manually!
  16. #define REG_F8_BASE (0x12000000)
  17. typedef volatile struct
  18. {
  19. uint32_t f8_up_conf; // 0x00000000
  20. uint32_t f8_up_group_addr; // 0x00000004
  21. uint32_t f8_up_group_cnt; // 0x00000008
  22. uint32_t f8_up_status; // 0x0000000c
  23. uint32_t f8_dp_conf; // 0x00000010
  24. uint32_t f8_dp_group_addr; // 0x00000014
  25. uint32_t f8_dp_group_cnt; // 0x00000018
  26. uint32_t f8_dp_status; // 0x0000001c
  27. uint32_t f9_conf; // 0x00000020
  28. uint32_t f9_group_addr; // 0x00000024
  29. uint32_t f9_status; // 0x00000028
  30. uint32_t f9_result; // 0x0000002c
  31. uint32_t f8_cmd_conf; // 0x00000030
  32. uint32_t f8_cmd_addr; // 0x00000034
  33. uint32_t f8_cmd_status; // 0x00000038
  34. uint32_t status_sr; // 0x0000003c
  35. } HWP_F8_T;
  36. #define hwp_f8 ((HWP_F8_T *)REG_ACCESS_ADDRESS(REG_F8_BASE))
  37. // f8_up_conf
  38. typedef union {
  39. uint32_t v;
  40. struct
  41. {
  42. uint32_t f8_start : 1; // [0]
  43. uint32_t f8_irq_en : 1; // [1]
  44. uint32_t f8_ar_sel : 3; // [4:2]
  45. uint32_t __31_5 : 27; // [31:5]
  46. } b;
  47. } REG_F8_F8_UP_CONF_T;
  48. // f8_up_status
  49. typedef union {
  50. uint32_t v;
  51. struct
  52. {
  53. uint32_t f8_up_stat : 1; // [0], write clear
  54. uint32_t __31_1 : 31; // [31:1]
  55. } b;
  56. } REG_F8_F8_UP_STATUS_T;
  57. // f8_dp_conf
  58. typedef union {
  59. uint32_t v;
  60. struct
  61. {
  62. uint32_t f8_start : 1; // [0]
  63. uint32_t f8_irq_en : 1; // [1]
  64. uint32_t f8_ar_sel : 3; // [4:2]
  65. uint32_t __31_5 : 27; // [31:5]
  66. } b;
  67. } REG_F8_F8_DP_CONF_T;
  68. // f8_dp_status
  69. typedef union {
  70. uint32_t v;
  71. struct
  72. {
  73. uint32_t f8_dp_stat : 1; // [0], write clear
  74. uint32_t __31_1 : 31; // [31:1]
  75. } b;
  76. } REG_F8_F8_DP_STATUS_T;
  77. // f9_conf
  78. typedef union {
  79. uint32_t v;
  80. struct
  81. {
  82. uint32_t f9_start : 1; // [0]
  83. uint32_t f9_irq_en : 1; // [1]
  84. uint32_t f9_ar_sel : 2; // [3:2]
  85. uint32_t r_cmd_cnt : 2; // [5:4]
  86. uint32_t w_cmd_cnt : 2; // [7:6]
  87. uint32_t __31_8 : 24; // [31:8]
  88. } b;
  89. } REG_F8_F9_CONF_T;
  90. // f9_status
  91. typedef union {
  92. uint32_t v;
  93. struct
  94. {
  95. uint32_t f9_stat : 1; // [0], write clear
  96. uint32_t __31_1 : 31; // [31:1]
  97. } b;
  98. } REG_F8_F9_STATUS_T;
  99. // f8_cmd_conf
  100. typedef union {
  101. uint32_t v;
  102. struct
  103. {
  104. uint32_t f8_start : 1; // [0]
  105. uint32_t f8_irq_en : 1; // [1]
  106. uint32_t f8_ar_sel : 3; // [4:2]
  107. uint32_t __31_5 : 27; // [31:5]
  108. } b;
  109. } REG_F8_F8_CMD_CONF_T;
  110. // f8_cmd_status
  111. typedef union {
  112. uint32_t v;
  113. struct
  114. {
  115. uint32_t f8_cmd_stat : 1; // [0], write clear
  116. uint32_t __31_1 : 31; // [31:1]
  117. } b;
  118. } REG_F8_F8_CMD_STATUS_T;
  119. // status_sr
  120. typedef union {
  121. uint32_t v;
  122. struct
  123. {
  124. uint32_t f8_dp_status : 1; // [0], write clear
  125. uint32_t f8_up_status : 1; // [1], write clear
  126. uint32_t f8_cmd_status : 1; // [2], write clear
  127. uint32_t f9_status : 1; // [3], write clear
  128. uint32_t __31_4 : 28; // [31:4]
  129. } b;
  130. } REG_F8_STATUS_SR_T;
  131. // f8_up_conf
  132. #define F8_F8_START (1 << 0)
  133. #define F8_F8_IRQ_EN (1 << 1)
  134. #define F8_F8_AR_SEL(n) (((n)&0x7) << 2)
  135. // f8_up_status
  136. #define F8_F8_UP_STAT (1 << 0)
  137. // f8_dp_conf
  138. #define F8_F8_START (1 << 0)
  139. #define F8_F8_IRQ_EN (1 << 1)
  140. #define F8_F8_AR_SEL(n) (((n)&0x7) << 2)
  141. // f8_dp_status
  142. #define F8_F8_DP_STAT (1 << 0)
  143. // f9_conf
  144. #define F8_F9_START (1 << 0)
  145. #define F8_F9_IRQ_EN (1 << 1)
  146. #define F8_F9_AR_SEL(n) (((n)&0x3) << 2)
  147. #define F8_R_CMD_CNT(n) (((n)&0x3) << 4)
  148. #define F8_W_CMD_CNT(n) (((n)&0x3) << 6)
  149. // f9_status
  150. #define F8_F9_STAT (1 << 0)
  151. // f8_cmd_conf
  152. #define F8_F8_START (1 << 0)
  153. #define F8_F8_IRQ_EN (1 << 1)
  154. #define F8_F8_AR_SEL(n) (((n)&0x7) << 2)
  155. // f8_cmd_status
  156. #define F8_F8_CMD_STAT (1 << 0)
  157. // status_sr
  158. #define F8_F8_DP_STATUS (1 << 0)
  159. #define F8_F8_UP_STATUS (1 << 1)
  160. #define F8_F8_CMD_STATUS (1 << 2)
  161. #define F8_F9_STATUS (1 << 3)
  162. #endif // _F8_H_