colibri_vf.h 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  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. /* NAND support */
  27. #define CONFIG_SYS_NAND_ONFI_DETECTION
  28. #define CONFIG_SYS_MAX_NAND_DEVICE 1
  29. #define CONFIG_IPADDR 192.168.10.2
  30. #define CONFIG_NETMASK 255.255.255.0
  31. #define CONFIG_SERVERIP 192.168.10.1
  32. #define CONFIG_LOADADDR 0x80008000
  33. #define CONFIG_FDTADDR 0x84000000
  34. /* We boot from the gfxRAM area of the OCRAM. */
  35. #define CONFIG_BOARD_SIZE_LIMIT 520192
  36. #define MEM_LAYOUT_ENV_SETTINGS \
  37. "bootm_size=0x10000000\0" \
  38. "fdt_addr_r=0x82000000\0" \
  39. "kernel_addr_r=0x81000000\0" \
  40. "pxefile_addr_r=0x87100000\0" \
  41. "ramdisk_addr_r=0x82100000\0" \
  42. "scriptaddr=0x87000000\0"
  43. #define UBOOT_UPDATE \
  44. "update_uboot=nand erase.part u-boot && " \
  45. "nand write ${loadaddr} u-boot ${filesize}\0" \
  46. #define NFS_BOOTCMD \
  47. "nfsargs=ip=:::::eth0: root=/dev/nfs\0" \
  48. "nfsboot=run setup; " \
  49. "setenv bootargs ${defargs} ${nfsargs} ${mtdparts} " \
  50. "${setupargs} ${vidargs}; echo Booting from NFS...;" \
  51. "dhcp ${kernel_addr_r} && " \
  52. "tftp ${fdt_addr_r} ${soc}-colibri-${fdt_board}.dtb && " \
  53. "run fdt_fixup && bootz ${kernel_addr_r} - ${fdt_addr_r}\0" \
  54. #define UBI_BOOTCMD \
  55. "ubiargs=ubi.mtd=ubi root=ubi0:rootfs rootfstype=ubifs " \
  56. "ubi.fm_autoconvert=1\0" \
  57. "ubiboot=run setup; " \
  58. "setenv bootargs ${defargs} ${ubiargs} ${mtdparts} " \
  59. "${setupargs} ${vidargs}; echo Booting from NAND...; " \
  60. "ubi part ubi && " \
  61. "ubi read ${kernel_addr_r} kernel && " \
  62. "ubi read ${fdt_addr_r} dtb && " \
  63. "run fdt_fixup && bootz ${kernel_addr_r} - ${fdt_addr_r}\0" \
  64. #define CONFIG_BOOTCOMMAND "run ubiboot; " \
  65. "setenv fdtfile ${soc}-colibri-${fdt_board}.dtb && run distro_bootcmd;"
  66. #define BOOT_TARGET_DEVICES(func) \
  67. func(MMC, mmc, 0) \
  68. func(USB, usb, 0) \
  69. func(DHCP, dhcp, na)
  70. #include <config_distro_bootcmd.h>
  71. #undef BOOTENV_RUN_NET_USB_START
  72. #define BOOTENV_RUN_NET_USB_START ""
  73. #define DFU_ALT_NAND_INFO "vf-bcb part 0,1;u-boot part 0,2;ubi part 0,4"
  74. #define CONFIG_EXTRA_ENV_SETTINGS \
  75. BOOTENV \
  76. MEM_LAYOUT_ENV_SETTINGS \
  77. NFS_BOOTCMD \
  78. UBI_BOOTCMD \
  79. UBOOT_UPDATE \
  80. "console=ttyLP0\0" \
  81. "defargs=user_debug=30\0" \
  82. "dfu_alt_info=" DFU_ALT_NAND_INFO "\0" \
  83. "fdt_board=eval-v3\0" \
  84. "fdt_fixup=;\0" \
  85. "kernel_image=zImage\0" \
  86. "mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0" \
  87. "setsdupdate=mmc rescan && set interface mmc && " \
  88. "fatload ${interface} 0:1 ${loadaddr} flash_blk.img && " \
  89. "source ${loadaddr}\0" \
  90. "setup=setenv setupargs console=tty1 console=${console}" \
  91. ",${baudrate}n8 ${memargs}\0" \
  92. "setupdate=run setsdupdate || run setusbupdate\0" \
  93. "setusbupdate=usb start && set interface usb && " \
  94. "fatload ${interface} 0:1 ${loadaddr} flash_blk.img && " \
  95. "source ${loadaddr}\0" \
  96. "splashpos=m,m\0" \
  97. "video-mode=dcufb:640x480-16@60,monitor=lcd\0"
  98. /* Miscellaneous configurable options */
  99. #define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
  100. #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
  101. #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
  102. #define CONFIG_SYS_HZ 1000
  103. /* Physical memory map */
  104. #define PHYS_SDRAM (0x80000000)
  105. #define PHYS_SDRAM_SIZE (256 * SZ_1M)
  106. #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM
  107. #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR
  108. #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE
  109. #define CONFIG_SYS_INIT_SP_OFFSET \
  110. (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
  111. #define CONFIG_SYS_INIT_SP_ADDR \
  112. (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
  113. /* Environment organization */
  114. #ifdef CONFIG_ENV_IS_IN_NAND
  115. #define CONFIG_ENV_RANGE (4 * 64 * 2048)
  116. #endif
  117. /* USB Host Support */
  118. #define CONFIG_USB_MAX_CONTROLLER_COUNT 2
  119. #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
  120. /* USB DFU */
  121. #define CONFIG_SYS_DFU_DATA_BUF_SIZE (SZ_1M)
  122. #endif /* __CONFIG_H */