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