blob: 0d0965ecce2291132ae3bbb1774fdcdf10ce601f [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
Simon Glass5ca5dd52023-02-05 15:36:46 -070010#if IS_ENABLED(CONFIG_CMD_USB)
Jonas Schwöbel3b0b1292023-06-30 10:29:01 +030011#define BOOT_TARGET_USB(func) func(USB, usb, 0)
Tom Rinib4ab8a02021-07-09 10:11:54 -040012#else
Jonas Schwöbel3b0b1292023-06-30 10:29:01 +030013#define BOOT_TARGET_USB(func)
Tom Rinib4ab8a02021-07-09 10:11:54 -040014#endif
15
Jonas Schwöbel3b0b1292023-06-30 10:29:01 +030016#if CONFIG_IS_ENABLED(CMD_DHCP) && CONFIG_IS_ENABLED(CMD_PXE)
17#define BOOT_TARGET_PXE(func) func(PXE, pxe, na)
18#else
19#define BOOT_TARGET_PXE(func)
20#endif
21
22#if CONFIG_IS_ENABLED(CMD_DHCP)
23#define BOOT_TARGET_DHCP(func) func(DHCP, dhcp, na)
24#else
25#define BOOT_TARGET_DHCP(func)
26#endif
27
Thierry Redingc3c67822019-04-15 11:32:24 +020028#ifndef BOOT_TARGET_DEVICES
Stephen Warren5c30d752014-07-30 16:37:15 -060029#define BOOT_TARGET_DEVICES(func) \
30 func(MMC, mmc, 1) \
31 func(MMC, mmc, 0) \
Tom Rinib4ab8a02021-07-09 10:11:54 -040032 BOOT_TARGET_USB(func) \
Jonas Schwöbel3b0b1292023-06-30 10:29:01 +030033 BOOT_TARGET_PXE(func) \
34 BOOT_TARGET_DHCP(func)
Thierry Redingc3c67822019-04-15 11:32:24 +020035#endif
Stephen Warren5c30d752014-07-30 16:37:15 -060036#include <config_distro_bootcmd.h>
Stephen Warrende17c292012-05-16 06:21:00 +000037
Allen Martin50df8702012-10-24 08:32:05 +000038#ifdef CONFIG_TEGRA_KEYBOARD
39#define STDIN_KBD_KBC ",tegra-kbc"
40#else
41#define STDIN_KBD_KBC ""
42#endif
43
44#ifdef CONFIG_USB_KEYBOARD
45#define STDIN_KBD_USB ",usbkbd"
Allen Martin50df8702012-10-24 08:32:05 +000046#else
47#define STDIN_KBD_USB ""
48#endif
49
Svyatoslav Ryhel2c04e522023-06-30 10:29:00 +030050#ifdef CONFIG_BUTTON_KEYBOARD
51#define STDIN_BTN_KBD ",button-kbd"
52#else
53#define STDIN_BTN_KBD ""
54#endif
55
Simon Glass52cb5042022-10-18 07:46:31 -060056#ifdef CONFIG_VIDEO
Simon Glass3e2b2d92016-01-30 16:37:49 -070057#define STDOUT_VIDEO ",vidconsole"
58#else
59#define STDOUT_VIDEO ""
60#endif
61
Simon Glass576e45c2015-06-05 14:39:32 -060062#ifdef CONFIG_CROS_EC_KEYB
63#define STDOUT_CROS_EC ",cros-ec-keyb"
64#else
65#define STDOUT_CROS_EC ""
66#endif
67
Allen Martin50df8702012-10-24 08:32:05 +000068#define TEGRA_DEVICE_SETTINGS \
Svyatoslav Ryhel2c04e522023-06-30 10:29:00 +030069 "stdin=serial" STDIN_KBD_KBC STDIN_KBD_USB STDOUT_CROS_EC STDIN_BTN_KBD "\0" \
Simon Glassc162e022022-10-18 06:10:04 -060070 "stdout=serial" STDOUT_VIDEO "\0" \
71 "stderr=serial" STDOUT_VIDEO "\0" \
Stephen Warren3f264792013-01-22 06:20:07 +000072 ""
Allen Martin50df8702012-10-24 08:32:05 +000073
Stephen Warren26b02f12014-01-23 13:17:01 -070074#ifndef BOARD_EXTRA_ENV_SETTINGS
75#define BOARD_EXTRA_ENV_SETTINGS
76#endif
77
Tom Warrenab0cc6b2015-03-04 16:36:00 -070078#ifdef CONFIG_ARM64
79#define FDT_HIGH "ffffffffffffffff"
80#define INITRD_HIGH "ffffffffffffffff"
81#else
82#define FDT_HIGH "ffffffff"
83#define INITRD_HIGH "ffffffff"
84#endif
85
Tom Rinic9edebe2022-12-04 10:03:50 -050086#define CFG_EXTRA_ENV_SETTINGS \
Tom Warren22562a42012-09-04 17:00:24 -070087 TEGRA_DEVICE_SETTINGS \
Stephen Warren35305102012-10-02 09:26:51 +000088 MEM_LAYOUT_ENV_SETTINGS \
Tom Warrenab0cc6b2015-03-04 16:36:00 -070089 "fdt_high=" FDT_HIGH "\0" \
90 "initrd_high=" INITRD_HIGH "\0" \
Stephen Warren5c30d752014-07-30 16:37:15 -060091 BOOTENV \
Tom Rini23581a62022-03-30 18:07:25 -040092 BOARD_EXTRA_ENV_SETTINGS
Stephen Warrende17c292012-05-16 06:21:00 +000093
Tom Warren22562a42012-09-04 17:00:24 -070094#endif /* __TEGRA_COMMON_POST_H */