Advertisement
zmatt

beagleboard.org am335x u-boot default env, reformatted

Jun 27th, 2022
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 26.57 KB | None | 0 0
  1. bootdelay=0
  2. baudrate=115200
  3. loadaddr=0x82000000
  4. arch=arm
  5. cpu=armv7
  6. board=am335x
  7. board_name=am335x
  8. vendor=ti
  9. soc=am33xx
  10. loadaddr=0x82000000
  11. kernel_addr_r=0x82000000
  12. fdtaddr=0x88000000
  13. dtboaddr=0x89000000
  14. fdt_addr_r=0x88000000
  15. fdtoverlay_addr_r=0x89000000
  16. rdaddr=0x88080000
  17. ramdisk_addr_r=0x88080000
  18. scriptaddr=0x80000000
  19. pxefile_addr_r=0x80100000
  20. bootm_size=0x10000000
  21. boot_fdt=try
  22. mmcdev=0
  23. mmcrootfstype=ext4 rootwait
  24. script=boot.scr
  25. scriptfile=${script}
  26. bootenvfile=uEnv.txt
  27. bootenv=uEnv.txt
  28. bootpart=0:2
  29. bootdir=/boot
  30. bootfile=zImage
  31. board_eeprom_header=undefined
  32. fdtfile=undefined
  33. console=ttyS0,115200n8
  34. partitions=uuid_disk=${uuid_gpt_disk};name=bootloader,start=384K,size=1792K,uuid=${uuid_gpt_bootloader};name=rootfs,start=2688K,size=-,uuid=${uuid_gpt_rootfs}
  35. optargs=
  36. ramroot=/dev/ram0 rw
  37. ramrootfstype=ext2
  38. spiroot=/dev/mtdblock4 rw
  39. spirootfstype=jffs2
  40. spisrcaddr=0xe0000
  41. spiimgsize=0x362000
  42. spibusno=0
  43. static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
  44. nfsopts=nolock
  45. rootpath=/export/rootfs
  46. dfu_alt_info_emmc=rawemmc raw 0 3751936;boot part 1 1;rootfs part 1 2;MLO fat 1 1;MLO.raw raw 0x100 0x200;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-args.raw raw 0x1500 0x200;spl-os-image.raw raw 0x1700 0x6900;spl-os-args fat 1 1;spl-os-image fat 1 1;u-boot.img fat 1 1;uEnv.txt fat 1 1
  47. dfu_alt_info_mmc=boot part 0 1;rootfs part 0 2;MLO fat 0 1;MLO.raw raw 0x100 0x200;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-args.raw raw 0x1500 0x200;spl-os-image.raw raw 0x1700 0x6900;spl-os-args fat 0 1;spl-os-image fat 0 1;u-boot.img fat 0 1;uEnv.txt fat 0 1
  48. dfu_alt_info_ram=kernel ram 0x80200000 0x4000000;fdt ram 0x80f80000 0x80000;ramdisk ram 0x81000000 0x4000000
  49. efi_dtb_prefixes=/ /dtb/ /dtb/current/
  50. boot_prefixes=/ /boot/
  51. boot_scripts=boot.scr.uimg boot.scr
  52. boot_script_dhcp=boot.scr.uimg
  53. boot_targets=mmc0 legacy_mmc0 mmc1 legacy_mmc1 usb0 pxe dhcp
  54. boot_syslinux_conf=extlinux/extlinux.conf
  55.  
  56. bootcmd() {
  57.     run findfdt
  58.     run init_console
  59.     run envboot
  60.     run distro_bootcmd
  61. }
  62. finduuid() {
  63.     part uuid ${devtype} ${bootpart} uuid
  64. }
  65. args_mmc() {
  66.     run finduuid
  67.     setenv bootargs "console=${console} ${cape_uboot} root=PARTUUID=${uuid} ro rootfstype=${mmcrootfstype} ${uboot_detected_capes} ${cmdline}"
  68. }
  69. args_mmc_old() {
  70.     setenv bootargs "console=${console} ${optargs} ${cape_uboot} root=${oldroot} ro rootfstype=${mmcrootfstype} ${uboot_detected_capes} ${cmdline}"
  71. }
  72. args_mmc_uuid() {
  73.     setenv bootargs "console=${console} ${optargs} ${cape_uboot} root=UUID=${uuid} ro rootfstype=${mmcrootfstype} ${uboot_detected_capes} ${cmdline}"
  74. }
  75. args_uenv_root() {
  76.     setenv bootargs "console=${console} ${optargs} ${cape_uboot} root=${uenv_root} ro rootfstype=${mmcrootfstype} ${uboot_detected_capes} ${cmdline}"
  77. }
  78. args_netinstall() {
  79.     setenv bootargs "${netinstall_bootargs} ${optargs} ${cape_uboot} root=/dev/ram rw ${uboot_detected_capes} ${cmdline}"
  80. }
  81. loadbootscript() {
  82.     load ${devtype} ${bootpart} ${loadaddr} ${scriptfile}
  83. }
  84. bootscript() {
  85.     echo "Running bootscript from mmc${bootpart} ..."
  86.     source ${loadaddr}
  87. }
  88. importbootenv() {
  89.     echo "Importing environment from ${devtype} ..."
  90.     env import -t ${loadaddr} ${filesize}
  91. }
  92. loadbootenv() {
  93.     load ${devtype} ${bootpart} ${loadaddr} ${bootenvfile}
  94. }
  95. loadimage() {
  96.     load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
  97. }
  98. loadrd() {
  99.     load ${devtype} ${bootpart} ${rdaddr} ${bootdir}/${rdfile}
  100.     setenv rdsize "${filesize}"
  101. }
  102. loadfdt() {
  103.     echo "loading ${fdtdir}/${fdtfile} ..."
  104.     load ${devtype} ${bootpart} ${fdtaddr} ${fdtdir}/${fdtfile}
  105. }
  106. loadoverlay() {
  107.     echo "uboot_overlays: loading ${actual_uboot_overlay} ..."
  108.     load ${devtype} ${bootpart} ${rdaddr} ${actual_uboot_overlay}
  109.     fdt addr ${fdtaddr}
  110.     fdt resize ${fdt_buffer}
  111.     fdt apply ${rdaddr}
  112.     fdt resize ${fdt_buffer}
  113. }
  114. virtualloadoverlay() {
  115.     if test -e ${devtype} ${bootpart} ${fdtdir}/overlays/${uboot_overlay}; then
  116.         setenv actual_uboot_overlay "${fdtdir}/overlays/${uboot_overlay}"
  117.         run loadoverlay
  118.     elif test -e ${devtype} ${bootpart} /lib/firmware/${uboot_overlay}; then
  119.         setenv actual_uboot_overlay "/lib/firmware/${uboot_overlay}"
  120.         run loadoverlay
  121.     elif test -e ${devtype} ${bootpart} ${uboot_overlay}; then
  122.         setenv actual_uboot_overlay "${uboot_overlay}"
  123.         run loadoverlay
  124.     else
  125.         echo "uboot_overlays: unable to find [${devtype} ${bootpart} ${uboot_overlay}]..."
  126.     fi
  127. }
  128. envboot() {
  129.     mmc dev ${mmcdev}
  130.     if mmc rescan; then
  131.         echo "SD/MMC found on device ${mmcdev}"
  132.         if run loadbootscript; then
  133.             run bootscript
  134.         else
  135.             if run loadbootenv; then
  136.                 echo "Loaded env from ${bootenvfile}"
  137.                 run importbootenv
  138.             fi
  139.             if test -n $uenvcmd; then
  140.                 echo "Running uenvcmd ..."
  141.                 run uenvcmd
  142.             fi
  143.         fi
  144.     fi
  145. }
  146. mmcloados() {
  147.     if test ${boot_fdt} = yes || test ${boot_fdt} = try; then
  148.         if run loadfdt; then
  149.             if test -n ${uname_r}; then
  150.                 bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}
  151.             else
  152.                 bootz ${loadaddr} - ${fdtaddr}
  153.             fi
  154.         else
  155.             if test ${boot_fdt} = try; then
  156.                 bootz
  157.             else
  158.                 echo "WARN: Cannot load the DT"
  159.             fi
  160.         fi
  161.     else
  162.         bootz
  163.     fi
  164. }
  165. mmcboot() {
  166.     mmc dev ${mmcdev}
  167.     devnum=${mmcdev}
  168.     devtype=mmc
  169.     if mmc rescan; then
  170.         echo "SD/MMC found on device ${mmcdev}"
  171.         if run loadimage; then
  172.             run args_mmc
  173.             if test ${boot_fit} -eq 1; then
  174.                 run run_fit
  175.             else
  176.                 run mmcloados
  177.             fi
  178.         fi
  179.     fi
  180. }
  181. spiargs() {
  182.     setenv bootargs "console=${console} ${optargs} root=${spiroot} rootfstype=${spirootfstype}"
  183. }
  184. ramargs() {
  185.     setenv bootargs "console=${console} ${optargs} root=${ramroot} rootfstype=${ramrootfstype}"
  186. }
  187. loadramdisk() {
  188.     load mmc ${mmcdev} ${rdaddr} ramdisk.gz
  189. }
  190. spiboot() {
  191.     echo "Booting from spi ..."
  192.     run spiargs
  193.     sf probe ${spibusno}:0
  194.     sf read ${loadaddr} ${spisrcaddr} ${spiimgsize}
  195.     bootz ${loadaddr}
  196. }
  197. eeprom_program() {
  198.     if test $board_eeprom_header = bbb_blank; then
  199.         run eeprom_dump
  200.         run eeprom_blank
  201.         run eeprom_bbb_header
  202.         run eeprom_dump
  203.         reset
  204.     fi
  205.     if test $board_eeprom_header = bbbl_blank; then
  206.         run eeprom_dump
  207.         run eeprom_blank
  208.         run eeprom_bbb_header
  209.         run eeprom_bbbl_footer
  210.         run eeprom_dump
  211.         reset
  212.     fi
  213.     if test $board_eeprom_header = bbbw_blank; then
  214.         run eeprom_dump
  215.         run eeprom_blank
  216.         run eeprom_bbb_header
  217.         run eeprom_bbbw_footer
  218.         run eeprom_dump
  219.         reset
  220.     fi
  221.     if test $board_eeprom_header = pocketbeagle_blank; then
  222.         run eeprom_dump
  223.         run eeprom_blank
  224.         run eeprom_pocketbeagle
  225.         run eeprom_dump
  226.         reset
  227.     fi
  228.     if test $board_eeprom_header = bbgg_blank; then
  229.         run eeprom_dump
  230.         run eeprom_blank
  231.         run eeprom_bbb_header
  232.         run eeprom_bbgg_footer
  233.         run eeprom_dump
  234.         reset
  235.     fi
  236.     if test $board_eeprom_header = beaglelogic_blank; then
  237.         run eeprom_dump
  238.         run eeprom_blank
  239.         run eeprom_beaglelogic
  240.         run eeprom_dump
  241.         reset
  242.     fi
  243. }
  244. ramboot() {
  245.     echo "Booting from ramdisk ..."
  246.     run ramargs
  247.     bootz ${loadaddr} ${rdaddr} ${fdtaddr}
  248. }
  249. findfdt() {
  250.     echo "board_name=[$board_name] ..."
  251.     if test $board_name = A335BLGC; then
  252.         setenv fdtfile "am335x-beaglelogic.dtb"
  253.     fi
  254.     if test $board_name = A335BONE; then
  255.         setenv fdtfile "am335x-bone.dtb"
  256.     fi
  257.     if test $board_name = A335BNLT; then
  258.         echo "board_rev=[$board_rev] ..."
  259.         if test $board_rev = GH01; then
  260.             setenv fdtfile "am335x-boneblack.dtb"
  261.         elif test $board_rev = BBG1; then
  262.             setenv fdtfile "am335x-bonegreen.dtb"
  263.         elif test $board_rev = BP00; then
  264.             setenv fdtfile "am335x-pocketbone.dtb"
  265.         elif test $board_rev = GW1A; then
  266.             setenv fdtfile "am335x-bonegreen-wireless.dtb"
  267.         elif test $board_rev = GG1A; then
  268.             setenv fdtfile "am335x-bonegreen-gateway.dtb"
  269.         elif test $board_rev = AIA0; then
  270.             setenv fdtfile "am335x-abbbi.dtb"
  271.         elif test $board_rev = EIA0; then
  272.             setenv fdtfile "am335x-boneblack.dtb"
  273.         elif test $board_rev = ME06; then
  274.             setenv fdtfile "am335x-bonegreen.dtb"
  275.         elif test $board_rev = OS00; then
  276.             setenv fdtfile "am335x-osd3358-sm-red.dtb"
  277.         elif test $board_rev = OS01; then
  278.             setenv fdtfile "am335x-osd3358-sm-red-v4.dtb"
  279.         else
  280.             setenv fdtfile "am335x-boneblack.dtb"
  281.         fi
  282.     fi
  283.     if test $board_name = A335PBGL; then
  284.         setenv fdtfile "am335x-pocketbeagle.dtb"
  285.     fi
  286.     if test $board_name = BBBW; then
  287.         setenv fdtfile "am335x-boneblack-wireless.dtb"
  288.     fi
  289.     if test $board_name = BBG1; then
  290.         setenv fdtfile "am335x-bonegreen.dtb"
  291.     fi
  292.     if test $board_name = BBGW; then
  293.         setenv fdtfile "am335x-bonegreen-wireless.dtb"
  294.     fi
  295.     if test $board_name = BBGG; then
  296.         setenv fdtfile "am335x-bonegreen-gateway.dtb"
  297.     fi
  298.     if test $board_name = BBBL; then
  299.         setenv fdtfile "am335x-boneblue.dtb"
  300.     fi
  301.     if test $board_name = BBEN; then
  302.         setenv fdtfile "am335x-sancloud-bbe.dtb"
  303.     fi
  304.     if test $board_name = BBELITE; then
  305.         setenv fdtfile "am335x-sancloud-bbe-lite.dtb"
  306.     fi
  307.     if test $board_name = BBE_EX_WIFI; then
  308.         setenv fdtfile "am335x-sancloud-bbe-extended-wifi.dtb"
  309.     fi
  310.     if test $board_name = OS00; then
  311.         setenv fdtfile "am335x-osd3358-sm-red.dtb"
  312.     fi
  313.     if test $board_name = OS01; then
  314.         setenv fdtfile "am335x-osd3358-sm-red-v4.dtb"
  315.     fi
  316.     if test $board_name = A33515BB; then
  317.         setenv fdtfile "am335x-evm.dtb"
  318.     fi
  319.     if test $board_name = A335X_SK; then
  320.         setenv fdtfile "am335x-evmsk.dtb"
  321.     fi
  322.     if test $board_name = A335_ICE; then
  323.         setenv fdtfile "am335x-icev2.dtb"
  324.         if test $ice_mii = mii; then
  325.             setenv pxe_label_override "Pruss"
  326.         fi
  327.     fi
  328.     if test $fdtfile = undefined; then
  329.         setenv board_name "A335BNLT"
  330.         setenv board_rev "EMMC"
  331.         setenv fdtfile "am335x-bonegreen.dtb"
  332.     fi
  333. }
  334. init_console() {
  335.     if test $board_name = A335_ICE; then
  336.         setenv console "ttyS3,115200n8"
  337.     elif test $board_name = A335BLGC; then
  338.         setenv console "ttyS4,115200n8"
  339.     else
  340.         setenv console "ttyS0,115200n8"
  341.     fi
  342. }
  343. boot() {
  344.     ${devtype} dev ${mmcdev}
  345.     if ${devtype} rescan; then
  346.         gpio set 54
  347.         setenv bootpart "${mmcdev}:1"
  348.         if test -e ${devtype} ${bootpart} /etc/fstab; then
  349.             setenv mmcpart "1"
  350.         fi
  351.         echo "Checking for: /uEnv.txt ..."
  352.         if test -e ${devtype} ${bootpart} /uEnv.txt; then
  353.             if run loadbootenv; then
  354.                 gpio set 55
  355.                 echo "Loaded environment from /uEnv.txt"
  356.                 run importbootenv
  357.             fi
  358.             echo "Checking if uenvcmd is set ..."
  359.             if test -n ${uenvcmd}; then
  360.                 gpio set 56
  361.                 echo "Running uenvcmd ..."
  362.                 run uenvcmd
  363.             fi
  364.         fi
  365.         echo "Checking for: /boot/uEnv.txt ..."
  366.         for i in 1 2 3 4 5 6 7; do
  367.             setenv mmcpart "${i}"
  368.             setenv bootpart "${mmcdev}:${mmcpart}"
  369.             if test -e ${devtype} ${bootpart} /boot/uEnv.txt; then
  370.                 gpio set 55
  371.                 load ${devtype} ${bootpart} ${loadaddr} /boot/uEnv.txt
  372.                 env import -t ${loadaddr} ${filesize}
  373.                 echo "Loaded environment from /boot/uEnv.txt"
  374.                 if test -n ${dtb}; then
  375.                     echo "debug: [dtb=${dtb}] ..."
  376.                     setenv fdtfile "${dtb}"
  377.                     echo "Using: dtb=${fdtfile} ..."
  378.                 fi
  379.                 echo "Checking if uname_r is set in /boot/uEnv.txt..."
  380.                 if test -n ${uname_r}; then
  381.                     gpio set 56
  382.                     setenv oldroot "/dev/mmcblk${mmcdev}p${mmcpart}"
  383.                     echo "Running uname_boot ..."
  384.                     run uname_boot
  385.                 fi
  386.             fi
  387.         done
  388.     fi
  389. }
  390. uname_boot() {
  391.     setenv bootdir "/boot"
  392.     setenv bootfile "vmlinuz-${uname_r}"
  393.     if test -e ${devtype} ${bootpart} ${bootdir}/${bootfile}; then
  394.         echo "loading ${bootdir}/${bootfile} ..."
  395.         run loadimage
  396.         setenv fdtdir "/boot/dtbs/${uname_r}"
  397.         echo "debug: [enable_uboot_overlays=${enable_uboot_overlays}] ..."
  398.         if test -n ${enable_uboot_overlays}; then
  399.             echo "debug: [enable_uboot_cape_universal=${enable_uboot_cape_universal}] ..."
  400.             if test -n ${enable_uboot_cape_universal}; then
  401.                 echo "debug: [uboot_base_dtb_univ=${uboot_base_dtb_univ}] ..."
  402.                 if test -n ${uboot_base_dtb_univ}; then
  403.                     echo "uboot_overlays: [uboot_base_dtb=${uboot_base_dtb_univ}] ..."
  404.                     if test -e ${devtype} ${bootpart} ${fdtdir}/${uboot_base_dtb_univ}; then
  405.                         setenv fdtfile "${uboot_base_dtb_univ}"
  406.                         echo "uboot_overlays: Switching too: dtb=${fdtfile} ..."
  407.                         setenv cape_uboot "bone_capemgr.uboot_capemgr_enabled=1"
  408.                     else
  409.                         echo "debug: unable to find [${uboot_base_dtb_univ}] using [${uboot_base_dtb}] instead ..."
  410.                         echo "debug: [uboot_base_dtb_univ=${uboot_base_dtb}] ..."
  411.                         if test -n ${uboot_base_dtb}; then
  412.                             echo "uboot_overlays: [uboot_base_dtb=${uboot_base_dtb}] ..."
  413.                             if test -e ${devtype} ${bootpart} ${fdtdir}/${uboot_base_dtb}; then
  414.                                 setenv fdtfile "${uboot_base_dtb}"
  415.                                 echo "uboot_overlays: Switching too: dtb=${fdtfile} ..."
  416.                             fi
  417.                         fi
  418.                     fi
  419.                 fi
  420.             else
  421.                 echo "debug: [uboot_base_dtb_univ=${uboot_base_dtb}] ..."
  422.                 if test -n ${uboot_base_dtb}; then
  423.                     echo "uboot_overlays: [uboot_base_dtb=${uboot_base_dtb}] ..."
  424.                     if test -e ${devtype} ${bootpart} ${fdtdir}/${uboot_base_dtb}; then
  425.                         setenv fdtfile "${uboot_base_dtb}"
  426.                         echo "uboot_overlays: Switching too: dtb=${fdtfile} ..."
  427.                     fi
  428.                 fi
  429.             fi
  430.         fi
  431.         if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then
  432.             run loadfdt
  433.         else
  434.             setenv fdtdir "/usr/lib/linux-image-${uname_r}"
  435.             if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then
  436.                 run loadfdt
  437.             else
  438.                 setenv fdtdir "/lib/firmware/${uname_r}/device-tree"
  439.                 if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then
  440.                     run loadfdt
  441.                 else
  442.                     setenv fdtdir "/boot/dtb-${uname_r}"
  443.                     if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then
  444.                         run loadfdt
  445.                     else
  446.                         setenv fdtdir "/boot/dtbs"
  447.                         if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then
  448.                             run loadfdt
  449.                         else
  450.                             setenv fdtdir "/boot/dtb"
  451.                             if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then
  452.                                 run loadfdt
  453.                             else
  454.                                 setenv fdtdir "/boot"
  455.                                 if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then
  456.                                     run loadfdt
  457.                                 else
  458.                                     if test -e ${devtype} ${bootpart} ${fdtfile}; then
  459.                                         run loadfdt
  460.                                     else
  461.                                         echo
  462.                                         echo "unable to find [dtb=${fdtfile}] did you name it correctly? ..."
  463.                                         run failumsboot
  464.                                     fi
  465.                                 fi
  466.                             fi
  467.                         fi
  468.                     fi
  469.                 fi
  470.             fi
  471.         fi
  472.         if test -n ${enable_uboot_overlays}; then
  473.             extension scan
  474.             setenv fdt_buffer "0x60000"
  475.             if test -n ${uboot_fdt_buffer}; then
  476.                 setenv fdt_buffer "${uboot_fdt_buffer}"
  477.             fi
  478.             echo "uboot_overlays: [fdt_buffer=${fdt_buffer}] ..."
  479.             if test -n ${uboot_silicon}; then
  480.                 setenv uboot_overlay "${uboot_silicon}"
  481.                 run virtualloadoverlay
  482.             fi
  483.             if test -n ${uboot_model}; then
  484.                 setenv uboot_overlay "${uboot_model}"
  485.                 run virtualloadoverlay
  486.             fi
  487.             if test -n ${disable_uboot_overlay_adc}; then
  488.                 echo "uboot_overlays: uboot loading of [BB-ADC-00A0.dtbo] disabled by /boot/uEnv.txt [disable_uboot_overlay_adc=1]..."
  489.             else
  490.                 setenv uboot_overlay "BB-ADC-00A0.dtbo"
  491.                 run virtualloadoverlay
  492.             fi
  493.             if test -n ${uboot_overlay_addr0}; then
  494.                 if test -n ${disable_uboot_overlay_addr0}; then
  495.                     echo "uboot_overlays: uboot loading of [${uboot_overlay_addr0}] disabled by /boot/uEnv.txt [disable_uboot_overlay_addr0=1]..."
  496.                 else
  497.                     setenv uboot_overlay "${uboot_overlay_addr0}"
  498.                     run virtualloadoverlay
  499.                 fi
  500.             fi
  501.             if test -n ${uboot_overlay_addr1}; then
  502.                 if test -n ${disable_uboot_overlay_addr1}; then
  503.                     echo "uboot_overlays: uboot loading of [${uboot_overlay_addr1}] disabled by /boot/uEnv.txt [disable_uboot_overlay_addr1=1]..."
  504.                 else
  505.                     setenv uboot_overlay "${uboot_overlay_addr1}"
  506.                     run virtualloadoverlay
  507.                 fi
  508.             fi
  509.             if test -n ${uboot_overlay_addr2}; then
  510.                 if test -n ${disable_uboot_overlay_addr2}; then
  511.                     echo "uboot_overlays: uboot loading of [${uboot_overlay_addr2}] disabled by /boot/uEnv.txt [disable_uboot_overlay_addr2=1]..."
  512.                 else
  513.                     setenv uboot_overlay "${uboot_overlay_addr2}"
  514.                     run virtualloadoverlay
  515.                 fi
  516.             fi
  517.             if test -n ${uboot_overlay_addr3}; then
  518.                 if test -n ${disable_uboot_overlay_addr3}; then
  519.                     echo "uboot_overlays: uboot loading of [${uboot_overlay_addr3}] disabled by /boot/uEnv.txt [disable_uboot_overlay_addr3=1]..."
  520.                 else
  521.                     setenv uboot_overlay "${uboot_overlay_addr3}"
  522.                     run virtualloadoverlay
  523.                 fi
  524.             fi
  525.             if test -n ${uboot_overlay_addr4}; then
  526.                 setenv uboot_overlay "${uboot_overlay_addr4}"
  527.                 run virtualloadoverlay
  528.             fi
  529.             if test -n ${uboot_overlay_addr5}; then
  530.                 setenv uboot_overlay "${uboot_overlay_addr5}"
  531.                 run virtualloadoverlay
  532.             fi
  533.             if test -n ${uboot_overlay_addr6}; then
  534.                 setenv uboot_overlay "${uboot_overlay_addr6}"
  535.                 run virtualloadoverlay
  536.             fi
  537.             if test -n ${uboot_overlay_addr7}; then
  538.                 setenv uboot_overlay "${uboot_overlay_addr7}"
  539.                 run virtualloadoverlay
  540.             fi
  541.             if test -n ${uboot_emmc}; then
  542.                 if test -n ${disable_uboot_overlay_emmc}; then
  543.                     echo "uboot_overlays: uboot loading of [${uboot_emmc}] disabled by /boot/uEnv.txt [disable_uboot_overlay_emmc=1]..."
  544.                 else
  545.                     setenv uboot_overlay "${uboot_emmc}"
  546.                     run virtualloadoverlay
  547.                 fi
  548.             fi
  549.             if test -n ${uboot_video}; then
  550.                 if test -n ${disable_uboot_overlay_video}; then
  551.                     echo "uboot_overlays: uboot loading of [${uboot_video}] disabled by /boot/uEnv.txt [disable_uboot_overlay_video=1]..."
  552.                 else
  553.                     if test -n ${disable_uboot_overlay_audio}; then
  554.                         echo "uboot_overlays: uboot loading of [${uboot_video}] disabled by /boot/uEnv.txt [disable_uboot_overlay_audio=1]..."
  555.                         setenv uboot_overlay "${uboot_video_naudio}"
  556.                         run virtualloadoverlay
  557.                     else
  558.                         setenv uboot_overlay "${uboot_video}"
  559.                         run virtualloadoverlay
  560.                     fi
  561.                 fi
  562.             fi
  563.             if test -n ${uboot_wireless}; then
  564.                 if test -n ${disable_uboot_overlay_wireless}; then
  565.                     echo "uboot_overlays: uboot loading of [${uboot_wireless}] disabled by /boot/uEnv.txt [disable_uboot_overlay_wireless=1]..."
  566.                 else
  567.                     setenv uboot_overlay "${uboot_wireless}"
  568.                     run virtualloadoverlay
  569.                 fi
  570.             fi
  571.             if test -n ${uboot_overlay_pru}; then
  572.                 setenv uboot_overlay "${uboot_overlay_pru}"
  573.                 run virtualloadoverlay
  574.             fi
  575.             if test -n ${uboot_overlay_pru_add}; then
  576.                 setenv uboot_overlay "${uboot_overlay_pru_add}"
  577.                 run virtualloadoverlay
  578.             fi
  579.             if test -n ${dtb_overlay}; then
  580.                 setenv uboot_overlay "${dtb_overlay}"
  581.                 echo "uboot_overlays: [dtb_overlay=${uboot_overlay}] ..."
  582.                 run virtualloadoverlay
  583.             fi
  584.         else
  585.             echo "uboot_overlays: add [enable_uboot_overlays=1] to /boot/uEnv.txt to enable..."
  586.         fi
  587.         if test -n ${uboot_detected_capes}; then
  588.             echo "uboot_overlays: [uboot_detected_capes=${uboot_detected_capes_addr0}${uboot_detected_capes_addr1}${uboot_detected_capes_addr2}${uboot_detected_capes_addr3}] ..."
  589.             setenv uboot_detected_capes "uboot_detected_capes=${uboot_detected_capes_addr0}${uboot_detected_capes_addr1}${uboot_detected_capes_addr2}${uboot_detected_capes_addr3}"
  590.         fi
  591.         setenv rdfile "initrd.img-${uname_r}"
  592.         if test -e ${devtype} ${bootpart} ${bootdir}/${rdfile}; then
  593.             echo "loading ${bootdir}/${rdfile} ..."
  594.             run loadrd
  595.             if test -n ${netinstall_enable}; then
  596.                 run args_netinstall
  597.                 run message
  598.                 echo "debug: [${bootargs}] ..."
  599.                 echo "debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ..."
  600.                 bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}
  601.             fi
  602.             if test -n ${uenv_root}; then
  603.                 run args_uenv_root
  604.                 echo "debug: [${bootargs}] ..."
  605.                 echo "debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ..."
  606.                 bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}
  607.             fi
  608.             if test -n ${uuid}; then
  609.                 run args_mmc_uuid
  610.                 echo "debug: [${bootargs}] ..."
  611.                 echo "debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ..."
  612.                 bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}
  613.             fi
  614.             run args_mmc_old
  615.             echo "debug: [${bootargs}] ..."
  616.             echo "debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ..."
  617.             bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}
  618.         else
  619.             if test -n ${uenv_root}; then
  620.                 run args_uenv_root
  621.                 echo "debug: [${bootargs}] ..."
  622.                 echo "debug: [bootz ${loadaddr} - ${fdtaddr}] ..."
  623.                 bootz ${loadaddr} - ${fdtaddr}
  624.             fi
  625.             run args_mmc_old
  626.             echo "debug: [${bootargs}] ..."
  627.             echo "debug: [bootz ${loadaddr} - ${fdtaddr}] ..."
  628.             bootz ${loadaddr} - ${fdtaddr}
  629.         fi
  630.     fi
  631. }
  632. eeprom_dump() {
  633.     i2c dev 0
  634.     i2c md 0x50 0x00.2 20
  635. }
  636. eeprom_blank() {
  637.     i2c dev 0
  638.     i2c mw 0x50 0x00.2 ff
  639.     i2c mw 0x50 0x01.2 ff
  640.     i2c mw 0x50 0x02.2 ff
  641.     i2c mw 0x50 0x03.2 ff
  642.     i2c mw 0x50 0x04.2 ff
  643.     i2c mw 0x50 0x05.2 ff
  644.     i2c mw 0x50 0x06.2 ff
  645.     i2c mw 0x50 0x07.2 ff
  646.     i2c mw 0x50 0x08.2 ff
  647.     i2c mw 0x50 0x09.2 ff
  648.     i2c mw 0x50 0x0a.2 ff
  649.     i2c mw 0x50 0x0b.2 ff
  650.     i2c mw 0x50 0x0c.2 ff
  651.     i2c mw 0x50 0x0d.2 ff
  652.     i2c mw 0x50 0x0e.2 ff
  653.     i2c mw 0x50 0x0f.2 ff
  654.     i2c mw 0x50 0x10.2 ff
  655.     i2c mw 0x50 0x11.2 ff
  656.     i2c mw 0x50 0x12.2 ff
  657.     i2c mw 0x50 0x13.2 ff
  658.     i2c mw 0x50 0x14.2 ff
  659.     i2c mw 0x50 0x15.2 ff
  660.     i2c mw 0x50 0x16.2 ff
  661.     i2c mw 0x50 0x17.2 ff
  662.     i2c mw 0x50 0x18.2 ff
  663.     i2c mw 0x50 0x19.2 ff
  664.     i2c mw 0x50 0x1a.2 ff
  665.     i2c mw 0x50 0x1b.2 ff
  666.     i2c mw 0x50 0x1c.2 ff
  667.     i2c mw 0x50 0x1d.2 ff
  668.     i2c mw 0x50 0x1e.2 ff
  669.     i2c mw 0x50 0x1f.2 ff
  670. }
  671. eeprom_bbb_header() {
  672.     i2c dev 0
  673.     i2c mw 0x50 0x00.2 aa
  674.     i2c mw 0x50 0x01.2 55
  675.     i2c mw 0x50 0x02.2 33
  676.     i2c mw 0x50 0x03.2 ee
  677.     i2c mw 0x50 0x04.2 41
  678.     i2c mw 0x50 0x05.2 33
  679.     i2c mw 0x50 0x06.2 33
  680.     i2c mw 0x50 0x07.2 35
  681.     i2c mw 0x50 0x08.2 42
  682.     i2c mw 0x50 0x09.2 4e
  683.     i2c mw 0x50 0x0a.2 4c
  684.     i2c mw 0x50 0x0b.2 54
  685. }
  686. eeprom_bbbl_footer() {
  687.     i2c mw 0x50 0x0c.2 42
  688.     i2c mw 0x50 0x0d.2 4c
  689.     i2c mw 0x50 0x0e.2 41
  690.     i2c mw 0x50 0x0f.2 32
  691. }
  692. eeprom_bbbw_footer() {
  693.     i2c mw 0x50 0x0c.2 42
  694.     i2c mw 0x50 0x0d.2 57
  695.     i2c mw 0x50 0x0e.2 41
  696.     i2c mw 0x50 0x0f.2 35
  697. }
  698. eeprom_bbgg_footer() {
  699.     i2c mw 0x50 0x0c.2 47
  700.     i2c mw 0x50 0x0d.2 47
  701.     i2c mw 0x50 0x0e.2 31
  702.     i2c mw 0x50 0x0f.2 41
  703. }
  704. eeprom_pocketbeagle() {
  705.     i2c mw 0x50 0x00.2 aa
  706.     i2c mw 0x50 0x01.2 55
  707.     i2c mw 0x50 0x02.2 33
  708.     i2c mw 0x50 0x03.2 ee
  709.     i2c mw 0x50 0x04.2 41
  710.     i2c mw 0x50 0x05.2 33
  711.     i2c mw 0x50 0x06.2 33
  712.     i2c mw 0x50 0x07.2 35
  713.     i2c mw 0x50 0x08.2 50
  714.     i2c mw 0x50 0x09.2 42
  715.     i2c mw 0x50 0x0a.2 47
  716.     i2c mw 0x50 0x0b.2 4c
  717.     i2c mw 0x50 0x0c.2 30
  718.     i2c mw 0x50 0x0d.2 30
  719.     i2c mw 0x50 0x0e.2 41
  720.     i2c mw 0x50 0x0f.2 32
  721. }
  722. eeprom_beaglelogic() {
  723.     i2c mw 0x50 0x00.2 aa
  724.     i2c mw 0x50 0x01.2 55
  725.     i2c mw 0x50 0x02.2 33
  726.     i2c mw 0x50 0x03.2 ee
  727.     i2c mw 0x50 0x04.2 41
  728.     i2c mw 0x50 0x05.2 33
  729.     i2c mw 0x50 0x06.2 33
  730.     i2c mw 0x50 0x07.2 35
  731.     i2c mw 0x50 0x08.2 42
  732.     i2c mw 0x50 0x09.2 4c
  733.     i2c mw 0x50 0x0a.2 47
  734.     i2c mw 0x50 0x0b.2 43
  735.     i2c mw 0x50 0x0c.2 30
  736.     i2c mw 0x50 0x0d.2 30
  737.     i2c mw 0x50 0x0e.2 30
  738.     i2c mw 0x50 0x0f.2 41
  739. }
  740. netloadimage() {
  741.     tftp ${loadaddr} ${bootfile}
  742. }
  743. netloadfdt() {
  744.     tftp ${fdtaddr} ${fdtfile}
  745. }
  746. netargs() {
  747.     setenv bootargs "console=${console} ${optargs} root=/dev/nfs nfsroot=${serverip}:${rootpath},${nfsopts} rw ip=dhcp"
  748. }
  749. netboot() {
  750.     echo "Booting from network ..."
  751.     setenv autoload "no"
  752.     dhcp
  753.     run netloadimage
  754.     run netloadfdt
  755.     run netargs
  756.     bootz ${loadaddr} - ${fdtaddr}
  757. }
  758. mmc_boot() {
  759.     if mmc dev ${devnum}; then
  760.         devtype=mmc
  761.         run scan_dev_for_boot_part
  762.     fi
  763. }
  764. boot_net_usb_start() {
  765.     usb start
  766. }
  767. usb_boot() {
  768.     usb start
  769.     if usb dev ${devnum}; then
  770.         devtype=usb
  771.         run scan_dev_for_boot_part
  772.     fi
  773. }
  774. boot_efi_bootmgr() {
  775.     if fdt addr ${fdt_addr_r}; then
  776.         bootefi bootmgr ${fdt_addr_r}
  777.     else
  778.         bootefi bootmgr
  779.     fi
  780. }
  781. boot_efi_binary() {
  782.     load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} efi/boot/bootarm.efi
  783.     if fdt addr ${fdt_addr_r}; then
  784.         bootefi ${kernel_addr_r} ${fdt_addr_r}
  785.     else
  786.         bootefi ${kernel_addr_r} ${fdtcontroladdr}
  787.     fi
  788. }
  789. load_efi_dtb() {
  790.     load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile}
  791. }
  792. scan_dev_for_efi() {
  793.     setenv efi_fdtfile "${fdtfile}"
  794.     if test -z "${fdtfile}" -a -n "${soc}"; then
  795.         setenv efi_fdtfile "${soc}-${board}${boardver}.dtb"
  796.     fi
  797.     for prefix in ${efi_dtb_prefixes}; do
  798.         if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${efi_fdtfile}; then
  799.             run load_efi_dtb
  800.         fi
  801.     done
  802.     run boot_efi_bootmgr
  803.     if test -e ${devtype} ${devnum}:${distro_bootpart} efi/boot/bootarm.efi; then
  804.         echo "Found EFI removable media binary efi/boot/bootarm.efi"
  805.         run boot_efi_binary
  806.         echo "EFI LOAD FAILED: continuing..."
  807.     fi
  808.     setenv efi_fdtfile
  809. }
  810. boot_extlinux() {
  811.     sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}${boot_syslinux_conf}
  812. }
  813. scan_dev_for_extlinux() {
  814.     if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${boot_syslinux_conf}; then
  815.         echo "Found ${prefix}${boot_syslinux_conf}"
  816.         run boot_extlinux
  817.         echo "SCRIPT FAILED: continuing..."
  818.     fi
  819. }
  820. boot_a_script() {
  821.     load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}
  822.     source ${scriptaddr}
  823. }
  824. scan_dev_for_scripts() {
  825.     for script in ${boot_scripts}; do
  826.         if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then
  827.             echo "Found U-Boot script ${prefix}${script}"
  828.             run boot_a_script
  829.             echo "SCRIPT FAILED: continuing..."
  830.         fi
  831.     done
  832. }
  833. scan_dev_for_boot() {
  834.     echo "Scanning ${devtype} ${devnum}:${distro_bootpart}..."
  835.     for prefix in ${boot_prefixes}; do
  836.         run scan_dev_for_extlinux
  837.         run scan_dev_for_scripts
  838.     done
  839.     run scan_dev_for_efi
  840. }
  841. scan_dev_for_boot_part() {
  842.     part list ${devtype} ${devnum} -bootable devplist
  843.     env exists devplist || setenv devplist 1
  844.     for distro_bootpart in ${devplist}; do
  845.         if fstype ${devtype} ${devnum}:${distro_bootpart} bootfstype; then
  846.             run scan_dev_for_boot
  847.         fi
  848.     done
  849.     setenv devplist
  850. }
  851. bootcmd_mmc0() {
  852.     devnum=0
  853.     run mmc_boot
  854. }
  855. bootcmd_legacy_mmc0() {
  856.     gpio clear 56
  857.     gpio clear 55
  858.     gpio clear 54
  859.     gpio set 53
  860.     setenv devtype "mmc"
  861.     setenv mmcdev "0"
  862.     setenv bootpart "0:1"
  863.     run boot
  864. }
  865. bootcmd_mmc1() {
  866.     devnum=1
  867.     run mmc_boot
  868. }
  869. bootcmd_legacy_mmc1() {
  870.     gpio clear 56
  871.     gpio clear 55
  872.     gpio clear 54
  873.     gpio set 53
  874.     setenv devtype "mmc"
  875.     setenv mmcdev "1"
  876.     setenv bootpart "1:1"
  877.     run boot
  878. }
  879. bootcmd_usb0() {
  880.     devnum=0
  881.     run usb_boot
  882. }
  883. bootcmd_pxe() {
  884.     run boot_net_usb_start
  885.     dhcp
  886.     if pxe get; then
  887.         pxe boot
  888.     fi
  889. }
  890. bootcmd_dhcp() {
  891.     devtype=dhcp
  892.     run boot_net_usb_start
  893.     if dhcp ${scriptaddr} ${boot_script_dhcp}; then
  894.         source ${scriptaddr}
  895.     fi
  896.     setenv efi_fdtfile "${fdtfile}"
  897.     if test -z "${fdtfile}" -a -n "${soc}"; then
  898.         setenv efi_fdtfile "${soc}-${board}${boardver}.dtb"
  899.     fi
  900.     setenv efi_old_vci "${bootp_vci}"
  901.     setenv efi_old_arch "${bootp_arch}"
  902.     setenv bootp_vci "PXEClient:Arch:00010:UNDI:003000"
  903.     setenv bootp_arch "0xa"
  904.     if dhcp ${kernel_addr_r}; then
  905.         tftpboot ${fdt_addr_r} dtb/${efi_fdtfile}
  906.         if fdt addr ${fdt_addr_r}; then
  907.             bootefi ${kernel_addr_r} ${fdt_addr_r}
  908.         else
  909.             bootefi ${kernel_addr_r} ${fdtcontroladdr}
  910.         fi
  911.     fi
  912.     setenv bootp_vci "${efi_old_vci}"
  913.     setenv bootp_arch "${efi_old_arch}"
  914.     setenv efi_fdtfile
  915.     setenv efi_old_arch
  916.     setenv efi_old_vci
  917. }
  918. distro_bootcmd() {
  919.     for target in ${boot_targets}; do
  920.         run bootcmd_${target}
  921.     done
  922. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement