183d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */ 24fd79ac9SSemen Protsenko /* 34fd79ac9SSemen Protsenko * Boot related environment variable definitions on TI boards. 44fd79ac9SSemen Protsenko * 54fd79ac9SSemen Protsenko * (C) Copyright 2017 Linaro Ltd. 64fd79ac9SSemen Protsenko * Sam Protsenko <semen.protsenko@linaro.org> 74fd79ac9SSemen Protsenko */ 84fd79ac9SSemen Protsenko 94fd79ac9SSemen Protsenko #ifndef __TI_BOOT_H 104fd79ac9SSemen Protsenko #define __TI_BOOT_H 114fd79ac9SSemen Protsenko 124fd79ac9SSemen Protsenko #ifndef CONSOLEDEV 134fd79ac9SSemen Protsenko #define CONSOLEDEV "ttyO2" 144fd79ac9SSemen Protsenko #endif 154fd79ac9SSemen Protsenko 16e883ffe0SIgor Opaniuk #define VBMETA_PART_SIZE (64 * 1024) 17e883ffe0SIgor Opaniuk 18e883ffe0SIgor Opaniuk #if defined(CONFIG_LIBAVB) 19e883ffe0SIgor Opaniuk #define VBMETA_PART \ 20e883ffe0SIgor Opaniuk "name=vbmeta,size=" __stringify(VBMETA_PART_SIZE) \ 21e883ffe0SIgor Opaniuk ",uuid=${uuid_gpt_vbmeta};" 22e883ffe0SIgor Opaniuk #else 23e883ffe0SIgor Opaniuk #define VBMETA_PART "" 24e883ffe0SIgor Opaniuk #endif 25e883ffe0SIgor Opaniuk 264fd79ac9SSemen Protsenko #ifndef PARTS_DEFAULT 27c90a760fSSam Protsenko /* Define the default GPT table for eMMC */ 28c90a760fSSam Protsenko #define PARTS_DEFAULT \ 29c90a760fSSam Protsenko /* Linux partitions */ \ 30c90a760fSSam Protsenko "uuid_disk=${uuid_gpt_disk};" \ 31c90a760fSSam Protsenko "name=bootloader,start=384K,size=1792K,uuid=${uuid_gpt_bootloader};" \ 32c90a760fSSam Protsenko "name=rootfs,start=2688K,size=-,uuid=${uuid_gpt_rootfs}\0" \ 33c90a760fSSam Protsenko /* Android partitions */ \ 34c90a760fSSam Protsenko "partitions_android=" \ 35c90a760fSSam Protsenko "uuid_disk=${uuid_gpt_disk};" \ 36c90a760fSSam Protsenko "name=xloader,start=128K,size=256K,uuid=${uuid_gpt_xloader};" \ 371e4fb783SSam Protsenko "name=bootloader,size=2048K,uuid=${uuid_gpt_bootloader};" \ 38*35e3d2e8SSam Protsenko "name=uboot-env,start=2432K,size=256K,uuid=${uuid_gpt_reserved};" \ 39c90a760fSSam Protsenko "name=misc,size=128K,uuid=${uuid_gpt_misc};" \ 40c90a760fSSam Protsenko "name=recovery,size=40M,uuid=${uuid_gpt_recovery};" \ 41c90a760fSSam Protsenko "name=boot,size=10M,uuid=${uuid_gpt_boot};" \ 42528920f9SSam Protsenko "name=system,size=1024M,uuid=${uuid_gpt_system};" \ 43c90a760fSSam Protsenko "name=vendor,size=256M,uuid=${uuid_gpt_vendor};" \ 44e883ffe0SIgor Opaniuk VBMETA_PART \ 45c90a760fSSam Protsenko "name=userdata,size=-,uuid=${uuid_gpt_userdata}" 46c90a760fSSam Protsenko #endif /* PARTS_DEFAULT */ 474fd79ac9SSemen Protsenko 48e883ffe0SIgor Opaniuk #if defined(CONFIG_CMD_AVB) 49e883ffe0SIgor Opaniuk #define AVB_VERIFY_CHECK "if run avb_verify; then " \ 50e883ffe0SIgor Opaniuk "echo AVB verification OK.;" \ 51e883ffe0SIgor Opaniuk "set bootargs $bootargs $avb_bootargs;" \ 52e883ffe0SIgor Opaniuk "else " \ 53e883ffe0SIgor Opaniuk "echo AVB verification failed.;" \ 54e883ffe0SIgor Opaniuk "exit; fi;" 55e883ffe0SIgor Opaniuk #define AVB_VERIFY_CMD "avb_verify=avb init 1; avb verify;\0" 56e883ffe0SIgor Opaniuk #else 57e883ffe0SIgor Opaniuk #define AVB_VERIFY_CHECK "" 58e883ffe0SIgor Opaniuk #define AVB_VERIFY_CMD "" 59e883ffe0SIgor Opaniuk #endif 60e883ffe0SIgor Opaniuk 614fd79ac9SSemen Protsenko #define DEFAULT_COMMON_BOOT_TI_ARGS \ 624fd79ac9SSemen Protsenko "console=" CONSOLEDEV ",115200n8\0" \ 634fd79ac9SSemen Protsenko "fdtfile=undefined\0" \ 644fd79ac9SSemen Protsenko "bootpart=0:2\0" \ 654fd79ac9SSemen Protsenko "bootdir=/boot\0" \ 664fd79ac9SSemen Protsenko "bootfile=zImage\0" \ 674fd79ac9SSemen Protsenko "usbtty=cdc_acm\0" \ 684fd79ac9SSemen Protsenko "vram=16M\0" \ 69e883ffe0SIgor Opaniuk AVB_VERIFY_CMD \ 704fd79ac9SSemen Protsenko "partitions=" PARTS_DEFAULT "\0" \ 714fd79ac9SSemen Protsenko "optargs=\0" \ 72a17c8b18SSemen Protsenko "dofastboot=0\0" \ 732717c084SSam Protsenko "emmc_linux_boot=" \ 746ca43a58SSam Protsenko "echo Trying to boot Linux from eMMC ...; " \ 752717c084SSam Protsenko "setenv mmcdev 1; " \ 762717c084SSam Protsenko "setenv bootpart 1:2; " \ 772717c084SSam Protsenko "setenv mmcroot /dev/mmcblk0p2 rw; " \ 782717c084SSam Protsenko "run mmcboot;\0" \ 79a17c8b18SSemen Protsenko "emmc_android_boot=" \ 806ca43a58SSam Protsenko "echo Trying to boot Android from eMMC ...; " \ 81b2031ff7SPraneeth Bajjuri "run update_to_fit; " \ 82a17c8b18SSemen Protsenko "setenv eval_bootargs setenv bootargs $bootargs; " \ 83a17c8b18SSemen Protsenko "run eval_bootargs; " \ 84a17c8b18SSemen Protsenko "setenv mmcdev 1; " \ 85a17c8b18SSemen Protsenko "setenv machid fe6; " \ 86a17c8b18SSemen Protsenko "mmc dev $mmcdev; " \ 87a17c8b18SSemen Protsenko "mmc rescan; " \ 88e883ffe0SIgor Opaniuk AVB_VERIFY_CHECK \ 892c9afab9SSam Protsenko "part start mmc ${mmcdev} boot boot_start; " \ 902c9afab9SSam Protsenko "part size mmc ${mmcdev} boot boot_size; " \ 91a17c8b18SSemen Protsenko "mmc read ${loadaddr} ${boot_start} ${boot_size}; " \ 92b2031ff7SPraneeth Bajjuri "bootm ${loadaddr}#${fdtfile};\0 " 934fd79ac9SSemen Protsenko 944fd79ac9SSemen Protsenko #ifdef CONFIG_OMAP54XX 954fd79ac9SSemen Protsenko 964fd79ac9SSemen Protsenko #define DEFAULT_FDT_TI_ARGS \ 974fd79ac9SSemen Protsenko "findfdt="\ 984fd79ac9SSemen Protsenko "if test $board_name = omap5_uevm; then " \ 994fd79ac9SSemen Protsenko "setenv fdtfile omap5-uevm.dtb; fi; " \ 1004fd79ac9SSemen Protsenko "if test $board_name = dra7xx; then " \ 1014fd79ac9SSemen Protsenko "setenv fdtfile dra7-evm.dtb; fi;" \ 1024fd79ac9SSemen Protsenko "if test $board_name = dra72x-revc; then " \ 1034fd79ac9SSemen Protsenko "setenv fdtfile dra72-evm-revc.dtb; fi;" \ 1044fd79ac9SSemen Protsenko "if test $board_name = dra72x; then " \ 1054fd79ac9SSemen Protsenko "setenv fdtfile dra72-evm.dtb; fi;" \ 1064fd79ac9SSemen Protsenko "if test $board_name = dra71x; then " \ 1074fd79ac9SSemen Protsenko "setenv fdtfile dra71-evm.dtb; fi;" \ 1083741c044SLokesh Vutla "if test $board_name = dra76x_acd; then " \ 109911d76c4SLokesh Vutla "setenv fdtfile dra76-evm.dtb; fi;" \ 1104fd79ac9SSemen Protsenko "if test $board_name = beagle_x15; then " \ 1114fd79ac9SSemen Protsenko "setenv fdtfile am57xx-beagle-x15.dtb; fi;" \ 1124fd79ac9SSemen Protsenko "if test $board_name = beagle_x15_revb1; then " \ 1134fd79ac9SSemen Protsenko "setenv fdtfile am57xx-beagle-x15-revb1.dtb; fi;" \ 11408318317SLokesh Vutla "if test $board_name = beagle_x15_revc; then " \ 11508318317SLokesh Vutla "setenv fdtfile am57xx-beagle-x15-revc.dtb; fi;" \ 1164fd79ac9SSemen Protsenko "if test $board_name = am572x_idk; then " \ 1174fd79ac9SSemen Protsenko "setenv fdtfile am572x-idk.dtb; fi;" \ 1183741c044SLokesh Vutla "if test $board_name = am574x_idk; then " \ 1193741c044SLokesh Vutla "setenv fdtfile am574x-idk.dtb; fi;" \ 1204fd79ac9SSemen Protsenko "if test $board_name = am57xx_evm; then " \ 1214fd79ac9SSemen Protsenko "setenv fdtfile am57xx-beagle-x15.dtb; fi;" \ 1224fd79ac9SSemen Protsenko "if test $board_name = am57xx_evm_reva3; then " \ 1234fd79ac9SSemen Protsenko "setenv fdtfile am57xx-beagle-x15.dtb; fi;" \ 1244fd79ac9SSemen Protsenko "if test $board_name = am571x_idk; then " \ 1254fd79ac9SSemen Protsenko "setenv fdtfile am571x-idk.dtb; fi;" \ 1264fd79ac9SSemen Protsenko "if test $fdtfile = undefined; then " \ 1274fd79ac9SSemen Protsenko "echo WARNING: Could not determine device tree to use; fi; \0" 1284fd79ac9SSemen Protsenko 1294fd79ac9SSemen Protsenko #define CONFIG_BOOTCOMMAND \ 1304fd79ac9SSemen Protsenko "if test ${dofastboot} -eq 1; then " \ 1314fd79ac9SSemen Protsenko "echo Boot fastboot requested, resetting dofastboot ...;" \ 1324fd79ac9SSemen Protsenko "setenv dofastboot 0; saveenv;" \ 1334fd79ac9SSemen Protsenko "echo Booting into fastboot ...; " \ 1344fd79ac9SSemen Protsenko "fastboot " __stringify(CONFIG_FASTBOOT_USB_DEV) "; " \ 1354fd79ac9SSemen Protsenko "fi;" \ 1364fd79ac9SSemen Protsenko "if test ${boot_fit} -eq 1; then " \ 1374fd79ac9SSemen Protsenko "run update_to_fit;" \ 1384fd79ac9SSemen Protsenko "fi;" \ 1394fd79ac9SSemen Protsenko "run findfdt; " \ 1404fd79ac9SSemen Protsenko "run envboot; " \ 1414fd79ac9SSemen Protsenko "run mmcboot;" \ 1422717c084SSam Protsenko "run emmc_linux_boot; " \ 143a17c8b18SSemen Protsenko "run emmc_android_boot; " \ 1444fd79ac9SSemen Protsenko "" 1454fd79ac9SSemen Protsenko 1464fd79ac9SSemen Protsenko #endif /* CONFIG_OMAP54XX */ 1474fd79ac9SSemen Protsenko 1484fd79ac9SSemen Protsenko #endif /* __TI_BOOT_H */ 149