Samsung Galaxy S7 (samsung-herolte)

From postmarketOS
Samsung Galaxy S7
Samsung Galaxy S7 running PMOS SXMO
Samsung Galaxy S7 running PMOS SXMO
Manufacturer Samsung
Name Galaxy S7
Codename samsung-herolte
Released 2016
Category testing
Pre-built images no
Original software Android
Original version 6.0
Hardware
Chipset Samsung Exynos 8890 Octa
CPU Octa-core Exynos M1 & Cortex-A53
GPU Mali-T880 MP12
Display 2560x1440 2K Super AMOLED
Storage 32/64 GB
Memory 4 GB
Architecture AArch64
Type Handset
Features
USB Networking
Works
Flashing
Partial
Touchscreen
Works
Display
Works
WiFi
Works
FDE
Mainline
Battery
Works
3D Acceleration
Audio
Bluetooth
Camera
GPS
Mobile data
Internal storage
SMS
Calls
USB OTG
NFC
Sensors
Accelerometer
Magnetometer
Ambient Light
Proximity
Hall Effect
Barometer
Power Sensor
Misc
Built-in DVB
Camera Flash
Keyboard
Touchpad
USB-A
HDMI/DP
Ir TX
Ir RX
Stylus
Memory Card
Haptics
Ethernet
FOSS bootloader


Note This is the exynos device. For the qualcomm version, see samsung-heroqlte.

Contributors

  • Polynomdivision

Users owning this device


What works

  • Compiling the kernel and booting (!314)
  • Wifi with the proprietary firmware (!309)
  • Display
  • TouchScreen
  • Flashing via android recovery zip
  • Wayland/Weston/Xwayland

Notes

  • The device and kernel packages are basically just a copy of the Galaxy S7 Edge's packages. The only difference is that the two devices use different panels.
  • using command: apk upgrade can cause loading forever...

Mainline notes

For uniLoader:

  • To enable the framebuffer we need to write 0x1290 to address 0x13960070. To get this value search for the decon_f base address and add 0x70 (HW_SW_TRIG_CONTROL) to it, then use devmem2 together with the value you calculated on a downstream kernel with CONFIG_DEVMEM enabled.
  • The MUIC UART is located under address 0x14c50000. To get minimal output follow this guide (add 0x20 to the UART address for the TX offset).

Installation

  • Install TWRP recovery as described here.
  • Wipe the device while in TWRP.
  • Put device in download mode by holding the home, volume down and power buttons when powered off.
  • Execute $ pmbootstrap flasher flash_kernel to flash the kernel. (Note: You do not need to reflash the kernel if you want to reinstall PMOS with a different image)
  • Reboot Device into TWRP Recovery and execute pmbootstrap install --android-recovery-zip
  • While in TWRP, enable sideloading by going to Advanced -> ADB Sideload and then execute $ pmbootstrap flasher --method=adb sideload

Links