cm_t43.h 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. /*
  2. * cm_t43.h
  3. *
  4. * Copyright (C) 2015 Compulab, Ltd.
  5. *
  6. * SPDX-License-Identifier: GPL-2.0+
  7. */
  8. #ifndef __CONFIG_CM_T43_H
  9. #define __CONFIG_CM_T43_H
  10. #define CONFIG_AM43XX
  11. #define CONFIG_CM_T43
  12. #define CONFIG_ARCH_CPU_INIT
  13. #define CONFIG_MAX_RAM_BANK_SIZE (2048 << 20) /* 2GB */
  14. #define CONFIG_SYS_TIMERBASE 0x48040000 /* Use Timer2 */
  15. #include <asm/arch/omap.h>
  16. /* Serial support */
  17. #define CONFIG_SYS_NS16550_SERIAL
  18. #define CONFIG_SYS_NS16550_CLK 48000000
  19. #define CONFIG_SYS_NS16550_COM1 0x44e09000
  20. #ifdef CONFIG_SPL_BUILD
  21. #define CONFIG_SYS_NS16550_REG_SIZE (-4)
  22. #endif
  23. /* NAND support */
  24. #define CONFIG_NAND
  25. #define CONFIG_NAND_OMAP_ELM
  26. #define CONFIG_SYS_NAND_ONFI_DETECTION
  27. #define CONFIG_SYS_NAND_5_ADDR_CYCLE
  28. #define CONFIG_SYS_NAND_PAGE_SIZE 2048
  29. #define CONFIG_SYS_NAND_OOBSIZE 64
  30. #define CONFIG_SYS_NAND_BLOCK_SIZE (128 * 1024)
  31. #define CONFIG_SYS_NAND_BAD_BLOCK_POS NAND_LARGE_BADBLOCK_POS
  32. #define CONFIG_SYS_NAND_ECCSIZE 512
  33. #define CONFIG_SYS_NAND_ECCBYTES 14
  34. #define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_BCH8_CODE_HW
  35. #define CONFIG_SYS_NAND_PAGE_COUNT (CONFIG_SYS_NAND_BLOCK_SIZE / \
  36. CONFIG_SYS_NAND_PAGE_SIZE)
  37. #define CONFIG_SYS_NAND_ECCPOS { 2, 3, 4, 5, 6, 7, 8, 9, \
  38. 10, 11, 12, 13, 14, 15, 16, 17, \
  39. 18, 19, 20, 21, 22, 23, 24, 25, \
  40. 26, 27, 28, 29, 30, 31, 32, 33, \
  41. 34, 35, 36, 37, 38, 39, 40, 41, \
  42. 42, 43, 44, 45, 46, 47, 48, 49, \
  43. 50, 51, 52, 53, 54, 55, 56, 57, }
  44. /* CPSW Ethernet support */
  45. #define CONFIG_DRIVER_TI_CPSW
  46. #define CONFIG_MII
  47. #define CONFIG_BOOTP_DEFAULT
  48. #define CONFIG_BOOTP_SEND_HOSTNAME
  49. #define CONFIG_BOOTP_GATEWAY
  50. #define CONFIG_NET_MULTI
  51. #define CONFIG_PHY_GIGE
  52. #define CONFIG_PHY_ATHEROS
  53. #define CONFIG_PHYLIB
  54. #define CONFIG_SYS_RX_ETH_BUFFER 64
  55. /* USB support */
  56. #define CONFIG_USB_XHCI_OMAP
  57. #define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS 2
  58. #define CONFIG_OMAP_USB_PHY
  59. #define CONFIG_AM437X_USB2PHY2_HOST
  60. /* SPI Flash support */
  61. #define CONFIG_TI_SPI_MMAP
  62. #define CONFIG_SF_DEFAULT_SPEED 48000000
  63. #define CONFIG_DEFAULT_SPI_MODE SPI_MODE_3
  64. /* Power */
  65. #define CONFIG_POWER
  66. #define CONFIG_POWER_I2C
  67. #define CONFIG_POWER_TPS65218
  68. /* Enabling L2 Cache */
  69. #define CONFIG_SYS_L2_PL310
  70. #define CONFIG_SYS_PL310_BASE 0x48242000
  71. /*
  72. * Since SPL did pll and ddr initialization for us,
  73. * we don't need to do it twice.
  74. */
  75. #if !defined(CONFIG_SPL_BUILD)
  76. #define CONFIG_SKIP_LOWLEVEL_INIT
  77. #endif
  78. #define CONFIG_HSMMC2_8BIT
  79. #include <configs/ti_armv7_omap.h>
  80. #undef CONFIG_SYS_MONITOR_LEN
  81. #define CONFIG_ENV_SIZE (16 * 1024)
  82. #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
  83. #define V_OSCK 24000000 /* Clock output from T2 */
  84. #define V_SCLK (V_OSCK)
  85. #define CONFIG_ENV_IS_IN_SPI_FLASH
  86. #define CONFIG_ENV_SECT_SIZE (64 * 1024)
  87. #define CONFIG_ENV_OFFSET (768 * 1024)
  88. #define CONFIG_ENV_SPI_MAX_HZ 48000000
  89. #define CONFIG_SPL_LDSCRIPT "arch/arm/mach-omap2/u-boot-spl.lds"
  90. /* Enhance our eMMC support / experience. */
  91. #define CONFIG_CMD_GPT
  92. #define CONFIG_EFI_PARTITION
  93. #define CONFIG_EXTRA_ENV_SETTINGS \
  94. "loadaddr=0x80200000\0" \
  95. "fdtaddr=0x81200000\0" \
  96. "bootm_size=0x8000000\0" \
  97. "autoload=no\0" \
  98. "console=ttyO0,115200n8\0" \
  99. "fdtfile=am437x-sb-som-t43.dtb\0" \
  100. "kernel=zImage-cm-t43\0" \
  101. "bootscr=bootscr.img\0" \
  102. "emmcroot=/dev/mmcblk0p2 rw\0" \
  103. "emmcrootfstype=ext4 rootwait\0" \
  104. "emmcargs=setenv bootargs console=${console} " \
  105. "root=${emmcroot} " \
  106. "rootfstype=${emmcrootfstype}\0" \
  107. "loadbootscript=load mmc 0 ${loadaddr} ${bootscr}\0" \
  108. "bootscript=echo Running bootscript from mmc ...; " \
  109. "source ${loadaddr}\0" \
  110. "emmcboot=echo Booting from emmc ... && " \
  111. "run emmcargs && " \
  112. "load mmc 1 ${loadaddr} ${kernel} && " \
  113. "load mmc 1 ${fdtaddr} ${fdtfile} && " \
  114. "bootz ${loadaddr} - ${fdtaddr}\0"
  115. #define CONFIG_BOOTCOMMAND \
  116. "mmc dev 0; " \
  117. "if mmc rescan; then " \
  118. "if run loadbootscript; then " \
  119. "run bootscript; " \
  120. "fi; " \
  121. "fi; " \
  122. "mmc dev 1; " \
  123. "if mmc rescan; then " \
  124. "run emmcboot; " \
  125. "fi;"
  126. #define CONFIG_CONS_INDEX 1
  127. /* SPL defines. */
  128. #define CONFIG_SPL_TEXT_BASE 0x40300350
  129. #define CONFIG_SYS_SPL_ARGS_ADDR (CONFIG_SYS_SDRAM_BASE + (128 << 20))
  130. #define CONFIG_SYS_SPI_U_BOOT_OFFS (256 * 1024)
  131. #define CONFIG_SYS_MONITOR_LEN (512 * 1024)
  132. #define CONFIG_SPL_SPI_LOAD
  133. /* EEPROM */
  134. #define CONFIG_CMD_EEPROM
  135. #define CONFIG_ENV_EEPROM_IS_ON_I2C
  136. #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1
  137. #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 4
  138. #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 5
  139. #define CONFIG_SYS_EEPROM_SIZE 256
  140. #define CONFIG_CMD_EEPROM_LAYOUT
  141. #define CONFIG_EEPROM_LAYOUT_HELP_STRING "v2, v3"
  142. #endif /* __CONFIG_CM_T43_H */