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