ls1043aqds.h 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * Copyright 2015 Freescale Semiconductor, Inc.
  4. */
  5. #ifndef __LS1043AQDS_H__
  6. #define __LS1043AQDS_H__
  7. #include "ls1043a_common.h"
  8. #define CONFIG_LAYERSCAPE_NS_ACCESS
  9. #define CONFIG_DIMM_SLOTS_PER_CTLR 1
  10. /* Physical Memory Map */
  11. #define CONFIG_CHIP_SELECTS_PER_CTRL 4
  12. #define SPD_EEPROM_ADDRESS 0x51
  13. #define CONFIG_SYS_SPD_BUS_NUM 0
  14. #ifdef CONFIG_DDR_ECC
  15. #define CONFIG_MEM_INIT_VALUE 0xdeadbeef
  16. #endif
  17. #ifdef CONFIG_SYS_DPAA_FMAN
  18. #define RGMII_PHY1_ADDR 0x1
  19. #define RGMII_PHY2_ADDR 0x2
  20. #define SGMII_CARD_PORT1_PHY_ADDR 0x1C
  21. #define SGMII_CARD_PORT2_PHY_ADDR 0x1D
  22. #define SGMII_CARD_PORT3_PHY_ADDR 0x1E
  23. #define SGMII_CARD_PORT4_PHY_ADDR 0x1F
  24. /* PHY address on QSGMII riser card on slot 1 */
  25. #define QSGMII_CARD_PORT1_PHY_ADDR_S1 0x4
  26. #define QSGMII_CARD_PORT2_PHY_ADDR_S1 0x5
  27. #define QSGMII_CARD_PORT3_PHY_ADDR_S1 0x6
  28. #define QSGMII_CARD_PORT4_PHY_ADDR_S1 0x7
  29. /* PHY address on QSGMII riser card on slot 2 */
  30. #define QSGMII_CARD_PORT1_PHY_ADDR_S2 0x8
  31. #define QSGMII_CARD_PORT2_PHY_ADDR_S2 0x9
  32. #define QSGMII_CARD_PORT3_PHY_ADDR_S2 0xA
  33. #define QSGMII_CARD_PORT4_PHY_ADDR_S2 0xB
  34. #endif
  35. /* LPUART */
  36. #ifdef CONFIG_LPUART
  37. #define CONFIG_LPUART_32B_REG
  38. #endif
  39. /* SATA */
  40. #define CONFIG_SCSI_AHCI_PLAT
  41. /* EEPROM */
  42. #define CONFIG_SYS_I2C_EEPROM_NXID
  43. #define CONFIG_SYS_EEPROM_BUS_NUM 0
  44. #define CONFIG_SYS_SATA AHCI_BASE_ADDR
  45. #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1
  46. #define CONFIG_SYS_SCSI_MAX_LUN 1
  47. /*
  48. * IFC Definitions
  49. */
  50. #if !defined(CONFIG_QSPI_BOOT) && !defined(CONFIG_SD_BOOT_QSPI)
  51. #define CONFIG_SYS_NOR0_CSPR_EXT (0x0)
  52. #define CONFIG_SYS_NOR0_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS) | \
  53. CSPR_PORT_SIZE_16 | \
  54. CSPR_MSEL_NOR | \
  55. CSPR_V)
  56. #define CONFIG_SYS_NOR1_CSPR_EXT (0x0)
  57. #define CONFIG_SYS_NOR1_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS \
  58. + 0x8000000) | \
  59. CSPR_PORT_SIZE_16 | \
  60. CSPR_MSEL_NOR | \
  61. CSPR_V)
  62. #define CONFIG_SYS_NOR_AMASK IFC_AMASK(128 * 1024 * 1024)
  63. #define CONFIG_SYS_NOR_CSOR (CSOR_NOR_ADM_SHIFT(4) | \
  64. CSOR_NOR_TRHZ_80)
  65. #define CONFIG_SYS_NOR_FTIM0 (FTIM0_NOR_TACSE(0x4) | \
  66. FTIM0_NOR_TEADC(0x5) | \
  67. FTIM0_NOR_TEAHC(0x5))
  68. #define CONFIG_SYS_NOR_FTIM1 (FTIM1_NOR_TACO(0x35) | \
  69. FTIM1_NOR_TRAD_NOR(0x1a) | \
  70. FTIM1_NOR_TSEQRAD_NOR(0x13))
  71. #define CONFIG_SYS_NOR_FTIM2 (FTIM2_NOR_TCS(0x4) | \
  72. FTIM2_NOR_TCH(0x4) | \
  73. FTIM2_NOR_TWPH(0xe) | \
  74. FTIM2_NOR_TWP(0x1c))
  75. #define CONFIG_SYS_NOR_FTIM3 0
  76. #define CONFIG_SYS_MAX_FLASH_SECT 1024 /* sectors per device */
  77. #define CONFIG_SYS_FLASH_ERASE_TOUT 60000 /* Flash Erase Timeout (ms) */
  78. #define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (ms) */
  79. #define CONFIG_SYS_FLASH_EMPTY_INFO
  80. #define CONFIG_SYS_FLASH_BANKS_LIST {CONFIG_SYS_FLASH_BASE_PHYS, \
  81. CONFIG_SYS_FLASH_BASE_PHYS + 0x8000000}
  82. #define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS
  83. #define CONFIG_SYS_WRITE_SWAPPED_DATA
  84. /*
  85. * NAND Flash Definitions
  86. */
  87. #define CONFIG_SYS_NAND_BASE 0x7e800000
  88. #define CONFIG_SYS_NAND_BASE_PHYS CONFIG_SYS_NAND_BASE
  89. #define CONFIG_SYS_NAND_CSPR_EXT (0x0)
  90. #define CONFIG_SYS_NAND_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_NAND_BASE_PHYS) \
  91. | CSPR_PORT_SIZE_8 \
  92. | CSPR_MSEL_NAND \
  93. | CSPR_V)
  94. #define CONFIG_SYS_NAND_AMASK IFC_AMASK(64*1024)
  95. #define CONFIG_SYS_NAND_CSOR (CSOR_NAND_ECC_ENC_EN /* ECC on encode */ \
  96. | CSOR_NAND_ECC_DEC_EN /* ECC on decode */ \
  97. | CSOR_NAND_ECC_MODE_4 /* 4-bit ECC */ \
  98. | CSOR_NAND_RAL_3 /* RAL = 3 Bytes */ \
  99. | CSOR_NAND_PGS_2K /* Page Size = 2K */ \
  100. | CSOR_NAND_SPRZ_64 /* Spare size = 64 */ \
  101. | CSOR_NAND_PB(64)) /* 64 Pages Per Block */
  102. #define CONFIG_SYS_NAND_FTIM0 (FTIM0_NAND_TCCST(0x7) | \
  103. FTIM0_NAND_TWP(0x18) | \
  104. FTIM0_NAND_TWCHT(0x7) | \
  105. FTIM0_NAND_TWH(0xa))
  106. #define CONFIG_SYS_NAND_FTIM1 (FTIM1_NAND_TADLE(0x32) | \
  107. FTIM1_NAND_TWBE(0x39) | \
  108. FTIM1_NAND_TRR(0xe) | \
  109. FTIM1_NAND_TRP(0x18))
  110. #define CONFIG_SYS_NAND_FTIM2 (FTIM2_NAND_TRAD(0xf) | \
  111. FTIM2_NAND_TREH(0xa) | \
  112. FTIM2_NAND_TWHRE(0x1e))
  113. #define CONFIG_SYS_NAND_FTIM3 0x0
  114. #define CONFIG_SYS_NAND_BASE_LIST { CONFIG_SYS_NAND_BASE }
  115. #define CONFIG_SYS_MAX_NAND_DEVICE 1
  116. #define CONFIG_MTD_NAND_VERIFY_WRITE
  117. #endif
  118. #ifdef CONFIG_NAND_BOOT
  119. #define CONFIG_SPL_PAD_TO 0x20000 /* block aligned */
  120. #define CONFIG_SYS_NAND_U_BOOT_SIZE (640 << 10)
  121. #endif
  122. #if defined(CONFIG_TFABOOT) || \
  123. defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI)
  124. #define CONFIG_QIXIS_I2C_ACCESS
  125. #endif
  126. /*
  127. * QIXIS Definitions
  128. */
  129. #define CONFIG_FSL_QIXIS
  130. #ifdef CONFIG_FSL_QIXIS
  131. #define QIXIS_BASE 0x7fb00000
  132. #define QIXIS_BASE_PHYS QIXIS_BASE
  133. #define CONFIG_SYS_I2C_FPGA_ADDR 0x66
  134. #define QIXIS_LBMAP_SWITCH 6
  135. #define QIXIS_LBMAP_MASK 0x0f
  136. #define QIXIS_LBMAP_SHIFT 0
  137. #define QIXIS_LBMAP_DFLTBANK 0x00
  138. #define QIXIS_LBMAP_ALTBANK 0x04
  139. #define QIXIS_LBMAP_NAND 0x09
  140. #define QIXIS_LBMAP_SD 0x00
  141. #define QIXIS_LBMAP_SD_QSPI 0xff
  142. #define QIXIS_LBMAP_QSPI 0xff
  143. #define QIXIS_RCW_SRC_NAND 0x106
  144. #define QIXIS_RCW_SRC_SD 0x040
  145. #define QIXIS_RCW_SRC_QSPI 0x045
  146. #define QIXIS_RST_CTL_RESET 0x41
  147. #define QIXIS_RCFG_CTL_RECONFIG_IDLE 0x20
  148. #define QIXIS_RCFG_CTL_RECONFIG_START 0x21
  149. #define QIXIS_RCFG_CTL_WATCHDOG_ENBLE 0x08
  150. #define CONFIG_SYS_FPGA_CSPR_EXT (0x0)
  151. #define CONFIG_SYS_FPGA_CSPR (CSPR_PHYS_ADDR(QIXIS_BASE_PHYS) | \
  152. CSPR_PORT_SIZE_8 | \
  153. CSPR_MSEL_GPCM | \
  154. CSPR_V)
  155. #define CONFIG_SYS_FPGA_AMASK IFC_AMASK(64 * 1024)
  156. #define CONFIG_SYS_FPGA_CSOR (CSOR_NOR_ADM_SHIFT(4) | \
  157. CSOR_NOR_NOR_MODE_AVD_NOR | \
  158. CSOR_NOR_TRHZ_80)
  159. /*
  160. * QIXIS Timing parameters for IFC GPCM
  161. */
  162. #define CONFIG_SYS_FPGA_FTIM0 (FTIM0_GPCM_TACSE(0xc) | \
  163. FTIM0_GPCM_TEADC(0x20) | \
  164. FTIM0_GPCM_TEAHC(0x10))
  165. #define CONFIG_SYS_FPGA_FTIM1 (FTIM1_GPCM_TACO(0x50) | \
  166. FTIM1_GPCM_TRAD(0x1f))
  167. #define CONFIG_SYS_FPGA_FTIM2 (FTIM2_GPCM_TCS(0x8) | \
  168. FTIM2_GPCM_TCH(0x8) | \
  169. FTIM2_GPCM_TWP(0xf0))
  170. #define CONFIG_SYS_FPGA_FTIM3 0x0
  171. #endif
  172. #ifdef CONFIG_TFABOOT
  173. #define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NOR0_CSPR_EXT
  174. #define CONFIG_SYS_CSPR0 CONFIG_SYS_NOR0_CSPR
  175. #define CONFIG_SYS_AMASK0 CONFIG_SYS_NOR_AMASK
  176. #define CONFIG_SYS_CSOR0 CONFIG_SYS_NOR_CSOR
  177. #define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NOR_FTIM0
  178. #define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NOR_FTIM1
  179. #define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NOR_FTIM2
  180. #define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NOR_FTIM3
  181. #define CONFIG_SYS_CSPR1_EXT CONFIG_SYS_NOR1_CSPR_EXT
  182. #define CONFIG_SYS_CSPR1 CONFIG_SYS_NOR1_CSPR
  183. #define CONFIG_SYS_AMASK1 CONFIG_SYS_NOR_AMASK
  184. #define CONFIG_SYS_CSOR1 CONFIG_SYS_NOR_CSOR
  185. #define CONFIG_SYS_CS1_FTIM0 CONFIG_SYS_NOR_FTIM0
  186. #define CONFIG_SYS_CS1_FTIM1 CONFIG_SYS_NOR_FTIM1
  187. #define CONFIG_SYS_CS1_FTIM2 CONFIG_SYS_NOR_FTIM2
  188. #define CONFIG_SYS_CS1_FTIM3 CONFIG_SYS_NOR_FTIM3
  189. #define CONFIG_SYS_CSPR2_EXT CONFIG_SYS_NAND_CSPR_EXT
  190. #define CONFIG_SYS_CSPR2 CONFIG_SYS_NAND_CSPR
  191. #define CONFIG_SYS_AMASK2 CONFIG_SYS_NAND_AMASK
  192. #define CONFIG_SYS_CSOR2 CONFIG_SYS_NAND_CSOR
  193. #define CONFIG_SYS_CS2_FTIM0 CONFIG_SYS_NAND_FTIM0
  194. #define CONFIG_SYS_CS2_FTIM1 CONFIG_SYS_NAND_FTIM1
  195. #define CONFIG_SYS_CS2_FTIM2 CONFIG_SYS_NAND_FTIM2
  196. #define CONFIG_SYS_CS2_FTIM3 CONFIG_SYS_NAND_FTIM3
  197. #define CONFIG_SYS_CSPR3_EXT CONFIG_SYS_FPGA_CSPR_EXT
  198. #define CONFIG_SYS_CSPR3 CONFIG_SYS_FPGA_CSPR
  199. #define CONFIG_SYS_AMASK3 CONFIG_SYS_FPGA_AMASK
  200. #define CONFIG_SYS_CSOR3 CONFIG_SYS_FPGA_CSOR
  201. #define CONFIG_SYS_CS3_FTIM0 CONFIG_SYS_FPGA_FTIM0
  202. #define CONFIG_SYS_CS3_FTIM1 CONFIG_SYS_FPGA_FTIM1
  203. #define CONFIG_SYS_CS3_FTIM2 CONFIG_SYS_FPGA_FTIM2
  204. #define CONFIG_SYS_CS3_FTIM3 CONFIG_SYS_FPGA_FTIM3
  205. #else
  206. #ifdef CONFIG_NAND_BOOT
  207. #define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NAND_CSPR_EXT
  208. #define CONFIG_SYS_CSPR0 CONFIG_SYS_NAND_CSPR
  209. #define CONFIG_SYS_AMASK0 CONFIG_SYS_NAND_AMASK
  210. #define CONFIG_SYS_CSOR0 CONFIG_SYS_NAND_CSOR
  211. #define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NAND_FTIM0
  212. #define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NAND_FTIM1
  213. #define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NAND_FTIM2
  214. #define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NAND_FTIM3
  215. #define CONFIG_SYS_CSPR1_EXT CONFIG_SYS_NOR0_CSPR_EXT
  216. #define CONFIG_SYS_CSPR1 CONFIG_SYS_NOR0_CSPR
  217. #define CONFIG_SYS_AMASK1 CONFIG_SYS_NOR_AMASK
  218. #define CONFIG_SYS_CSOR1 CONFIG_SYS_NOR_CSOR
  219. #define CONFIG_SYS_CS1_FTIM0 CONFIG_SYS_NOR_FTIM0
  220. #define CONFIG_SYS_CS1_FTIM1 CONFIG_SYS_NOR_FTIM1
  221. #define CONFIG_SYS_CS1_FTIM2 CONFIG_SYS_NOR_FTIM2
  222. #define CONFIG_SYS_CS1_FTIM3 CONFIG_SYS_NOR_FTIM3
  223. #define CONFIG_SYS_CSPR2_EXT CONFIG_SYS_NOR1_CSPR_EXT
  224. #define CONFIG_SYS_CSPR2 CONFIG_SYS_NOR1_CSPR
  225. #define CONFIG_SYS_AMASK2 CONFIG_SYS_NOR_AMASK
  226. #define CONFIG_SYS_CSOR2 CONFIG_SYS_NOR_CSOR
  227. #define CONFIG_SYS_CS2_FTIM0 CONFIG_SYS_NOR_FTIM0
  228. #define CONFIG_SYS_CS2_FTIM1 CONFIG_SYS_NOR_FTIM1
  229. #define CONFIG_SYS_CS2_FTIM2 CONFIG_SYS_NOR_FTIM2
  230. #define CONFIG_SYS_CS2_FTIM3 CONFIG_SYS_NOR_FTIM3
  231. #define CONFIG_SYS_CSPR3_EXT CONFIG_SYS_FPGA_CSPR_EXT
  232. #define CONFIG_SYS_CSPR3 CONFIG_SYS_FPGA_CSPR
  233. #define CONFIG_SYS_AMASK3 CONFIG_SYS_FPGA_AMASK
  234. #define CONFIG_SYS_CSOR3 CONFIG_SYS_FPGA_CSOR
  235. #define CONFIG_SYS_CS3_FTIM0 CONFIG_SYS_FPGA_FTIM0
  236. #define CONFIG_SYS_CS3_FTIM1 CONFIG_SYS_FPGA_FTIM1
  237. #define CONFIG_SYS_CS3_FTIM2 CONFIG_SYS_FPGA_FTIM2
  238. #define CONFIG_SYS_CS3_FTIM3 CONFIG_SYS_FPGA_FTIM3
  239. #else
  240. #define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NOR0_CSPR_EXT
  241. #define CONFIG_SYS_CSPR0 CONFIG_SYS_NOR0_CSPR
  242. #define CONFIG_SYS_AMASK0 CONFIG_SYS_NOR_AMASK
  243. #define CONFIG_SYS_CSOR0 CONFIG_SYS_NOR_CSOR
  244. #define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NOR_FTIM0
  245. #define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NOR_FTIM1
  246. #define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NOR_FTIM2
  247. #define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NOR_FTIM3
  248. #define CONFIG_SYS_CSPR1_EXT CONFIG_SYS_NOR1_CSPR_EXT
  249. #define CONFIG_SYS_CSPR1 CONFIG_SYS_NOR1_CSPR
  250. #define CONFIG_SYS_AMASK1 CONFIG_SYS_NOR_AMASK
  251. #define CONFIG_SYS_CSOR1 CONFIG_SYS_NOR_CSOR
  252. #define CONFIG_SYS_CS1_FTIM0 CONFIG_SYS_NOR_FTIM0
  253. #define CONFIG_SYS_CS1_FTIM1 CONFIG_SYS_NOR_FTIM1
  254. #define CONFIG_SYS_CS1_FTIM2 CONFIG_SYS_NOR_FTIM2
  255. #define CONFIG_SYS_CS1_FTIM3 CONFIG_SYS_NOR_FTIM3
  256. #define CONFIG_SYS_CSPR2_EXT CONFIG_SYS_NAND_CSPR_EXT
  257. #define CONFIG_SYS_CSPR2 CONFIG_SYS_NAND_CSPR
  258. #define CONFIG_SYS_AMASK2 CONFIG_SYS_NAND_AMASK
  259. #define CONFIG_SYS_CSOR2 CONFIG_SYS_NAND_CSOR
  260. #define CONFIG_SYS_CS2_FTIM0 CONFIG_SYS_NAND_FTIM0
  261. #define CONFIG_SYS_CS2_FTIM1 CONFIG_SYS_NAND_FTIM1
  262. #define CONFIG_SYS_CS2_FTIM2 CONFIG_SYS_NAND_FTIM2
  263. #define CONFIG_SYS_CS2_FTIM3 CONFIG_SYS_NAND_FTIM3
  264. #define CONFIG_SYS_CSPR3_EXT CONFIG_SYS_FPGA_CSPR_EXT
  265. #define CONFIG_SYS_CSPR3 CONFIG_SYS_FPGA_CSPR
  266. #define CONFIG_SYS_AMASK3 CONFIG_SYS_FPGA_AMASK
  267. #define CONFIG_SYS_CSOR3 CONFIG_SYS_FPGA_CSOR
  268. #define CONFIG_SYS_CS3_FTIM0 CONFIG_SYS_FPGA_FTIM0
  269. #define CONFIG_SYS_CS3_FTIM1 CONFIG_SYS_FPGA_FTIM1
  270. #define CONFIG_SYS_CS3_FTIM2 CONFIG_SYS_FPGA_FTIM2
  271. #define CONFIG_SYS_CS3_FTIM3 CONFIG_SYS_FPGA_FTIM3
  272. #endif
  273. #endif
  274. /*
  275. * I2C bus multiplexer
  276. */
  277. #define I2C_MUX_PCA_ADDR_PRI 0x77
  278. #define I2C_MUX_PCA_ADDR_SEC 0x76 /* Secondary multiplexer */
  279. #define I2C_RETIMER_ADDR 0x18
  280. #define I2C_MUX_CH_DEFAULT 0x8
  281. #define I2C_MUX_CH_CH7301 0xC
  282. #define I2C_MUX_CH5 0xD
  283. #define I2C_MUX_CH7 0xF
  284. #define I2C_MUX_CH_VOL_MONITOR 0xa
  285. /* Voltage monitor on channel 2*/
  286. #define I2C_VOL_MONITOR_ADDR 0x40
  287. #define I2C_VOL_MONITOR_BUS_V_OFFSET 0x2
  288. #define I2C_VOL_MONITOR_BUS_V_OVF 0x1
  289. #define I2C_VOL_MONITOR_BUS_V_SHIFT 3
  290. /* The lowest and highest voltage allowed for LS1043AQDS */
  291. #define VDD_MV_MIN 819
  292. #define VDD_MV_MAX 1212
  293. /*
  294. * Miscellaneous configurable options
  295. */
  296. #define CONFIG_SYS_INIT_SP_OFFSET \
  297. (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
  298. #ifdef CONFIG_SPL_BUILD
  299. #define CONFIG_SYS_MONITOR_BASE CONFIG_SPL_TEXT_BASE
  300. #else
  301. #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */
  302. #endif
  303. /*
  304. * Environment
  305. */
  306. #include <asm/fsl_secure_boot.h>
  307. #endif /* __LS1043AQDS_H__ */