Booting fails in early stages

Hey, all. I’m a student from the Portland State Aerospace Society supporting a custom board based around the OSD3358-1G. Currently, we’re using the EEPROM for bootstrings, but after updating the bootstring on my current board, it no longer even gets the u-boot (no serial output) console. I’m looking for different things to try, since I’m in disaster recovery mode. So far, I’ve tried

  • patching u-boot to ignore the bootstring
  • using an official beagle board u-boot

I’m gonna try writing the EEPROM with an USB-I2C adapter.

Really looking for anyway to prove that the chip isn’t electrically dead.

I should mention that I’m running u-boot from a uSD card.

Cullen,

First thing to check is whether the device is alive, meaning are all power rails are OK. See https://octavosystems.com/app_notes/osd335x-sm-power-application-note/ for details of power rails, their voltages and sequencing.

If you have UART in your boot chain (you will if you used the boot mode settings from reference designs), you can remove the SD card and let the board power up. In this case, you should see ‘CCCC’ being printed on UART0 interface. This will tell you that the device is alive and is waiting for a valid boot method.

Hard coding the board ID in u-boot like:

static inline int board_is_bone_lt(void)
{
//      return board_ti_is("A335BNLT");  -- Hard code board ID to BeagleBone Black
        return 1;
}

should fix any issue you are having with booting the board.

You could also try section 6.2 of the EEPROM application note: https://octavosystems.com/app_notes/osd335x-eeprom-during-boot/

Please let me know if you have more questions.

Best,
Neeraj