Samsung Exynos 5

From postmarketOS
(Redirected from Samsung Exynos 5250)

The Exynos 5 SOCs are well supported by mainline linux. A dedicated postmarketos kernel is packaged under the name linux-postmarketos-exynos5PMOS, and a development repository is kept at https://gitlab.com/exynos5-mainline/linux.

SoCs

Exynos 5250

Samsung Exynos 5250
Exynos 5250 from the Arndale board
Exynos 5250 from the Arndale board
Manufacturer Samsung
Name Exynos 5250
Architecture armv7
CPU 2x ARM Cortex A15 @ 1.7GHz
GPU ARM Mali-T604MP4
Year 2012
Process 32nm
Mainline yes
Components
CPU
Works
UART
Works
Storage
Works
USB
Works
Display
Works
GPU
Broken
Pinctrl
Works
I²C
Works
SPI
Works
Audio
Works
Video
Broken
Thermal
Works
Camera
NPU
Suspend
Works
Ethernet
Device Codename Mainline
Google (Samsung) Nexus 10 samsung-manta Y
HP Chromebook 11 G1 google-spring Y
Samsung Chromebook google-snow Y

Specifications

  • 2x ARM Cortex A15 @ 1.7GHz
  • ARM Mali-T604MP4 @ 533 MHz; 68.224 GFLOPS

More information

Exynos 5420

Samsung Exynos 5420
Manufacturer Samsung
Name Exynos 5420
Architecture armv7
CPU 4x 1.9 GHz A15 & 4x 1.3 GHz A7
GPU Mali-T628 MP6
Year 2013
Process 28nm
Mainline yes
Components
CPU
Works
UART
Works
Storage
Works
USB
Works
Display
Works
GPU
Works
Pinctrl
Works
I²C
Works
SPI
Works
Audio
Works
Video
Works
Thermal
Works
Camera
NPU
Suspend
Works
Ethernet
Device Codename Mainline
Samsung Chromebook 2 11.6" google-peach-pit Y
Samsung Galaxy Note 10.1 (2014) samsung-n1awifi N
Samsung Galaxy Note 3 International (3g) ha3g
Samsung Galaxy Note Pro 12.2 (WiFi) samsung-v1awifi N
Samsung Galaxy Tab PRO 10.1 (WiFi) samsung-n2awifi
Samsung Galaxy Tab S 10.5 (WiFi) samsung-chagallwifi P
Samsung Galaxy Tab S 10.5" LTE samsung-chagalllte
Samsung Galaxy Tab S 8.4" LTE samsung-klimtlte P

Specifications

  • 4x Cortex A15 @ 1.9 GHz & 4x Cortex A7 @ 1.3 GHz
  • Mali-T628 MP6 @ 533 MHz; 109 GFLOPS

More information

Exynos 5422 (also Exynos 5800)

Samsung Exynos 5422
Manufacturer Samsung
Name Exynos 5422
Architecture armv7
CPU 4x 1.9 GHz A15 & 4x 1.3 GHz A7
GPU Mali-T628 MP6
Year 2014
Process nm
Mainline yes
Components
CPU
Works
UART
Works
Storage
Works
USB
Works
Display
Works
GPU
Works
Pinctrl
Works
I²C
Works
SPI
Works
Audio
Works
Video
Works
Thermal
Works
Camera
NPU
Suspend
Works
Ethernet
Device Codename Mainline
ODROID HC2 odroid-hc2 Y
ODROID XU4 odroid-xu4 Y
Samsung Galaxy S5 (International 3G) samsung-k3gxx

Exynos 5433

Samsung Exynos 5433
Manufacturer Samsung
Name Exynos 5433
Architecture aarch64
CPU 4x 1.9 GHz A57 & 4x 1.3 GHz A53
GPU Mali-T760
Year 2014
Process nm
Mainline yes
Components
CPU
Works
UART
Works
Storage
Works
USB
Works
Display
Works
GPU
Works
Pinctrl
Works
I²C
Works
SPI
Audio
Works
Video
Thermal
Works
WiFi
Bluetooth
Modem
GPS
Camera
NPU
Suspend
Works
Ethernet


Devices

Device Codename Mainline
Samsung Galaxy Note 4 samsung-treltexx
Samsung Galaxy Note 4 S-LTE samsung-tre3calte N
Samsung Galaxy Tab S2 9.7 LTE samsung-gts210lte N

Specifications

  • 4x Cortex A57 @ 1.9 GHz & 4x Cortex A53 @ 1.3 GHz
  • Mali-T760

