blob: dd7a75ae4674f463c93ebb195186480ff1e84403 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Stephen Warrende17c292012-05-16 06:21:00 +00002/*
3 * (C) Copyright 2010-2012
4 * NVIDIA Corporation <www.nvidia.com>
Stephen Warrende17c292012-05-16 06:21:00 +00005 */
6
Tom Warren22562a42012-09-04 17:00:24 -07007#ifndef __TEGRA_COMMON_POST_H
8#define __TEGRA_COMMON_POST_H
Stephen Warrende17c292012-05-16 06:21:00 +00009
Stephen Warren9d84fff2015-09-04 22:03:48 -060010/*
11 * Size of malloc() pool
12 */
Marek Vasut7f8d4362018-02-16 16:41:18 +010013#ifdef CONFIG_DFU_OVER_USB
Stephen Warren8dc8f332015-09-04 22:03:49 -060014#define CONFIG_SYS_MALLOC_LEN (SZ_4M + \
15 CONFIG_SYS_DFU_DATA_BUF_SIZE + \
16 CONFIG_SYS_DFU_MAX_FILE_SIZE)
Stephen Warren9d84fff2015-09-04 22:03:48 -060017#else
18#define CONFIG_SYS_MALLOC_LEN (4 << 20) /* 4MB */
19#endif
20
Stephen Warren9d84fff2015-09-04 22:03:48 -060021#define CONFIG_SYS_NONCACHED_MEMORY (1 << 20) /* 1 MiB */
Stephen Warren9d84fff2015-09-04 22:03:48 -060022
Stephen Warren5c30d752014-07-30 16:37:15 -060023#ifndef CONFIG_SPL_BUILD
Tom Rinib4ab8a02021-07-09 10:11:54 -040024
25#if CONFIG_IS_ENABLED(CMD_USB)
26# define BOOT_TARGET_USB(func) func(USB, usb, 0)
27#else
28# define BOOT_TARGET_USB(func)
29#endif
30
Thierry Redingc3c67822019-04-15 11:32:24 +020031#ifndef BOOT_TARGET_DEVICES
Stephen Warren5c30d752014-07-30 16:37:15 -060032#define BOOT_TARGET_DEVICES(func) \
33 func(MMC, mmc, 1) \
34 func(MMC, mmc, 0) \
Tom Rinib4ab8a02021-07-09 10:11:54 -040035 BOOT_TARGET_USB(func) \
Stephen Warren5c30d752014-07-30 16:37:15 -060036 func(PXE, pxe, na) \
37 func(DHCP, dhcp, na)
Thierry Redingc3c67822019-04-15 11:32:24 +020038#endif
Stephen Warren5c30d752014-07-30 16:37:15 -060039#include <config_distro_bootcmd.h>
Stephen Warrende17c292012-05-16 06:21:00 +000040#else
Stephen Warren5c30d752014-07-30 16:37:15 -060041#define BOOTENV
Stephen Warrende17c292012-05-16 06:21:00 +000042#endif
43
Allen Martin50df8702012-10-24 08:32:05 +000044#ifdef CONFIG_TEGRA_KEYBOARD
45#define STDIN_KBD_KBC ",tegra-kbc"
46#else
47#define STDIN_KBD_KBC ""
48#endif
49
50#ifdef CONFIG_USB_KEYBOARD
51#define STDIN_KBD_USB ",usbkbd"
Allen Martin50df8702012-10-24 08:32:05 +000052#else
53#define STDIN_KBD_USB ""
54#endif
55
Simon Glassea797e52015-04-14 21:03:31 -060056#ifdef CONFIG_LCD
Stephen Warren3f264792013-01-22 06:20:07 +000057#define STDOUT_LCD ",lcd"
58#else
59#define STDOUT_LCD ""
60#endif
61
Simon Glass3e2b2d92016-01-30 16:37:49 -070062#ifdef CONFIG_DM_VIDEO
63#define STDOUT_VIDEO ",vidconsole"
64#else
65#define STDOUT_VIDEO ""
66#endif
67
Simon Glass576e45c2015-06-05 14:39:32 -060068#ifdef CONFIG_CROS_EC_KEYB
69#define STDOUT_CROS_EC ",cros-ec-keyb"
70#else
71#define STDOUT_CROS_EC ""
72#endif
73
Allen Martin50df8702012-10-24 08:32:05 +000074#define TEGRA_DEVICE_SETTINGS \
Simon Glass576e45c2015-06-05 14:39:32 -060075 "stdin=serial" STDIN_KBD_KBC STDIN_KBD_USB STDOUT_CROS_EC "\0" \
Simon Glass3e2b2d92016-01-30 16:37:49 -070076 "stdout=serial" STDOUT_LCD STDOUT_VIDEO "\0" \
77 "stderr=serial" STDOUT_LCD STDOUT_VIDEO "\0" \
Stephen Warren3f264792013-01-22 06:20:07 +000078 ""
Allen Martin50df8702012-10-24 08:32:05 +000079
Stephen Warren26b02f12014-01-23 13:17:01 -070080#ifndef BOARD_EXTRA_ENV_SETTINGS
81#define BOARD_EXTRA_ENV_SETTINGS
82#endif
83
Stephen Warrenf61f1292015-04-01 15:40:53 -060084#define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
85
Simon Glass4a9dd322015-06-05 14:39:44 -060086#ifndef CONFIG_CHROMEOS_EXTRA_ENV_SETTINGS
87#define CONFIG_CHROMEOS_EXTRA_ENV_SETTINGS
88#endif
89
Tom Warrenab0cc6b2015-03-04 16:36:00 -070090#ifdef CONFIG_ARM64
91#define FDT_HIGH "ffffffffffffffff"
92#define INITRD_HIGH "ffffffffffffffff"
93#else
94#define FDT_HIGH "ffffffff"
95#define INITRD_HIGH "ffffffff"
96#endif
97
Stephen Warrende17c292012-05-16 06:21:00 +000098#define CONFIG_EXTRA_ENV_SETTINGS \
Tom Warren22562a42012-09-04 17:00:24 -070099 TEGRA_DEVICE_SETTINGS \
Stephen Warren35305102012-10-02 09:26:51 +0000100 MEM_LAYOUT_ENV_SETTINGS \
Tom Warrenab0cc6b2015-03-04 16:36:00 -0700101 "fdt_high=" FDT_HIGH "\0" \
102 "initrd_high=" INITRD_HIGH "\0" \
Stephen Warren5c30d752014-07-30 16:37:15 -0600103 BOOTENV \
Simon Glass4a9dd322015-06-05 14:39:44 -0600104 BOARD_EXTRA_ENV_SETTINGS \
105 CONFIG_CHROMEOS_EXTRA_ENV_SETTINGS
Stephen Warrende17c292012-05-16 06:21:00 +0000106
Allen Martin21f5b932013-03-16 18:58:13 +0000107#if defined(CONFIG_TEGRA20_SFLASH) || defined(CONFIG_TEGRA20_SLINK) || defined(CONFIG_TEGRA114_SPI)
Simon Glass1121b1b2014-10-13 23:42:13 -0600108#define CONFIG_TEGRA_SPI
Allen Martinb98691c2013-03-16 18:58:07 +0000109#endif
110
Allen Martinc9c98462012-08-31 08:30:12 +0000111/* overrides for SPL build here */
112#ifdef CONFIG_SPL_BUILD
113
Simon Glass8e842442017-05-31 17:57:21 -0600114#define CONFIG_SKIP_LOWLEVEL_INIT_ONLY
Axel Lin53e512a2013-05-21 13:45:18 +0000115
Allen Martinc9c98462012-08-31 08:30:12 +0000116/* remove I2C support */
Simon Glass026fefb2012-10-30 07:28:53 +0000117#ifdef CONFIG_SYS_I2C_TEGRA
118#undef CONFIG_SYS_I2C_TEGRA
Allen Martinc9c98462012-08-31 08:30:12 +0000119#endif
Allen Martinc9c98462012-08-31 08:30:12 +0000120
Allen Martinc9c98462012-08-31 08:30:12 +0000121/* remove USB */
Allen Martinc9c98462012-08-31 08:30:12 +0000122#ifdef CONFIG_USB_EHCI_TEGRA
123#undef CONFIG_USB_EHCI_TEGRA
124#endif
Allen Martinc9c98462012-08-31 08:30:12 +0000125
126#endif /* CONFIG_SPL_BUILD */
127
Tom Warren22562a42012-09-04 17:00:24 -0700128#endif /* __TEGRA_COMMON_POST_H */