--- /dev/null
--- /dev/null
++/*
++ * Custom Boot configuration:
++ * 1. 8bit SD port (MMC1)
++ * 2. 4bit SD port (MMC2)
++ * 3. eMMC (MMC0)
++ */
++boot_targets=mmc1 mmc2 mmc0 usb pxe dhcp
++
++boot_file=zImage
++boot_script_dhcp=boot.scr
++console=ttyS0
++defargs=lp0_vec=2064@0xf46ff000 core_edp_mv=1150 core_edp_ma=4000
++ usb_port_owner_info=2 lane_owner_info=6 emc_max_dvfs=0
++ user_debug=30 pcie_aspm=off
++dfu_alt_info=apalis-tk1.img raw 0x0 0x500 mmcpart 1;
++ boot part 0 1 mmcpart 0;
++ rootfs part 0 2 mmcpart 0;
++ zImage fat 0 1 mmcpart 0;
++ tegra124-apalis-eval.dtb fat 0 1 mmcpart 0
++fdt_board=eval
++fdt_fixup=;
++fdt_module=apalis-v1.2
++uboot_hwpart=1
++uboot_blk=0
++set_blkcnt=setexpr blkcnt ${filesize} + 0x1ff &&
++ setexpr blkcnt ${blkcnt} / 0x200
++update_uboot=run set_blkcnt && mmc dev 0 ${uboot_hwpart} &&
++ mmc write ${loadaddr} ${uboot_blk} ${blkcnt}
++setethupdate=if env exists ethaddr; then; else setenv ethaddr
++ 00:14:2d:00:00:00; fi; pci enum && tftpboot ${loadaddr}
++ flash_eth.img && source ${loadaddr}
++setsdupdate=setenv interface mmc; setenv drive 1; mmc rescan;
++ load ${interface} ${drive}:1 ${loadaddr} flash_blk.img
++ || setenv drive 2; mmc rescan; load ${interface} ${drive}:1
++ ${loadaddr} flash_blk.img &&
++ source ${loadaddr}
++setup=setenv setupargs igb_mac=${ethaddr}
++ consoleblank=0 no_console_suspend=1 console=tty1
++ console=${console},${baudrate}n8 debug_uartport=lsport,0
++ ${memargs}
++setupdate=run setsdupdate || run setusbupdate || run setethupdate
++setusbupdate=usb start && setenv interface usb; setenv drive 0;
++ load ${interface} ${drive}:1 ${loadaddr} flash_blk.img &&
++ source ${loadaddr}
++vidargs=fbcon=map:1
--- /dev/null
-set_blkcnt=setexpr blkcnt ${filesize} + 0x1ff &&
+ uboot_hwpart=1
+ uboot_blk=0
+
-update_uboot=run set_blkcnt && mmc dev 0 ${uboot_hwpart} &&
++set_blkcnt=setexpr blkcnt ${filesize} + 0x1ff &&
+ setexpr blkcnt ${blkcnt} / 0x200
++update_uboot=run set_blkcnt && mmc dev 0 ${uboot_hwpart} &&
+ mmc write ${loadaddr} ${uboot_blk} ${blkcnt}
+
+ boot_script_dhcp=boot.scr
--- /dev/null
-set_blkcnt=setexpr blkcnt ${filesize} + 0x1ff &&
+ uboot_hwpart=1
+ uboot_blk=0
+
-update_uboot=run set_blkcnt && mmc dev 0 ${uboot_hwpart} &&
++set_blkcnt=setexpr blkcnt ${filesize} + 0x1ff &&
+ setexpr blkcnt ${blkcnt} / 0x200
++update_uboot=run set_blkcnt && mmc dev 0 ${uboot_hwpart} &&
+ mmc write ${loadaddr} ${uboot_blk} ${blkcnt}
+
+ boot_script_dhcp=boot.scr
/* Read legacy MBR from block 0 and validate it */
if ((blk_dread(desc, 0, 1, (ulong *)legacymbr) != 1)
|| (is_pmbr_valid(legacymbr) != 1)) {
-
+ /*
+ * TegraPT is compatible with EFI part, but it
+ * cannot pass the Protective MBR check. Skip it
+ * if CONFIG_TEGRA_PARTITION is enabled and the
+ * device in question is eMMC.
+ */
+ if (IS_ENABLED(CONFIG_TEGRA_PARTITION))
+ if (!is_pmbr_valid(legacymbr) &&
+ desc->uclass_id == UCLASS_MMC &&
+ !desc->devnum)
+ return 0;
-
return -1;
}
return 0;