More information

  • The Tizen reference device TM2 is basically rebranded Note 4 for Tizen development. The TM2e is Note 4 Edge. Both are quite nicely supported by mainline Linux kernel and almost fully supported by Tizen open-source Linux kernel (not the vendor one).
  • Unlike TM2/TM2e, android devices based on Exynos 5433 cannot boot 64 bit kernels (due to early bootloaders and/or the tzsw being 32bit). This does not mean that it is impossible to get mainline on these devices though, other devices, for example samsung-serranove, which has mainline support, has the same problem.
  • The android bootloader seem to be incapable of booting a mainline kernel. Trying to boot a 32bit vanilla kernel does not give any (UART) output at all. After enabling some debug options like CONFIG_DEBUG_LL the error message is shown (or maybe error happens due to CONFIG_DEBUG_LL...):
Starting kernel at 0x20008000...

[MUIC] SWITCH_SEL(3)
Exception: data abort
pc : [<20008b40>]             lr : [<20008158>]
sp : 204d0b30  ip : 200080f4  fp : 10101105
r10: 204e0b30  r9 : 0156e210  r8 : 20000100
r7 : 00001f43  r6 : 204cf718  r5 : 000131fb  r4 : 20008000
r3 : 12c10000  r2 : 00000044  r1 : f7010000  r0 : 00000000
Flags: nZcv  IRQs off  FIQs off  Mode SVC_32
  • Working theory is that we can circumvent this error by using u-boot or some other bootloader to chainload Linux. There is an old patch-set for TM2 that can be used as a start for porting u-boot.
  • samsung-starqltechn has a u-boot port, and uses various clever tricks to make the stock bootloader happy. Trying a similar approach for Exynos5433 devices is probably a good start.


  • kexec based bootloader (like Petitboot) is also is also an option too.In theory we could use the downstream kernel to port Petitboot to it.

Mainline (for samsung phone that use exynos 5433)

The device on the mainline kernel is the "Samsung TM2" and "Samsung TM2e". The TM2 is the Samsung Tizen reference device, and TM mean Tizen Mobile. These devices uses a "special" 64bit version of sboot (or at least the arm trustzone firmware) to be able to boot arm64 kernels. All other phones and tablets with exynos5433 has 32bit sboot, and cannot boot a 64bit kernel. Unfortunately there seem to exist few tm2/tm2e device in the world, and firmware files for them does not seem to be downloadable anywhere. To have any chance to boot an arm64 mainline kernel on tre3calte and other exynos5433 devices we would need to get our hands on these firmware files, or in some other way create 64bit sboot/trustzone firmware for exynos5433.

See these chat logs for relevant discussions:

Tm2 and tm2e uses u-boot rather than Samsungs proprietary variant. There was a patch sent to the u-boot project to add support for it, but it was not accepted in the sent form: U-Boot support patch. Booting u-boot should, in theory, be possible by flashing it to the BOOT partition, to which android's boot.img is normally flashed.

UART (for samsung phone that use exynos 5433)

A "standard" serial debugging cable with 619 kOhm works for tre3calte (and other exynos5433 devices). The bootloader prints lots of output during boot, but for some reason the kernel is quiet, even if the console parameter is changed. A patch similar to the one found here for Galaxy S7 might be necessary to get any live kernel output.

Downstream kernel quirky

In the downstream kernel , the soc was configured to have cortex-a15 and cortex-a7.

Hardware table

Different devices share quite a lot of hardware. The table below attempts to give an idea about which devices that contain which hardware.

