[Beaglebone Black] u-boot does not seem to read uEnv.txt

10 views
Skip to first unread message

Erwin Schaefer

unread,
Feb 12, 2018, 4:49:40 PM2/12/18
to BeagleBoard
Hello,

I am upgrading an embedded platform that uses a Beaglebone black with the Angstrom distribution (kernel 3.8.13). This system uses spidev (as a SPI1 device)

I am using the stable branch of the linux kernel (4.9.79). I am following the instructions from http://www.jumpnowtek.com/ to have a working system on the eMMC (using a microSD with an "installer-image")

I can boot correctly and have a functional operating system. However, although I specified the "bbb-spi1-spidev.dtb" as fdtfile in uEnv, I noticed that the spidev device is not created.

Looking more closely at the boot messages with a FTDI cable, I get the following:

---

U-Boot SPL 2017.09 (Feb 12 2018 - 19:59:16)
Trying to boot from MMC2
reading u-boot.img
reading u-boot.img


U-Boot 2017.09 (Feb 12 2018 - 19:59:16 +0100)

CPU  : AM335X-GP rev 2.1
I2C:   ready
DRAM:  512 MiB
No match for driver 'omap_hsmmc'
No match for driver 'omap_hsmmc'
Some drivers were not found
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
Net:   cpsw, usb_ether
Press SPACE to abort autoboot in 2 seconds
Card did not respond to voltage select!
mmc_init: -95, time 12
Card did not respond to voltage select!
mmc_init: -95, time 13
Card did not respond to voltage select!
mmc_init: -95, time 12
Card did not respond to voltage select!
mmc_init: -95, time 12
Card did not respond to voltage select!
mmc_init: -95, time 12
switch to partitions #0, OK
mmc1(part 0) is current device
Scanning mmc 1:1...
switch to partitions #0, OK
mmc1(part 0) is current device
SD/MMC found on device 1
4098776 bytes read in 282 ms (13.9 MiB/s)
35090 bytes read in 31 ms (1.1 MiB/s)
## Flattened Device Tree blob at 88000000
  Booting using the fdt blob at 0x88000000
  Loading Device Tree to 8fff4000, end 8ffff911 ... OK

Starting kernel ...

---

As we can see, there's no mention of a uEnv.txt file being read. So I suspect u-boot uses a default configuration (somehow related to am335x-boneblack.dtb)
For the record, here's my uEnv.txt file. It's similar to the "emmc-uEnv.txt" example file provided in the scripts, except with the desired fdtfile.

---

rootpart=1:2
flagpart=1:5
bootdir=/boot
bootfile=zImage
console=ttyO0,115200n8
fdtaddr=0x88000000
fdtfile=bbb-spi1-spidev.dtb
loadaddr=0x82000000
mmcroot=/dev/mmcblk1p2 ro
mmcrootfstype=ext4 rootwait
optargs=consoleblank=0
mmcargs=setenv bootargs console=${console} root=${mmcroot} rootfstype=${mmcrootfstype} ${optargs}
loadfdt=load mmc ${rootpart} ${fdtaddr} ${bootdir}/${fdtfile}
loadimage=load mmc ${rootpart} ${loadaddr} ${bootdir}/${bootfile}
boot_three=setenv rootpart 1:3; setenv mmcroot /dev/mmcblk1p3
findroot=\
   if test -e mmc ${flagpart} three; then \
       if test -e mmc ${flagpart} three_ok; then \
           run boot_three; \
       elif test ! -e mmc ${flagpart} three_tried; then \
           fatwrite mmc ${flagpart} ${loadaddr} three_tried 4; \
           run boot_three; \
       fi; \
   elif test -e mmc ${flagpart} two; then \
       if test ! -e mmc ${flagpart} two_ok; then \
           if test -e mmc ${flagpart} two_tried; then \
               run boot_three; \
           else \
               fatwrite mmc ${flagpart} ${loadaddr} two_tried 4; \
           fi; \
       fi; \
   fi;
uenvcmd=\
   run findroot; \
   echo Using root partition ${rootpart}; \
   if run loadfdt; then \
       echo Loaded ${fdtfile}; \
       if run loadimage; then \
           run mmcargs; \
           bootz ${loadaddr} - ${fdtaddr}; \
       fi; \
   fi;

---

Did someone run into this problem? I would gladly appreciate any help or suggestion.

Thanks in advance,

Erwin Schaefer
Reply all
Reply to author
Forward
0 new messages