uboot/include/configs/imx6ul_isiot.h
<<
>>
Prefs
   1/*
   2 * Copyright (C) 2016 Amarula Solutions B.V.
   3 * Copyright (C) 2016 Engicam S.r.l.
   4 *
   5 * Configuration settings for the Engicam Is.IoT MX6UL Starter Kits.
   6 *
   7 * SPDX-License-Identifier:     GPL-2.0+
   8 */
   9
  10#ifndef __IMX6UL_ISIOT_CONFIG_H
  11#define __IMX6UL_ISIOT_CONFIG_H
  12
  13#include <linux/sizes.h>
  14#include "mx6_common.h"
  15
  16/* Size of malloc() pool */
  17#define CONFIG_SYS_MALLOC_LEN           (16 * SZ_1M)
  18
  19/* Total Size of Environment Sector */
  20#define CONFIG_ENV_SIZE                 SZ_128K
  21
  22/* Allow to overwrite serial and ethaddr */
  23#define CONFIG_ENV_OVERWRITE
  24
  25/* Environment */
  26#ifndef CONFIG_ENV_IS_NOWHERE
  27/* Environment in MMC */
  28# if defined(CONFIG_ENV_IS_IN_MMC)
  29#  define CONFIG_ENV_OFFSET             0x100000
  30/* Environment in NAND */
  31# elif defined(CONFIG_ENV_IS_IN_NAND)
  32#  define CONFIG_ENV_OFFSET             0x400000
  33#  define CONFIG_ENV_SECT_SIZE          CONFIG_ENV_SIZE
  34# endif
  35#endif
  36
  37/* Default environment */
  38#define CONFIG_EXTRA_ENV_SETTINGS \
  39        "script=boot.scr\0" \
  40        "image=uImage\0" \
  41        "fit_image=fit.itb\0" \
  42        "splashpos=m,m\0" \
  43        "console=ttymxc0\0" \
  44        "fdt_high=0xffffffff\0" \
  45        "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \
  46        "fdt_addr=0x87800000\0" \
  47        "boot_fdt=try\0" \
  48        "mmcpart=1\0" \
  49        "nandroot=ubi0:rootfs rootfstype=ubifs\0" \
  50        "mmcautodetect=yes\0" \
  51        "mmcargs=setenv bootargs console=${console},${baudrate} " \
  52                "root=${mmcroot}\0" \
  53        "ubiargs=setenv bootargs console=${console},${baudrate} " \
  54                "ubi.mtd=5 root=${nandroot} ${mtdparts}\0" \
  55        "loadbootscript=" \
  56                "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
  57        "bootscript=echo Running bootscript from mmc ...; " \
  58                "source\0" \
  59        "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
  60        "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
  61        "loadfit=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${fit_image}\0" \
  62        "fitboot=echo Booting FIT image from mmc ...; " \
  63                "run mmcargs; " \
  64                "bootm ${loadaddr}\0" \
  65        "_mmcboot=run mmcargs; " \
  66                "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
  67                        "if run loadfdt; then " \
  68                                "bootm ${loadaddr} - ${fdt_addr}; " \
  69                        "else " \
  70                                "if test ${boot_fdt} = try; then " \
  71                                        "bootm; " \
  72                                "else " \
  73                                        "echo WARN: Cannot load the DT; " \
  74                                "fi; " \
  75                        "fi; " \
  76                "else " \
  77                        "bootm; " \
  78                "fi\0" \
  79        "mmcboot=echo Booting from mmc ...; " \
  80                "if mmc rescan; then " \
  81                        "if run loadbootscript; then " \
  82                                "run bootscript; " \
  83                        "else " \
  84                                "if run loadfit; then " \
  85                                        "run fitboot; " \
  86                                "else " \
  87                                        "if run loadimage; then " \
  88                                                "run _mmcboot; " \
  89                                        "fi; " \
  90                                "fi; " \
  91                        "fi; " \
  92                "fi\0" \
  93        "nandboot=echo Booting from nand ...; " \
  94                "if mtdparts; then " \
  95                        "echo Starting nand boot ...; " \
  96                "else " \
  97                        "mtdparts default; " \
  98                "fi; " \
  99                "run ubiargs; " \
 100                "nand read ${loadaddr} kernel 0x800000; " \
 101                "nand read ${fdt_addr} dtb 0x100000; " \
 102                "bootm ${loadaddr} - ${fdt_addr}\0"
 103
 104#define CONFIG_BOOTCOMMAND              "run $modeboot"
 105
 106/* Miscellaneous configurable options */
 107#define CONFIG_SYS_MEMTEST_START        0x80000000
 108#define CONFIG_SYS_MEMTEST_END          (CONFIG_SYS_MEMTEST_START + 0x8000000)
 109
 110#define CONFIG_SYS_LOAD_ADDR            CONFIG_LOADADDR
 111#define CONFIG_SYS_HZ                   1000
 112
 113/* Physical Memory Map */
 114#define CONFIG_NR_DRAM_BANKS            1
 115#define PHYS_SDRAM                      MMDC0_ARB_BASE_ADDR
 116
 117#define CONFIG_SYS_SDRAM_BASE           PHYS_SDRAM
 118#define CONFIG_SYS_INIT_RAM_ADDR        IRAM_BASE_ADDR
 119#define CONFIG_SYS_INIT_RAM_SIZE        IRAM_SIZE
 120
 121#define CONFIG_SYS_INIT_SP_OFFSET       (CONFIG_SYS_INIT_RAM_SIZE - \
 122                                        GENERATED_GBL_DATA_SIZE)
 123#define CONFIG_SYS_INIT_SP_ADDR         (CONFIG_SYS_INIT_RAM_ADDR + \
 124                                        CONFIG_SYS_INIT_SP_OFFSET)
 125
 126/* FIT */
 127#ifdef CONFIG_FIT
 128# define CONFIG_HASH_VERIFY
 129# define CONFIG_SHA1
 130# define CONFIG_SHA256
 131# define CONFIG_IMAGE_FORMAT_LEGACY
 132#endif
 133
 134/* UART */
 135#ifdef CONFIG_MXC_UART
 136# define CONFIG_MXC_UART_BASE           UART1_BASE
 137#endif
 138
 139/* MMC */
 140#ifdef CONFIG_FSL_USDHC
 141# define CONFIG_SYS_MMC_ENV_DEV         0
 142# define CONFIG_SYS_FSL_USDHC_NUM       2
 143# define CONFIG_SYS_FSL_ESDHC_ADDR      0
 144#endif
 145
 146/* NAND */
 147#ifdef CONFIG_NAND_MXS
 148# define CONFIG_SYS_MAX_NAND_DEVICE     1
 149# define CONFIG_SYS_NAND_BASE           0x40000000
 150# define CONFIG_SYS_NAND_5_ADDR_CYCLE
 151# define CONFIG_SYS_NAND_ONFI_DETECTION
 152# define CONFIG_SYS_NAND_U_BOOT_START   CONFIG_SYS_TEXT_BASE
 153# define CONFIG_SYS_NAND_U_BOOT_OFFS    0x200000
 154
 155/* MTD device */
 156# define CONFIG_MTD_DEVICE
 157# define CONFIG_CMD_MTDPARTS
 158# define CONFIG_MTD_PARTITIONS
 159# define MTDIDS_DEFAULT                 "nand0=gpmi-nand"
 160# define MTDPARTS_DEFAULT               "mtdparts=gpmi-nand:2m(spl),2m(uboot)," \
 161                                        "1m(env),8m(kernel),1m(dtb),-(rootfs)"
 162
 163/* UBI */
 164# define CONFIG_CMD_UBIFS
 165# define CONFIG_RBTREE
 166# define CONFIG_LZO
 167
 168/* APBH DMA */
 169# define CONFIG_APBH_DMA
 170# define CONFIG_APBH_DMA_BURST
 171# define CONFIG_APBH_DMA_BURST8
 172#endif
 173
 174/* Ethernet */
 175#ifdef CONFIG_FEC_MXC
 176# define CONFIG_FEC_MXC_PHYADDR         0
 177# define CONFIG_FEC_XCV_TYPE            RMII
 178
 179# define CONFIG_MII
 180# define CONFIG_PHYLIB
 181# define CONFIG_PHY_SMSC
 182#endif
 183
 184/* SPL */
 185#ifdef CONFIG_SPL
 186# ifdef CONFIG_NAND_MXS
 187#  define CONFIG_SPL_NAND_SUPPORT
 188# else
 189#  define CONFIG_SPL_MMC_SUPPORT
 190# endif
 191
 192# include "imx6_spl.h"
 193# ifdef CONFIG_SPL_BUILD
 194#  undef CONFIG_DM_GPIO
 195#  undef CONFIG_DM_MMC
 196# endif
 197#endif
 198
 199#endif /* __IMX6UL_ISIOT_CONFIG_H */
 200