Other Parts Discussed in Thread: AM4372
Hi,
We have a custom board based off the general purpose evaluation module for the am4372. We have a working image using the v4.03.00.05 of the SDK.Here is the example boot output.
U-Boot SPL 2017.01-00319-g33a324a-dirty (Jun 28 2018 - 09:47:14) Trying to boot from MMC1 SPL: Please implement spl_start_uboot() for your board SPL: Direct Linux boot not active! reading u-boot.img reading u-boot.img reading u-boot.img reading u-boot.img U-Boot 2017.01-00319-g33a324a-dirty (Jun 28 2018 - 09:47:14 -0700) CPU : AM437X-GP rev 1.2 Model: TI AM437x GP EVM DRAM: 2 GiB PMIC: TPS65218 NAND: 0 MiB MMC: OMAP SD/MMC: 0 reading uboot.env ** Unable to read "uboot.env" from mmc0:1 ** Using default environment Net: <ethaddr> not set. Validating first E-fuse MAC Could not get PHY for cpsw: addr 0 cpsw, usb_ether Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc0 is current device SD/MMC found on device 0 reading boot.scr ** Unable to read file boot.scr ** reading uEnv.txt ** Unable to read file uEnv.txt ** switch to partitions #0, OK mmc0 is current device SD/MMC found on device 0 3642680 bytes read in 762 ms (4.6 MiB/s) 49338 bytes read in 58 ms (830.1 KiB/s) ## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Device Tree to 8fff0000, end 8ffff0b9 ... OK Starting kernel ...
We recently tried to upgrade to v8.02.00.24 because we need support for a new ethernet PHY. We are experience strange results when u-boot starts. Using an FDTI cable we can see the boot output and it appears u-boot is not always making it as far through the startup process. Using the same image if I reboot several times I can see u-boot make it to different places in the startup sequence. Only once was I able to get to a u-boot prompt after dozens of reboots. We have added lots of print statements and it is a roll of the dice if the print statement is printed from boot to boot.
*************** Boot 1 ************************* U-Boot SPL nw 2021.01-00001-g6048603-dirty (Oct 10 2022 - 16:22:20 -0400) SPL: nw boot_from_devices Trying to boot from MMC1 SPL: Please implement spl_start_uboot() for your board SPL: Direct Linux boot not active! SPL: nw load success SPL: jump_to_image_no_args U-Boot 2021.01-00001-g6048603-dirty NW (Oct 10 2022 - 16:22:20 -0400) CPU : AM437X-GP rev 1.2 Model: TI AM437x GP EVM DRAM: After dram 2 GiB *************** Boot 2 ************************* U-Boot SPL nw 2021.01-00001-g6048603-dirty (Oct 10 2022 - 16:22:20 -0400) SPL: nw boot_from_devices Trying to boot from MMC1 SPL: Please implement spl_start_uboot() for your board SPL: Direct Linux boot not active! SPL: nw load success SPL: jump_to_image_no_args ▒ *************** Boot 3 ************************* U-Boot SPL nw 2021.01-00001-g6048603-dirty (Oct 10 2022 - 16:22:20 -0400) SPL: nw boot_from_devices Trying to boot from MMC1 SPL: Please implement spl_start_uboot() for your board SPL: Direct Linux boot not active! SPL: nw load success SPL: jump_to_image_no_args U-Boot 2021.01-00001-g6048603-dirty NW (Oct 10 2022 - 16:22:20 -0400) CPU : AM437X-GP rev 1.2 Model: TI AM437x GP EVM DRAM: After dram 2 GiB Some drivers failed to bind Error binding driver 'simple_bus': -34387168 Some drivers failed to bind Error binding driver 'simple_bus': -34387168
In v4.03.00.05 of the SDK we had to modify about 12 files to customize it to our board. We merged those changes into our v8.02.00.24 of the SDK as best we could. At a high level they were...
- Updated RAM timings
- Short circuited board detect to always return the same value
- Changed the PMIC to I2C bus 1 from bus 0
Are there any large changes between the two different versions of the SDK which we may need to pay special attention to? Are there any tools which may help us debug what is happening with u-boot? Currently we are debugging with lots of "puts()" entries to see how far through u-boot we are getting.
Thanks,
Tim