129f3e3f2STom Warren /* 229f3e3f2STom Warren * (C) Copyright 2010-2012 329f3e3f2STom Warren * NVIDIA Corporation <www.nvidia.com> 429f3e3f2STom Warren * 51a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 629f3e3f2STom Warren */ 729f3e3f2STom Warren 829f3e3f2STom Warren #ifndef __TEGRA_COMMON_POST_H 929f3e3f2STom Warren #define __TEGRA_COMMON_POST_H 1029f3e3f2STom Warren 1129f3e3f2STom Warren #ifdef CONFIG_BOOTCOMMAND 1229f3e3f2STom Warren 1329f3e3f2STom Warren #define BOOTCMDS_COMMON "" 1429f3e3f2STom Warren 1529f3e3f2STom Warren #else 1629f3e3f2STom Warren 1729f3e3f2STom Warren #ifdef CONFIG_CMD_MMC 1829f3e3f2STom Warren #define BOOTCMDS_MMC \ 1929f3e3f2STom Warren "mmc_boot=" \ 2029f3e3f2STom Warren "setenv devtype mmc; " \ 2129f3e3f2STom Warren "if mmc dev ${devnum}; then " \ 2229f3e3f2STom Warren "run scan_boot; " \ 2329f3e3f2STom Warren "fi\0" \ 2429f3e3f2STom Warren "bootcmd_mmc0=setenv devnum 0; run mmc_boot;\0" \ 2529f3e3f2STom Warren "bootcmd_mmc1=setenv devnum 1; run mmc_boot;\0" 2629f3e3f2STom Warren #define BOOT_TARGETS_MMC "mmc1 mmc0" 2729f3e3f2STom Warren #else 2829f3e3f2STom Warren #define BOOTCMDS_MMC "" 2929f3e3f2STom Warren #define BOOT_TARGETS_MMC "" 3029f3e3f2STom Warren #endif 3129f3e3f2STom Warren 3229f3e3f2STom Warren #ifdef CONFIG_CMD_USB 3329f3e3f2STom Warren #define BOOTCMD_INIT_USB "run usb_init; " 3429f3e3f2STom Warren #define BOOTCMDS_USB \ 3529f3e3f2STom Warren "usb_init=" \ 3629f3e3f2STom Warren "if ${usb_need_init}; then " \ 3729f3e3f2STom Warren "set usb_need_init false; " \ 3829f3e3f2STom Warren "usb start 0; " \ 3929f3e3f2STom Warren "fi\0" \ 4029f3e3f2STom Warren \ 4129f3e3f2STom Warren "usb_boot=" \ 4229f3e3f2STom Warren "setenv devtype usb; " \ 4329f3e3f2STom Warren BOOTCMD_INIT_USB \ 4429f3e3f2STom Warren "if usb dev ${devnum}; then " \ 4529f3e3f2STom Warren "run scan_boot; " \ 4629f3e3f2STom Warren "fi\0" \ 4729f3e3f2STom Warren \ 4829f3e3f2STom Warren "bootcmd_usb0=setenv devnum 0; run usb_boot;\0" 4929f3e3f2STom Warren #define BOOT_TARGETS_USB "usb0" 5029f3e3f2STom Warren #else 5129f3e3f2STom Warren #define BOOTCMD_INIT_USB "" 5229f3e3f2STom Warren #define BOOTCMDS_USB "" 5329f3e3f2STom Warren #define BOOT_TARGETS_USB "" 5429f3e3f2STom Warren #endif 5529f3e3f2STom Warren 5629f3e3f2STom Warren #ifdef CONFIG_CMD_DHCP 5729f3e3f2STom Warren #define BOOTCMDS_DHCP \ 5829f3e3f2STom Warren "bootcmd_dhcp=" \ 5929f3e3f2STom Warren BOOTCMD_INIT_USB \ 6029f3e3f2STom Warren "if dhcp ${scriptaddr} boot.scr.uimg; then "\ 6129f3e3f2STom Warren "source ${scriptaddr}; " \ 6229f3e3f2STom Warren "fi\0" 6329f3e3f2STom Warren #define BOOT_TARGETS_DHCP "dhcp" 6429f3e3f2STom Warren #else 6529f3e3f2STom Warren #define BOOTCMDS_DHCP "" 6629f3e3f2STom Warren #define BOOT_TARGETS_DHCP "" 6729f3e3f2STom Warren #endif 6829f3e3f2STom Warren 6929f3e3f2STom Warren #define BOOTCMDS_COMMON \ 7029f3e3f2STom Warren "rootpart=1\0" \ 7129f3e3f2STom Warren \ 7229f3e3f2STom Warren "script_boot=" \ 733786a942SStephen Warren "if load ${devtype} ${devnum}:${rootpart} " \ 7429f3e3f2STom Warren "${scriptaddr} ${prefix}${script}; then " \ 7529f3e3f2STom Warren "echo ${script} found! Executing ...;" \ 7629f3e3f2STom Warren "source ${scriptaddr};" \ 7729f3e3f2STom Warren "fi;\0" \ 7829f3e3f2STom Warren \ 7929f3e3f2STom Warren "scan_boot=" \ 8029f3e3f2STom Warren "echo Scanning ${devtype} ${devnum}...; " \ 8129f3e3f2STom Warren "for prefix in ${boot_prefixes}; do " \ 8229f3e3f2STom Warren "for script in ${boot_scripts}; do " \ 8329f3e3f2STom Warren "run script_boot; " \ 8429f3e3f2STom Warren "done; " \ 8529f3e3f2STom Warren "done;\0" \ 8629f3e3f2STom Warren \ 8729f3e3f2STom Warren "boot_targets=" \ 8829f3e3f2STom Warren BOOT_TARGETS_MMC " " \ 8929f3e3f2STom Warren BOOT_TARGETS_USB " " \ 9029f3e3f2STom Warren BOOT_TARGETS_DHCP " " \ 9129f3e3f2STom Warren "\0" \ 9229f3e3f2STom Warren \ 9329f3e3f2STom Warren "boot_prefixes=/ /boot/\0" \ 9429f3e3f2STom Warren \ 9529f3e3f2STom Warren "boot_scripts=boot.scr.uimg boot.scr\0" \ 9629f3e3f2STom Warren \ 9729f3e3f2STom Warren BOOTCMDS_MMC \ 9829f3e3f2STom Warren BOOTCMDS_USB \ 9929f3e3f2STom Warren BOOTCMDS_DHCP 10029f3e3f2STom Warren 10129f3e3f2STom Warren #define CONFIG_BOOTCOMMAND \ 102*09266b27SStephen Warren "set usb_need_init; " \ 10329f3e3f2STom Warren "for target in ${boot_targets}; do run bootcmd_${target}; done" 10429f3e3f2STom Warren 10529f3e3f2STom Warren #endif 10629f3e3f2STom Warren 1077992bfbfSAllen Martin #ifdef CONFIG_TEGRA_KEYBOARD 1087992bfbfSAllen Martin #define STDIN_KBD_KBC ",tegra-kbc" 1097992bfbfSAllen Martin #else 1107992bfbfSAllen Martin #define STDIN_KBD_KBC "" 1117992bfbfSAllen Martin #endif 1127992bfbfSAllen Martin 1137992bfbfSAllen Martin #ifdef CONFIG_USB_KEYBOARD 1147992bfbfSAllen Martin #define STDIN_KBD_USB ",usbkbd" 1157992bfbfSAllen Martin #define CONFIG_SYS_USB_EVENT_POLL 1167992bfbfSAllen Martin #define CONFIG_PREBOOT "usb start" 1177992bfbfSAllen Martin #else 1187992bfbfSAllen Martin #define STDIN_KBD_USB "" 1197992bfbfSAllen Martin #endif 1207992bfbfSAllen Martin 121c35eb56aSStephen Warren #ifdef CONFIG_VIDEO_TEGRA 122c35eb56aSStephen Warren #define STDOUT_LCD ",lcd" 123c35eb56aSStephen Warren #else 124c35eb56aSStephen Warren #define STDOUT_LCD "" 125c35eb56aSStephen Warren #endif 126c35eb56aSStephen Warren 1277992bfbfSAllen Martin #define TEGRA_DEVICE_SETTINGS \ 1287992bfbfSAllen Martin "stdin=serial" STDIN_KBD_KBC STDIN_KBD_USB "\0" \ 129c35eb56aSStephen Warren "stdout=serial" STDOUT_LCD "\0" \ 130c35eb56aSStephen Warren "stderr=serial" STDOUT_LCD "\0" \ 131c35eb56aSStephen Warren "" 1327992bfbfSAllen Martin 133b9b53a60SStephen Warren #ifndef BOARD_EXTRA_ENV_SETTINGS 134b9b53a60SStephen Warren #define BOARD_EXTRA_ENV_SETTINGS 135b9b53a60SStephen Warren #endif 136b9b53a60SStephen Warren 13729f3e3f2STom Warren #define CONFIG_EXTRA_ENV_SETTINGS \ 13829f3e3f2STom Warren TEGRA_DEVICE_SETTINGS \ 139938176a4SStephen Warren MEM_LAYOUT_ENV_SETTINGS \ 140b9b53a60SStephen Warren BOOTCMDS_COMMON \ 141b9b53a60SStephen Warren BOARD_EXTRA_ENV_SETTINGS 14229f3e3f2STom Warren 14377c42e80SAllen Martin #if defined(CONFIG_TEGRA20_SFLASH) || defined(CONFIG_TEGRA20_SLINK) || defined(CONFIG_TEGRA114_SPI) 14478f47b73SAllen Martin #define CONFIG_FDT_SPI 14578f47b73SAllen Martin #endif 14678f47b73SAllen Martin 14729f3e3f2STom Warren /* overrides for SPL build here */ 14829f3e3f2STom Warren #ifdef CONFIG_SPL_BUILD 14929f3e3f2STom Warren 15060985bbaSAxel Lin #define CONFIG_SKIP_LOWLEVEL_INIT 15160985bbaSAxel Lin 15229f3e3f2STom Warren /* remove devicetree support */ 15329f3e3f2STom Warren #ifdef CONFIG_OF_CONTROL 15429f3e3f2STom Warren #undef CONFIG_OF_CONTROL 15529f3e3f2STom Warren #endif 15629f3e3f2STom Warren 15729f3e3f2STom Warren /* remove I2C support */ 1581f2ba722SSimon Glass #ifdef CONFIG_SYS_I2C_TEGRA 1591f2ba722SSimon Glass #undef CONFIG_SYS_I2C_TEGRA 16029f3e3f2STom Warren #endif 16129f3e3f2STom Warren #ifdef CONFIG_CMD_I2C 16229f3e3f2STom Warren #undef CONFIG_CMD_I2C 16329f3e3f2STom Warren #endif 16429f3e3f2STom Warren 16529f3e3f2STom Warren /* remove MMC support */ 16629f3e3f2STom Warren #ifdef CONFIG_MMC 16729f3e3f2STom Warren #undef CONFIG_MMC 16829f3e3f2STom Warren #endif 16929f3e3f2STom Warren #ifdef CONFIG_GENERIC_MMC 17029f3e3f2STom Warren #undef CONFIG_GENERIC_MMC 17129f3e3f2STom Warren #endif 17229f3e3f2STom Warren #ifdef CONFIG_TEGRA_MMC 17329f3e3f2STom Warren #undef CONFIG_TEGRA_MMC 17429f3e3f2STom Warren #endif 17529f3e3f2STom Warren #ifdef CONFIG_CMD_MMC 17629f3e3f2STom Warren #undef CONFIG_CMD_MMC 17729f3e3f2STom Warren #endif 17829f3e3f2STom Warren 17929f3e3f2STom Warren /* remove partitions/filesystems */ 18029f3e3f2STom Warren #ifdef CONFIG_DOS_PARTITION 18129f3e3f2STom Warren #undef CONFIG_DOS_PARTITION 18229f3e3f2STom Warren #endif 18329f3e3f2STom Warren #ifdef CONFIG_EFI_PARTITION 18429f3e3f2STom Warren #undef CONFIG_EFI_PARTITION 18529f3e3f2STom Warren #endif 1863786a942SStephen Warren #ifdef CONFIG_CMD_FS_GENERIC 1873786a942SStephen Warren #undef CONFIG_CMD_FS_GENERIC 1883786a942SStephen Warren #endif 1893786a942SStephen Warren #ifdef CONFIG_CMD_EXT4 1903786a942SStephen Warren #undef CONFIG_CMD_EXT4 1913786a942SStephen Warren #endif 19229f3e3f2STom Warren #ifdef CONFIG_CMD_EXT2 19329f3e3f2STom Warren #undef CONFIG_CMD_EXT2 19429f3e3f2STom Warren #endif 19529f3e3f2STom Warren #ifdef CONFIG_CMD_FAT 19629f3e3f2STom Warren #undef CONFIG_CMD_FAT 19729f3e3f2STom Warren #endif 1983786a942SStephen Warren #ifdef CONFIG_FS_EXT4 1993786a942SStephen Warren #undef CONFIG_FS_EXT4 2003786a942SStephen Warren #endif 2013786a942SStephen Warren #ifdef CONFIG_FS_FAT 2023786a942SStephen Warren #undef CONFIG_FS_FAT 2033786a942SStephen Warren #endif 20429f3e3f2STom Warren 20529f3e3f2STom Warren /* remove USB */ 20629f3e3f2STom Warren #ifdef CONFIG_USB_EHCI 20729f3e3f2STom Warren #undef CONFIG_USB_EHCI 20829f3e3f2STom Warren #endif 20929f3e3f2STom Warren #ifdef CONFIG_USB_EHCI_TEGRA 21029f3e3f2STom Warren #undef CONFIG_USB_EHCI_TEGRA 21129f3e3f2STom Warren #endif 21229f3e3f2STom Warren #ifdef CONFIG_USB_STORAGE 21329f3e3f2STom Warren #undef CONFIG_USB_STORAGE 21429f3e3f2STom Warren #endif 21529f3e3f2STom Warren #ifdef CONFIG_CMD_USB 21629f3e3f2STom Warren #undef CONFIG_CMD_USB 21729f3e3f2STom Warren #endif 21829f3e3f2STom Warren 21901ca2865SStephen Warren /* remove part command support */ 22001ca2865SStephen Warren #ifdef CONFIG_PARTITION_UUIDS 22101ca2865SStephen Warren #undef CONFIG_PARTITION_UUIDS 22201ca2865SStephen Warren #endif 22301ca2865SStephen Warren 22401ca2865SStephen Warren #ifdef CONFIG_CMD_PART 22501ca2865SStephen Warren #undef CONFIG_CMD_PART 22601ca2865SStephen Warren #endif 22701ca2865SStephen Warren 22829f3e3f2STom Warren #endif /* CONFIG_SPL_BUILD */ 22929f3e3f2STom Warren 23029f3e3f2STom Warren #endif /* __TEGRA_COMMON_POST_H */ 231