--- /dev/null
+########################################################################
+#
+# Baikal-T1 BFK3 evaluation board
+#
+# Default parameters & multiboot menu for U-Boot
+#
+# (c) 2015-2022 Baikal Electronics JSC
+#
+# License: GPL2+
+#
+########################################################################
+
+#
+# Build information
+#
+build_image=Baikal-T1 BFK3 boot ROM image
+build_version=-
+build_date=-
+build_target=baikal-mips
+
+#
+# Serial port parameters
+#
+baudrate=115200
+stderr=serial
+stdin=serial,usbkbd
+stdout=serial
+
+#
+# SoC options
+#
+num_cores=2
+cpu_serial=0xA5A5A5
+cpu_rev=0
+cpufreq=1200
+
+#
+# Network parameters
+#
+serverip=192.168.68.10
+##gatewayip=192.168.68.1
+##netmask=255.255.255.0
+##ipaddr=192.168.68.230
+##dnsip=192.168.65.10
+##hostname=baikal
+##enet=8
+##enet_mode=x:n
+##ethact=eth0
+##mgmt_enet=e
+netdev=eth1
+##rgmii_phyid=3
+##xgmii_phyid=:
+
+#
+# SATA parameters
+#
+##sata=0x3c
+##sataphy=100
+##sata_enet=e:e:n:n
+sata_dev1=/dev/sda1
+sata_dev2=/dev/sdb1
+##usb_dev=/dev/sdc1
+
+#
+# NFS parameters
+#
+nfsroot=/nfsroot/debian
+
+#
+# Filenames and addresses
+#
+##memory_high_paddr=0x20000000
+##memory_high_size=0xdffffff0
+##memory_low_paddr=0x00000000
+##memory_low_size=0x08000000
+
+##uboot_addr_f=0x00000000
+##uboot_size=0x00000000
+
+multi_addr_n=0x86000000
+
+uimage_addr_n=0x85000000
+uimage_file_name=bfk3.uImage
+
+initrd_addr_n=0x86000000
+initrd_file_name=uInitrd
+##initrd_start=${initrd_addr_n}
+initrd_len=0x01000000
+
+initramfs_file_size=0
+initramfs_file_name=uInitramfs
+
+fdt_addr_n=0x85D00000
+fdt_len=0x00040000
+fdt_file_name=bfk3.dtb
+
+initrd_high=no
+
+#
+# MTD partitions
+#
+mtdids=nor2=boot_flash
+mtdparts=mtdparts=boot_flash:748k@0x0(bootloader)ro,64k@0xBB000(environment),4k@0xCB000(information)ro,24k@0xCC000(fdt)ro,15544k@0xD2000(fitimage)ro,16384k@0x0(firmware)
+#
+# Main boot parameters
+#
+loadaddr=0x80000000
+bootcmd=bootmenu
+bootdelay=5
+bootmenu_default=0
+bootfile=bfk3.rom
+image_name=bfk3.rom
+usb_fs=fat
+
+#
+# Kernel debugger
+#
+kdb=setenv bootargs ${bootargs} kgdboc=ttyS0
+
+#
+# Common boot scripts
+#
+addboard=setenv bootargs ${bootargs} board_name=${board_name}
+addmisc=setenv bootargs ${bootargs} earlycon ieee754=relaxed maxcpus=${num_cores}
+addhw=setenv bootargs ${bootargs} nohtw
+addtty=setenv bootargs ${bootargs} console=ttyS0,${baudrate}n8
+addfb=setenv bootargs ${bootargs} video=sma750fb:1600x900-16@60
+addip=setenv bootargs ${bootargs} ip=:::::${netdev}:dhcp
+#
+ramargs=setenv bootargs ${bootargs} root=/dev/ram rw rootwait
+diskargs1=setenv bootargs ${bootargs} root=${sata_dev1} rw rootwait
+diskargs2=setenv bootargs ${bootargs} root=${sata_dev2} rw rootwait
+nfsargs=setenv bootargs ${bootargs} root=/dev/nfs rw rootwait nfsroot=${serverip}:${nfsroot} rw rootwait
+#
+uboot_initrd=setenv uimage_file_name uImage; setenv initrd_file_name uInitrd; setenv initrd_high
+uboot_initramfs=setenv uimage_file_name uImage; setenv initrd_file_name uInitramfs; setenv initrd_high
+all_bootm=bootm ${uimage_addr_n} ${initrd_addr_n} ${fdt_addr_n}
+all_setup_initramfs=setenv initrd_len ${initramfs_file_size}; setenv initrd_file_name ${initramfs_file_name}
+
+#
+# Flash boot parameters
+#
+flash_load=sf probe; mtd read fitimage ${multi_addr_n}; setenv initrd_high
+flash_boot_ram=run flash_load; run ramargs addtty addmisc addhw addfb addboard; bootm ${multi_addr_n}#conf-1
+flash_boot_disk1=run flash_load; run diskargs1 addtty addmisc addhw addfb addboard kdb; bootm ${multi_addr_n}#conf-2
+flash_boot_disk2=run flash_load; run diskargs2 addtty addmisc addhw addfb addboard kdb; bootm ${multi_addr_n}#conf-2
+
+#
+# SATA boot parameters
+#
+sata_load_kernel=echo Loading kernel: ${uimage_file_name}; load scsi ${sata_port}:1 ${uimage_addr_n} ${uimage_file_name}
+sata_load_initrd=echo Loading ramdisk: ${initrd_file_name}; load scsi ${sata_port}:1 ${initrd_addr_n} ${initrd_file_name}; setenv initrd_len ${filesize}
+sata_load_fdt=echo Loading FDT: ${fdt_file_name}; load scsi ${sata_port}:1 ${fdt_addr_n} ${fdt_file_name}; fdt addr ${fdt_addr_n}
+sata_load_all=run sata_load_kernel; run sata_load_initrd; run sata_load_fdt
+#
+sata_common_ram=run sata_load_all; run ramargs addtty addmisc addhw addboard;
+sata_common_disk1=run sata_load_all; run diskargs1 addtty addmisc addhw addboard kdb;
+sata_common_disk2=run sata_load_all; run diskargs2 addtty addmisc addhw addboard kdb;
+#
+sata_setup_ram=run sata_common_ram;
+sata_setup_disk1=setenv sata_port 0; run all_setup_initramfs; run sata_common_disk1;
+sata_setup_disk2=setenv sata_port 1; run all_setup_initramfs; run sata_common_disk2;
+
+#
+# Network boot parameters
+#
+net_init=ping ${serverip}
+net_load_kernel_dhcp=setenv loadaddr ${uimage_addr_n}; setenv bootfile ${uimage_file_name}; dhcp
+net_load_kernel_tftp=setenv loadaddr ${uimage_addr_n}; setenv bootfile ${uimage_file_name}; tftp
+net_load_initrd_tftp=setenv loadaddr ${initrd_addr_n}; setenv bootfile ${initrd_file_name}; tftp; setenv initrd_len ${filesize}
+net_load_fdt_tftp=setenv loadaddr ${fdt_addr_n}; setenv bootfile ${fdt_file_name}; tftp; fdt addr ${fdt_addr_n};
+
+net_load_kernel_nfs=setenv loadaddr ${uimage_addr_n}; setenv bootfile ${nfsroot}/${uimage_file_name}; nfs
+net_load_initrd_nfs=setenv loadaddr ${initrd_addr_n}; setenv bootfile ${nfsroot}/${initrd_file_name}; nfs; setenv initrd_len ${filesize}
+net_load_fdt_nfs=setenv loadaddr ${fdt_addr_n}; setenv bootfile ${nfsroot}/${fdt_file_name}; nfs; fdt addr ${fdt_addr_n}
+
+net_load_all_dhcp=run net_load_kernel_dhcp; run net_load_initrd_tftp; run net_load_fdt_tftp
+net_load_all_tftp=run net_load_kernel_tftp; run net_load_initrd_tftp; run net_load_fdt_tftp
+net_load_all_nfs=run net_load_kernel_nfs; run net_load_initrd_nfs; run net_load_fdt_nfs
+#
+net_common_ram=run ramargs addtty addmisc addhw addboard
+net_common_disk1=run diskargs1 addtty addmisc addhw addboard;
+net_common_disk2=run diskargs2 addtty addmisc addhw addboard;
+net_common_netdisk=run nfsargs addip addtty addmisc addhw addboard;
+#
+net_setup_ram=run net_init; run net_common_ram
+net_setup_disk1=run all_setup_initramfs; run net_init; run net_common_disk1
+net_setup_disk2=run all_setup_initramfs; run net_init; run net_common_disk2
+dhcp_setup_disk1=run all_setup_initramfs; run net_common_disk1
+dhcp_setup_disk2=run all_setup_initramfs; run net_common_disk2
+net_setup_netdisk=run all_setup_initramfs; run net_init; run net_common_netdisk
+
+#
+# USB boot parameters
+#
+
+usb_load_kernel=echo Loading kernel: ${uimage_file_name}; if test ${usb_fs} = 'fat'; then fatload usb 0:1 ${uimage_addr_n} ${uimage_file_name}; elif test ${usb_fs} = 'ext2'; then ext2load usb 0:1 ${uimage_addr_n} ${uimage_file_name}; elif test ${usb_fs} = 'ext4'; then ext4load usb 0:1 ${uimage_addr_n} ${uimage_file_name}; fi
+usb_load_initrd=echo Loading ramdisk: ${initrd_file_name}; setenv initrd_len ${filesize}; if test ${usb_fs} = 'fat'; then fatload usb 0:1 ${initrd_addr_n} ${initrd_file_name}; elif test ${usb_fs} = 'ext2'; then ext2load usb 0:1 ${initrd_addr_n} ${initrd_file_name}; elif test ${usb_fs} = 'ext4'; then ext4load usb 0:1 ${initrd_addr_n} ${initrd_file_name}; fi
+usb_load_fdt=echo Loading FDT: ${fdt_file_name}; fdt addr ${fdt_addr_n}; if test ${usb_fs} = 'fat'; then fatload usb 0:1 ${fdt_addr_n} ${fdt_file_name}; elif test ${usb_fs} = 'ext2'; then ext2load usb 0:1 ${fdt_addr_n} ${fdt_file_name}; elif test ${usb_fs} = 'ext4'; then ext4load usb 0:1 ${fdt_addr_n} ${fdt_file_name}; fi
+usb_load_all=run usb_load_kernel; run usb_load_initrd; run usb_load_fdt
+usb_init=usb start; sleep 1
+usb_setup_ram=run usb_init; run usb_load_all; run ramargs addtty addmisc addhw addboard
+
+#
+# Boot menu
+#
+bootmenu_0=1. Boot from SPI flash to minimal FS (rom + ramdisk)=run flash_boot_ram
+bootmenu_1=2. Boot from SPI flash to SATA disk1 (rom + sda1)=run flash_boot_disk1
+bootmenu_2=3. Boot from SPI flash to SATA disk2 (rom + sdb1)=run flash_boot_disk2
+bootmenu_3=4. Boot from SATA disk1 to minimal FS (disk1 + ramdisk)=run sata_setup_ram; run all_bootm
+bootmenu_4=5. Boot from SATA disk1 (sda1)=run sata_setup_disk1; run all_bootm
+bootmenu_5=6. Boot from SATA disk2 (sdb1)=run sata_setup_disk2; run all_bootm
+#
+bootmenu_6=7. Boot from Network to minimal FS (tftp + ramdisk)=run net_setup_ram; run net_load_all_tftp; run all_bootm
+bootmenu_7=8. Boot from Network to SATA disk1 (tftp + sda1)=run net_setup_disk1; run net_load_all_tftp; run all_bootm
+bootmenu_8=9. Boot from Network to SATA disk2 (tftp + sdb1)=run net_setup_disk2; run net_load_all_tftp; run all_bootm
+bootmenu_9=10. Boot from Network to minimal FS (dhcp + tftp + ramdisk)=run net_common_ram; run net_load_all_dhcp; run all_bootm
+bootmenu_10=11. Boot from Network to SATA disk1 (dhcp + tftp + sda1)=run dhcp_setup_disk1; run net_load_all_dhcp; run all_bootm
+bootmenu_11=12. Boot from Network to SATA disk2 (dhcp + tftp + sdb1)=run dhcp_setup_disk2; run net_load_all_dhcp; run all_bootm
+bootmenu_12=13. Boot from Network to minimal FS (nfs + ramdisk)=run net_setup_ram; run net_load_all_nfs; run all_bootm
+bootmenu_13=14. Boot from Network to SATA disk1 (nfs + sda1)=run net_setup_disk1; run net_load_all_nfs; run all_bootm
+bootmenu_14=15. Boot from Network to SATA disk2 (nfs + sdb1)=run net_setup_disk2; run net_load_all_nfs; run all_bootm
+bootmenu_15=16. Boot from USB storage to minimal FS (rom + ramdisk)=run usb_setup_ram; run all_bootm