blob: 4208ba95915e562b3a719466853161ca86ff47a0 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Jagan Teki0d6d48b2016-10-08 18:00:11 +05302/*
3 * Copyright (C) 2016 Amarula Solutions B.V.
4 * Copyright (C) 2016 Engicam S.r.l.
5 *
Jagan Teki8dde7362017-05-12 17:18:28 +05306 * Configuration settings for the Engicam i.MX6 SOM Starter Kits.
Jagan Teki0d6d48b2016-10-08 18:00:11 +05307 */
8
Jagan Teki8dde7362017-05-12 17:18:28 +05309#ifndef __IMX6_ENGICAM_CONFIG_H
10#define __IMX6_ENGICAM_CONFIG_H
Jagan Teki0d6d48b2016-10-08 18:00:11 +053011
12#include <linux/sizes.h>
Simon Glassfb64e362020-05-10 11:40:09 -060013#include <linux/stringify.h>
Jagan Teki0d6d48b2016-10-08 18:00:11 +053014#include "mx6_common.h"
15
Jagan Teki0d6d48b2016-10-08 18:00:11 +053016/* Total Size of Environment Sector */
Jagan Teki0d6d48b2016-10-08 18:00:11 +053017
Jagan Teki0d6d48b2016-10-08 18:00:11 +053018/* Environment */
19#ifndef CONFIG_ENV_IS_NOWHERE
20/* Environment in MMC */
21# if defined(CONFIG_ENV_IS_IN_MMC)
Jagan Teki0313c132016-10-25 11:53:23 +053022/* Environment in NAND */
Jagan Teki0d6d48b2016-10-08 18:00:11 +053023# endif
24#endif
25
26/* Default environment */
Tom Rinic9edebe2022-12-04 10:03:50 -050027#define CFG_EXTRA_ENV_SETTINGS \
Jagan Teki0d6d48b2016-10-08 18:00:11 +053028 "script=boot.scr\0" \
Jagan Teki77df9012016-12-06 00:00:56 +010029 "splashpos=m,m\0" \
Tom Rini9004ee02021-08-23 10:25:30 -040030 "splashimage=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
Jagan Teki7f3ff5e2016-12-21 12:00:21 +010031 "image=uImage\0" \
Jagan Tekibddd17e2016-12-21 12:00:29 +010032 "fit_image=fit.itb\0" \
Jagan Teki0d6d48b2016-10-08 18:00:11 +053033 "fdt_high=0xffffffff\0" \
Jagan Tekid0529002017-05-12 17:18:27 +053034 "fdt_addr=" FDT_ADDR "\0" \
Jagan Teki0d6d48b2016-10-08 18:00:11 +053035 "boot_fdt=try\0" \
Jagan Teki0d6d48b2016-10-08 18:00:11 +053036 "mmcpart=1\0" \
Jagan Teki9cb7d032016-12-21 12:00:25 +010037 "nandroot=ubi0:rootfs rootfstype=ubifs\0" \
Jagan Teki0d6d48b2016-10-08 18:00:11 +053038 "mmcautodetect=yes\0" \
39 "mmcargs=setenv bootargs console=${console},${baudrate} " \
40 "root=${mmcroot}\0" \
Jagan Teki9cb7d032016-12-21 12:00:25 +010041 "ubiargs=setenv bootargs console=${console},${baudrate} " \
42 "ubi.mtd=5 root=${nandroot} ${mtdparts}\0" \
Jagan Teki0d6d48b2016-10-08 18:00:11 +053043 "loadbootscript=" \
44 "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
45 "bootscript=echo Running bootscript from mmc ...; " \
46 "source\0" \
47 "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
48 "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
Jagan Tekibddd17e2016-12-21 12:00:29 +010049 "loadfit=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${fit_image}\0" \
Jagan Teki6ff40a42019-04-26 14:31:46 +053050 "altbootcmd=run recoveryboot\0"\
Jagan Tekibddd17e2016-12-21 12:00:29 +010051 "fitboot=echo Booting FIT image from mmc ...; " \
52 "run mmcargs; " \
53 "bootm ${loadaddr}\0" \
Jagan Teki5e53ac02017-05-07 02:43:00 +053054 "_mmcboot=run mmcargs; " \
Jagan Teki0d6d48b2016-10-08 18:00:11 +053055 "run mmcargs; " \
56 "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
57 "if run loadfdt; then " \
Jagan Teki7f3ff5e2016-12-21 12:00:21 +010058 "bootm ${loadaddr} - ${fdt_addr}; " \
Jagan Teki0d6d48b2016-10-08 18:00:11 +053059 "else " \
60 "if test ${boot_fdt} = try; then " \
Jagan Teki7f3ff5e2016-12-21 12:00:21 +010061 "bootm; " \
Jagan Teki0d6d48b2016-10-08 18:00:11 +053062 "else " \
63 "echo WARN: Cannot load the DT; " \
64 "fi; " \
65 "fi; " \
66 "else " \
Jagan Teki7f3ff5e2016-12-21 12:00:21 +010067 "bootm; " \
Jagan Teki9cb7d032016-12-21 12:00:25 +010068 "fi\0" \
Jagan Teki5e53ac02017-05-07 02:43:00 +053069 "mmcboot=echo Booting from mmc ...; " \
70 "if mmc rescan; then " \
71 "if run loadbootscript; then " \
72 "run bootscript; " \
73 "else " \
74 "if run loadfit; then " \
75 "run fitboot; " \
76 "else " \
77 "if run loadimage; then " \
78 "run _mmcboot; " \
79 "fi; " \
80 "fi; " \
81 "fi; " \
82 "fi\0" \
Jagan Teki9cb7d032016-12-21 12:00:25 +010083 "nandboot=echo Booting from nand ...; " \
84 "if mtdparts; then " \
85 "echo Starting nand boot ...; " \
86 "else " \
87 "mtdparts default; " \
88 "fi; " \
89 "run ubiargs; " \
90 "nand read ${loadaddr} kernel 0x800000; " \
91 "nand read ${fdt_addr} dtb 0x100000; " \
Jagan Teki6ff40a42019-04-26 14:31:46 +053092 "bootm ${loadaddr} - ${fdt_addr}\0" \
93 "recoveryboot=if test ${modeboot} = mmcboot; then " \
94 "run mmcboot; " \
95 "else " \
96 "run nandboot; " \
97 "fi\0"
Jagan Teki0d6d48b2016-10-08 18:00:11 +053098
Jagan Teki0d6d48b2016-10-08 18:00:11 +053099/* Miscellaneous configurable options */
Jagan Teki0d6d48b2016-10-08 18:00:11 +0530100
Jagan Teki8dde7362017-05-12 17:18:28 +0530101#ifdef CONFIG_MX6UL
102# define DRAM_OFFSET(x) 0x87##x
103# define FDT_ADDR __stringify(DRAM_OFFSET(800000))
Wolfgang Denk9d328a62021-09-27 17:42:38 +0200104#else
Jagan Teki8dde7362017-05-12 17:18:28 +0530105# define DRAM_OFFSET(x) 0x1##x
106# define FDT_ADDR __stringify(DRAM_OFFSET(8000000))
107#endif
Jagan Tekid0529002017-05-12 17:18:27 +0530108
Jagan Teki0d6d48b2016-10-08 18:00:11 +0530109/* Physical Memory Map */
Jagan Teki0d6d48b2016-10-08 18:00:11 +0530110#define PHYS_SDRAM MMDC0_ARB_BASE_ADDR
111
Tom Rinibb4dd962022-11-16 13:10:37 -0500112#define CFG_SYS_SDRAM_BASE PHYS_SDRAM
Tom Rini6a5dccc2022-11-16 13:10:41 -0500113#define CFG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR
114#define CFG_SYS_INIT_RAM_SIZE IRAM_SIZE
Jagan Teki0d6d48b2016-10-08 18:00:11 +0530115
Jagan Teki0d6d48b2016-10-08 18:00:11 +0530116/* UART */
117#ifdef CONFIG_MXC_UART
Jagan Teki8dde7362017-05-12 17:18:28 +0530118# ifdef CONFIG_MX6UL
119# define CONFIG_MXC_UART_BASE UART1_BASE
120# else
121# define CONFIG_MXC_UART_BASE UART4_BASE
122# endif
Jagan Teki0d6d48b2016-10-08 18:00:11 +0530123#endif
124
125/* MMC */
Jagan Teki0d6d48b2016-10-08 18:00:11 +0530126
Jagan Teki0313c132016-10-25 11:53:23 +0530127/* NAND */
128#ifdef CONFIG_NAND_MXS
Tom Rinib4213492022-11-12 17:36:51 -0500129# define CFG_SYS_NAND_BASE 0x40000000
130# define CFG_SYS_NAND_U_BOOT_START CONFIG_TEXT_BASE
Jagan Teki0313c132016-10-25 11:53:23 +0530131
Jagan Teki51d7a532016-10-08 18:00:27 +0530132/* MTD device */
Jagan Teki0313c132016-10-25 11:53:23 +0530133#endif
134
Jagan Teki8dde7362017-05-12 17:18:28 +0530135#endif /* __IMX6_ENGICAM_CONFIG_H */