ge_bx50v3.h 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * Copyright (C) 2015 Timesys Corporation
  4. * Copyright (C) 2015 General Electric Company
  5. * Copyright (C) 2014 Advantech
  6. * Copyright (C) 2012 Freescale Semiconductor, Inc.
  7. *
  8. * Configuration settings for the GE MX6Q Bx50v3 boards.
  9. */
  10. #ifndef __GE_BX50V3_CONFIG_H
  11. #define __GE_BX50V3_CONFIG_H
  12. #include <asm/arch/imx-regs.h>
  13. #include <asm/mach-imx/gpio.h>
  14. #define CONFIG_BOARD_NAME "General Electric Bx50v3"
  15. #include "mx6_common.h"
  16. #include <linux/sizes.h>
  17. #define CONFIG_CMDLINE_TAG
  18. #define CONFIG_SETUP_MEMORY_TAGS
  19. #define CONFIG_INITRD_TAG
  20. #define CONFIG_REVISION_TAG
  21. #define CONFIG_SYS_MALLOC_LEN (10 * SZ_1M)
  22. /* SATA Configs */
  23. #ifdef CONFIG_CMD_SATA
  24. #define CONFIG_SYS_SATA_MAX_DEVICE 1
  25. #define CONFIG_DWC_AHSATA_PORT_ID 0
  26. #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR
  27. #define CONFIG_LBA48
  28. #endif
  29. /* USB Configs */
  30. #ifdef CONFIG_USB
  31. #define CONFIG_USB_MAX_CONTROLLER_COUNT 2
  32. #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
  33. #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW)
  34. #define CONFIG_MXC_USB_FLAGS 0
  35. #define CONFIG_USBD_HS
  36. #define CONFIG_USB_GADGET_MASS_STORAGE
  37. #endif
  38. /* Serial Flash */
  39. /* allow to overwrite serial and ethaddr */
  40. #define CONFIG_ENV_OVERWRITE
  41. #define CONFIG_LOADADDR 0x12000000
  42. #ifdef CONFIG_NFS_CMD
  43. #define NETWORKBOOT \
  44. "setnetworkboot=" \
  45. "setenv ipaddr 172.16.2.10; setenv serverip 172.16.2.20; " \
  46. "setenv gatewayip 172.16.2.20; setenv nfsserver 172.16.2.20; " \
  47. "setenv netmask 255.255.255.0; setenv ethaddr ca:fe:de:ca:f0:11; " \
  48. "setenv bootargs root=/dev/nfs nfsroot=${nfsserver}:/srv/nfs/,v3,tcp rw rootwait" \
  49. "setenv bootargs $bootargs ip=${ipaddr}:${nfsserver}:${gatewayip}:${netmask}::eth0:off " \
  50. "setenv bootargs $bootargs cma=128M bootcause=POR ${videoargs} " \
  51. "setenv bootargs $bootargs systemd.mask=helix-network-defaults.service " \
  52. "setenv bootargs $bootargs watchdog.handle_boot_enabled=1\0" \
  53. "networkboot=" \
  54. "run setnetworkboot; " \
  55. "nfs ${loadaddr} /srv/nfs/fitImage; " \
  56. "bootm ${loadaddr}#conf@${confidx}\0" \
  57. #define CONFIG_NETWORKBOOTCOMMAND \
  58. "run networkboot; " \
  59. #else
  60. #define NETWORKBOOT \
  61. #endif
  62. #define CONFIG_EXTRA_ENV_SETTINGS \
  63. NETWORKBOOT \
  64. "bootcause=POR\0" \
  65. "image=/boot/fitImage\0" \
  66. "dev=mmc\0" \
  67. "devnum=2\0" \
  68. "rootdev=mmcblk0p\0" \
  69. "quiet=quiet loglevel=0\0" \
  70. "setargs=setenv bootargs root=/dev/${rootdev}${partnum} " \
  71. "ro rootwait cma=128M " \
  72. "bootcause=${bootcause} " \
  73. "${quiet} " \
  74. "${videoargs}" "\0" \
  75. "doquiet=" \
  76. "if ext2load ${dev} ${devnum}:5 0x7000A000 /boot/console; " \
  77. "then setenv quiet; fi\0" \
  78. "hasfirstboot=" \
  79. "test -e ${dev} ${devnum}:${partnum} /boot/bootcause/firstboot\0" \
  80. "swappartitions=" \
  81. "setexpr partnum 3 - ${partnum}\0" \
  82. "failbootcmd=" \
  83. "echo reached failbootcmd; " \
  84. "cls; " \
  85. "setcurs 5 4; " \
  86. "lcdputs \"Monitor failed to start. " \
  87. "Try again, or contact GE Service for support.\"; " \
  88. "bootcount reset; \0" \
  89. "altbootcmd=" \
  90. "run doquiet; " \
  91. "setenv partnum 1; run hasfirstboot || setenv partnum 2; " \
  92. "run hasfirstboot || setenv partnum 0; " \
  93. "if test ${partnum} != 0; then " \
  94. "setenv bootcause REVERT; " \
  95. "run swappartitions loadimage doboot; " \
  96. "fi; " \
  97. "run failbootcmd\0" \
  98. "loadimage=" \
  99. "ext2load ${dev} ${devnum}:${partnum} ${loadaddr} ${image}\0" \
  100. "doboot=" \
  101. "echo Booting from ${dev}:${devnum}:${partnum} ...; " \
  102. "run setargs; " \
  103. "bootm ${loadaddr}#conf@${confidx}\0" \
  104. "tryboot=" \
  105. "setenv partnum 1; run hasfirstboot || setenv partnum 2; " \
  106. "run loadimage || run swappartitions && run loadimage || " \
  107. "setenv partnum 0 && echo MISSING IMAGE;" \
  108. "run doboot; " \
  109. "run failbootcmd\0" \
  110. #define CONFIG_MMCBOOTCOMMAND \
  111. "if mmc dev ${devnum}; then " \
  112. "run doquiet; " \
  113. "run tryboot; " \
  114. "fi; " \
  115. #define CONFIG_USBBOOTCOMMAND \
  116. "echo Unsupported; " \
  117. #ifdef CONFIG_NFS_CMD
  118. #define CONFIG_BOOTCOMMAND CONFIG_NETWORKBOOTCOMMAND
  119. #elif CONFIG_CMD_USB
  120. #define CONFIG_BOOTCOMMAND CONFIG_USBBOOTCOMMAND
  121. #else
  122. #define CONFIG_BOOTCOMMAND CONFIG_MMCBOOTCOMMAND
  123. #endif
  124. /* Miscellaneous configurable options */
  125. #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
  126. /* Physical Memory Map */
  127. #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR
  128. #define CONFIG_SYS_BOOTMAPSZ (256 << 20) /* 256M */
  129. #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM
  130. #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR
  131. #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE
  132. #define CONFIG_SYS_INIT_SP_OFFSET \
  133. (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
  134. #define CONFIG_SYS_INIT_SP_ADDR \
  135. (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
  136. /* environment organization */
  137. #define CONFIG_SYS_FSL_USDHC_NUM 3
  138. /* Framebuffer */
  139. #define CONFIG_HIDE_LOGO_VERSION
  140. #define CONFIG_IMX_HDMI
  141. #define CONFIG_IMX_VIDEO_SKIP
  142. #define CONFIG_IMX6_PWM_PER_CLK 66000000
  143. #define CONFIG_PCI_SCAN_SHOW
  144. #define CONFIG_PCIE_IMX
  145. #define CONFIG_PCIE_IMX_PERST_GPIO IMX_GPIO_NR(7, 12)
  146. #define CONFIG_PCIE_IMX_POWER_GPIO IMX_GPIO_NR(1, 5)
  147. #endif /* __GE_BX50V3_CONFIG_H */