ge_bx50v3.h 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  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. #define CONFIG_MXC_UART_BASE UART3_BASE
  16. #define CONSOLE_DEV "ttymxc2"
  17. #include "mx6_common.h"
  18. #include <linux/sizes.h>
  19. #define CONFIG_CMDLINE_TAG
  20. #define CONFIG_SETUP_MEMORY_TAGS
  21. #define CONFIG_INITRD_TAG
  22. #define CONFIG_REVISION_TAG
  23. #define CONFIG_SYS_MALLOC_LEN (10 * SZ_1M)
  24. #define CONFIG_MXC_UART
  25. /* SATA Configs */
  26. #ifdef CONFIG_CMD_SATA
  27. #define CONFIG_SYS_SATA_MAX_DEVICE 1
  28. #define CONFIG_DWC_AHSATA_PORT_ID 0
  29. #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR
  30. #define CONFIG_LBA48
  31. #endif
  32. /* USB Configs */
  33. #ifdef CONFIG_USB
  34. #define CONFIG_USB_MAX_CONTROLLER_COUNT 2
  35. #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
  36. #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW)
  37. #define CONFIG_MXC_USB_FLAGS 0
  38. #define CONFIG_USBD_HS
  39. #define CONFIG_USB_GADGET_MASS_STORAGE
  40. #endif
  41. /* Networking Configs */
  42. #ifdef CONFIG_NET
  43. #define CONFIG_FEC_MXC
  44. #define IMX_FEC_BASE ENET_BASE_ADDR
  45. #define CONFIG_FEC_XCV_TYPE RGMII
  46. #define CONFIG_ETHPRIME "FEC"
  47. #define CONFIG_FEC_MXC_PHYADDR 4
  48. #define CONFIG_PHY_ATHEROS
  49. #endif
  50. /* Serial Flash */
  51. /* allow to overwrite serial and ethaddr */
  52. #define CONFIG_ENV_OVERWRITE
  53. #define CONFIG_LOADADDR 0x12000000
  54. #ifdef CONFIG_NFS_CMD
  55. #define NETWORKBOOT \
  56. "setnetworkboot=" \
  57. "setenv ipaddr 172.16.2.10; setenv serverip 172.16.2.20; " \
  58. "setenv gatewayip 172.16.2.20; setenv nfsserver 172.16.2.20; " \
  59. "setenv netmask 255.255.255.0; setenv ethaddr ca:fe:de:ca:f0:11; " \
  60. "setenv bootargs root=/dev/nfs nfsroot=${nfsserver}:/srv/nfs/,v3,tcp rw rootwait" \
  61. "setenv bootargs $bootargs ip=${ipaddr}:${nfsserver}:${gatewayip}:${netmask}::eth0:off " \
  62. "setenv bootargs $bootargs cma=128M bootcause=POR console=${console} ${videoargs} " \
  63. "setenv bootargs $bootargs systemd.mask=helix-network-defaults.service " \
  64. "setenv bootargs $bootargs watchdog.handle_boot_enabled=1\0" \
  65. "networkboot=" \
  66. "run setnetworkboot; " \
  67. "nfs ${loadaddr} /srv/nfs/fitImage; " \
  68. "bootm ${loadaddr}#conf@${confidx}\0" \
  69. #define CONFIG_NETWORKBOOTCOMMAND \
  70. "run networkboot; " \
  71. #else
  72. #define NETWORKBOOT \
  73. #endif
  74. #define CONFIG_EXTRA_ENV_SETTINGS \
  75. NETWORKBOOT \
  76. "bootcause=POR\0" \
  77. "image=/boot/fitImage\0" \
  78. "fdt_high=0xffffffff\0" \
  79. "dev=mmc\0" \
  80. "devnum=2\0" \
  81. "rootdev=mmcblk0p\0" \
  82. "quiet=quiet loglevel=0\0" \
  83. "console=" CONSOLE_DEV "\0" \
  84. "setargs=setenv bootargs root=/dev/${rootdev}${partnum} " \
  85. "ro rootwait cma=128M " \
  86. "bootcause=${bootcause} " \
  87. "${quiet} console=${console} ${rtc_status} " \
  88. "${videoargs}" "\0" \
  89. "doquiet=" \
  90. "if ext2load ${dev} ${devnum}:5 0x7000A000 /boot/console; " \
  91. "then setenv quiet; fi\0" \
  92. "hasfirstboot=" \
  93. "ext2load ${dev} ${devnum}:${partnum} 0x7000A000 " \
  94. "/boot/bootcause/firstboot\0" \
  95. "swappartitions=" \
  96. "setexpr partnum 3 - ${partnum}\0" \
  97. "failbootcmd=" \
  98. "bx50_backlight_enable; " \
  99. "msg=\"Monitor failed to start. Try again, or contact GE Service for support.\"; " \
  100. "echo $msg; " \
  101. "setenv stdout vga; " \
  102. "echo \"\n\n\n\n \" $msg; " \
  103. "setenv stdout serial; " \
  104. "mw.b 0x7000A000 0xbc; " \
  105. "mw.b 0x7000A001 0x00; " \
  106. "ext4write ${dev} ${devnum}:5 0x7000A000 /boot/failures 2\0" \
  107. "altbootcmd=" \
  108. "run doquiet; " \
  109. "setenv partnum 1; run hasfirstboot || setenv partnum 2; " \
  110. "run hasfirstboot || setenv partnum 0; " \
  111. "if test ${partnum} != 0; then " \
  112. "setenv bootcause REVERT; " \
  113. "run swappartitions loadimage doboot; " \
  114. "fi; " \
  115. "run failbootcmd\0" \
  116. "loadimage=" \
  117. "ext2load ${dev} ${devnum}:${partnum} ${loadaddr} ${image}\0" \
  118. "doboot=" \
  119. "echo Booting from ${dev}:${devnum}:${partnum} ...; " \
  120. "run setargs; " \
  121. "bootm ${loadaddr}#conf@${confidx}\0" \
  122. "tryboot=" \
  123. "setenv partnum 1; run hasfirstboot || setenv partnum 2; " \
  124. "run loadimage || run swappartitions && run loadimage || " \
  125. "setenv partnum 0 && echo MISSING IMAGE;" \
  126. "run doboot; " \
  127. "run failbootcmd\0" \
  128. #define CONFIG_MMCBOOTCOMMAND \
  129. "if mmc dev ${devnum}; then " \
  130. "run doquiet; " \
  131. "run tryboot; " \
  132. "fi; " \
  133. #define CONFIG_USBBOOTCOMMAND \
  134. "echo Unsupported; " \
  135. #ifdef CONFIG_NFS_CMD
  136. #define CONFIG_BOOTCOMMAND CONFIG_NETWORKBOOTCOMMAND
  137. #elif CONFIG_CMD_USB
  138. #define CONFIG_BOOTCOMMAND CONFIG_USBBOOTCOMMAND
  139. #else
  140. #define CONFIG_BOOTCOMMAND CONFIG_MMCBOOTCOMMAND
  141. #endif
  142. /* Miscellaneous configurable options */
  143. #define CONFIG_SYS_MEMTEST_START 0x10000000
  144. #define CONFIG_SYS_MEMTEST_END 0x10010000
  145. #define CONFIG_SYS_MEMTEST_SCRATCH 0x10800000
  146. #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
  147. /* Physical Memory Map */
  148. #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR
  149. #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM
  150. #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR
  151. #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE
  152. #define CONFIG_SYS_INIT_SP_OFFSET \
  153. (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
  154. #define CONFIG_SYS_INIT_SP_ADDR \
  155. (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
  156. /* environment organization */
  157. #define CONFIG_SYS_FSL_USDHC_NUM 3
  158. /* Framebuffer */
  159. #define CONFIG_HIDE_LOGO_VERSION
  160. #define CONFIG_IMX_HDMI
  161. #define CONFIG_IMX_VIDEO_SKIP
  162. #define CONFIG_CMD_BMP
  163. #define CONFIG_IMX6_PWM_PER_CLK 66000000
  164. #define CONFIG_PCI
  165. #define CONFIG_PCI_PNP
  166. #define CONFIG_PCI_SCAN_SHOW
  167. #define CONFIG_PCIE_IMX
  168. #define CONFIG_PCIE_IMX_PERST_GPIO IMX_GPIO_NR(7, 12)
  169. #define CONFIG_PCIE_IMX_POWER_GPIO IMX_GPIO_NR(1, 5)
  170. #define CONFIG_RTC_RX8010SJ
  171. #define CONFIG_SYS_RTC_BUS_NUM 2
  172. #define CONFIG_SYS_I2C_RTC_ADDR 0x32
  173. /* I2C Configs */
  174. #define CONFIG_SYS_I2C
  175. #define CONFIG_SYS_I2C_MXC
  176. #define CONFIG_SYS_I2C_SPEED 100000
  177. #define CONFIG_SYS_I2C_MXC_I2C1
  178. #define CONFIG_SYS_I2C_MXC_I2C2
  179. #define CONFIG_SYS_I2C_MXC_I2C3
  180. #define CONFIG_SYS_NUM_I2C_BUSES 11
  181. #define CONFIG_SYS_I2C_MAX_HOPS 1
  182. #define CONFIG_SYS_I2C_BUSES { {0, {I2C_NULL_HOP} }, \
  183. {1, {I2C_NULL_HOP} }, \
  184. {2, {I2C_NULL_HOP} }, \
  185. {0, {{I2C_MUX_PCA9547, 0x70, 0} } }, \
  186. {0, {{I2C_MUX_PCA9547, 0x70, 1} } }, \
  187. {0, {{I2C_MUX_PCA9547, 0x70, 2} } }, \
  188. {0, {{I2C_MUX_PCA9547, 0x70, 3} } }, \
  189. {0, {{I2C_MUX_PCA9547, 0x70, 4} } }, \
  190. {0, {{I2C_MUX_PCA9547, 0x70, 5} } }, \
  191. {0, {{I2C_MUX_PCA9547, 0x70, 6} } }, \
  192. {0, {{I2C_MUX_PCA9547, 0x70, 7} } }, \
  193. }
  194. #define CONFIG_BCH
  195. #endif /* __GE_BX50V3_CONFIG_H */