Modify EEPROM on PocketBeagle through uBoot

347 views
Skip to first unread message

Jesse Abella

unread,
May 18, 2018, 2:18:46 PM5/18/18
to BeagleBoard
Is it possible to modify the contents of the embeddedd eeprom on the pocketbeagle? When I get into uBoot I issue the command:
=> i2c md 0x50 00.2 0x20
0000: aa 55 33 ee 41 33 33 35 50 42 47 4c 30 30 41 32    .U3.A335PBGL00A2
0010: 31 37 34 34 47 50 42 31 31 35 39 38 ff ff ff ff             1744GPB11598....

which shows the header uboot checks for when going through the boot process. If I wanted to modify this header through i2c commands in uboot is it possible? I try issuing => i2c mw 0x50 00.2 0xbb to change the first two bytes of the eeprom but when I read it back the original data is shown. Thanks

Robert Nelson

unread,
May 18, 2018, 2:21:34 PM5/18/18
to Beagle Board, j.abel...@gmail.com
GND the write-protect...

Regards,

--
Robert Nelson
https://rcn-ee.com/

Jesse Abella

unread,
May 21, 2018, 4:04:38 PM5/21/18
to BeagleBoard
Thanks for the reply. I was trying to match a custom board eeprom with that of the pocket beagle to avoid having to bypass the eeprom in uboot but it turns out we didnt bring out the eeprom wp pin so we're unable to ground it. I attmepted to use the uboot patch you created for bypassing eeprom (https://raw.githubusercontent.com/RobertCNelson/Bootloader-Builder/master/patches/v2018.03-rc1/0002-NFM-Production-eeprom-assume-device-is-BeagleBone-Bl.patch) but booting this always errors out when trying to start the kernel, here is the boot log:

U-Boot 2018.01-dirty (May 18 2018 - 17:23:40 -0400)

 

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

Reset Source: Power-on reset has occurred.

MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1

Using default environment

 

<ethaddr> not set. Validating first E-fuse MAC

BeagleBone: cape eeprom: i2c_probe: 0x54:

BeagleBone: cape eeprom: i2c_probe: 0x55:

BeagleBone: cape eeprom: i2c_probe: 0x56:

BeagleBone: cape eeprom: i2c_probe: 0x57:

Net:   eth0: RGMII MODE

Could not get PHY for cpsw: addr 0

cpsw, usb_ether

Press SPACE to abort autoboot in 2 seconds

board_name=[A335BLNK] ...

Card did not respond to voltage select!

mmc_init: -95, time 13

** Bad device mmc 0 **

Card did not respond to voltage select!

mmc_init: -95, time 13

Card did not respond to voltage select!

mmc_init: -95, time 13

Card did not respond to voltage select!

mmc_init: -95, time 13

gpio: pin 56 (gpio 56) value is 0

gpio: pin 55 (gpio 55) value is 0

gpio: pin 54 (gpio 54) value is 0

gpio: pin 53 (gpio 53) value is 1

Card did not respond to voltage select!

mmc_init: -95, time 13

Card did not respond to voltage select!

mmc_init: -95, time 13

switch to partitions #0, OK

mmc1 is current device

Scanning mmc 1:1...

gpio: pin 56 (gpio 56) value is 0

gpio: pin 55 (gpio 55) value is 0

gpio: pin 54 (gpio 54) value is 0

gpio: pin 53 (gpio 53) value is 1

switch to partitions #0, OK

mmc1 is current device

gpio: pin 54 (gpio 54) value is 1

Checking for: /uEnv.txt ...

Checking for: /boot.scr ...

Checking for: /boot/boot.scr ...

Checking for: /boot/uEnv.txt ...

gpio: pin 55 (gpio 55) value is 1

2964 bytes read in 26 ms (111.3 KiB/s)

Loaded environment from /boot/uEnv.txt

debug: [dtb=am335x-pocketbeagle.dtb] ...

Using: dtb=am335x-pocketbeagle.dtb ...

Checking if uname_r is set in /boot/uEnv.txt...

gpio: pin 56 (gpio 56) value is 1

Running uname_boot ...

loading /boot/vmlinuz-4.4.91-ti-r141 ...

8938752 bytes read in 750 ms (11.4 MiB/s)

loading /boot/dtbs/4.4.91-ti-r141/am335x-pocketbeagle.dtb ...

128789 bytes read in 53 ms (2.3 MiB/s)

uboot_overlays: [fdt_buffer=0x60000] ...

uboot_overlays: loading /lib/firmware/AM335X-PRU-RPROC-4-4-TI-00A0.dtbo ...

2402 bytes read in 265 ms (8.8 KiB/s)

loading /boot/initrd.img-4.4.91-ti-r141 ...

5368382 bytes read in 456 ms (11.2 MiB/s)

debug: [console=ttyO0,115200n8 root=/dev/mmcblk1p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 quiet] ...

debug: [bootz 0x82000000 0x88080000:51ea3e 88000000] ...

## Flattened Device Tree blob at 88000000

   Booting using the fdt blob at 0x88000000

   reserving fdt memory region: addr=88000000 size=80000

   Using Device Tree in place at 88000000, end 88082fff

 

Starting kernel ...

 

[    0.003003] clocksource_probe: no matching clocksources found

[    2.596533] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle

[    2.817697] omap_voltage_late_init: Voltage driver support not added

[    2.827108] PM: Cannot get wkup_m3_ipc handle

Loading, please wait...

[    3.333098] musb-hdrc musb-hdrc.1.auto: VBUS_ERROR in a_wait_vrise (80, <SessEnd), retry #3, port1 0008010c

Gave up waiting for root device.  Common problems:

 - Boot args (cat /proc/cmdline)

   - Check rootdelay= (did the system wait long enough?)

   - Check root= (did the system wait for the right device?)

 - Missing modules (cat /proc/modules; ls /dev)

ALERT!  /dev/mmcblk1p1 does not exist.  Dropping to a shell!

modprobe: module i8042 not found in modules.dep

modprobe: module ehci-orion not found in modules.dep

modprobe: module uhci-hcd not found in modules.dep

modprobe: module ohci-hcd not found in modules.dep

 

 

BusyBox v1.22.1 (Debian 1:1.22.0-9+deb8u1) built-in shell (ash)

Enter 'help' for a list of built-in commands.

 

/bin/sh: can't access tty; job control turned off

(initramfs)

 



Any idea what can cause /dev/mmcblk1p1 to not be found even though uboot is able to acquire the dtb and kernel image from the sd card?

Robert Nelson

unread,
May 21, 2018, 4:09:49 PM5/21/18
to Beagle Board
On Mon, May 21, 2018 at 3:04 PM, Jesse Abella <j.abel...@gmail.com> wrote:
> Thanks for the reply. I was trying to match a custom board eeprom with that
> of the pocket beagle to avoid having to bypass the eeprom in uboot but it
> turns out we didnt bring out the eeprom wp pin so we're unable to ground it.
> I attmepted to use the uboot patch you created for bypassing eeprom
> (https://raw.githubusercontent.com/RobertCNelson/Bootloader-Builder/master/patches/v2018.03-rc1/0002-NFM-Production-eeprom-assume-device-is-BeagleBone-Bl.patch)
> but booting this always errors out when trying to start the kernel, here is
> the boot log:

Which version of the Octavo SIP? The newer one has a dedicated GPIO
"inside" the coating, to force the wp. ;)
open /boot/uEnv.txt and remove "quiet", you'll get some useful
information over serial.
Reply all
Reply to author
Forward
0 new messages