mx7dsabresd.h 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * Copyright (C) 2015 Freescale Semiconductor, Inc.
  4. *
  5. * Configuration settings for the Freescale i.MX7D SABRESD board.
  6. */
  7. #ifndef __MX7D_SABRESD_CONFIG_H
  8. #define __MX7D_SABRESD_CONFIG_H
  9. #include "mx7_common.h"
  10. #define PHYS_SDRAM_SIZE SZ_1G
  11. #define CONFIG_MXC_UART_BASE UART1_IPS_BASE_ADDR
  12. /* Size of malloc() pool */
  13. #define CONFIG_SYS_MALLOC_LEN (32 * SZ_1M)
  14. /* MMC Config*/
  15. #define CONFIG_SYS_FSL_ESDHC_ADDR 0
  16. /* I2C configs */
  17. #define CONFIG_SYS_I2C_MXC
  18. #define CONFIG_SYS_I2C_SPEED 100000
  19. #define CONFIG_SYS_MMC_IMG_LOAD_PART 1
  20. #ifdef CONFIG_IMX_BOOTAUX
  21. /* Set to QSPI1 A flash at default */
  22. #define CONFIG_SYS_AUXCORE_BOOTDATA 0x60000000
  23. #define UPDATE_M4_ENV \
  24. "m4image=m4_qspi.bin\0" \
  25. "loadm4image=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${m4image}\0" \
  26. "update_m4_from_sd=" \
  27. "if sf probe 0:0; then " \
  28. "if run loadm4image; then " \
  29. "setexpr fw_sz ${filesize} + 0xffff; " \
  30. "setexpr fw_sz ${fw_sz} / 0x10000; " \
  31. "setexpr fw_sz ${fw_sz} * 0x10000; " \
  32. "sf erase 0x0 ${fw_sz}; " \
  33. "sf write ${loadaddr} 0x0 ${filesize}; " \
  34. "fi; " \
  35. "fi\0" \
  36. "m4boot=sf probe 0:0; bootaux "__stringify(CONFIG_SYS_AUXCORE_BOOTDATA)"\0"
  37. #else
  38. #define UPDATE_M4_ENV ""
  39. #endif
  40. #define CONFIG_MFG_ENV_SETTINGS \
  41. "mfgtool_args=setenv bootargs console=${console},${baudrate} " \
  42. "rdinit=/linuxrc " \
  43. "g_mass_storage.stall=0 g_mass_storage.removable=1 " \
  44. "g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF "\
  45. "g_mass_storage.iSerialNumber=\"\" "\
  46. "clk_ignore_unused "\
  47. "\0" \
  48. "initrd_addr=0x83800000\0" \
  49. "initrd_high=0xffffffff\0" \
  50. "bootcmd_mfg=run mfgtool_args;bootz ${loadaddr} ${initrd_addr} ${fdt_addr};\0" \
  51. #define CONFIG_DFU_ENV_SETTINGS \
  52. "dfu_alt_info=image raw 0 0x800000;"\
  53. "u-boot raw 0 0x4000;"\
  54. "bootimg part 0 1;"\
  55. "rootfs part 0 2\0" \
  56. #define CONFIG_EXTRA_ENV_SETTINGS \
  57. UPDATE_M4_ENV \
  58. CONFIG_MFG_ENV_SETTINGS \
  59. CONFIG_DFU_ENV_SETTINGS \
  60. "script=boot.scr\0" \
  61. "image=zImage\0" \
  62. "console=ttymxc0\0" \
  63. "fdt_high=0xffffffff\0" \
  64. "finduuid=part uuid mmc 0:1 uuid\0" \
  65. "initrd_high=0xffffffff\0" \
  66. "fdtfile=imx7d-sdb.dtb\0" \
  67. "fdt_addr=0x83000000\0" \
  68. "fdt_addr_r=0x83000000\0" \
  69. "kernel_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \
  70. "pxefile_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \
  71. "ramdisk_addr_r=0x83100000\0" \
  72. "ramdiskaddr=0x83100000\0" \
  73. "scriptaddr=" __stringify(CONFIG_LOADADDR) "\0" \
  74. "videomode=video=ctfb:x:480,y:272,depth:24,pclk:108695,le:8,ri:4,up:2,lo:4,hs:41,vs:10,sync:0,vmode:0\0" \
  75. BOOTENV
  76. #define BOOT_TARGET_DEVICES(func) \
  77. func(MMC, mmc, 0) \
  78. func(DHCP, dhcp, na) \
  79. func(PXE, pxe, na)
  80. #include <config_distro_bootcmd.h>
  81. #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
  82. #define CONFIG_SYS_HZ 1000
  83. /* Physical Memory Map */
  84. #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR
  85. #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM
  86. #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR
  87. #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE
  88. #define CONFIG_SYS_INIT_SP_OFFSET \
  89. (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
  90. #define CONFIG_SYS_INIT_SP_ADDR \
  91. (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
  92. /* environment organization */
  93. /*
  94. * If want to use nand, define CONFIG_NAND_MXS and rework board
  95. * to support nand, since emmc has pin conflicts with nand
  96. */
  97. #ifdef CONFIG_NAND_MXS
  98. /* NAND stuff */
  99. #define CONFIG_SYS_MAX_NAND_DEVICE 1
  100. #define CONFIG_SYS_NAND_BASE 0x40000000
  101. #define CONFIG_SYS_NAND_5_ADDR_CYCLE
  102. #define CONFIG_SYS_NAND_ONFI_DETECTION
  103. /* DMA stuff, needed for GPMI/MXS NAND support */
  104. #endif
  105. #ifdef CONFIG_NAND_MXS
  106. #define CONFIG_SYS_FSL_USDHC_NUM 1
  107. #else
  108. #define CONFIG_SYS_FSL_USDHC_NUM 2
  109. #endif
  110. /* USB Configs */
  111. #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW)
  112. #define CONFIG_USBD_HS
  113. #ifdef CONFIG_VIDEO
  114. #define CONFIG_VIDEO_MXS
  115. #define CONFIG_VIDEO_LOGO
  116. #define CONFIG_VIDEO_BMP_LOGO
  117. #endif
  118. #endif /* __CONFIG_H */