ge_bx50v3.h 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  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. #define CONFIG_LOADADDR 0x12000000
  40. #ifdef CONFIG_NFS_CMD
  41. #define NETWORKBOOT \
  42. "setnetworkboot=" \
  43. "setenv ipaddr 172.16.2.10; setenv serverip 172.16.2.20; " \
  44. "setenv gatewayip 172.16.2.20; setenv nfsserver 172.16.2.20; " \
  45. "setenv netmask 255.255.255.0; setenv ethaddr ca:fe:de:ca:f0:11; " \
  46. "setenv bootargs root=/dev/nfs nfsroot=${nfsserver}:/srv/nfs/,v3,tcp rw rootwait" \
  47. "setenv bootargs $bootargs ip=${ipaddr}:${nfsserver}:${gatewayip}:${netmask}::eth0:off " \
  48. "setenv bootargs $bootargs cma=128M bootcause=POR ${videoargs} " \
  49. "setenv bootargs $bootargs systemd.mask=helix-network-defaults.service " \
  50. "setenv bootargs $bootargs watchdog.handle_boot_enabled=1\0" \
  51. "networkboot=" \
  52. "run setnetworkboot; " \
  53. "nfs ${loadaddr} /srv/nfs/fitImage; " \
  54. "bootm ${loadaddr}#conf@${confidx}\0" \
  55. #define CONFIG_NETWORKBOOTCOMMAND \
  56. "run networkboot; " \
  57. #else
  58. #define NETWORKBOOT \
  59. #endif
  60. #define CONFIG_EXTRA_ENV_SETTINGS \
  61. NETWORKBOOT \
  62. "bootcause=POR\0" \
  63. "image=/boot/fitImage\0" \
  64. "dev=mmc\0" \
  65. "devnum=2\0" \
  66. "rootdev=mmcblk0p\0" \
  67. "quiet=quiet loglevel=0\0" \
  68. "setargs=setenv bootargs root=/dev/${rootdev}${partnum} " \
  69. "ro rootwait cma=128M " \
  70. "bootcause=${bootcause} " \
  71. "${quiet} " \
  72. "${videoargs}" "\0" \
  73. "doquiet=" \
  74. "if ext2load ${dev} ${devnum}:5 0x7000A000 /boot/console; " \
  75. "then setenv quiet; fi\0" \
  76. "hasfirstboot=" \
  77. "test -e ${dev} ${devnum}:${partnum} /boot/bootcause/firstboot\0" \
  78. "swappartitions=" \
  79. "setexpr partnum 3 - ${partnum}\0" \
  80. "failbootcmd=" \
  81. "echo reached failbootcmd; " \
  82. "cls; " \
  83. "setcurs 5 4; " \
  84. "lcdputs \"Monitor failed to start. " \
  85. "Try again, or contact GE Service for support.\"; " \
  86. "bootcount reset; \0" \
  87. "altbootcmd=" \
  88. "run doquiet; " \
  89. "setenv partnum 1; run hasfirstboot || setenv partnum 2; " \
  90. "run hasfirstboot || setenv partnum 0; " \
  91. "if test ${partnum} != 0; then " \
  92. "setenv bootcause REVERT; " \
  93. "run swappartitions loadimage doboot; " \
  94. "fi; " \
  95. "run failbootcmd\0" \
  96. "loadimage=" \
  97. "ext2load ${dev} ${devnum}:${partnum} ${loadaddr} ${image}\0" \
  98. "doboot=" \
  99. "echo Booting from ${dev}:${devnum}:${partnum} ...; " \
  100. "run setargs; " \
  101. "bootm ${loadaddr}#conf@${confidx}\0" \
  102. "tryboot=" \
  103. "setenv partnum 1; run hasfirstboot || setenv partnum 2; " \
  104. "run loadimage || run swappartitions && run loadimage || " \
  105. "setenv partnum 0 && echo MISSING IMAGE;" \
  106. "run doboot; " \
  107. "run failbootcmd\0" \
  108. #define CONFIG_MMCBOOTCOMMAND \
  109. "if mmc dev ${devnum}; then " \
  110. "run doquiet; " \
  111. "run tryboot; " \
  112. "fi; " \
  113. #define CONFIG_USBBOOTCOMMAND \
  114. "echo Unsupported; " \
  115. #ifdef CONFIG_NFS_CMD
  116. #define CONFIG_BOOTCOMMAND CONFIG_NETWORKBOOTCOMMAND
  117. #elif CONFIG_CMD_USB
  118. #define CONFIG_BOOTCOMMAND CONFIG_USBBOOTCOMMAND
  119. #else
  120. #define CONFIG_BOOTCOMMAND CONFIG_MMCBOOTCOMMAND
  121. #endif
  122. /* Miscellaneous configurable options */
  123. #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
  124. /* Physical Memory Map */
  125. #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR
  126. #define CONFIG_SYS_BOOTMAPSZ (256 << 20) /* 256M */
  127. #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM
  128. #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR
  129. #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE
  130. #define CONFIG_SYS_INIT_SP_OFFSET \
  131. (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
  132. #define CONFIG_SYS_INIT_SP_ADDR \
  133. (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
  134. /* environment organization */
  135. #define CONFIG_SYS_FSL_USDHC_NUM 3
  136. /* Framebuffer */
  137. #define CONFIG_HIDE_LOGO_VERSION
  138. #define CONFIG_IMX_HDMI
  139. #define CONFIG_IMX_VIDEO_SKIP
  140. #define CONFIG_IMX6_PWM_PER_CLK 66000000
  141. #define CONFIG_PCI_SCAN_SHOW
  142. #define CONFIG_PCIE_IMX
  143. #define CONFIG_PCIE_IMX_PERST_GPIO IMX_GPIO_NR(7, 12)
  144. #define CONFIG_PCIE_IMX_POWER_GPIO IMX_GPIO_NR(1, 5)
  145. #endif /* __GE_BX50V3_CONFIG_H */