mirror of
https://github.com/smaeul/u-boot.git
synced 2025-09-15 14:36:03 +01:00
Add usb_pgood_delay to ensure proper detection of USB devices. Increase the USB power good delay on the SOM boards, as this is required for certain USB sticks otherwise, they may not be detected. Signed-off-by: Prasad Kummari <prasad.kummari@amd.com> Link: https://lore.kernel.org/r/20250107122915.1378284-1-prasad.kummari@amd.com Signed-off-by: Michal Simek <michal.simek@amd.com>
81 lines
5.5 KiB
Bash
81 lines
5.5 KiB
Bash
autoload=no
|
|
baudrate=115200
|
|
boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr}
|
|
boot_efi_binary=if fdt addr ${fdt_addr_r}; then bootefi bootmgr ${fdt_addr_r};else bootefi bootmgr ${fdtcontroladdr};fi;load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} efi/boot/bootaa64.efi; if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r};else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi
|
|
boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}${boot_syslinux_conf}
|
|
boot_net_usb_start=usb start
|
|
boot_prefixes=/ /boot/
|
|
boot_script_dhcp=boot.scr.uimg
|
|
boot_scripts=boot.scr.uimg boot.scr
|
|
boot_syslinux_conf=extlinux/extlinux.conf
|
|
bootcmd_dhcp=run boot_net_usb_start; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;setenv efi_fdtfile ${fdtfile}; setenv efi_old_vci ${bootp_vci};setenv efi_old_arch ${bootp_arch};setenv bootp_vci PXEClient:Arch:00011:UNDI:003000;setenv bootp_arch 0xb;if dhcp ${kernel_addr_r}; then tftpboot ${fdt_addr_r} dtb/${efi_fdtfile};if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r}; else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi;fi;setenv bootp_vci ${efi_old_vci};setenv bootp_arch ${efi_old_arch};setenv efi_fdtfile;setenv efi_old_arch;setenv efi_old_vci;
|
|
bootcmd_jtag=echo JTAG: Trying to boot script at ${scriptaddr} && source ${scriptaddr}; echo JTAG: SCRIPT FAILED: continuing...;
|
|
bootcmd_mmc0=devnum=0; run mmc_boot
|
|
bootcmd_mmc1=devnum=1; run mmc_boot
|
|
bootcmd_pxe=run boot_net_usb_start; dhcp; if pxe get; then pxe boot; fi
|
|
bootcmd_usb0=devnum=0; run usb_boot
|
|
bootcmd_usb1=devnum=1; run usb_boot
|
|
bootcmd_usb2=devnum=2; run usb_boot
|
|
bootcmd_usb3=devnum=3; run usb_boot
|
|
bootcmd_usb4=devnum=4; run usb_boot
|
|
bootdelay=2
|
|
bootfstype=fat
|
|
bootm_low=0
|
|
bootm_size=0x80000000
|
|
distro_bootcmd=scsi_need_init=; for target in ${boot_targets}; do run bootcmd_${target}; done
|
|
efi_dtb_prefixes=/ /dtb/ /dtb/current/
|
|
fdt_addr_r=0x40000000
|
|
fdt_high=0x10000000
|
|
fileaddr=0x18000000
|
|
initrd_high=0x79000000
|
|
kernel_addr_r=0x18000000
|
|
load_efi_dtb=load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile}
|
|
mmc_boot=if mmc dev ${devnum}; then devtype=mmc; run scan_dev_for_boot_part; fi
|
|
pxefile_addr_r=0x10000000
|
|
ramdisk_addr_r=0x02100000
|
|
scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_for_scripts; done;run scan_dev_for_efi;
|
|
scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype ${devtype} ${devnum}:${distro_bootpart} bootfstype; then run scan_dev_for_boot; fi; done; setenv devplist
|
|
scan_dev_for_efi=setenv efi_fdtfile ${fdtfile}; for prefix in ${efi_dtb_prefixes}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${efi_fdtfile}; then run load_efi_dtb; fi;done;if test -e ${devtype} ${devnum}:${distro_bootpart} efi/boot/bootaa64.efi; then echo Found EFI removable media binary efi/boot/bootaa64.efi; run boot_efi_binary; echo EFI LOAD FAILED: continuing...; fi; setenv efi_fdtfile
|
|
scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${boot_syslinux_conf}; then echo Found ${prefix}${boot_syslinux_conf}; run boot_extlinux; echo SCRIPT FAILED: continuing...; fi
|
|
scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done
|
|
script_offset_f=0x3e80000
|
|
script_size_f=0x80000
|
|
scriptaddr=0x20000000
|
|
usb_boot=usb start; if usb dev ${devnum}; then devtype=usb; run scan_dev_for_boot_part; fi
|
|
preboot=setenv boot_targets; setenv modeboot; run board_setup
|
|
usb_pgood_delay=1000
|
|
|
|
# SOM specific boot methods
|
|
usb_boot_devices='usb0 usb1 usb2 usb3 usb4'
|
|
som_cc_boot=if test ${card1_name} = SCK-KV-G; then setenv boot_targets mmc1 ${usb_boot_devices} pxe dhcp jtag && run distro_bootcmd; elif test ${card1_name} = SCK-KR-G; then setenv boot_targets ${usb_boot_devices} pxe dhcp jtag && run distro_bootcmd; else test ${card1_name} = SCK-KD-G; setenv boot_targets ${usb_boot_devices} pxe dhcp jtag && run distro_bootcmd; fi;"
|
|
som_mmc_boot=setenv boot_targets mmc0 && run distro_bootcmd
|
|
|
|
# To disable bootmenu set enable_bootmenu=0
|
|
enable_bootmenu=1
|
|
som_bootmenu=if test ${enable_bootmenu} = 1; then bootmenu; else run som_mmc_boot; fi
|
|
|
|
k26_starter=SMK-K26-XCL2G
|
|
k24_starter=SMK-K24-XCL2G
|
|
bootcmd=setenv model $board_name; setexpr model gsub ".*${k24_starter}.*" starter; setexpr model gsub ".*${k26_starter}.*" starter; if test ${model} = "starter"; then run som_cc_boot; else run som_bootmenu; fi
|
|
|
|
# Boot menu
|
|
bootmenu_0=eMMC Boot=run som_mmc_boot
|
|
bootmenu_1=SD Boot=run som_cc_boot
|
|
bootmenu_delay=5
|
|
|
|
# Enabling PM nodes for uart0 and can0
|
|
kd240_setup=zynqmp pmufw node 33; zynqmp pmufw node 47
|
|
|
|
tpm_setup=tpm autostart;
|
|
tpm_reset=echo "!!! For TPM reset a full power cycle or pressing the POR_B button is required !!!";
|
|
tpm_kv260=if test ${card1_rev} = A -o ${card1_rev} = B -o ${card1_rev} = Y -o ${card1_rev} = Z -o ${card1_rev} = 1; then run tpm_reset; fi
|
|
tpm_kd240=if test ${card1_rev} = A; then run tpm_reset; fi
|
|
|
|
board_setup=\
|
|
rtc dev 0; \
|
|
zynqmp mmio_write 0xFFCA0010 0xfff 0; \
|
|
if test ${card1_name} = SCK-KV-G; then run tpm_kv260; fi;\
|
|
if test ${card1_name} = SCK-KR-G; then run tpm_reset; fi;\
|
|
if test ${card1_name} = SCK-KD-G; then run kd240_setup; run tpm_kd240; fi;\
|
|
run tpm_setup
|