dh_imx6.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * DHCOM DH-iMX6 PDK board configuration
  4. *
  5. * Copyright (C) 2017 Marek Vasut <marex@denx.de>
  6. */
  7. #ifndef __DH_IMX6_CONFIG_H
  8. #define __DH_IMX6_CONFIG_H
  9. #include <asm/arch/imx-regs.h>
  10. #include "mx6_common.h"
  11. /*
  12. * SPI NOR layout:
  13. * 0x00_0000-0x00_ffff ... U-Boot SPL
  14. * 0x01_0000-0x0f_ffff ... U-Boot
  15. * 0x10_0000-0x10_ffff ... U-Boot env #1
  16. * 0x11_0000-0x11_ffff ... U-Boot env #2
  17. * 0x12_0000-0x1f_ffff ... UNUSED
  18. */
  19. /* SPL */
  20. #include "imx6_spl.h" /* common IMX6 SPL configuration */
  21. #define CONFIG_SPL_TARGET "u-boot-with-spl.imx"
  22. /* Miscellaneous configurable options */
  23. #define CONFIG_CMDLINE_TAG
  24. #define CONFIG_SETUP_MEMORY_TAGS
  25. #define CONFIG_INITRD_TAG
  26. #define CONFIG_REVISION_TAG
  27. /* Size of malloc() pool */
  28. #define CONFIG_SYS_MALLOC_LEN (4 * SZ_1M)
  29. /* Bootcounter */
  30. #define CONFIG_SYS_BOOTCOUNT_BE
  31. /* FEC ethernet */
  32. #define IMX_FEC_BASE ENET_BASE_ADDR
  33. #define CONFIG_FEC_XCV_TYPE RMII
  34. #define CONFIG_ETHPRIME "FEC"
  35. #define CONFIG_FEC_MXC_PHYADDR 0
  36. #define CONFIG_ARP_TIMEOUT 200UL
  37. /* MMC Configs */
  38. #define CONFIG_SYS_FSL_ESDHC_ADDR 0
  39. #define CONFIG_SYS_FSL_USDHC_NUM 3
  40. /* SATA Configs */
  41. #define CONFIG_LBA48
  42. /* SPI Flash Configs */
  43. #if defined(CONFIG_SPL_BUILD)
  44. #undef CONFIG_DM_SPI
  45. #undef CONFIG_DM_SPI_FLASH
  46. #endif
  47. /* UART */
  48. #define CONFIG_MXC_UART_BASE UART1_BASE
  49. /* USB Configs */
  50. #ifdef CONFIG_CMD_USB
  51. #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
  52. #define CONFIG_USB_HOST_ETHER
  53. #define CONFIG_USB_ETHER_ASIX
  54. #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW)
  55. #define CONFIG_MXC_USB_FLAGS 0
  56. #define CONFIG_USB_MAX_CONTROLLER_COUNT 2 /* Enabled USB controller number */
  57. /* USB Gadget (DFU, UMS) */
  58. #if defined(CONFIG_CMD_DFU) || defined(CONFIG_CMD_USB_MASS_STORAGE)
  59. #define CONFIG_SYS_DFU_DATA_BUF_SIZE (16 * 1024 * 1024)
  60. #define DFU_DEFAULT_POLL_TIMEOUT 300
  61. /* USB IDs */
  62. #define CONFIG_G_DNL_UMS_VENDOR_NUM 0x0525
  63. #define CONFIG_G_DNL_UMS_PRODUCT_NUM 0xA4A5
  64. #endif
  65. #endif
  66. /* Watchdog */
  67. #if defined(CONFIG_SPL_BUILD)
  68. #undef CONFIG_WDT
  69. #undef CONFIG_WATCHDOG
  70. #define CONFIG_HW_WATCHDOG
  71. #endif
  72. #define CONFIG_LOADADDR 0x12000000
  73. #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
  74. #ifndef CONFIG_SPL_BUILD
  75. #define CONFIG_EXTRA_ENV_SETTINGS \
  76. "console=ttymxc0,115200\0" \
  77. "fdt_addr=0x18000000\0" \
  78. "fdt_high=0xffffffff\0" \
  79. "initrd_high=0xffffffff\0" \
  80. "kernel_addr_r=0x10008000\0" \
  81. "fdt_addr_r=0x13000000\0" \
  82. "ramdisk_addr_r=0x18000000\0" \
  83. "scriptaddr=0x14000000\0" \
  84. "fdtfile=imx6q-dhcom-pdk2.dtb\0"\
  85. BOOTENV
  86. #define CONFIG_BOOTCOMMAND "run distro_bootcmd"
  87. #define BOOT_TARGET_DEVICES(func) \
  88. func(MMC, mmc, 0) \
  89. func(MMC, mmc, 2) \
  90. func(USB, usb, 1) \
  91. func(SATA, sata, 0) \
  92. func(DHCP, dhcp, na)
  93. #include <config_distro_bootcmd.h>
  94. #endif
  95. /* Physical Memory Map */
  96. #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR
  97. #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM
  98. #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR
  99. #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE
  100. #define CONFIG_SYS_INIT_SP_OFFSET \
  101. (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
  102. #define CONFIG_SYS_INIT_SP_ADDR \
  103. (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
  104. /* Environment */
  105. #endif /* __DH_IMX6_CONFIG_H */