950-0871-dt-binding-mfd-Add-binding-for-Raspberry-Pi-RP1.patch 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  1. From c93f469dabdbed822e5abeb5283d79fc9faa858c Mon Sep 17 00:00:00 2001
  2. From: Phil Elwell <[email protected]>
  3. Date: Fri, 28 Oct 2022 14:10:34 +0100
  4. Subject: [PATCH] dt-binding: mfd: Add binding for Raspberry Pi RP1
  5. Signed-off-by: Phil Elwell <[email protected]>
  6. ---
  7. include/dt-bindings/mfd/rp1.h | 235 ++++++++++++++++++++++++++++++++++
  8. 1 file changed, 235 insertions(+)
  9. create mode 100644 include/dt-bindings/mfd/rp1.h
  10. --- /dev/null
  11. +++ b/include/dt-bindings/mfd/rp1.h
  12. @@ -0,0 +1,235 @@
  13. +/* SPDX-License-Identifier: GPL-2.0 */
  14. +/*
  15. + * This header provides constants for the PY MFD.
  16. + */
  17. +
  18. +#ifndef _RP1_H
  19. +#define _RP1_H
  20. +
  21. +/* Address map */
  22. +#define RP1_SYSINFO_BASE 0x000000
  23. +#define RP1_TBMAN_BASE 0x004000
  24. +#define RP1_SYSCFG_BASE 0x008000
  25. +#define RP1_OTP_BASE 0x00c000
  26. +#define RP1_POWER_BASE 0x010000
  27. +#define RP1_RESETS_BASE 0x014000
  28. +#define RP1_CLOCKS_BANK_DEFAULT_BASE 0x018000
  29. +#define RP1_CLOCKS_BANK_VIDEO_BASE 0x01c000
  30. +#define RP1_PLL_SYS_BASE 0x020000
  31. +#define RP1_PLL_AUDIO_BASE 0x024000
  32. +#define RP1_PLL_VIDEO_BASE 0x028000
  33. +#define RP1_UART0_BASE 0x030000
  34. +#define RP1_UART1_BASE 0x034000
  35. +#define RP1_UART2_BASE 0x038000
  36. +#define RP1_UART3_BASE 0x03c000
  37. +#define RP1_UART4_BASE 0x040000
  38. +#define RP1_UART5_BASE 0x044000
  39. +#define RP1_SPI8_BASE 0x04c000
  40. +#define RP1_SPI0_BASE 0x050000
  41. +#define RP1_SPI1_BASE 0x054000
  42. +#define RP1_SPI2_BASE 0x058000
  43. +#define RP1_SPI3_BASE 0x05c000
  44. +#define RP1_SPI4_BASE 0x060000
  45. +#define RP1_SPI5_BASE 0x064000
  46. +#define RP1_SPI6_BASE 0x068000
  47. +#define RP1_SPI7_BASE 0x06c000
  48. +#define RP1_I2C0_BASE 0x070000
  49. +#define RP1_I2C1_BASE 0x074000
  50. +#define RP1_I2C2_BASE 0x078000
  51. +#define RP1_I2C3_BASE 0x07c000
  52. +#define RP1_I2C4_BASE 0x080000
  53. +#define RP1_I2C5_BASE 0x084000
  54. +#define RP1_I2C6_BASE 0x088000
  55. +#define RP1_AUDIO_IN_BASE 0x090000
  56. +#define RP1_AUDIO_OUT_BASE 0x094000
  57. +#define RP1_PWM0_BASE 0x098000
  58. +#define RP1_PWM1_BASE 0x09c000
  59. +#define RP1_I2S0_BASE 0x0a0000
  60. +#define RP1_I2S1_BASE 0x0a4000
  61. +#define RP1_I2S2_BASE 0x0a8000
  62. +#define RP1_TIMER_BASE 0x0ac000
  63. +#define RP1_SDIO0_APBS_BASE 0x0b0000
  64. +#define RP1_SDIO1_APBS_BASE 0x0b4000
  65. +#define RP1_BUSFABRIC_MONITOR_BASE 0x0c0000
  66. +#define RP1_BUSFABRIC_AXISHIM_BASE 0x0c4000
  67. +#define RP1_ADC_BASE 0x0c8000
  68. +#define RP1_IO_BANK0_BASE 0x0d0000
  69. +#define RP1_IO_BANK1_BASE 0x0d4000
  70. +#define RP1_IO_BANK2_BASE 0x0d8000
  71. +#define RP1_SYS_RIO0_BASE 0x0e0000
  72. +#define RP1_SYS_RIO1_BASE 0x0e4000
  73. +#define RP1_SYS_RIO2_BASE 0x0e8000
  74. +#define RP1_PADS_BANK0_BASE 0x0f0000
  75. +#define RP1_PADS_BANK1_BASE 0x0f4000
  76. +#define RP1_PADS_BANK2_BASE 0x0f8000
  77. +#define RP1_PADS_ETH_BASE 0x0fc000
  78. +#define RP1_ETH_IP_BASE 0x100000
  79. +#define RP1_ETH_CFG_BASE 0x104000
  80. +#define RP1_PCIE_APBS_BASE 0x108000
  81. +#define RP1_MIPI0_CSIDMA_BASE 0x110000
  82. +#define RP1_MIPI0_CSIHOST_BASE 0x114000
  83. +#define RP1_MIPI0_DSIDMA_BASE 0x118000
  84. +#define RP1_MIPI0_DSIHOST_BASE 0x11c000
  85. +#define RP1_MIPI0_MIPICFG_BASE 0x120000
  86. +#define RP1_MIPI0_ISP_BASE 0x124000
  87. +#define RP1_MIPI1_CSIDMA_BASE 0x128000
  88. +#define RP1_MIPI1_CSIHOST_BASE 0x12c000
  89. +#define RP1_MIPI1_DSIDMA_BASE 0x130000
  90. +#define RP1_MIPI1_DSIHOST_BASE 0x134000
  91. +#define RP1_MIPI1_MIPICFG_BASE 0x138000
  92. +#define RP1_MIPI1_ISP_BASE 0x13c000
  93. +#define RP1_VIDEO_OUT_CFG_BASE 0x140000
  94. +#define RP1_VIDEO_OUT_VEC_BASE 0x144000
  95. +#define RP1_VIDEO_OUT_DPI_BASE 0x148000
  96. +#define RP1_XOSC_BASE 0x150000
  97. +#define RP1_WATCHDOG_BASE 0x154000
  98. +#define RP1_DMA_TICK_BASE 0x158000
  99. +#define RP1_SDIO_CLOCKS_BASE 0x15c000
  100. +#define RP1_USBHOST0_APBS_BASE 0x160000
  101. +#define RP1_USBHOST1_APBS_BASE 0x164000
  102. +#define RP1_ROSC0_BASE 0x168000
  103. +#define RP1_ROSC1_BASE 0x16c000
  104. +#define RP1_VBUSCTRL_BASE 0x170000
  105. +#define RP1_TICKS_BASE 0x174000
  106. +#define RP1_PIO_APBS_BASE 0x178000
  107. +#define RP1_SDIO0_AHBLS_BASE 0x180000
  108. +#define RP1_SDIO1_AHBLS_BASE 0x184000
  109. +#define RP1_DMA_BASE 0x188000
  110. +#define RP1_RAM_BASE 0x1c0000
  111. +#define RP1_RAM_SIZE 0x020000
  112. +#define RP1_USBHOST0_AXIS_BASE 0x200000
  113. +#define RP1_USBHOST1_AXIS_BASE 0x300000
  114. +#define RP1_EXAC_BASE 0x400000
  115. +
  116. +/* Interrupts */
  117. +
  118. +#define RP1_INT_IO_BANK0 0
  119. +#define RP1_INT_IO_BANK1 1
  120. +#define RP1_INT_IO_BANK2 2
  121. +#define RP1_INT_AUDIO_IN 3
  122. +#define RP1_INT_AUDIO_OUT 4
  123. +#define RP1_INT_PWM0 5
  124. +#define RP1_INT_ETH 6
  125. +#define RP1_INT_I2C0 7
  126. +#define RP1_INT_I2C1 8
  127. +#define RP1_INT_I2C2 9
  128. +#define RP1_INT_I2C3 10
  129. +#define RP1_INT_I2C4 11
  130. +#define RP1_INT_I2C5 12
  131. +#define RP1_INT_I2C6 13
  132. +#define RP1_INT_I2S0 14
  133. +#define RP1_INT_I2S1 15
  134. +#define RP1_INT_I2S2 16
  135. +#define RP1_INT_SDIO0 17
  136. +#define RP1_INT_SDIO1 18
  137. +#define RP1_INT_SPI0 19
  138. +#define RP1_INT_SPI1 20
  139. +#define RP1_INT_SPI2 21
  140. +#define RP1_INT_SPI3 22
  141. +#define RP1_INT_SPI4 23
  142. +#define RP1_INT_SPI5 24
  143. +#define RP1_INT_UART0 25
  144. +#define RP1_INT_TIMER_0 26
  145. +#define RP1_INT_TIMER_1 27
  146. +#define RP1_INT_TIMER_2 28
  147. +#define RP1_INT_TIMER_3 29
  148. +#define RP1_INT_USBHOST0 30
  149. +#define RP1_INT_USBHOST0_0 31
  150. +#define RP1_INT_USBHOST0_1 32
  151. +#define RP1_INT_USBHOST0_2 33
  152. +#define RP1_INT_USBHOST0_3 34
  153. +#define RP1_INT_USBHOST1 35
  154. +#define RP1_INT_USBHOST1_0 36
  155. +#define RP1_INT_USBHOST1_1 37
  156. +#define RP1_INT_USBHOST1_2 38
  157. +#define RP1_INT_USBHOST1_3 39
  158. +#define RP1_INT_DMA 40
  159. +#define RP1_INT_PWM1 41
  160. +#define RP1_INT_UART1 42
  161. +#define RP1_INT_UART2 43
  162. +#define RP1_INT_UART3 44
  163. +#define RP1_INT_UART4 45
  164. +#define RP1_INT_UART5 46
  165. +#define RP1_INT_MIPI0 47
  166. +#define RP1_INT_MIPI1 48
  167. +#define RP1_INT_VIDEO_OUT 49
  168. +#define RP1_INT_PIO_0 50
  169. +#define RP1_INT_PIO_1 51
  170. +#define RP1_INT_ADC_FIFO 52
  171. +#define RP1_INT_PCIE_OUT 53
  172. +#define RP1_INT_SPI6 54
  173. +#define RP1_INT_SPI7 55
  174. +#define RP1_INT_SPI8 56
  175. +#define RP1_INT_SYSCFG 58
  176. +#define RP1_INT_CLOCKS_DEFAULT 59
  177. +#define RP1_INT_VBUSCTRL 60
  178. +#define RP1_INT_PROC_MISC 57
  179. +#define RP1_INT_END 61
  180. +
  181. +/* DMA peripherals (for pacing) */
  182. +#define RP1_DMA_I2C0_RX 0x0
  183. +#define RP1_DMA_I2C0_TX 0x1
  184. +#define RP1_DMA_I2C1_RX 0x2
  185. +#define RP1_DMA_I2C1_TX 0x3
  186. +#define RP1_DMA_I2C2_RX 0x4
  187. +#define RP1_DMA_I2C2_TX 0x5
  188. +#define RP1_DMA_I2C3_RX 0x6
  189. +#define RP1_DMA_I2C3_TX 0x7
  190. +#define RP1_DMA_I2C4_RX 0x8
  191. +#define RP1_DMA_I2C4_TX 0x9
  192. +#define RP1_DMA_I2C5_RX 0xa
  193. +#define RP1_DMA_I2C5_TX 0xb
  194. +#define RP1_DMA_SPI0_RX 0xc
  195. +#define RP1_DMA_SPI0_TX 0xd
  196. +#define RP1_DMA_SPI1_RX 0xe
  197. +#define RP1_DMA_SPI1_TX 0xf
  198. +#define RP1_DMA_SPI2_RX 0x10
  199. +#define RP1_DMA_SPI2_TX 0x11
  200. +#define RP1_DMA_SPI3_RX 0x12
  201. +#define RP1_DMA_SPI3_TX 0x13
  202. +#define RP1_DMA_SPI4_RX 0x14
  203. +#define RP1_DMA_SPI4_TX 0x15
  204. +#define RP1_DMA_SPI5_RX 0x16
  205. +#define RP1_DMA_SPI5_TX 0x17
  206. +#define RP1_DMA_PWM0 0x18
  207. +#define RP1_DMA_UART0_RX 0x19
  208. +#define RP1_DMA_UART0_TX 0x1a
  209. +#define RP1_DMA_AUDIO_IN_CH0 0x1b
  210. +#define RP1_DMA_AUDIO_IN_CH1 0x1c
  211. +#define RP1_DMA_AUDIO_OUT 0x1d
  212. +#define RP1_DMA_PWM1 0x1e
  213. +#define RP1_DMA_I2S0_RX 0x1f
  214. +#define RP1_DMA_I2S0_TX 0x20
  215. +#define RP1_DMA_I2S1_RX 0x21
  216. +#define RP1_DMA_I2S1_TX 0x22
  217. +#define RP1_DMA_I2S2_RX 0x23
  218. +#define RP1_DMA_I2S2_TX 0x24
  219. +#define RP1_DMA_UART1_RX 0x25
  220. +#define RP1_DMA_UART1_TX 0x26
  221. +#define RP1_DMA_UART2_RX 0x27
  222. +#define RP1_DMA_UART2_TX 0x28
  223. +#define RP1_DMA_UART3_RX 0x29
  224. +#define RP1_DMA_UART3_TX 0x2a
  225. +#define RP1_DMA_UART4_RX 0x2b
  226. +#define RP1_DMA_UART4_TX 0x2c
  227. +#define RP1_DMA_UART5_RX 0x2d
  228. +#define RP1_DMA_UART5_TX 0x2e
  229. +#define RP1_DMA_ADC 0x2f
  230. +#define RP1_DMA_DMA_TICK_TICK0 0x30
  231. +#define RP1_DMA_DMA_TICK_TICK1 0x31
  232. +#define RP1_DMA_SPI6_RX 0x32
  233. +#define RP1_DMA_SPI6_TX 0x33
  234. +#define RP1_DMA_SPI7_RX 0x34
  235. +#define RP1_DMA_SPI7_TX 0x35
  236. +#define RP1_DMA_SPI8_RX 0x36
  237. +#define RP1_DMA_SPI8_TX 0x37
  238. +#define RP1_DMA_PIO_CH0_TX 0x38
  239. +#define RP1_DMA_PIO_CH0_RX 0x39
  240. +#define RP1_DMA_PIO_CH1_TX 0x3a
  241. +#define RP1_DMA_PIO_CH1_RX 0x3b
  242. +#define RP1_DMA_PIO_CH2_TX 0x3c
  243. +#define RP1_DMA_PIO_CH2_RX 0x3d
  244. +#define RP1_DMA_PIO_CH3_TX 0x3e
  245. +#define RP1_DMA_PIO_CH3_RX 0x3f
  246. +
  247. +#endif