Samsung Galaxy S24 Ultra (samsung-e3q): Difference between revisions
Appearance
Ungeskriptet (talk | contribs) →How to enter flash mode: Add EDL mode instructions |
Ungeskriptet (talk | contribs) m →MAX77775 MUIC: Not sure about the resistor |
||
Line 159: | Line 159: | ||
== MAX77775 MUIC == | == MAX77775 MUIC == | ||
The MAX77775 MUIC * | The MAX77775 MUIC *might* be able to mux the USB-C pins to AP UART. The pinout for a UART cable that works with the S24 Ultra is unknown as of now. | ||
Notes: | Notes: | ||
* Shorting SBU1 (Pin A8) to GND makes the phone think water is in the USB-C port | * Shorting SBU1 (Pin A8) to GND makes the phone think water is in the USB-C port |
Latest revision as of 12:52, 13 March 2025
This device is marked as not booting.
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-AC) |
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) |
Extended version | 15 (One UI 7) |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | partial |
Users owning this device
- Ungeskriptet (Notes: LineageOS porting victim)
How to enter flash mode
- Download mode: Hold and while connecting the device to a computer with a USB cable.
- Recovery mode: Hold and while connecting the device to a computer with a USB cable.
- EDL Mode: To boot into EDL mode, you need connect the phone with a special cable that shorts D+ (green wire) to ground to your computer. While connecting the cable, hold down the and buttons and release them shortly after connecting the cable. Afterwards press 15 times repeatedly, then disconnect the custom cable and reconnect the phone with a regular USB-C cable. In order to make use of EDL mode, you need to have a Firehose programmer that is compatible with your model and current bootloader revision.
How to unlock bootloader
WARNING: This process will wipe all user data and will irreversibly trip Knox. |
- Enable OEM unlocking in the developer options
- Reboot into download mode
- At the blue warning screen, hold
- On the second screen, press 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 | Mainline driver available? | Notes |
---|---|---|---|---|
Display | Samsung E3_S6E3HAF_AMB679FN01 | N | N | Command mode, DSC, Single DSI |
Touchscreen | Synaptics S3916T | N | N | |
Pen input | Wacom WEZ02 | N | N | |
USB-C | USB 2.0 (TI eUSB2 repeater) | Y | P | Driver from sm8450-mainline |
USB 3.1 Gen 2 | N | Y | Booting with fw_devlink=permissive breaks USB | |
DisplayPort | N | Y | ||
Camera | Samsung ISOCELL S5KHP2 | N | N | Main camera |
Samsung ISOCELL S5K3LU | N | N | Front camera | |
Sony IMX564 | N | N | Ultrawide | |
Sony IMX754 | N | N | Telephoto | |
Sony IMX854 | N | N | Periscope Telephoto | |
Accelerometer & Gyroscope | STMicroelectronics LSM6DSV / LSM6DSO | N | Y | Datasheet |
Ambient light sensor | Sensortek STK33F11 | N | N | Front |
Sensortek STK6D2X | N | N | Rear | |
Time-of-Flight Sensor | STMicroelectronics VL53L8 | N | N | Rear laser autofocus |
Proximity sensor | Samsung Palm Proximity Sensor V2 | N | N | Virtual sensor :/ |
Magnetometer | AKM AK09918 | N | N | Datasheet |
Barometer | STMicroelectronics LPS22DF | N | Y | Datasheet |
Hall effect | Hall IC | N | N | GPIO 98 on main pinctrl, located in the lower right |
Charger | NXP PCA9481 | N | N | Datasheet; Direct charger |
NuVolta NU1668 | N | N | Wireless charger | |
PMIC | Maxim MAX77775 | N | N | Fuel gauge & main charger |
Samsung S2DOS07 | N | N | Display PMIC | |
Samsung S2MPB03 | N | N | Camera PMIC | |
Samsung S2MPB02 | N | N | Camera PMIC | |
eSIM | Samsung S3K250AF | N | N | |
NFC | NXP PN547 | N | Y | |
Audio | Cirrus Logic CS35L43 | N | N | 2x, One for each speaker |
Haptics | Cirrus Logic CS40L26 | N | P | Driver available on LKML |
Fingerprint sensor | Qualcomm QFS4008 | N | N |
MAX77775 MUIC
The MAX77775 MUIC *might* be able to mux the USB-C pins to AP UART. The pinout for a UART cable that works with the S24 Ultra is unknown as of now. Notes:
- Shorting SBU1 (Pin A8) to GND makes the phone think water is in the USB-C port
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- -j$(nproc) defconfig sm8650.config
$ make O=output-e3q ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j$(nproc) &&
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)
Partition map
e3q:/ # ls -lah /dev/block/by-name/