blob: 6a457d1b75b0ec16c519eab682addf22f641f3b2 [file] [log] [blame]
Svyatoslav Ryhel41d86e72024-06-24 20:13:47 +03001boot_block_size_r=0x200000
2boot_block_size=0x1000
3bootloader_file=u-boot-dtb-tegra.bin
4spi_size=0x400000
5boot_dev=0
Svyatoslav Ryhel238f4182025-03-05 15:05:30 +02006boot_interface=mmc
Svyatoslav Ryhel41d86e72024-06-24 20:13:47 +03007
8flash_uboot=echo Preparing RAM;
9 mw ${kernel_addr_r} 0 ${boot_block_size_r};
10 mw ${ramdisk_addr_r} 0 ${boot_block_size_r};
11 echo Reading BCT;
12 mmc dev 0 1;
13 mmc read ${kernel_addr_r} 0 ${boot_block_size};
14 echo Reading bootloader;
Svyatoslav Ryhel238f4182025-03-05 15:05:30 +020015 if load ${boot_interface} ${boot_dev}:1 ${ramdisk_addr_r} ${bootloader_file};
Svyatoslav Ryhel41d86e72024-06-24 20:13:47 +030016 then echo Calculating bootloader size;
Svyatoslav Ryhel238f4182025-03-05 15:05:30 +020017 size ${boot_interface} ${boot_dev}:1 ${bootloader_file};
Svyatoslav Ryhel41d86e72024-06-24 20:13:47 +030018 ebtupdate ${kernel_addr_r} ${ramdisk_addr_r} ${filesize};
19 echo Writing bootloader to eMMC;
20 mmc dev 0 1;
21 mmc write ${kernel_addr_r} 0 ${boot_block_size};
22 mmc dev 0 2;
23 mmc write ${ramdisk_addr_r} 0 ${boot_block_size};
24 echo Bootloader written successfully;
25 pause 'Press ANY key to reboot device...'; reset;
26 else echo Reading bootloader failed;
27 pause 'Press ANY key to return to bootmenu...'; bootmenu; fi
28
29update_spi=sf probe 0:1;
30 echo Dumping current SPI flash content ...;
31 sf read ${kernel_addr_r} 0x0 ${spi_size};
32 if fatwrite mmc 1:1 ${kernel_addr_r} spi-flash-backup.bin ${spi_size};
33 then echo SPI flash content was successfully written into spi-flash-backup.bin;
34 echo Reading SPI flash binary;
35 if load mmc 1:1 ${kernel_addr_r} repart-block.bin;
36 then echo Writing bootloader into SPI flash;
37 sf probe 0:1;
38 sf update ${kernel_addr_r} 0x0 ${spi_size};
39 echo Bootloader SUCCESSFULLY written into SPI flash;
40 pause 'Press ANY key to reboot...'; reset;
41 else echo Preparing RAM;
42 mw ${kernel_addr_r} 0 ${boot_block_size_r};
43 mw ${ramdisk_addr_r} 0 ${boot_block_size_r};
44 echo Reading BCT;
45 sf read ${kernel_addr_r} 0x0 ${boot_block_size_r};
46 echo Reading bootloader;
47 if load mmc 1:1 ${ramdisk_addr_r} ${bootloader_file};
48 then echo Calculating bootloader size;
49 size mmc 1:1 ${bootloader_file};
50 ebtupdate ${kernel_addr_r} ${ramdisk_addr_r} ${filesize};
51 echo Writing bootloader into SPI flash;
52 sf probe 0:1;
53 sf update ${kernel_addr_r} 0x0 ${boot_block_size_r};
54 sf update ${ramdisk_addr_r} ${boot_block_size_r} ${boot_block_size_r};
55 echo Bootloader written SUCCESSFULLY;
56 pause 'Press ANY key to reboot...'; reset;
57 else echo Reading bootloader failed;
58 pause 'Press ANY key to reboot...'; reset; fi;
59 fi;
60 else echo SPI flash backup FAILED! Aborting ...;
61 pause 'Press ANY key to reboot...'; reset; fi