Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bootcmd() {
- # ...
- run findfdt
- run init_console
- # ...
- run distro_bootcmd
- }
- findfdt() {
- echo board_name=[$board_name] ...
- if test $board_name = A335BLGC; then
- setenv fdtfile am335x-beaglelogic.dtb
- fi
- if test $board_name = A335BONE; then
- setenv fdtfile am335x-bone.dtb
- fi
- if test $board_name = A335BNLT; then
- echo board_rev=[$board_rev] ...
- if test $board_rev = GH01; then
- setenv fdtfile am335x-boneblack.dtb
- elif test $board_rev = BBG1; then
- setenv fdtfile am335x-bonegreen.dtb
- elif test $board_rev = BP00; then
- setenv fdtfile am335x-pocketbone.dtb
- elif test $board_rev = GW1A; then
- setenv fdtfile am335x-bonegreen-wireless.dtb
- elif test $board_rev = GG1A; then
- setenv fdtfile am335x-bonegreen-gateway.dtb
- elif test $board_rev = AIA0; then
- setenv fdtfile am335x-abbbi.dtb
- elif test $board_rev = EIA0; then
- setenv fdtfile am335x-boneblack.dtb
- elif test $board_rev = ME06; then
- setenv fdtfile am335x-bonegreen.dtb
- elif test $board_rev = OS00; then
- setenv fdtfile am335x-osd3358-sm-red.dtb
- else
- setenv fdtfile am335x-boneblack.dtb
- fi
- fi
- if test $board_name = A335PBGL; then
- setenv fdtfile am335x-pocketbeagle.dtb
- fi
- if test $board_name = BBBW; then
- setenv fdtfile am335x-boneblack-wireless.dtb
- fi
- if test $board_name = BBG1; then
- setenv fdtfile am335x-bonegreen.dtb
- fi
- if test $board_name = BBGW; then
- setenv fdtfile am335x-bonegreen-wireless.dtb
- fi
- if test $board_name = BBGG; then
- setenv fdtfile am335x-bonegreen-gateway.dtb
- fi
- if test $board_name = BBBL; then
- setenv fdtfile am335x-boneblue.dtb
- fi
- if test $board_name = BBEN; then
- setenv fdtfile am335x-sancloud-bbe.dtb
- fi
- if test $board_name = OS00; then
- setenv fdtfile am335x-osd3358-sm-red.dtb
- fi
- if test $board_name = A33515BB; then
- setenv fdtfile am335x-evm.dtb
- fi
- if test $board_name = A335X_SK; then
- setenv fdtfile am335x-evmsk.dtb
- fi
- if test $board_name = A335_ICE; then
- setenv fdtfile am335x-icev2.dtb
- fi
- if test $fdtfile = undefined; then
- setenv board_name A335BNLT
- setenv board_rev EMMC
- setenv fdtfile am335x-bonegreen.dtb
- fi
- }
- init_console() {
- if test $board_name = A335_ICE; then
- setenv console ttyO3,115200n8
- elif test $board_name = A335BLGC; then
- setenv console ttyO4,115200n8
- else
- setenv console ttyO0,115200n8
- fi
- }
- boot_targets=... legacy_mmc0 ... legacy_mmc1 ...
- distro_bootcmd() {
- for target in ${boot_targets}; do
- run bootcmd_${target}
- done
- }
- bootcmd_legacy_mmc0() {
- gpio clear 56
- gpio clear 55
- gpio clear 54
- gpio set 53
- setenv devtype mmc
- setenv mmcdev 0
- setenv bootpart 0:1
- run boot
- }
- bootcmd_legacy_mmc1() {
- gpio clear 56
- gpio clear 55
- gpio clear 54
- gpio set 53
- setenv devtype mmc
- setenv mmcdev 1
- setenv bootpart 1:1
- run boot
- }
- boot() {
- ${devtype} dev ${mmcdev}
- if ${devtype} rescan; then
- gpio set 54
- setenv bootpart ${mmcdev}:1
- if test -e ${devtype} ${bootpart} /etc/fstab; then
- setenv mmcpart 1
- fi
- echo Checking for: /uEnv.txt ...
- # ...
- echo Checking for: /${script} ...
- # ...
- echo Checking for: /boot/${script} ...
- # ...
- echo Checking for: /boot/uEnv.txt ...
- for i in 1 2 3 4 5 6 7 ; do
- setenv mmcpart ${i}
- setenv bootpart ${mmcdev}:${mmcpart}
- if test -e ${devtype} ${bootpart} /boot/uEnv.txt; then
- gpio set 55
- load ${devtype} ${bootpart} ${loadaddr} /boot/uEnv.txt
- env import -t ${loadaddr} ${filesize}
- echo Loaded environment from /boot/uEnv.txt
- if test -n ${dtb}; then
- echo debug: [dtb=${dtb}] ...
- setenv fdtfile ${dtb}
- echo Using: dtb=${fdtfile} ...
- fi
- echo Checking if uname_r is set in /boot/uEnv.txt...
- if test -n ${uname_r}; then
- gpio set 56
- setenv oldroot /dev/mmcblk${mmcdev}p${mmcpart}
- echo Running uname_boot ...
- run uname_boot
- fi
- fi
- done
- fi
- }
- uname_boot() {
- setenv bootdir /boot
- setenv bootfile vmlinuz-${uname_r}
- if test -e ${devtype} ${bootpart} ${bootdir}/${bootfile}; then
- echo loading ${bootdir}/${bootfile} ...
- run loadimage
- setenv fdtdir /boot/dtbs/${uname_r}
- echo debug: [enable_uboot_overlays=${enable_uboot_overlays}] ...
- if test -n ${enable_uboot_overlays}; then
- echo debug: [enable_uboot_cape_universal=${enable_uboot_cape_universal}] ...
- if test -n ${enable_uboot_cape_universal}; then
- echo debug: [uboot_base_dtb_univ=${uboot_base_dtb_univ}] ...
- if test -n ${uboot_base_dtb_univ}; then
- echo uboot_overlays: [uboot_base_dtb=${uboot_base_dtb_univ}] ...
- if test -e ${devtype} ${bootpart} ${fdtdir}/${uboot_base_dtb_univ}; then
- setenv fdtfile ${uboot_base_dtb_univ}
- echo uboot_overlays: Switching too: dtb=${fdtfile} ...
- if test -n ${uboot_try_cape_universal}; then
- env delete -f uboot_try_cape_universal
- fi
- setenv cape_uboot bone_capemgr.uboot_capemgr_enabled=1
- else
- echo debug: unable to find [${uboot_base_dtb_univ}] using [${uboot_base_dtb}] instead ...
- echo debug: [uboot_base_dtb_univ=${uboot_base_dtb}] ...
- if test -n ${uboot_base_dtb}; then
- echo uboot_overlays: [uboot_base_dtb=${uboot_base_dtb}] ...
- if test -e ${devtype} ${bootpart} ${fdtdir}/${uboot_base_dtb}; then
- setenv fdtfile ${uboot_base_dtb}
- echo uboot_overlays: Switching too: dtb=${fdtfile} ...
- fi
- fi
- fi
- fi
- else
- echo debug: [uboot_base_dtb_univ=${uboot_base_dtb}] ...
- if test -n ${uboot_base_dtb}; then
- echo uboot_overlays: [uboot_base_dtb=${uboot_base_dtb}] ...
- if test -e ${devtype} ${bootpart} ${fdtdir}/${uboot_base_dtb}; then
- setenv fdtfile ${uboot_base_dtb}
- echo uboot_overlays: Switching too: dtb=${fdtfile} ...
- fi
- fi
- fi
- fi
- if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then
- run loadfdt
- else
- setenv fdtdir /usr/lib/linux-image-${uname_r}
- if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then
- run loadfdt
- else
- setenv fdtdir /lib/firmware/${uname_r}/device-tree
- if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then
- run loadfdt
- else
- setenv fdtdir /boot/dtb-${uname_r}
- if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then
- run loadfdt
- else
- setenv fdtdir /boot/dtbs
- if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then
- run loadfdt
- else
- setenv fdtdir /boot/dtb
- if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then
- run loadfdt
- else
- setenv fdtdir /boot
- if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then
- run loadfdt
- else
- if test -e ${devtype} ${bootpart} ${fdtfile}; then
- run loadfdt
- else
- echo
- echo unable to find [dtb=${fdtfile}] did you name it correctly? ...
- run failumsboot
- fi
- fi
- fi
- fi
- fi
- fi
- fi
- fi
- if test -n ${enable_uboot_overlays}; then
- setenv fdt_buffer 0x60000
- if test -n ${uboot_fdt_buffer}; then
- setenv fdt_buffer ${uboot_fdt_buffer}
- fi
- echo uboot_overlays: [fdt_buffer=${fdt_buffer}] ...
- if test -n ${uboot_silicon}; then
- setenv uboot_overlay ${uboot_silicon}
- run virtualloadoverlay
- fi
- if test -n ${uboot_model}; then
- setenv uboot_overlay ${uboot_model}
- run virtualloadoverlay
- fi
- if test -n ${disable_uboot_overlay_adc}; then
- echo uboot_overlays: uboot loading of [/lib/firmware/BB-ADC-00A0.dtbo] disabled by /boot/uEnv.txt [disable_uboot_overlay_adc=1]...
- else
- setenv uboot_overlay /lib/firmware/BB-ADC-00A0.dtbo
- run virtualloadoverlay
- fi
- if test -n ${uboot_overlay_addr0}; then
- if test -n ${disable_uboot_overlay_addr0}; then
- echo uboot_overlays: uboot loading of [${uboot_overlay_addr0}] disabled by /boot/uEnv.txt [disable_uboot_overlay_addr0=1]...
- else
- setenv uboot_overlay ${uboot_overlay_addr0}
- run capeloadoverlay
- fi
- fi
- if test -n ${uboot_overlay_addr1}; then
- if test -n ${disable_uboot_overlay_addr1}; then
- echo uboot_overlays: uboot loading of [${uboot_overlay_addr1}] disabled by /boot/uEnv.txt [disable_uboot_overlay_addr1=1]...
- else
- setenv uboot_overlay ${uboot_overlay_addr1}
- run capeloadoverlay
- fi
- fi
- if test -n ${uboot_overlay_addr2}; then
- if test -n ${disable_uboot_overlay_addr2}; then
- echo uboot_overlays: uboot loading of [${uboot_overlay_addr2}] disabled by /boot/uEnv.txt [disable_uboot_overlay_addr2=1]...
- else
- setenv uboot_overlay ${uboot_overlay_addr2}
- run capeloadoverlay
- fi
- fi
- if test -n ${uboot_overlay_addr3}; then
- if test -n ${disable_uboot_overlay_addr3}; then
- echo uboot_overlays: uboot loading of [${uboot_overlay_addr3}] disabled by /boot/uEnv.txt [disable_uboot_overlay_addr3=1]...
- else
- setenv uboot_overlay ${uboot_overlay_addr3}
- run capeloadoverlay
- fi
- fi
- if test -n ${uboot_overlay_addr4}; then
- setenv uboot_overlay ${uboot_overlay_addr4}
- run capeloadoverlay
- fi
- if test -n ${uboot_overlay_addr5}; then
- setenv uboot_overlay ${uboot_overlay_addr5}
- run capeloadoverlay
- fi
- if test -n ${uboot_overlay_addr6}; then
- setenv uboot_overlay ${uboot_overlay_addr6}
- run capeloadoverlay
- fi
- if test -n ${uboot_overlay_addr7}; then
- setenv uboot_overlay ${uboot_overlay_addr7}
- run capeloadoverlay
- fi
- if test -n ${uboot_emmc}; then
- if test -n ${disable_uboot_overlay_emmc}; then
- echo uboot_overlays: uboot loading of [${uboot_emmc}] disabled by /boot/uEnv.txt [disable_uboot_overlay_emmc=1]...
- else
- setenv uboot_overlay ${uboot_emmc}
- run virtualloadoverlay
- fi
- fi
- if test -n ${uboot_video}; then
- if test -n ${disable_uboot_overlay_video}; then
- echo uboot_overlays: uboot loading of [${uboot_video}] disabled by /boot/uEnv.txt [disable_uboot_overlay_video=1]...
- else
- if test -n ${disable_uboot_overlay_audio}; then
- echo uboot_overlays: uboot loading of [${uboot_video}] disabled by /boot/uEnv.txt [disable_uboot_overlay_audio=1]...
- setenv uboot_overlay ${uboot_video_naudio}
- run virtualloadoverlay
- else
- setenv uboot_overlay ${uboot_video}
- run virtualloadoverlay
- fi
- fi
- fi
- if test -n ${uboot_wireless}; then
- if test -n ${disable_uboot_overlay_wireless}; then
- echo uboot_overlays: uboot loading of [${uboot_wireless}] disabled by /boot/uEnv.txt [disable_uboot_overlay_wireless=1]...
- else
- setenv uboot_overlay ${uboot_wireless}
- run virtualloadoverlay
- fi
- fi
- if test -n ${uboot_overlay_pru}; then
- setenv uboot_overlay ${uboot_overlay_pru}
- run virtualloadoverlay
- fi
- if test -n ${uboot_overlay_pru_add}; then
- setenv uboot_overlay ${uboot_overlay_pru_add}
- run virtualloadoverlay
- fi
- if test -n ${dtb_overlay}; then
- setenv uboot_overlay ${dtb_overlay}
- echo uboot_overlays: [dtb_overlay=${uboot_overlay}] ...
- run capeloadoverlay
- fi
- if test -n ${uboot_detected_capes}; then
- echo uboot_overlays: [uboot_detected_capes=${uboot_detected_capes_addr0}${uboot_detected_capes_addr1}${uboot_detected_capes_addr2}${uboot_detected_capes_addr3}] ...
- setenv uboot_detected_capes uboot_detected_capes=${uboot_detected_capes_addr0}${uboot_detected_capes_addr1}${uboot_detected_capes_addr2}${uboot_detected_capes_addr3}
- fi
- if test -n ${uboot_try_cape_universal}; then
- if test -n ${enable_uboot_cape_universal}; then
- if test -n ${cape_uboot}; then
- echo uboot_overlays: cape universal disabled, external cape enabled or detected...
- else
- if test -n ${uboot_cape_universal_bbb}; then
- if test -n ${disable_uboot_overlay_emmc}; then
- if test -n ${disable_uboot_overlay_video}; then
- setenv uboot_overlay /lib/firmware/univ-bbb-xxx-00A0.dtbo
- else
- if test -n ${disable_uboot_overlay_audio}; then
- setenv uboot_overlay /lib/firmware/univ-bbb-xVx-00A0.dtbo
- else
- setenv uboot_overlay /lib/firmware/univ-bbb-xVA-00A0.dtbo
- fi
- fi
- else
- if test -n ${disable_uboot_overlay_video}; then
- setenv uboot_overlay /lib/firmware/univ-bbb-Exx-00A0.dtbo
- else
- if test -n ${disable_uboot_overlay_audio}; then
- setenv uboot_overlay /lib/firmware/univ-bbb-EVx-00A0.dtbo
- else
- setenv uboot_overlay /lib/firmware/univ-bbb-EVA-00A0.dtbo
- fi
- fi
- fi
- run capeloadoverlay
- fi
- if test -n ${uboot_cape_universal_bbg}; then
- if test -n ${disable_uboot_overlay_emmc}; then
- setenv uboot_overlay /lib/firmware/univ-bbb-xxx-00A0.dtbo
- else
- setenv uboot_overlay /lib/firmware/univ-bbb-Exx-00A0.dtbo
- fi
- run capeloadoverlay
- fi
- if test -n ${uboot_cape_universal_bbgw}; then
- if test -n ${disable_uboot_overlay_emmc}; then
- if test -n ${disable_uboot_overlay_wireless}; then
- setenv uboot_overlay /lib/firmware/univ-bbgw-xx-00A0.dtbo
- else
- setenv uboot_overlay /lib/firmware/univ-bbgw-xW-00A0.dtbo
- fi
- else
- if test -n ${disable_uboot_overlay_wireless}; then
- setenv uboot_overlay /lib/firmware/univ-bbgw-Ex-00A0.dtbo
- else
- setenv uboot_overlay /lib/firmware/univ-bbgw-EW-00A0.dtbo
- fi
- fi
- run capeloadoverlay
- fi
- fi
- else
- echo uboot_overlays: add [enable_uboot_cape_universal=1] to /boot/uEnv.txt to enable...
- fi
- fi
- else
- echo uboot_overlays: add [enable_uboot_overlays=1] to /boot/uEnv.txt to enable...
- fi
- setenv rdfile initrd.img-${uname_r}
- if test -e ${devtype} ${bootpart} ${bootdir}/${rdfile}; then
- echo loading ${bootdir}/${rdfile} ...
- run loadrd
- # ...
- run args_mmc_old
- echo debug: [${bootargs}] ...
- echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ...
- bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}
- else
- # ...
- run args_mmc_old
- echo debug: [${bootargs}] ...
- echo debug: [bootz ${loadaddr} - ${fdtaddr}] ...
- bootz ${loadaddr} - ${fdtaddr}
- fi
- fi
- }
- loadimage() {
- load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile};
- }
- loadfdt() {
- echo loading ${fdtdir}/${fdtfile} ...
- load ${devtype} ${bootpart} ${fdtaddr} ${fdtdir}/${fdtfile}
- }
- loadrd() {
- load ${devtype} ${bootpart} ${rdaddr} ${bootdir}/${rdfile}
- setenv rdsize ${filesize}
- }
- virtualloadoverlay() {
- if test -e ${devtype} ${bootpart} ${uboot_overlay}; then
- run loadoverlay
- else
- echo uboot_overlays: unable to find [${devtype} ${bootpart} ${uboot_overlay}]...
- fi
- }
- capeloadoverlay() {
- if test -e ${devtype} ${bootpart} ${uboot_overlay}; then
- run loadoverlay
- setenv cape_uboot bone_capemgr.uboot_capemgr_enabled=1
- else
- echo uboot_overlays: unable to find [${devtype} ${bootpart} ${uboot_overlay}]...
- fi
- }
- loadoverlay() {
- echo uboot_overlays: loading ${uboot_overlay} ...
- load ${devtype} ${bootpart} ${rdaddr} ${uboot_overlay}
- fdt addr ${fdtaddr}
- fdt resize ${fdt_buffer}
- fdt apply ${rdaddr}
- fdt resize ${fdt_buffer}
- }
- args_mmc_old() {
- setenv bootargs console=${console} ${optargs} ${cape_disable} ${cape_enable} ${cape_uboot} root=${oldroot} ro rootfstype=${mmcrootfstype} ${uboot_detected_capes} ${cmdline}
- }
Advertisement
Add Comment
Please, Sign In to add comment