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 69f940c72eSStephen Warren #if defined(CONFIG_CMD_DHCP) && defined(CONFIG_CMD_PXE) 70f940c72eSStephen Warren #define BOOTCMDS_PXE \ 71f940c72eSStephen Warren "bootcmd_pxe=" \ 72f940c72eSStephen Warren BOOTCMD_INIT_USB \ 73f940c72eSStephen Warren "dhcp; " \ 74f940c72eSStephen Warren "if pxe get; then " \ 75f940c72eSStephen Warren "pxe boot; " \ 76f940c72eSStephen Warren "fi\0" 77f940c72eSStephen Warren #define BOOT_TARGETS_PXE "pxe" 78f940c72eSStephen Warren #else 79f940c72eSStephen Warren #define BOOTCMDS_PXE "" 80f940c72eSStephen Warren #define BOOT_TARGETS_PXE "" 81f940c72eSStephen Warren #endif 82f940c72eSStephen Warren 8329f3e3f2STom Warren #define BOOTCMDS_COMMON \ 8429f3e3f2STom Warren "rootpart=1\0" \ 8529f3e3f2STom Warren \ 864d7d2e57SStephen Warren "do_script_boot=" \ 874d7d2e57SStephen Warren "load ${devtype} ${devnum}:${rootpart} " \ 884d7d2e57SStephen Warren "${scriptaddr} ${prefix}${script}; " \ 894d7d2e57SStephen Warren "source ${scriptaddr}\0" \ 904d7d2e57SStephen Warren \ 9129f3e3f2STom Warren "script_boot=" \ 924d7d2e57SStephen Warren "for script in ${boot_scripts}; do " \ 934d7d2e57SStephen Warren "if test -e ${devtype} ${devnum}:${rootpart} " \ 944d7d2e57SStephen Warren "${prefix}${script}; then " \ 954d7d2e57SStephen Warren "echo Found U-Boot script " \ 964d7d2e57SStephen Warren "${prefix}${script}; " \ 974d7d2e57SStephen Warren "run do_script_boot; " \ 984d7d2e57SStephen Warren "echo SCRIPT FAILED: continuing...; " \ 994d7d2e57SStephen Warren "fi; " \ 1004d7d2e57SStephen Warren "done\0" \ 1014d7d2e57SStephen Warren \ 1024d7d2e57SStephen Warren "do_sysboot_boot=" \ 1034d7d2e57SStephen Warren "sysboot ${devtype} ${devnum}:${rootpart} any " \ 10472638b02SStephen Warren "${scriptaddr} ${prefix}extlinux/extlinux.conf\0" \ 1054d7d2e57SStephen Warren \ 1064d7d2e57SStephen Warren "sysboot_boot=" \ 1074d7d2e57SStephen Warren "if test -e ${devtype} ${devnum}:${rootpart} " \ 10872638b02SStephen Warren "${prefix}extlinux/extlinux.conf; then " \ 10972638b02SStephen Warren "echo Found ${prefix}extlinux/extlinux.conf; " \ 1104d7d2e57SStephen Warren "run do_sysboot_boot; " \ 1114d7d2e57SStephen Warren "echo SCRIPT FAILED: continuing...; " \ 1124d7d2e57SStephen Warren "fi\0" \ 11329f3e3f2STom Warren \ 11429f3e3f2STom Warren "scan_boot=" \ 11529f3e3f2STom Warren "echo Scanning ${devtype} ${devnum}...; " \ 11629f3e3f2STom Warren "for prefix in ${boot_prefixes}; do " \ 1174d7d2e57SStephen Warren "run sysboot_boot; " \ 11829f3e3f2STom Warren "run script_boot; " \ 1194d7d2e57SStephen Warren "done\0" \ 12029f3e3f2STom Warren \ 12129f3e3f2STom Warren "boot_targets=" \ 12229f3e3f2STom Warren BOOT_TARGETS_MMC " " \ 12329f3e3f2STom Warren BOOT_TARGETS_USB " " \ 124f940c72eSStephen Warren BOOT_TARGETS_PXE " " \ 12529f3e3f2STom Warren BOOT_TARGETS_DHCP " " \ 12629f3e3f2STom Warren "\0" \ 12729f3e3f2STom Warren \ 12829f3e3f2STom Warren "boot_prefixes=/ /boot/\0" \ 12929f3e3f2STom Warren \ 13029f3e3f2STom Warren "boot_scripts=boot.scr.uimg boot.scr\0" \ 13129f3e3f2STom Warren \ 13229f3e3f2STom Warren BOOTCMDS_MMC \ 13329f3e3f2STom Warren BOOTCMDS_USB \ 134f940c72eSStephen Warren BOOTCMDS_DHCP \ 135f940c72eSStephen Warren BOOTCMDS_PXE 13629f3e3f2STom Warren 13729f3e3f2STom Warren #define CONFIG_BOOTCOMMAND \ 13809266b27SStephen Warren "set usb_need_init; " \ 13929f3e3f2STom Warren "for target in ${boot_targets}; do run bootcmd_${target}; done" 14029f3e3f2STom Warren 14129f3e3f2STom Warren #endif 14229f3e3f2STom Warren 1437992bfbfSAllen Martin #ifdef CONFIG_TEGRA_KEYBOARD 1447992bfbfSAllen Martin #define STDIN_KBD_KBC ",tegra-kbc" 1457992bfbfSAllen Martin #else 1467992bfbfSAllen Martin #define STDIN_KBD_KBC "" 1477992bfbfSAllen Martin #endif 1487992bfbfSAllen Martin 1497992bfbfSAllen Martin #ifdef CONFIG_USB_KEYBOARD 1507992bfbfSAllen Martin #define STDIN_KBD_USB ",usbkbd" 1517992bfbfSAllen Martin #define CONFIG_SYS_USB_EVENT_POLL 1527992bfbfSAllen Martin #define CONFIG_PREBOOT "usb start" 1537992bfbfSAllen Martin #else 1547992bfbfSAllen Martin #define STDIN_KBD_USB "" 1557992bfbfSAllen Martin #endif 1567992bfbfSAllen Martin 157c35eb56aSStephen Warren #ifdef CONFIG_VIDEO_TEGRA 158c35eb56aSStephen Warren #define STDOUT_LCD ",lcd" 159c35eb56aSStephen Warren #else 160c35eb56aSStephen Warren #define STDOUT_LCD "" 161c35eb56aSStephen Warren #endif 162c35eb56aSStephen Warren 1637992bfbfSAllen Martin #define TEGRA_DEVICE_SETTINGS \ 1647992bfbfSAllen Martin "stdin=serial" STDIN_KBD_KBC STDIN_KBD_USB "\0" \ 165c35eb56aSStephen Warren "stdout=serial" STDOUT_LCD "\0" \ 166c35eb56aSStephen Warren "stderr=serial" STDOUT_LCD "\0" \ 167c35eb56aSStephen Warren "" 1687992bfbfSAllen Martin 169b9b53a60SStephen Warren #ifndef BOARD_EXTRA_ENV_SETTINGS 170b9b53a60SStephen Warren #define BOARD_EXTRA_ENV_SETTINGS 171b9b53a60SStephen Warren #endif 172b9b53a60SStephen Warren 17329f3e3f2STom Warren #define CONFIG_EXTRA_ENV_SETTINGS \ 17429f3e3f2STom Warren TEGRA_DEVICE_SETTINGS \ 175938176a4SStephen Warren MEM_LAYOUT_ENV_SETTINGS \ 176*fe7b7cd2SStephen Warren "fdt_high=ffffffff\0" \ 177*fe7b7cd2SStephen Warren "initrd_high=ffffffff\0" \ 178b9b53a60SStephen Warren BOOTCMDS_COMMON \ 179b9b53a60SStephen Warren BOARD_EXTRA_ENV_SETTINGS 18029f3e3f2STom Warren 18177c42e80SAllen Martin #if defined(CONFIG_TEGRA20_SFLASH) || defined(CONFIG_TEGRA20_SLINK) || defined(CONFIG_TEGRA114_SPI) 18278f47b73SAllen Martin #define CONFIG_FDT_SPI 18378f47b73SAllen Martin #endif 18478f47b73SAllen Martin 18529f3e3f2STom Warren /* overrides for SPL build here */ 18629f3e3f2STom Warren #ifdef CONFIG_SPL_BUILD 18729f3e3f2STom Warren 18860985bbaSAxel Lin #define CONFIG_SKIP_LOWLEVEL_INIT 18960985bbaSAxel Lin 19029f3e3f2STom Warren /* remove devicetree support */ 19129f3e3f2STom Warren #ifdef CONFIG_OF_CONTROL 19229f3e3f2STom Warren #undef CONFIG_OF_CONTROL 19329f3e3f2STom Warren #endif 19429f3e3f2STom Warren 19529f3e3f2STom Warren /* remove I2C support */ 1961f2ba722SSimon Glass #ifdef CONFIG_SYS_I2C_TEGRA 1971f2ba722SSimon Glass #undef CONFIG_SYS_I2C_TEGRA 19829f3e3f2STom Warren #endif 19929f3e3f2STom Warren #ifdef CONFIG_CMD_I2C 20029f3e3f2STom Warren #undef CONFIG_CMD_I2C 20129f3e3f2STom Warren #endif 20229f3e3f2STom Warren 20329f3e3f2STom Warren /* remove MMC support */ 20429f3e3f2STom Warren #ifdef CONFIG_MMC 20529f3e3f2STom Warren #undef CONFIG_MMC 20629f3e3f2STom Warren #endif 20729f3e3f2STom Warren #ifdef CONFIG_GENERIC_MMC 20829f3e3f2STom Warren #undef CONFIG_GENERIC_MMC 20929f3e3f2STom Warren #endif 21029f3e3f2STom Warren #ifdef CONFIG_TEGRA_MMC 21129f3e3f2STom Warren #undef CONFIG_TEGRA_MMC 21229f3e3f2STom Warren #endif 21329f3e3f2STom Warren #ifdef CONFIG_CMD_MMC 21429f3e3f2STom Warren #undef CONFIG_CMD_MMC 21529f3e3f2STom Warren #endif 21629f3e3f2STom Warren 21729f3e3f2STom Warren /* remove partitions/filesystems */ 21829f3e3f2STom Warren #ifdef CONFIG_DOS_PARTITION 21929f3e3f2STom Warren #undef CONFIG_DOS_PARTITION 22029f3e3f2STom Warren #endif 22129f3e3f2STom Warren #ifdef CONFIG_EFI_PARTITION 22229f3e3f2STom Warren #undef CONFIG_EFI_PARTITION 22329f3e3f2STom Warren #endif 2243786a942SStephen Warren #ifdef CONFIG_CMD_FS_GENERIC 2253786a942SStephen Warren #undef CONFIG_CMD_FS_GENERIC 2263786a942SStephen Warren #endif 2273786a942SStephen Warren #ifdef CONFIG_CMD_EXT4 2283786a942SStephen Warren #undef CONFIG_CMD_EXT4 2293786a942SStephen Warren #endif 23029f3e3f2STom Warren #ifdef CONFIG_CMD_EXT2 23129f3e3f2STom Warren #undef CONFIG_CMD_EXT2 23229f3e3f2STom Warren #endif 23329f3e3f2STom Warren #ifdef CONFIG_CMD_FAT 23429f3e3f2STom Warren #undef CONFIG_CMD_FAT 23529f3e3f2STom Warren #endif 2363786a942SStephen Warren #ifdef CONFIG_FS_EXT4 2373786a942SStephen Warren #undef CONFIG_FS_EXT4 2383786a942SStephen Warren #endif 2393786a942SStephen Warren #ifdef CONFIG_FS_FAT 2403786a942SStephen Warren #undef CONFIG_FS_FAT 2413786a942SStephen Warren #endif 24229f3e3f2STom Warren 24329f3e3f2STom Warren /* remove USB */ 24429f3e3f2STom Warren #ifdef CONFIG_USB_EHCI 24529f3e3f2STom Warren #undef CONFIG_USB_EHCI 24629f3e3f2STom Warren #endif 24729f3e3f2STom Warren #ifdef CONFIG_USB_EHCI_TEGRA 24829f3e3f2STom Warren #undef CONFIG_USB_EHCI_TEGRA 24929f3e3f2STom Warren #endif 25029f3e3f2STom Warren #ifdef CONFIG_USB_STORAGE 25129f3e3f2STom Warren #undef CONFIG_USB_STORAGE 25229f3e3f2STom Warren #endif 25329f3e3f2STom Warren #ifdef CONFIG_CMD_USB 25429f3e3f2STom Warren #undef CONFIG_CMD_USB 25529f3e3f2STom Warren #endif 25629f3e3f2STom Warren 25701ca2865SStephen Warren /* remove part command support */ 25801ca2865SStephen Warren #ifdef CONFIG_PARTITION_UUIDS 25901ca2865SStephen Warren #undef CONFIG_PARTITION_UUIDS 26001ca2865SStephen Warren #endif 26101ca2865SStephen Warren 26201ca2865SStephen Warren #ifdef CONFIG_CMD_PART 26301ca2865SStephen Warren #undef CONFIG_CMD_PART 26401ca2865SStephen Warren #endif 26501ca2865SStephen Warren 26629f3e3f2STom Warren #endif /* CONFIG_SPL_BUILD */ 26729f3e3f2STom Warren 26829f3e3f2STom Warren #endif /* __TEGRA_COMMON_POST_H */ 269