uboot/include/configs/vf610twr.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0+ */
   2/*
   3 * Copyright 2013 Freescale Semiconductor, Inc.
   4 *
   5 * Configuration settings for the Freescale Vybrid vf610twr board.
   6 */
   7
   8#ifndef __CONFIG_H
   9#define __CONFIG_H
  10
  11#include <asm/arch/imx-regs.h>
  12#include <linux/stringify.h>
  13
  14#define CONFIG_SYS_FSL_CLK
  15
  16#define CONFIG_MACH_TYPE                4146
  17
  18#define CONFIG_SKIP_LOWLEVEL_INIT
  19
  20/* Enable passing of ATAGs */
  21#define CONFIG_CMDLINE_TAG
  22
  23/* Size of malloc() pool */
  24#define CONFIG_SYS_MALLOC_LEN           (CONFIG_ENV_SIZE + 2 * 1024 * 1024)
  25
  26/* NAND support */
  27#define CONFIG_SYS_NAND_ONFI_DETECTION
  28
  29#ifdef CONFIG_CMD_NAND
  30#define CONFIG_SYS_MAX_NAND_DEVICE      1
  31#define CONFIG_SYS_NAND_BASE            NFC_BASE_ADDR
  32
  33/* Dynamic MTD partition support */
  34#endif
  35
  36#define CONFIG_SYS_FSL_ESDHC_ADDR       0
  37#define CONFIG_SYS_FSL_ESDHC_NUM        1
  38
  39#define CONFIG_FEC_MXC
  40#define IMX_FEC_BASE                    ENET_BASE_ADDR
  41#define CONFIG_FEC_XCV_TYPE             RMII
  42#define CONFIG_FEC_MXC_PHYADDR          0
  43
  44/* I2C Configs */
  45#define CONFIG_SYS_I2C
  46#define CONFIG_SYS_I2C_MXC
  47#define CONFIG_SYS_I2C_MXC_I2C1         /* enable I2C bus 1 */
  48#define CONFIG_SYS_I2C_MXC_I2C2         /* enable I2C bus 2 */
  49#define CONFIG_SYS_SPD_BUS_NUM          0
  50
  51
  52#define CONFIG_SYS_LOAD_ADDR            0x82000000
  53
  54/* We boot from the gfxRAM area of the OCRAM. */
  55#define CONFIG_BOARD_SIZE_LIMIT         520192
  56
  57/*
  58 * We do have 128MB of memory on the Vybrid Tower board. Leave the last
  59 * 16MB alone to avoid conflicts with Cortex-M4 firmwares running from
  60 * DDR3. Hence, limit the memory range for image processing to 112MB
  61 * using bootm_size. All of the following must be within this range.
  62 * We have the default load at 32MB into DDR (for the kernel), FDT at
  63 * 64MB and the ramdisk 512KB above that (allowing for hopefully never
  64 * seen large trees). This allows a reasonable split between ramdisk
  65 * and kernel size, where the ram disk can be a bit larger.
  66 */
  67#define MEM_LAYOUT_ENV_SETTINGS \
  68        "bootm_size=0x07000000\0" \
  69        "loadaddr=0x82000000\0" \
  70        "kernel_addr_r=0x82000000\0" \
  71        "fdt_addr=0x84000000\0" \
  72        "fdt_addr_r=0x84000000\0" \
  73        "rdaddr=0x84080000\0" \
  74        "ramdisk_addr_r=0x84080000\0"
  75
  76#define CONFIG_EXTRA_ENV_SETTINGS \
  77        MEM_LAYOUT_ENV_SETTINGS \
  78        "script=boot.scr\0" \
  79        "image=zImage\0" \
  80        "console=ttyLP1\0" \
  81        "fdt_file=vf610-twr.dtb\0" \
  82        "boot_fdt=try\0" \
  83        "ip_dyn=yes\0" \
  84        "mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \
  85        "mmcpart=1\0" \
  86        "mmcroot=/dev/mmcblk0p2 rootwait rw\0" \
  87        "update_sd_firmware_filename=u-boot.imx\0" \
  88        "update_sd_firmware=" \
  89                "if test ${ip_dyn} = yes; then " \
  90                        "setenv get_cmd dhcp; " \
  91                "else " \
  92                        "setenv get_cmd tftp; " \
  93                "fi; " \
  94                "if mmc dev ${mmcdev}; then "   \
  95                        "if ${get_cmd} ${update_sd_firmware_filename}; then " \
  96                                "setexpr fw_sz ${filesize} / 0x200; " \
  97                                "setexpr fw_sz ${fw_sz} + 1; "  \
  98                                "mmc write ${loadaddr} 0x2 ${fw_sz}; " \
  99                        "fi; "  \
 100                "fi\0" \
 101        "mmcargs=setenv bootargs console=${console},${baudrate} " \
 102                "root=${mmcroot}\0" \
 103        "loadbootscript=" \
 104                "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
 105        "bootscript=echo Running bootscript from mmc ...; " \
 106                "source\0" \
 107        "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
 108        "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
 109        "mmcboot=echo Booting from mmc ...; " \
 110                "run mmcargs; " \
 111                "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
 112                        "if run loadfdt; then " \
 113                                "bootz ${loadaddr} - ${fdt_addr}; " \
 114                        "else " \
 115                                "if test ${boot_fdt} = try; then " \
 116                                        "bootz; " \
 117                                "else " \
 118                                        "echo WARN: Cannot load the DT; " \
 119                                "fi; " \
 120                        "fi; " \
 121                "else " \
 122                        "bootz; " \
 123                "fi;\0" \
 124        "netargs=setenv bootargs console=${console},${baudrate} " \
 125                "root=/dev/nfs " \
 126        "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
 127                "netboot=echo Booting from net ...; " \
 128                "run netargs; " \
 129                "if test ${ip_dyn} = yes; then " \
 130                        "setenv get_cmd dhcp; " \
 131                "else " \
 132                        "setenv get_cmd tftp; " \
 133                "fi; " \
 134                "${get_cmd} ${image}; " \
 135                "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
 136                        "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
 137                                "bootz ${loadaddr} - ${fdt_addr}; " \
 138                        "else " \
 139                                "if test ${boot_fdt} = try; then " \
 140                                        "bootz; " \
 141                                "else " \
 142                                        "echo WARN: Cannot load the DT; " \
 143                                "fi; " \
 144                        "fi; " \
 145                "else " \
 146                        "bootz; " \
 147                "fi;\0"
 148
 149#define CONFIG_BOOTCOMMAND \
 150           "mmc dev ${mmcdev}; if mmc rescan; then " \
 151                   "if run loadbootscript; then " \
 152                           "run bootscript; " \
 153                   "else " \
 154                           "if run loadimage; then " \
 155                                   "run mmcboot; " \
 156                           "else run netboot; " \
 157                           "fi; " \
 158                   "fi; " \
 159           "else run netboot; fi"
 160
 161/* Miscellaneous configurable options */
 162
 163/* Physical memory map */
 164#define PHYS_SDRAM                      (0x80000000)
 165#define PHYS_SDRAM_SIZE                 (128 * 1024 * 1024)
 166
 167#define CONFIG_SYS_SDRAM_BASE           PHYS_SDRAM
 168#define CONFIG_SYS_INIT_RAM_ADDR        IRAM_BASE_ADDR
 169#define CONFIG_SYS_INIT_RAM_SIZE        IRAM_SIZE
 170
 171#define CONFIG_SYS_INIT_SP_OFFSET \
 172        (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
 173#define CONFIG_SYS_INIT_SP_ADDR \
 174        (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
 175
 176#ifdef CONFIG_ENV_IS_IN_NAND
 177#define CONFIG_ENV_RANGE                (512 * 1024)
 178#endif
 179
 180#endif
 181