1 /* 2 * (C) Copyright 2010-2012 3 * NVIDIA Corporation <www.nvidia.com> 4 * 5 * SPDX-License-Identifier: GPL-2.0+ 6 */ 7 8 #ifndef __TEGRA_COMMON_POST_H 9 #define __TEGRA_COMMON_POST_H 10 11 /* 12 * Size of malloc() pool 13 */ 14 #ifdef CONFIG_USB_FUNCTION_DFU 15 #define CONFIG_SYS_MALLOC_LEN ((4 << 20) + \ 16 CONFIG_SYS_DFU_DATA_BUF_SIZE) 17 #else 18 #define CONFIG_SYS_MALLOC_LEN (4 << 20) /* 4MB */ 19 #endif 20 21 #ifndef CONFIG_ARM64 22 #define CONFIG_SYS_NONCACHED_MEMORY (1 << 20) /* 1 MiB */ 23 #endif 24 25 #ifndef CONFIG_SPL_BUILD 26 #define BOOT_TARGET_DEVICES(func) \ 27 func(MMC, mmc, 1) \ 28 func(MMC, mmc, 0) \ 29 func(USB, usb, 0) \ 30 func(PXE, pxe, na) \ 31 func(DHCP, dhcp, na) 32 #include <config_distro_bootcmd.h> 33 #else 34 #define BOOTENV 35 #endif 36 37 #ifdef CONFIG_TEGRA_KEYBOARD 38 #define STDIN_KBD_KBC ",tegra-kbc" 39 #else 40 #define STDIN_KBD_KBC "" 41 #endif 42 43 #ifdef CONFIG_USB_KEYBOARD 44 #define STDIN_KBD_USB ",usbkbd" 45 #define CONFIG_SYS_USB_EVENT_POLL 46 #define CONFIG_PREBOOT "usb start" 47 #else 48 #define STDIN_KBD_USB "" 49 #endif 50 51 #ifdef CONFIG_LCD 52 #define STDOUT_LCD ",lcd" 53 #else 54 #define STDOUT_LCD "" 55 #endif 56 57 #ifdef CONFIG_CROS_EC_KEYB 58 #define STDOUT_CROS_EC ",cros-ec-keyb" 59 #else 60 #define STDOUT_CROS_EC "" 61 #endif 62 63 #define TEGRA_DEVICE_SETTINGS \ 64 "stdin=serial" STDIN_KBD_KBC STDIN_KBD_USB STDOUT_CROS_EC "\0" \ 65 "stdout=serial" STDOUT_LCD "\0" \ 66 "stderr=serial" STDOUT_LCD "\0" \ 67 "" 68 69 #ifndef BOARD_EXTRA_ENV_SETTINGS 70 #define BOARD_EXTRA_ENV_SETTINGS 71 #endif 72 73 #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR 74 75 #ifndef CONFIG_CHROMEOS_EXTRA_ENV_SETTINGS 76 #define CONFIG_CHROMEOS_EXTRA_ENV_SETTINGS 77 #endif 78 79 #ifdef CONFIG_ARM64 80 #define FDT_HIGH "ffffffffffffffff" 81 #define INITRD_HIGH "ffffffffffffffff" 82 #else 83 #define FDT_HIGH "ffffffff" 84 #define INITRD_HIGH "ffffffff" 85 #endif 86 87 #define CONFIG_EXTRA_ENV_SETTINGS \ 88 TEGRA_DEVICE_SETTINGS \ 89 MEM_LAYOUT_ENV_SETTINGS \ 90 "fdt_high=" FDT_HIGH "\0" \ 91 "initrd_high=" INITRD_HIGH "\0" \ 92 BOOTENV \ 93 BOARD_EXTRA_ENV_SETTINGS \ 94 CONFIG_CHROMEOS_EXTRA_ENV_SETTINGS 95 96 #if defined(CONFIG_TEGRA20_SFLASH) || defined(CONFIG_TEGRA20_SLINK) || defined(CONFIG_TEGRA114_SPI) 97 #define CONFIG_TEGRA_SPI 98 #endif 99 100 /* overrides for SPL build here */ 101 #ifdef CONFIG_SPL_BUILD 102 103 #define CONFIG_SKIP_LOWLEVEL_INIT 104 105 /* remove I2C support */ 106 #ifdef CONFIG_SYS_I2C_TEGRA 107 #undef CONFIG_SYS_I2C_TEGRA 108 #endif 109 #ifdef CONFIG_CMD_I2C 110 #undef CONFIG_CMD_I2C 111 #endif 112 113 /* remove MMC support */ 114 #ifdef CONFIG_MMC 115 #undef CONFIG_MMC 116 #endif 117 #ifdef CONFIG_GENERIC_MMC 118 #undef CONFIG_GENERIC_MMC 119 #endif 120 #ifdef CONFIG_TEGRA_MMC 121 #undef CONFIG_TEGRA_MMC 122 #endif 123 #ifdef CONFIG_CMD_MMC 124 #undef CONFIG_CMD_MMC 125 #endif 126 127 /* remove partitions/filesystems */ 128 #ifdef CONFIG_DOS_PARTITION 129 #undef CONFIG_DOS_PARTITION 130 #endif 131 #ifdef CONFIG_EFI_PARTITION 132 #undef CONFIG_EFI_PARTITION 133 #endif 134 #ifdef CONFIG_CMD_FS_GENERIC 135 #undef CONFIG_CMD_FS_GENERIC 136 #endif 137 #ifdef CONFIG_CMD_EXT4 138 #undef CONFIG_CMD_EXT4 139 #endif 140 #ifdef CONFIG_CMD_EXT2 141 #undef CONFIG_CMD_EXT2 142 #endif 143 #ifdef CONFIG_CMD_FAT 144 #undef CONFIG_CMD_FAT 145 #endif 146 #ifdef CONFIG_FS_EXT4 147 #undef CONFIG_FS_EXT4 148 #endif 149 #ifdef CONFIG_FS_FAT 150 #undef CONFIG_FS_FAT 151 #endif 152 153 /* remove USB */ 154 #ifdef CONFIG_USB_EHCI 155 #undef CONFIG_USB_EHCI 156 #endif 157 #ifdef CONFIG_USB_EHCI_TEGRA 158 #undef CONFIG_USB_EHCI_TEGRA 159 #endif 160 #ifdef CONFIG_USB_STORAGE 161 #undef CONFIG_USB_STORAGE 162 #endif 163 #ifdef CONFIG_CMD_USB 164 #undef CONFIG_CMD_USB 165 #endif 166 167 /* remove part command support */ 168 #ifdef CONFIG_PARTITION_UUIDS 169 #undef CONFIG_PARTITION_UUIDS 170 #endif 171 172 #ifdef CONFIG_CMD_PART 173 #undef CONFIG_CMD_PART 174 #endif 175 176 #endif /* CONFIG_SPL_BUILD */ 177 178 #endif /* __TEGRA_COMMON_POST_H */ 179