Mainline status for hardware found in some android devices that are, or could be, supported by linux-postmarketos-exynos5
Type Name Mainline driver Notes exynos5420-klimtlte exynos5420-chagallwifi exynos5420-n1awifi exynos5420-v1awifi exynos5420-n2awifi exynos5420-chagalllte exynos5250-manta exynos5422-k3gxx exynos5433-gts210lte exynos5433-treltexx
Multifunctional device Maxim MAX77888 N Seem to be identical to max77803, except that some regs are updated during probe step to "overwrite wrong trimmed bits", and that a hack to restore MUIC regs on MUIC reset is implemented. Might not be a real device and rather a max77803 with faulty firmware/calibration. Y Y Y Y Y Y N N N N
Multifunctional device Maxim MAX77803 N Seem to be mostly compatible with max77686/max77802. Has additional subdevices (charger, led, muic, safeout, haptic) N N N N N N N N N N
Multifunctional device Maxim MAX77802 Y N N Y Y Y N N N N N
Multifunctional device Maxim MAX77804 N N N N N N N N Y N N
Multifunctional device Maxim MAX77843 Y N N N N N N N N N Y
Multifunctional device Silicon Mitus SM5703 N N N N N N N N N Y N
LEDs Maxim MAX77803 N Y Y Y Y Y Y N N N N
LEDs Maxim MAX77804 N N N N N N N N Y N N
LEDs Osram AS3668 N There is a driver for AS3645A which might be similar N N N N N N Y N N N
Charging IC Maxim MAX77803 N Y Y Y Y Y Y N N N N
Charging IC Maxim MAX77804 N N N N N N N N Y N N
Charging IC Silicon Mitus SM5703 N N N N N N N N N Y N
Audio Wolfson Microelectronics WM1811 Y N N N N N N Y N N N
Audio Wolfson Microelectronics WM1814 Y N N N N N N N N Y N
Audio Wolfson Microelectronics WM5102 Y Y Y Y Y Y Y N N N N
PMIC Samsung S2ABB01 N Y Y N N N Y N N N N
PMIC Samsung S2MPS11 Y Y Y N N N Y N Y N N
PMIC Samsung S2MPS13 Y Supported by same driver as s2mps11 N N N N N N N N Y Y
PMIC Maxim max77803 N Y Y Y Y Y Y N N N N
PMIC Maxim max77802 Y N N Y Y Y N N N N N
Fuel gauge Maxim MAX17050 Y Supported by mainline's MAX17042 driver Y Y Y Y Y Y N N N N
Fuel gauge Maxim MAX17048 Y Supported by mainline's MAX17040 driver N N N N N N N Y N N
Fuel gauge Silicon Mitus SM5703 N Regulator part of this MFD is supported, but none of the other subdevices N N N N N N N N Y N
Touchscreen ATMEL MXT1664T Maybe supported by Atmel mXT I2C Touchscreen driver in mainline N N N N N N N N N N
Touchscreen ATMEL MXT1664S Maybe supported by Atmel mXT I2C Touchscreen driver in mainline N N N N N N N N N N
WiFi Broadcom BCM4354 Y Y Y N Y N Y N Y N N
WiFi Broadcom BCM4339 Y N N Y N Y N N N N N
WiFi Broadcom BCM4358 N N N N N N N N N Y N
Bluetooth Broadcom BCM4339 N Y Y Y Y Y Y N N N N
Bluetooth Broadcom BCM4358 N N N N N N N N N Y N
Bluetooth Broadcom BCM4354 N N N N N N N N Y N N
GPS Broadcom BCM47531 N Y Y N N N Y N Y N Y
GPS Broadcom BCM47521 N N N Y Y Y N N N N N
GPS Broadcom BCM4752 N N N N N N N N N Y N
Display Samsung S6E3FA2 N N N N N N N N Y N N
Display Samsung S6E3HA1 N Y N N N N N N N N N
Display Samsung S6E3HA2 Y exynos5433-tm2 seem to have the same display N N N N N N N N N Y
Display Samsung S6TNMR7 N N Y N N N Y N N N N
Display Samsung LSL122DL01 N Variants with smaller displays have LSL101DL01 which seems mostly compatible N N Y Y Y N N N N N
Display Anapass ANA38401 N N N N N N N N N Y N
Backlight TI LP855X Y Used with LSL122DL01/LSL101DL01 panels N N Y Y Y N N N N N
Camera Samsung S5K6B2 N 2 MP S5K6B2 front camera (same as in at least galaxy s4 and galaxy note 3). Unclear what model back camera is. Before there's any chance getting working camera the Fully Interactive Mobile Camera Imaging Subsystem (FIMC-IS) driver needs to be extended to support exynos5. An old patchset for this that was never merged exists: https://lore.kernel.org/all/1383653610-11835-1-git-send-email-arun.kk@samsung.com/ (v12 seems to be latest sent version). Y Y Y Y Y Y N N N N
Camera Samsung S5K4E5 N A (minimal) driver was part of the FIMC IS patchset that was never merged: https://lore.kernel.org/all/1383653610-11835-13-git-send-email-arun.kk@samsung.com/ N N N N N N Y N N N
Camera Samsung S5K6A3 Y Found also in a few exynos4412 devices N N N N N N Y N N N
IR ? The kernel option is CONFIG_IR_REMOCON_FPGA, and its description indicate that it is a chip made by Lattice Semi Y Y Y Y Y Y N N N N
MHL Silicon Image SII8240 N Possibly compatible with sii9234, or at least similar Y Y Y Y Y Y N Y Y N
Modem Intel XMM6360 N Unfortunately not one of the modems Replicant are dealing with Y N N N N Y N Y N N
Modem Samsung SS333 N N N N N N N N N Y N
Fingerprint reader Validity Sensors VFS61XX N Y Y N N N Y N Y N N
Fingerprint reader Validity Sensors VFS7XXX N N N N N N N N N Y N
HRM sensor Analog Devices ADPD142 N N N N N N N N N Y N
HRM and UV sensor Maxim MAX86900 N N N N N N N N Y N N
HRM and UV sensor Maxim MAX86902 N N N N N N N N N Y N
Accelerometer and gyroscope Bosch BMI055 Y Y Y Y Y Y Y N N N N
Hall sensor Asahi Kasei AK8963C Y N N Y Y Y N N N N N
Hall sensor Asahi Kasei AK09911C N Y Y N N N Y N N N N
Color light sensor Capella CM3323 Y N Y Y Y Y Y N N N N
Light sensor Osram TMD3782 N Y N N N N N N N N N
Capacitive/proximity sensor Semtech SX9500 Y Used by menu and back buttons (I think) Y N Y N Y Y N N N N