ge_bx50v3.h 4.5 KB

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