Jump to content

Samsung Galaxy S24 Ultra (samsung-e3q): Difference between revisions

From postmarketOS Wiki
Ungeskriptet (talk | contribs)
Add note about cirrus audio
Ungeskriptet (talk | contribs)
Add USB to hardware table
Line 100: Line 100:
|-
|-
| Pen input || Wacom WEZ02 || N ||
| Pen input || Wacom WEZ02 || N ||
|-
| rowspan = 3 | USB-C || USB 2.0 (TI eUSB2 repeater) || Y ||
|-
| USB 3.1 Gen 2 || N ||
|-
| DisplayPort || N ||
|-
|-
| rowspan = 5 | Camera || Samsung ISOCELL S5KHP2 || N || Main camera
| rowspan = 5 | Camera || Samsung ISOCELL S5KHP2 || N || Main camera

Revision as of 12:58, 12 March 2024

This device is marked as not booting.
Samsung Galaxy S24 Ultra
File:Samsung-e3q.jpg
Manufacturer Samsung
Name Galaxy S24 Ultra
Codename samsung-e3q
Model SM-S928B
Released 2024
Type handset
Hardware
Chipset Qualcomm Snapdragon 8 Gen 3 (SM8650)
CPU 8-core (1x3.40GHz Cortex-X4 & 3x3.15GHz Cortex-A720 & 2x2.96GHz Cortex-A720 & 2x2.26GHz Cortex-A520)
GPU Adreno 750
Display 1440 x 3120 (120Hz 6.8" LTPO AMOLED)
Storage 256 GB / 512 GB / 1 TB
Memory 12 GB
Architecture aarch64
Software
Original software Android (One UI)
Original version 14 (One UI 6.1)
postmarketOS
Category testing
Pre-built images no


Users owning this device


How to enter flash mode

  • Download mode: Hold Volume Up and Volume Down while connecting the device to a computer with a USB cable.
  • Recovery mode: Hold Volume Up and Power while connecting the device to a computer with a USB cable.

How to unlock bootloader

Warning WARNING: This process will wipe all user data and will irreversibly trip Knox.
  1. Enable OEM unlocking in the developer options
  2. Reboot into download mode
  3. At the blue warning screen, hold Volume Up
  4. On the second screen, press Volume Up to unlock the bootloader

Mainline

A work-in-progress mainline kernel is being developed here. (Will be upstreamed as soon as possible)

Mainline status and hardware

Component Model Status Notes
Display Samsung E3_S6E3HAF_AMB679FN01 N
Touchscreen Synaptics S3916T N
Pen input Wacom WEZ02 N
USB-C USB 2.0 (TI eUSB2 repeater) Y
USB 3.1 Gen 2 N
DisplayPort N
Camera Samsung ISOCELL S5KHP2 N Main camera
Samsung ISOCELL S5K3LU N Front camera
Sony IMX564 N Ultrawide
Sony IMX754 N Telephoto
Sony IMX854 N Periscope Telephoto
Accelerometer & Gyroscope STMicroelectronics LSM6DSV N Datasheet
Ambient light sensor Sensortek STK6D2X N
Proximity sensor Samsung Palm Proximity Sensor V2 N Virtual sensor
Magnetometer AKM AK09918 N Datasheet
Barometer STMicroelectronics LPS22DF N Datasheet
Charger NXP PCA9481 N Datasheet
NuVolta NU1668 N Wireless charger
PMIC Maxim MAX77775 N
Samsung S2DOS07 N
Samsung S2MPB03 N
Samsung S2MPB02 N
eSIM Samsung S3K250AF N
NFC NXP PN547 N
Audio Cirrus Logic CS35L43 N 2x (1x for left, 1x for right)
Haptics Cirrus Logic CS40L26 N
Fingerprint sensor Qualcomm QFS4008 N

Miscellaneous info

Creating empty dtbo image

Simply erasing the dtbo partition is not enough to make mainline boot on this phone. In order to make it boot we need to sign an empty dtbo image with avbtool:

$ dd if=/dev/zero of=empty_dtbo.img count=1
$ avbtool add_hash_footer --partition_name dtbo --partition_size 16777216 --image empty_dtbo.img
$ heimdall flash --DTBO empty_dtbo.img

If the phone still boots to the blue download screen, make sure stock vbmeta is flashed.

simplefb

Since at least the "SM Gen 4"/Waipio era, abl checks if a node named exactly /reserved-memory/splash_region exists in the device tree. If not, it will disable the display hardware:

ret = FdtPathOffset (fdt, "/reserved-memory/splash_region");
if (ret < 0) {
  DEBUG ((EFI_D_WARN, "Splash region not found in device tree, " \
                      "powering down the display and controller\n"));

Command to create boot.img

$ make O=output-e3q ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j16 defconfig sm8650.config
$ make O=output-e3q ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j16 && \
rm -f output-e3q/arch/arm64/boot/Image-dtb output-e3q/arch/arm64/boot/boot.img && \
cat output-e3q/arch/arm64/boot/Image.gz output-e3q/arch/arm64/boot/dts/qcom/sm8650-samsung-e3q.dtb > output-e3q/arch/arm64/boot/Image-dtb
mkbootimg \
  --kernel output-e3q/arch/arm64/boot/Image-dtb \
  --ramdisk /tmp/postmarketOS-export/initramfs \
  --pagesize 4096 \
  --kernel_offset 0x8000 \
  --ramdisk_offset 0x2000000 \
  --second_offset 0x0 \
  --tags_offset 0x0 \
  --header_version 0 \
  -o output-e3q/arch/arm64/boot/boot.img && \
adb reboot download ; \
heimdall flash --BOOT output-e3q/arch/arm64/boot/boot.img

See also