cpld.h 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. /*
  2. * Stout board CPLD definition
  3. *
  4. * Copyright (C) 2015 Renesas Electronics Europe GmbH
  5. * Copyright (C) 2015 Renesas Electronics Corporation
  6. * Copyright (C) 2015 Cogent Embedded, Inc.
  7. *
  8. * SPDX-License-Identifier: GPL-2.0
  9. */
  10. #ifndef _CPLD_H_
  11. #define _CPLD_H_
  12. /* power-up behaviour */
  13. #define MODE_MSK_FREE_RUN 0x00000001
  14. #define MODE_VAL_FREE_RUN 0x00000000
  15. #define MODE_MSK_STEP_UP 0x00000001
  16. #define MODE_VAL_STEP_UP 0x00000000
  17. /* boot source */
  18. #define MODE_MSK_BOOT_SQPI_16KB_FAST 0x0000000E
  19. #define MODE_VAL_BOOT_SQPI_16KB_FAST 0x00000004
  20. #define MODE_MSK_BOOT_SQPI_16KB_SLOW 0x0000000E
  21. #define MODE_VAL_BOOT_SQPI_16KB_SLOW 0x00000008
  22. #define MODE_MSK_BOOT_SQPI_4KB_SLOW 0x0000000E
  23. #define MODE_VAL_BOOT_SQPI_4KB_SLOW 0x0000000C
  24. /* booting CPU */
  25. #define MODE_MSK_BOOT_CA15 0x000000C0
  26. #define MODE_VAL_BOOT_CA15 0x00000000
  27. #define MODE_MSK_BOOT_CA7 0x000000C0
  28. #define MODE_VAL_BOOT_CA7 0x00000040
  29. #define MODE_MSK_BOOT_SH4 0x000000C0
  30. #define MODE_VAL_BOOT_SH4 0x000000C0
  31. /* JTAG connection */
  32. #define MODE_MSK_JTAG_CORESIGHT 0xC0301C00
  33. #define MODE_VAL_JTAG_CORESIGHT 0x00200000
  34. #define MODE_MSK_JTAG_SH4 0xC0301C00
  35. #define MODE_VAL_JTAG_SH4 0x00300000
  36. /* DDR3 (PLL) speed */
  37. #define MODE_MSK_DDR3_1600 0x00080000
  38. #define MODE_VAL_DDR3_1600 0x00000000
  39. #define MODE_MSK_DDR3_1333 0x00080000
  40. #define MODE_VAL_DDR3_1333 0x00080000
  41. /* ComboPhy0 mode */
  42. #define MODE_MSK_PHY0_SATA0 0x01000000
  43. #define MODE_VAL_PHY0_SATA0 0x00000000
  44. #define MODE_MSK_PHY0_PCIE 0x01000000
  45. #define MODE_VAL_PHY0_PCIE 0x01000000
  46. /* ComboPhy1 mode */
  47. #define MODE_MSK_PHY1_SATA1 0x00800000
  48. #define MODE_VAL_PHY1_SATA1 0x00000000
  49. #define MODE_MSK_PHY1_USB3 0x00800000
  50. #define MODE_VAL_PHY1_USB3 0x00800000
  51. /*
  52. * Illegal multiplexer combinations.
  53. * MUX Conflicts
  54. * name with any one of
  55. * VIN0_BT656 VIN0_full, SD2
  56. * VIN0_full VIN0_BT656, SD2, AVB, VIN2_(all)
  57. * VIN1_BT656 VIN1_(others), SD0
  58. * VIN1_10bit VIN1_(others), SD0, VIN3_with*, I2C1
  59. * VIN1_12bit VIN1_(others), SD0, VIN3_with*, I2C1, SCIFA0_(all)
  60. * VIN2_BT656 VIN0_full, VIN2_(others), AVB,
  61. * VIN2_withSYNC VIN0_full, VIN2_(others), AVB, I2C1, SCIFA0_(all),
  62. * VIN3_with*
  63. * VIN2_withFIELD VIN0_full, VIN2_(others), AVB, SQPI_(all)
  64. * VIN2_withSYNCandFIELD VIN0_full, VIN2_(others), AVB, SQPI_(all), I2C1,
  65. * SCIFA0_(all), VIN3_with*
  66. * VIN3_BT656 VIN3_(others), IRQ3
  67. * VIN3_withFIELD VIN3_(others), IRQ3, VIN1_12bit, VIN2_withSYNC,
  68. * VIN2_withSYNCandFIELD, VIN1_10bit
  69. * VIN3_withSYNCandFIELD VIN3_(others), IRQ3, VIN1_12bit, VIN2_withSYNC,
  70. * VIN2_withSYNCandFIELD, VIN1_10bit, I2C1
  71. * AVB VIN0_full, VIN2_(all)
  72. * QSPI_ONBOARD VIN2_withFIELD, VIN2_withSYNCandFIELD, QSPI_COMEXPRESS
  73. * QSPI_COMEXPRESS VIN2_withFIELD, VIN2_withSYNCandFIELD, QSPI_ONBOARD
  74. * I2C1 VIN1_12bit, VIN2_withSYNC, VIN2_withSYNCandFIELD,
  75. * VIN3_withSYNCandFIELD
  76. * IRQ3 VIN3_(all)
  77. * SCIFA0_USB VIN1_12bit, VIN2_withSYNC, VIN2_withSYNCandFIELD,
  78. * SCIFA0_COMEXPRESS
  79. * SCIFA0_COMEXPRESS VIN1_12bit, VIN2_withSYNC, VIN2_withSYNCandFIELD,
  80. * SCIFA0_USB
  81. * SCIFA2 PWM210
  82. * ETH_ONBOARD ETH_COMEXPRESS
  83. * ETH_COMEXPRESS ETH_ONBOARD
  84. * SD0 VIN1_(all)
  85. * SD2 VIN0_(all)
  86. * PWM210 SCIFA2
  87. */
  88. /* connected to COM Express connector and CN6 for camera, BT656 only */
  89. #define MUX_MSK_VIN0_BT656 0x00001001
  90. #define MUX_VAL_VIN0_BT656 0x00000000
  91. /* connected to COM Express connector and CN6 for camera, all modes */
  92. #define MUX_MSK_VIN0_full 0x00001007
  93. #define MUX_VAL_VIN0_full 0x00000002
  94. /* connected to COM Express connector, BT656 only */
  95. #define MUX_MSK_VIN1_BT656 0x00000801
  96. #define MUX_VAL_VIN1_BT656 0x00000800
  97. /* connected to COM Express connector, all 10-bit modes */
  98. #define MUX_MSK_VIN1_10bit 0x00000821
  99. #define MUX_VAL_VIN1_10bit 0x00000800
  100. /* connected to COM Express connector, all 12-bit modes */
  101. #define MUX_MSK_VIN1_12bit 0x000008A1
  102. #define MUX_VAL_VIN1_12bit 0x00000880
  103. /* connected to COM Express connector, BT656 only */
  104. #define MUX_MSK_VIN2_BT656 0x00000007
  105. #define MUX_VAL_VIN2_BT656 0x00000006
  106. /* connected to COM Express connector, modes with sync signals */
  107. #define MUX_MSK_VIN2_withSYNC 0x000000A7
  108. #define MUX_VAL_VIN2_withSYNC 0x00000086
  109. /* connected to COM Express connector, modes with field, clken signals */
  110. #define MUX_MSK_VIN2_withFIELD 0x0000000F
  111. #define MUX_VAL_VIN2_withFIELD 0x0000000E
  112. /* connected to COM Express connector, modes with sync, field, clken signals */
  113. #define MUX_MSK_VIN2_withSYNCandFIELD 0x000000AF
  114. #define MUX_VAL_VIN2_withSYNCandFIELD 0x0000008E
  115. /* connected to COM Express connector, BT656 only */
  116. #define MUX_MSK_VIN3_BT656 0x00000101
  117. #define MUX_VAL_VIN3_BT656 0x00000100
  118. /* connected to COM Express connector, modes with field, clken signals */
  119. #define MUX_MSK_VIN3_withFIELD 0x00000121
  120. #define MUX_VAL_VIN3_withFIELD 0x00000120
  121. /* connected to COM Express connector, modes with sync, field, clken signals */
  122. #define MUX_MSK_VIN3_withSYNCandFIELD 0x00000161
  123. #define MUX_VAL_VIN3_withSYNCandFIELD 0x00000120
  124. /* connected to COM Express connector (RGMII) */
  125. #define MUX_MSK_AVB 0x00000003
  126. #define MUX_VAL_AVB 0x00000000
  127. /* connected to on-board QSPI flash */
  128. #define MUX_MSK_QSPI_ONBOARD 0x00000019
  129. #define MUX_VAL_QSPI_ONBOARD 0x00000000
  130. /* connected to COM Express connector */
  131. #define MUX_MSK_QSPI_COMEXPRESS 0x00000019
  132. #define MUX_VAL_QSPI_COMEXPRESS 0x00000010
  133. /* connected to COM Express connector and PMIC */
  134. #define MUX_MSK_I2C1 0x00000061
  135. #define MUX_VAL_I2C1 0x00000060
  136. /* connected to HDMI driver */
  137. #define MUX_MSK_IRQ3 0x00000101
  138. #define MUX_VAL_IRQ3 0x00000000
  139. /* connected to USB/FTDI */
  140. #define MUX_MSK_SCIFA0_USB 0x00004081
  141. #define MUX_VAL_SCIFA0_USB 0x00004000
  142. /* connected to COM Express connector */
  143. #define MUX_MSK_SCIFA0_COMEXPRESS 0x00004081
  144. #define MUX_VAL_SCIFA0_COMEXPRESS 0x00000000
  145. /* connected to COM Express connector */
  146. #define MUX_MSK_SCIFA2 0x00002001
  147. #define MUX_VAL_SCIFA2 0x00000000
  148. /* connected to on-board 10/100 Phy */
  149. #define MUX_MSK_ETH_ONBOARD 0x00000600
  150. #define MUX_VAL_ETH_ONBOARD 0x00000000
  151. /* connected to COM Express connector (RMII) */
  152. #define MUX_MSK_ETH_COMEXPRESS 0x00000600
  153. #define MUX_VAL_ETH_COMEXPRESS 0x00000400
  154. /* connected to on-board MicroSD slot */
  155. #define MUX_MSK_SD0 0x00000801
  156. #define MUX_VAL_SD0 0x00000000
  157. /* connected to COM Express connector */
  158. #define MUX_MSK_SD2 0x00001001
  159. #define MUX_VAL_SD2 0x00001000
  160. /* connected to COM Express connector */
  161. #define MUX_MSK_PWM210 0x00002001
  162. #define MUX_VAL_PWM210 0x00002000
  163. #define HDMI_MSK 0x07
  164. #define HDMI_OFF 0x00
  165. #define HDMI_ONBOARD 0x07
  166. #define HDMI_COMEXPRESS 0x05
  167. #define HDMI_ONBOARD_NODDC 0x03
  168. #define HDMI_COMEXPRESS_NODDC 0x01
  169. void cpld_init(void);
  170. #endif /* _CPLD_H_ */