ST-Ericsson U8500 Samsung “stemmy” board

The “stemmy” board supports Samsung smartphones released with the ST-Ericsson NovaThor U8500 SoC, e.g.

Device

Model

Codename

U-Boot

Samsung Galaxy Ace 2

GT-I8160

codina

u-boot.bin

Samsung Galaxy Amp

SGH-I407

kyle

u-boot.img

Samsung Galaxy Beam

GT-I8530

gavini

u-boot.bin

Samsung Galaxy Exhibit

SGH-T599

codina (TMO)

u-boot.bin

Samsung Galaxy S Advance

GT-I9070

janice

u-boot.bin

Samsung Galaxy S III mini

GT-I8190

golden

u-boot.img

Samsung Galaxy Xcover 2

GT-S7710

skomer

u-boot.img

At the moment, U-Boot is intended to be chain-loaded from the original Samsung bootloader, not replacing it entirely.

Installation

First, setup CROSS_COMPILE for ARMv7. Then, build U-Boot for stemmy:

$ export CROSS_COMPILE=arm-none-eabi-
$ make stemmy_defconfig
$ make

This will build u-boot.bin in the configured output directory.

For newer devices (check u-boot.img in the table above), the U-Boot binary has to be packed into an Android boot image. Devices with u-boot.bin boot the raw U-Boot binary from the boot partition. You can build the Android boot image with mkbootimg, e.g. from from android-7.1.2_r37:

$ mkbootimg \
  --kernel=u-boot.bin \
  --base=0x00000000 \
  --kernel_offset=0x00100000 \
  --ramdisk_offset=0x02000000 \
  --tags_offset=0x00000100 \
  --output=u-boot.img

To flash the U-Boot binary, enter the Samsung download mode (press Power + Home + Volume Down). Use Heimdall to flash the U-Boot image to the Android boot partition:

$ heimdall flash --Kernel u-boot.(bin|img)

If this is not working but there are messages like Android recovery image in the UART console, you can try flashing to the recovery partition instead:

$ heimdall flash --Kernel2 u-boot.(bin|img)

After a reboot the U-Boot prompt should appear via UART. Unless interrupted it automatically boots to USB Fastboot mode where Android boot images can be booted via fastboot boot boot.img. It is mainly intended to boot mainline Linux, but booting original Samsung Android boot images is also supported (e.g. for charging).

UART

UART is available through the micro USB port, similar to the Carkit standard. With a ~619kOhm resistor between ID and GND, 1.8V RX/TX is available at D+/D-.

Note

Make sure to connect the UART cable before turning on the phone.