uboot/include/configs/imx6-engicam.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0+ */
   2/*
   3 * Copyright (C) 2016 Amarula Solutions B.V.
   4 * Copyright (C) 2016 Engicam S.r.l.
   5 *
   6 * Configuration settings for the Engicam i.MX6 SOM Starter Kits.
   7 */
   8
   9#ifndef __IMX6_ENGICAM_CONFIG_H
  10#define __IMX6_ENGICAM_CONFIG_H
  11
  12#include <linux/sizes.h>
  13#include "mx6_common.h"
  14
  15/* Size of malloc() pool */
  16#define CONFIG_SYS_MALLOC_LEN           (16 * SZ_1M)
  17
  18/* Total Size of Environment Sector */
  19
  20/* Allow to overwrite serial and ethaddr */
  21#define CONFIG_ENV_OVERWRITE
  22
  23/* Environment */
  24#ifndef CONFIG_ENV_IS_NOWHERE
  25/* Environment in MMC */
  26# if defined(CONFIG_ENV_IS_IN_MMC)
  27/* Environment in NAND */
  28# endif
  29#endif
  30
  31/* Default environment */
  32#define CONFIG_EXTRA_ENV_SETTINGS \
  33        "script=boot.scr\0" \
  34        "splashpos=m,m\0" \
  35        "splashimage=" __stringify(CONFIG_LOADADDR) "\0" \
  36        "image=uImage\0" \
  37        "fit_image=fit.itb\0" \
  38        "fdt_high=0xffffffff\0" \
  39        "fdt_addr=" FDT_ADDR "\0" \
  40        "boot_fdt=try\0" \
  41        "mmcpart=1\0" \
  42        "nandroot=ubi0:rootfs rootfstype=ubifs\0" \
  43        "mmcautodetect=yes\0" \
  44        "mmcargs=setenv bootargs console=${console},${baudrate} " \
  45                "root=${mmcroot}\0" \
  46        "ubiargs=setenv bootargs console=${console},${baudrate} " \
  47                "ubi.mtd=5 root=${nandroot} ${mtdparts}\0" \
  48        "loadbootscript=" \
  49                "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
  50        "bootscript=echo Running bootscript from mmc ...; " \
  51                "source\0" \
  52        "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
  53        "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
  54        "loadfit=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${fit_image}\0" \
  55        "altbootcmd=run recoveryboot\0"\
  56        "fitboot=echo Booting FIT image from mmc ...; " \
  57                "run mmcargs; " \
  58                "bootm ${loadaddr}\0" \
  59        "_mmcboot=run mmcargs; " \
  60                "run mmcargs; " \
  61                "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
  62                        "if run loadfdt; then " \
  63                                "bootm ${loadaddr} - ${fdt_addr}; " \
  64                        "else " \
  65                                "if test ${boot_fdt} = try; then " \
  66                                        "bootm; " \
  67                                "else " \
  68                                        "echo WARN: Cannot load the DT; " \
  69                                "fi; " \
  70                        "fi; " \
  71                "else " \
  72                        "bootm; " \
  73                "fi\0" \
  74        "mmcboot=echo Booting from mmc ...; " \
  75                "if mmc rescan; then " \
  76                        "if run loadbootscript; then " \
  77                                "run bootscript; " \
  78                        "else " \
  79                                "if run loadfit; then " \
  80                                        "run fitboot; " \
  81                                "else " \
  82                                        "if run loadimage; then " \
  83                                                "run _mmcboot; " \
  84                                        "fi; " \
  85                                "fi; " \
  86                        "fi; " \
  87                "fi\0" \
  88        "nandboot=echo Booting from nand ...; " \
  89                "if mtdparts; then " \
  90                        "echo Starting nand boot ...; " \
  91                "else " \
  92                        "mtdparts default; " \
  93                "fi; " \
  94                "run ubiargs; " \
  95                "nand read ${loadaddr} kernel 0x800000; " \
  96                "nand read ${fdt_addr} dtb 0x100000; " \
  97                "bootm ${loadaddr} - ${fdt_addr}\0" \
  98        "recoveryboot=if test ${modeboot} = mmcboot; then " \
  99                        "run mmcboot; " \
 100                "else " \
 101                        "run nandboot; " \
 102                "fi\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#ifdef CONFIG_MX6UL
 114# define DRAM_OFFSET(x)                 0x87##x
 115# define FDT_ADDR                       __stringify(DRAM_OFFSET(800000))
 116#else 
 117# define DRAM_OFFSET(x)                 0x1##x
 118# define FDT_ADDR                       __stringify(DRAM_OFFSET(8000000))
 119#endif
 120
 121/* Physical Memory Map */
 122#define PHYS_SDRAM                      MMDC0_ARB_BASE_ADDR
 123
 124#define CONFIG_SYS_SDRAM_BASE           PHYS_SDRAM
 125#define CONFIG_SYS_INIT_RAM_ADDR        IRAM_BASE_ADDR
 126#define CONFIG_SYS_INIT_RAM_SIZE        IRAM_SIZE
 127
 128#define CONFIG_SYS_INIT_SP_OFFSET       (CONFIG_SYS_INIT_RAM_SIZE - \
 129                                        GENERATED_GBL_DATA_SIZE)
 130#define CONFIG_SYS_INIT_SP_ADDR         (CONFIG_SYS_INIT_RAM_ADDR + \
 131                                        CONFIG_SYS_INIT_SP_OFFSET)
 132
 133/* UART */
 134#ifdef CONFIG_MXC_UART
 135# ifdef CONFIG_MX6UL
 136#  define CONFIG_MXC_UART_BASE          UART1_BASE
 137# else
 138#  define CONFIG_MXC_UART_BASE          UART4_BASE
 139# endif
 140#endif
 141
 142/* MMC */
 143#ifdef CONFIG_FSL_USDHC
 144# define CONFIG_SYS_MMC_ENV_DEV         0
 145#endif
 146
 147/* NAND */
 148#ifdef CONFIG_NAND_MXS
 149# define CONFIG_SYS_MAX_NAND_DEVICE     1
 150# define CONFIG_SYS_NAND_BASE           0x40000000
 151# define CONFIG_SYS_NAND_5_ADDR_CYCLE
 152# define CONFIG_SYS_NAND_ONFI_DETECTION
 153# define CONFIG_SYS_NAND_U_BOOT_START   CONFIG_SYS_TEXT_BASE
 154# define CONFIG_SYS_NAND_U_BOOT_OFFS    0x200000
 155
 156/* MTD device */
 157#endif
 158
 159/* Ethernet */
 160#ifdef CONFIG_FEC_MXC
 161# ifdef CONFIG_TARGET_MX6Q_ICORE_RQS
 162#  define CONFIG_FEC_MXC_PHYADDR        3
 163#  define CONFIG_FEC_XCV_TYPE           RGMII
 164# else
 165#  define CONFIG_FEC_MXC_PHYADDR        0
 166#  define CONFIG_FEC_XCV_TYPE           RMII
 167# endif
 168#endif
 169
 170/* Falcon Mode */
 171#ifdef CONFIG_SPL_OS_BOOT
 172# define CONFIG_SPL_FS_LOAD_ARGS_NAME   "args"
 173# define CONFIG_SPL_FS_LOAD_KERNEL_NAME "uImage"
 174# define CONFIG_CMD_SPL
 175# define CONFIG_SYS_SPL_ARGS_ADDR       0x18000000
 176# define CONFIG_CMD_SPL_WRITE_SIZE      (128 * SZ_1K)
 177
 178/* MMC support: args@1MB kernel@2MB */
 179# define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR          0x800   /* 1MB */
 180# define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTORS         (CONFIG_CMD_SPL_WRITE_SIZE / 512)
 181# define CONFIG_SYS_MMCSD_RAW_MODE_KERNEL_SECTOR        0x1000  /* 2MB */
 182#endif
 183
 184/* Framebuffer */
 185#ifdef CONFIG_VIDEO_IPUV3
 186# define CONFIG_IMX_VIDEO_SKIP
 187
 188# define CONFIG_SPLASH_SCREEN
 189# define CONFIG_SPLASH_SCREEN_ALIGN
 190# define CONFIG_BMP_16BPP
 191# define CONFIG_VIDEO_BMP_RLE8
 192# define CONFIG_VIDEO_LOGO
 193# define CONFIG_VIDEO_BMP_LOGO
 194#endif
 195
 196/* SPL */
 197#ifdef CONFIG_SPL
 198# ifdef CONFIG_ENV_IS_IN_NAND
 199#  define CONFIG_SPL_NAND_SUPPORT
 200# else
 201#  define CONFIG_SPL_MMC_SUPPORT
 202# endif
 203
 204# include "imx6_spl.h"
 205#endif
 206
 207#endif /* __IMX6_ENGICAM_CONFIG_H */
 208