T4240EMU.h 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. /*
  2. * Copyright 2013 Freescale Semiconductor, Inc.
  3. *
  4. * SPDX-License-Identifier: GPL-2.0+
  5. */
  6. /*
  7. * T4240 EMU board configuration file
  8. */
  9. #ifndef __CONFIG_H
  10. #define __CONFIG_H
  11. #define CONFIG_T4240EMU
  12. #define CONFIG_PHYS_64BIT
  13. #define CONFIG_SYS_NO_FLASH 1
  14. #define CONFIG_SYS_FSL_DDR_EMU 1
  15. #define CONFIG_SYS_FSL_NO_QIXIS 1
  16. #define CONFIG_SYS_FSL_NO_SERDES 1
  17. #include "t4qds.h"
  18. #define CONFIG_CMD_CACHE
  19. #define CONFIG_CMD_CACHE_FLUSH
  20. #define CONFIG_ENV_IS_NOWHERE
  21. #define CONFIG_ENV_SIZE 0x2000
  22. #define CONFIG_SYS_CLK_FREQ 100000000
  23. #define CONFIG_DDR_CLK_FREQ 133333333
  24. #define CONFIG_FSL_TBCLK_EXTRA_DIV 100
  25. /*
  26. * DDR Setup
  27. */
  28. #define CONFIG_SYS_SPD_BUS_NUM 1
  29. #define SPD_EEPROM_ADDRESS1 0x51
  30. #define SPD_EEPROM_ADDRESS2 0x52
  31. #define SPD_EEPROM_ADDRESS3 0x53
  32. #define SPD_EEPROM_ADDRESS4 0x54
  33. #define SPD_EEPROM_ADDRESS5 0x55
  34. #define SPD_EEPROM_ADDRESS6 0x56
  35. #define SPD_EEPROM_ADDRESS SPD_EEPROM_ADDRESS1 /* for p3041/p5010 */
  36. #define CONFIG_SYS_SDRAM_SIZE 4096 /* for fixed parameter use */
  37. /*
  38. * IFC Definitions
  39. */
  40. #define CONFIG_SYS_NOR0_CSPR_EXT (0xf)
  41. #define CONFIG_SYS_NOR_AMASK IFC_AMASK(128*1024*1024)
  42. /* NOR Flash Timing Params */
  43. #define CONFIG_SYS_NOR0_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS \
  44. + 0x8000000) | \
  45. CSPR_PORT_SIZE_32 | \
  46. CSPR_MSEL_NOR | \
  47. CSPR_V)
  48. #define CONFIG_SYS_NOR_CSOR CSOR_NOR_ADM_SHIFT(0)
  49. #define CONFIG_SYS_NOR_FTIM0 (FTIM0_NOR_TACSE(0x1) | \
  50. FTIM0_NOR_TEADC(0x1) | \
  51. FTIM0_NOR_TEAHC(0x1))
  52. #define CONFIG_SYS_NOR_FTIM1 (FTIM1_NOR_TACO(0x1) | \
  53. FTIM1_NOR_TRAD_NOR(0x1))
  54. #define CONFIG_SYS_NOR_FTIM2 (FTIM2_NOR_TCS(0x0) | \
  55. FTIM2_NOR_TCH(0x0) | \
  56. FTIM2_NOR_TWP(0x1))
  57. #define CONFIG_SYS_NOR_FTIM3 0x04000000
  58. #define CONFIG_SYS_IFC_CCR 0x01000000
  59. #define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NOR0_CSPR_EXT
  60. #define CONFIG_SYS_CSPR0 CONFIG_SYS_NOR0_CSPR
  61. #define CONFIG_SYS_AMASK0 CONFIG_SYS_NOR_AMASK
  62. #define CONFIG_SYS_CSOR0 CONFIG_SYS_NOR_CSOR
  63. #define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NOR_FTIM0
  64. #define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NOR_FTIM1
  65. #define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NOR_FTIM2
  66. #define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NOR_FTIM3
  67. /* I2C */
  68. #define CONFIG_SYS_FSL_I2C_SPEED 4000000 /* faster speed for emulator */
  69. #define CONFIG_SYS_FSL_I2C2_SPEED 4000000
  70. /* Qman/Bman */
  71. #define CONFIG_SYS_DPAA_QBMAN /* Support Q/Bman */
  72. #define CONFIG_SYS_BMAN_NUM_PORTALS 50
  73. #define CONFIG_SYS_BMAN_MEM_BASE 0xf4000000
  74. #define CONFIG_SYS_BMAN_MEM_PHYS 0xff4000000ull
  75. #define CONFIG_SYS_BMAN_MEM_SIZE 0x02000000
  76. #define CONFIG_SYS_QMAN_NUM_PORTALS 50
  77. #define CONFIG_SYS_QMAN_MEM_BASE 0xf6000000
  78. #define CONFIG_SYS_QMAN_MEM_PHYS 0xff6000000ull
  79. #define CONFIG_SYS_QMAN_MEM_SIZE 0x02000000
  80. #define CONFIG_SYS_DPAA_FMAN
  81. #define CONFIG_SYS_DPAA_PME
  82. #define CONFIG_SYS_PMAN
  83. #define CONFIG_SYS_DPAA_DCE
  84. #define CONFIG_SYS_DPAA_RMAN
  85. #define CONFIG_SYS_INTERLAKEN
  86. #define CONFIG_SYS_QE_FMAN_FW_IN_NOR
  87. #define CONFIG_SYS_QE_FMAN_FW_ADDR 0xEFF40000
  88. #define CONFIG_SYS_QE_FMAN_FW_LENGTH 0x10000
  89. #define CONFIG_SYS_FDT_PAD (0x3000 + CONFIG_SYS_QE_FMAN_FW_LENGTH)
  90. #define CONFIG_BOOTDELAY 0
  91. /*
  92. * T4240 has 3 DDR controllers. Default to 3-way interleaving. It can be
  93. * 3way_1KB, 3way_4KB, 3way_8KB. T4160 has 2 DDR controllers. Default to 2-way
  94. * interleaving. It can be cacheline, page, bank, superbank.
  95. * See doc/README.fsl-ddr for details.
  96. */
  97. #ifdef CONFIG_PPC_T4240
  98. #define CTRL_INTLV_PREFERED 3way_4KB
  99. #else
  100. #define CTRL_INTLV_PREFERED cacheline
  101. #endif
  102. #define CONFIG_EXTRA_ENV_SETTINGS \
  103. "hwconfig=fsl_ddr:" \
  104. "ctlr_intlv=" __stringify(CTRL_INTLV_PREFERED) "," \
  105. "bank_intlv=auto;" \
  106. "netdev=eth0\0" \
  107. "uboot=" __stringify(CONFIG_UBOOTPATH) "\0" \
  108. "ubootaddr=" __stringify(CONFIG_SYS_TEXT_BASE) "\0" \
  109. "consoledev=ttyS0\0" \
  110. "ramdiskaddr=2000000\0" \
  111. "ramdiskfile=t4240emu/ramdisk.uboot\0" \
  112. "fdtaddr=c00000\0" \
  113. "fdtfile=t4240emu/t4240emu.dtb\0" \
  114. "bdev=sda3\0" \
  115. "c=ffe\0"
  116. /*
  117. * For emulation this causes u-boot to jump to the start of the proof point
  118. * app code automatically
  119. */
  120. #define CONFIG_PROOF_POINTS \
  121. "setenv bootargs root=/dev/$bdev rw " \
  122. "console=$consoledev,$baudrate $othbootargs;" \
  123. "cpu 1 release 0x29000000 - - -;" \
  124. "cpu 2 release 0x29000000 - - -;" \
  125. "cpu 3 release 0x29000000 - - -;" \
  126. "cpu 4 release 0x29000000 - - -;" \
  127. "cpu 5 release 0x29000000 - - -;" \
  128. "cpu 6 release 0x29000000 - - -;" \
  129. "cpu 7 release 0x29000000 - - -;" \
  130. "go 0x29000000"
  131. #define CONFIG_HVBOOT \
  132. "setenv bootargs config-addr=0x60000000; " \
  133. "bootm 0x01000000 - 0x00f00000"
  134. #define CONFIG_LINUX \
  135. "errata;" \
  136. "setenv othbootargs ignore_loglevel;" \
  137. "setenv bootargs root=/dev/ram rw " \
  138. "console=$consoledev,$baudrate $othbootargs;" \
  139. "setenv ramdiskaddr 0x02000000;" \
  140. "setenv fdtaddr 0x00c00000;" \
  141. "setenv loadaddr 0x1000000;" \
  142. "bootm $loadaddr $ramdiskaddr $fdtaddr"
  143. #define CONFIG_BOOTCOMMAND CONFIG_LINUX
  144. #endif /* __CONFIG_H */