colibri_vf.h 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * Copyright 2015-2019 Toradex, Inc.
  4. *
  5. * Configuration settings for the Toradex VF50/VF61 modules.
  6. *
  7. * Based on vf610twr.h:
  8. * Copyright 2013 Freescale Semiconductor, Inc.
  9. */
  10. #ifndef __CONFIG_H
  11. #define __CONFIG_H
  12. #include <asm/arch/imx-regs.h>
  13. #include <linux/sizes.h>
  14. #define CONFIG_SYS_FSL_CLK
  15. #define CONFIG_SKIP_LOWLEVEL_INIT
  16. #ifdef CONFIG_VIDEO_FSL_DCU_FB
  17. #define CONFIG_SPLASH_SCREEN_ALIGN
  18. #define CONFIG_VIDEO_LOGO
  19. #define CONFIG_VIDEO_BMP_LOGO
  20. #define CONFIG_SYS_FSL_DCU_LE
  21. #define CONFIG_SYS_DCU_ADDR DCU0_BASE_ADDR
  22. #define DCU_LAYER_MAX_NUM 64
  23. #endif
  24. /* Size of malloc() pool */
  25. #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 2 * SZ_1M)
  26. /* Allow to overwrite serial and ethaddr */
  27. #define CONFIG_ENV_OVERWRITE
  28. /* NAND support */
  29. #define CONFIG_SYS_NAND_ONFI_DETECTION
  30. #define CONFIG_SYS_MAX_NAND_DEVICE 1
  31. #define CONFIG_IPADDR 192.168.10.2
  32. #define CONFIG_NETMASK 255.255.255.0
  33. #define CONFIG_SERVERIP 192.168.10.1
  34. #define CONFIG_LOADADDR 0x80008000
  35. #define CONFIG_FDTADDR 0x84000000
  36. /* We boot from the gfxRAM area of the OCRAM. */
  37. #define CONFIG_BOARD_SIZE_LIMIT 520192
  38. #define MEM_LAYOUT_ENV_SETTINGS \
  39. "bootm_size=0x10000000\0" \
  40. "fdt_addr_r=0x82000000\0" \
  41. "kernel_addr_r=0x81000000\0" \
  42. "pxefile_addr_r=0x87100000\0" \
  43. "ramdisk_addr_r=0x82100000\0" \
  44. "scriptaddr=0x87000000\0"
  45. #define UBOOT_UPDATE \
  46. "update_uboot=nand erase.part u-boot && " \
  47. "nand write ${loadaddr} u-boot ${filesize}\0" \
  48. #define NFS_BOOTCMD \
  49. "nfsargs=ip=:::::eth0: root=/dev/nfs\0" \
  50. "nfsboot=run setup; " \
  51. "setenv bootargs ${defargs} ${nfsargs} ${mtdparts} " \
  52. "${setupargs} ${vidargs}; echo Booting from NFS...;" \
  53. "dhcp ${kernel_addr_r} && " \
  54. "tftp ${fdt_addr_r} ${soc}-colibri-${fdt_board}.dtb && " \
  55. "run fdt_fixup && bootz ${kernel_addr_r} - ${fdt_addr_r}\0" \
  56. #define UBI_BOOTCMD \
  57. "ubiargs=ubi.mtd=ubi root=ubi0:rootfs rootfstype=ubifs " \
  58. "ubi.fm_autoconvert=1\0" \
  59. "ubiboot=run setup; " \
  60. "setenv bootargs ${defargs} ${ubiargs} ${mtdparts} " \
  61. "${setupargs} ${vidargs}; echo Booting from NAND...; " \
  62. "ubi part ubi && " \
  63. "ubi read ${kernel_addr_r} kernel && " \
  64. "ubi read ${fdt_addr_r} dtb && " \
  65. "run fdt_fixup && bootz ${kernel_addr_r} - ${fdt_addr_r}\0" \
  66. #define CONFIG_BOOTCOMMAND "run ubiboot; " \
  67. "setenv fdtfile ${soc}-colibri-${fdt_board}.dtb && run distro_bootcmd;"
  68. #define BOOT_TARGET_DEVICES(func) \
  69. func(MMC, mmc, 0) \
  70. func(USB, usb, 0) \
  71. func(DHCP, dhcp, na)
  72. #include <config_distro_bootcmd.h>
  73. #undef BOOTENV_RUN_NET_USB_START
  74. #define BOOTENV_RUN_NET_USB_START ""
  75. #define DFU_ALT_NAND_INFO "vf-bcb part 0,1;u-boot part 0,2;ubi part 0,4"
  76. #define CONFIG_EXTRA_ENV_SETTINGS \
  77. BOOTENV \
  78. MEM_LAYOUT_ENV_SETTINGS \
  79. NFS_BOOTCMD \
  80. UBI_BOOTCMD \
  81. UBOOT_UPDATE \
  82. "console=ttyLP0\0" \
  83. "defargs=user_debug=30\0" \
  84. "dfu_alt_info=" DFU_ALT_NAND_INFO "\0" \
  85. "fdt_board=eval-v3\0" \
  86. "fdt_fixup=;\0" \
  87. "kernel_image=zImage\0" \
  88. "mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0" \
  89. "setsdupdate=mmc rescan && set interface mmc && " \
  90. "fatload ${interface} 0:1 ${loadaddr} flash_blk.img && " \
  91. "source ${loadaddr}\0" \
  92. "setup=setenv setupargs console=tty1 console=${console}" \
  93. ",${baudrate}n8 ${memargs}\0" \
  94. "setupdate=run setsdupdate || run setusbupdate\0" \
  95. "setusbupdate=usb start && set interface usb && " \
  96. "fatload ${interface} 0:1 ${loadaddr} flash_blk.img && " \
  97. "source ${loadaddr}\0" \
  98. "splashpos=m,m\0" \
  99. "video-mode=dcufb:640x480-16@60,monitor=lcd\0"
  100. /* Miscellaneous configurable options */
  101. #define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
  102. #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
  103. #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
  104. #define CONFIG_SYS_HZ 1000
  105. /* Physical memory map */
  106. #define PHYS_SDRAM (0x80000000)
  107. #define PHYS_SDRAM_SIZE (256 * SZ_1M)
  108. #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM
  109. #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR
  110. #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE
  111. #define CONFIG_SYS_INIT_SP_OFFSET \
  112. (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
  113. #define CONFIG_SYS_INIT_SP_ADDR \
  114. (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
  115. /* Environment organization */
  116. #ifdef CONFIG_ENV_IS_IN_NAND
  117. #define CONFIG_ENV_RANGE (4 * 64 * 2048)
  118. #endif
  119. /* USB Host Support */
  120. #define CONFIG_USB_MAX_CONTROLLER_COUNT 2
  121. #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
  122. /* USB DFU */
  123. #define CONFIG_SYS_DFU_DATA_BUF_SIZE (SZ_1M)
  124. #endif /* __CONFIG_H */