blob: 1e33328f419e10e006214b40204746aaec366c4c [file] [log] [blame]
Heiko Schocher7937e4f2008-11-20 09:59:09 +01001/*
Heiko Schocher8ce3dd52011-03-15 16:52:29 +01002 * (C) Copyright 2008-2011
Heiko Schocher7937e4f2008-11-20 09:59:09 +01003 * Heiko Schocher, DENX Software Engineering, hs@denx.de.
4 *
Wolfgang Denkbd8ec7e2013-10-07 13:07:26 +02005 * SPDX-License-Identifier: GPL-2.0+
Heiko Schocher7937e4f2008-11-20 09:59:09 +01006 */
7
8#ifndef __CONFIG_KEYMILE_H
9#define __CONFIG_KEYMILE_H
10
Heiko Schochercfc58042010-04-26 13:07:28 +020011#define CONFIG_BOOTCOUNT_LIMIT
Heiko Schocher7937e4f2008-11-20 09:59:09 +010012
Heiko Schocher8ce3dd52011-03-15 16:52:29 +010013#undef CONFIG_WATCHDOG /* disable platform specific watchdog */
Heiko Schocher7937e4f2008-11-20 09:59:09 +010014
Heiko Schocher8ce3dd52011-03-15 16:52:29 +010015#undef CONFIG_BOOTARGS /* the boot command will set bootargs */
Heiko Schocher7937e4f2008-11-20 09:59:09 +010016
17/*
18 * Miscellaneous configurable options
19 */
Heiko Schocher8ce3dd52011-03-15 16:52:29 +010020#define CONFIG_SYS_LONGHELP /* undef to save memory */
Heiko Schocher7937e4f2008-11-20 09:59:09 +010021#if defined(CONFIG_CMD_KGDB)
Heiko Schocher8ce3dd52011-03-15 16:52:29 +010022#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
Heiko Schocher7937e4f2008-11-20 09:59:09 +010023#else
Holger Brunck0bd82022011-03-14 15:49:05 +010024#define CONFIG_SYS_CBSIZE 512 /* Console I/O Buffer Size */
Heiko Schocher7937e4f2008-11-20 09:59:09 +010025#endif
Heiko Schocher8ce3dd52011-03-15 16:52:29 +010026#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
Holger Brunck0bd82022011-03-14 15:49:05 +010027#define CONFIG_SYS_MAXARGS 32 /* max number of command args */
Heiko Schocher8ce3dd52011-03-15 16:52:29 +010028#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
29#define CONFIG_CMDLINE_EDITING
30#define CONFIG_AUTO_COMPLETE
Heiko Schocher7937e4f2008-11-20 09:59:09 +010031
Heiko Schocher8ce3dd52011-03-15 16:52:29 +010032#define CONFIG_HUSH_INIT_VAR
Heiko Schocher7937e4f2008-11-20 09:59:09 +010033
34#define CONFIG_SYS_ALT_MEMTEST /* memory test, takes time */
Heiko Schocher7937e4f2008-11-20 09:59:09 +010035
Holger Brunck4559d1f2011-04-08 02:47:46 +000036#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, 230400 }
Heiko Schocher7937e4f2008-11-20 09:59:09 +010037
Heiko Schocher8ce3dd52011-03-15 16:52:29 +010038#define CONFIG_LOADS_ECHO
39#define CONFIG_SYS_LOADS_BAUD_CHANGE
Heiko Schocher7937e4f2008-11-20 09:59:09 +010040
Holger Brunck6c3dd062015-11-13 16:15:19 +010041
Heiko Schochera8d51892009-03-12 07:37:18 +010042/* Support the IVM EEprom */
43#define CONFIG_SYS_IVM_EEPROM_ADR 0x50
44#define CONFIG_SYS_IVM_EEPROM_MAX_LEN 0x400
45#define CONFIG_SYS_IVM_EEPROM_PAGE_LEN 0x100
46
Heiko Schocher8ce3dd52011-03-15 16:52:29 +010047#define CONFIG_SYS_FLASH_PROTECTION
Heiko Schochera8d51892009-03-12 07:37:18 +010048
Heiko Schocher7937e4f2008-11-20 09:59:09 +010049/*
50 * BOOTP options
51 */
52#define CONFIG_BOOTP_BOOTFILESIZE
53#define CONFIG_BOOTP_BOOTPATH
54#define CONFIG_BOOTP_GATEWAY
55#define CONFIG_BOOTP_HOSTNAME
56
Heiko Schocher875f47282009-07-09 12:04:18 +020057/* UBI Support for all Keymile boards */
Heiko Schocher875f47282009-07-09 12:04:18 +020058#define CONFIG_MTD_PARTITIONS
Heiko Schocher875f47282009-07-09 12:04:18 +020059#define CONFIG_MTD_DEVICE
60#define CONFIG_MTD_CONCAT
61
Holger Bruncke7c1fdc2011-03-04 14:56:27 +010062#ifndef CONFIG_KM_DEF_ENV_BOOTPARAMS
63#define CONFIG_KM_DEF_ENV_BOOTPARAMS \
Holger Brunck2ff59ee2011-07-04 21:27:16 +000064 "actual_bank=0\0"
Heiko Schochera8d51892009-03-12 07:37:18 +010065#endif
66
Holger Brunck752ba312011-03-14 16:01:04 +010067#ifndef CONFIG_KM_DEF_NETDEV
68#define CONFIG_KM_DEF_NETDEV \
69 "netdev=eth0\0"
70#endif
71
Andreas Hubera81548a2012-05-04 10:30:16 +020072#ifndef CONFIG_KM_UBI_PARTITION_NAME_BOOT
73#define CONFIG_KM_UBI_PARTITION_NAME_BOOT "ubi0"
74#endif /* CONFIG_KM_UBI_PARTITION_NAME_BOOT */
75
Valentin Longchampe6d848f2014-01-27 11:49:10 +010076#ifndef CONFIG_KM_UBI_PART_BOOT_OPTS
77#define CONFIG_KM_UBI_PART_BOOT_OPTS ""
78#endif /* CONFIG_KM_UBI_PART_BOOT_OPTS */
79
Andreas Hubera81548a2012-05-04 10:30:16 +020080#ifndef CONFIG_KM_UBI_PARTITION_NAME_APP
81/* one flash chip only called boot */
82/* boot: CONFIG_KM_UBI_PARTITION_NAME_BOOT */
83# define CONFIG_KM_UBI_LINUX_MTD \
Valentin Longchampe6d848f2014-01-27 11:49:10 +010084 "ubi.mtd=" CONFIG_KM_UBI_PARTITION_NAME_BOOT \
85 CONFIG_KM_UBI_PART_BOOT_OPTS
Andreas Hubera81548a2012-05-04 10:30:16 +020086# define CONFIG_KM_DEV_ENV_FLASH_BOOT_UBI \
87 "ubiattach=ubi part " CONFIG_KM_UBI_PARTITION_NAME_BOOT "\0"
88#else /* CONFIG_KM_UBI_PARTITION_NAME_APP */
89/* two flash chips called boot and app */
90/* boot: CONFIG_KM_UBI_PARTITION_NAME_BOOT */
91/* app: CONFIG_KM_UBI_PARTITION_NAME_APP */
92# define CONFIG_KM_UBI_LINUX_MTD \
Valentin Longchampe6d848f2014-01-27 11:49:10 +010093 "ubi.mtd=" CONFIG_KM_UBI_PARTITION_NAME_BOOT \
94 CONFIG_KM_UBI_PART_BOOT_OPTS " " \
Andreas Hubera81548a2012-05-04 10:30:16 +020095 "ubi.mtd=" CONFIG_KM_UBI_PARTITION_NAME_APP
96# define CONFIG_KM_DEV_ENV_FLASH_BOOT_UBI \
97 "ubiattach=if test ${boot_bank} -eq 0; then; " \
98 "ubi part " CONFIG_KM_UBI_PARTITION_NAME_BOOT "; else; " \
99 "ubi part " CONFIG_KM_UBI_PARTITION_NAME_APP "; fi\0"
100#endif /* CONFIG_KM_UBI_PARTITION_NAME_APP */
Holger Brunck752ba312011-03-14 16:01:04 +0100101
Andreas Huberc31a7572013-01-21 03:55:20 +0000102#ifdef CONFIG_NAND_ECC_BCH
103#define CONFIG_KM_UIMAGE_NAME "ecc_bch_uImage\0"
Holger Brunckffcbb932013-01-21 03:55:24 +0000104#define CONFIG_KM_ECC_MODE " eccmode=bch"
Andreas Huberc31a7572013-01-21 03:55:20 +0000105#else
106#define CONFIG_KM_UIMAGE_NAME "uImage\0"
Holger Brunckffcbb932013-01-21 03:55:24 +0000107#define CONFIG_KM_ECC_MODE
Andreas Huberc31a7572013-01-21 03:55:20 +0000108#endif
109
Holger Brunck752ba312011-03-14 16:01:04 +0100110/*
Holger Bruncke7c1fdc2011-03-04 14:56:27 +0100111 * boottargets
Holger Brunck2ff59ee2011-07-04 21:27:16 +0000112 * - set 'subbootcmds'
Holger Bruncke7c1fdc2011-03-04 14:56:27 +0100113 * - set 'bootcmd' and 'altbootcmd'
114 * available targets:
115 * - 'release': for a standalone system kernel/rootfs from flash
Holger Bruncke7c1fdc2011-03-04 14:56:27 +0100116 */
117#define CONFIG_KM_DEF_ENV_BOOTTARGETS \
Valentin Longchamp15e79cc2015-11-13 16:15:20 +0100118 "subbootcmds=ubiattach ubicopy checkfdt cramfsloadfdt " \
119 "set_fdthigh cramfsloadkernel flashargs add_default " \
120 "addpanic boot\0" \
Holger Bruncke7bec9b2011-07-04 21:52:52 +0000121 "develop=" \
122 "tftp 200000 scripts/develop-${arch}.txt && " \
123 "env import -t 200000 ${filesize} && " \
124 "run setup_debug_env\0" \
125 "ramfs=" \
126 "tftp 200000 scripts/ramfs-${arch}.txt && " \
Holger Brunck0b539022011-05-04 01:47:34 +0000127 "env import -t 200000 ${filesize} && " \
Holger Bruncke7bec9b2011-07-04 21:52:52 +0000128 "run setup_debug_env\0" \
Holger Bruncke7c1fdc2011-03-04 14:56:27 +0100129 ""
130
131/*
Holger Brunck752ba312011-03-14 16:01:04 +0100132 * bootargs
133 * - modify 'bootargs'
134 *
Holger Brunck2ff59ee2011-07-04 21:27:16 +0000135 * - 'add_default': default bootargs common for all arm/ppc boards
Holger Brunck752ba312011-03-14 16:01:04 +0100136 * - 'addpanic': add kernel panic options
Holger Brunck752ba312011-03-14 16:01:04 +0100137 * - 'flashargs': defaults arguments for flash base boot
138 *
Holger Brunck752ba312011-03-14 16:01:04 +0100139 */
140#define CONFIG_KM_DEF_ENV_BOOTARGS \
Holger Brunck2ff59ee2011-07-04 21:27:16 +0000141 "add_default=" \
Holger Brunck752ba312011-03-14 16:01:04 +0100142 "setenv bootargs ${bootargs} " \
143 "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \
Valentin Longchamp1d399592013-10-18 11:47:16 +0200144 ":${hostname}:${netdev}:off:" \
Holger Brunck2ff59ee2011-07-04 21:27:16 +0000145 " console=" CONFIG_KM_CONSOLE_TTY ",${baudrate}" \
Andreas Huber28c63c72011-09-13 23:06:11 +0000146 " mem=${kernelmem} init=${init}" \
Holger Brunckffcbb932013-01-21 03:55:24 +0000147 CONFIG_KM_ECC_MODE \
Marek Vasutfd5ba892012-09-23 17:41:23 +0200148 " phram.phram=phvar,${varaddr}," __stringify(CONFIG_KM_PHRAM)\
Andreas Hubera81548a2012-05-04 10:30:16 +0200149 " " CONFIG_KM_UBI_LINUX_MTD " " \
Holger Brunck2ff59ee2011-07-04 21:27:16 +0000150 CONFIG_KM_DEF_BOOT_ARGS_CPU \
151 "\0" \
Holger Brunck752ba312011-03-14 16:01:04 +0100152 "addpanic=" \
Holger Brunck0b539022011-05-04 01:47:34 +0000153 "setenv bootargs ${bootargs} panic=1 panic_on_oops=1\0" \
Holger Brunck752ba312011-03-14 16:01:04 +0100154 "flashargs=" \
155 "setenv bootargs " \
Thomas Herzmann1d253c12011-04-08 02:47:41 +0000156 "root=mtdblock:rootfs${boot_bank} " \
Holger Brunck752ba312011-03-14 16:01:04 +0100157 "rootfstype=squashfs ro\0" \
158 ""
159
Holger Bruncke7c1fdc2011-03-04 14:56:27 +0100160/*
Holger Brunck752ba312011-03-14 16:01:04 +0100161 * flash_boot
162 * - commands for booting from flash
163 *
Holger Brunck752ba312011-03-14 16:01:04 +0100164 * - 'cramfsloadkernel': copy kernel from a cramfs to ram
165 * - 'ubiattach': attach ubi partition
166 * - 'ubicopy': copy ubi volume to ram
167 * - volume names: bootfs0, bootfs1, bootfs2, ...
Holger Brunck752ba312011-03-14 16:01:04 +0100168 *
169 * processor specific settings
170 * - 'cramfsloadfdt': copy fdt from a cramfs to ram
171 */
172#define CONFIG_KM_DEF_ENV_FLASH_BOOT \
Marek Vasutfd5ba892012-09-23 17:41:23 +0200173 "cramfsaddr=" __stringify(CONFIG_KM_CRAMFS_ADDR) "\0" \
Andreas Huberc31a7572013-01-21 03:55:20 +0000174 "cramfsloadkernel=cramfsload ${load_addr_r} ${uimage}\0" \
Marek Vasutfd5ba892012-09-23 17:41:23 +0200175 "ubicopy=ubi read "__stringify(CONFIG_KM_CRAMFS_ADDR) \
Holger Brunck0b539022011-05-04 01:47:34 +0000176 " bootfs${boot_bank}\0" \
Andreas Huberc31a7572013-01-21 03:55:20 +0000177 "uimage=" CONFIG_KM_UIMAGE_NAME \
Andreas Hubera81548a2012-05-04 10:30:16 +0200178 CONFIG_KM_DEV_ENV_FLASH_BOOT_UBI
Holger Brunck752ba312011-03-14 16:01:04 +0100179
180/*
Holger Brunck752ba312011-03-14 16:01:04 +0100181 * constants
182 * - KM specific constants and commands
183 *
184 * - 'default': setup default environment
185 */
186#define CONFIG_KM_DEF_ENV_CONSTANTS \
Thomas Herzmann1d253c12011-04-08 02:47:41 +0000187 "backup_bank=0\0" \
Holger Brunck2ff59ee2011-07-04 21:27:16 +0000188 "release=run newenv; reset\0" \
Marek Vasutfd5ba892012-09-23 17:41:23 +0200189 "pnvramsize=" __stringify(CONFIG_KM_PNVRAM) "\0" \
Thomas Herzmann80d5c9e2011-06-05 22:22:13 +0000190 "testbootcmd=setenv boot_bank ${test_bank}; " \
191 "run ${subbootcmds}; reset\0" \
Holger Brunck752ba312011-03-14 16:01:04 +0100192 ""
193
Heiko Schochera8d51892009-03-12 07:37:18 +0100194#ifndef CONFIG_KM_DEF_ENV
195#define CONFIG_KM_DEF_ENV \
Holger Bruncke7c1fdc2011-03-04 14:56:27 +0100196 CONFIG_KM_DEF_ENV_BOOTPARAMS \
Holger Brunck752ba312011-03-14 16:01:04 +0100197 CONFIG_KM_DEF_NETDEV \
198 CONFIG_KM_DEF_ENV_CPU \
Holger Bruncke7c1fdc2011-03-04 14:56:27 +0100199 CONFIG_KM_DEF_ENV_BOOTTARGETS \
Holger Brunck752ba312011-03-14 16:01:04 +0100200 CONFIG_KM_DEF_ENV_BOOTARGS \
Holger Brunck752ba312011-03-14 16:01:04 +0100201 CONFIG_KM_DEF_ENV_FLASH_BOOT \
Holger Bruncke7c1fdc2011-03-04 14:56:27 +0100202 CONFIG_KM_DEF_ENV_CONSTANTS \
Holger Brunck752ba312011-03-14 16:01:04 +0100203 "altbootcmd=run bootcmd\0" \
Gerlando Falautoae2adaf2014-01-27 16:58:27 +0100204 "boot=bootm ${load_addr_r} - ${fdt_addr_r}\0" \
Holger Brunck2ff59ee2011-07-04 21:27:16 +0000205 "bootcmd=km_checkbidhwk && " \
Thomas Herzmannb2c31602012-05-04 10:55:58 +0200206 "setenv bootcmd \'if km_checktestboot; then; " \
207 "setenv boot_bank ${test_bank}; else; " \
208 "setenv boot_bank ${actual_bank}; fi;" \
Holger Brunck2ff59ee2011-07-04 21:27:16 +0000209 "run ${subbootcmds}; reset\' && " \
210 "setenv altbootcmd \'setenv boot_bank ${backup_bank}; " \
211 "run ${subbootcmds}; reset\' && " \
212 "saveenv && saveenv && boot\0" \
Holger Brunckca907c92012-05-04 10:55:54 +0200213 "bootlimit=3\0" \
Gerlando Falautoae2adaf2014-01-27 16:58:27 +0100214 "cramfsloadfdt=" \
215 "cramfsload ${fdt_addr_r} " \
216 "fdt_0x${IVM_BoardId}_0x${IVM_HWKey}.dtb\0" \
217 "fdt_addr_r="__stringify(CONFIG_KM_FDT_ADDR) "\0" \
Holger Brunck752ba312011-03-14 16:01:04 +0100218 "init=/sbin/init-overlay.sh\0" \
Marek Vasutfd5ba892012-09-23 17:41:23 +0200219 "load_addr_r="__stringify(CONFIG_KM_KERNEL_ADDR) "\0" \
Holger Brunck2ff59ee2011-07-04 21:27:16 +0000220 "load=tftpboot ${load_addr_r} ${u-boot}\0" \
Holger Brunck752ba312011-03-14 16:01:04 +0100221 "mtdids=" MTDIDS_DEFAULT "\0" \
222 "mtdparts=" MTDPARTS_DEFAULT "\0" \
Heiko Schochera8d51892009-03-12 07:37:18 +0100223 ""
224#endif /* CONFIG_KM_DEF_ENV */
225
Heiko Schocher7937e4f2008-11-20 09:59:09 +0100226#endif /* __CONFIG_KEYMILE_H */