Samsung Exynos 5

The Exynos 5 SOCs are well supported by mainline linux. A dedicated postmarketos kernel is packaged under the name , and a development repository is kept at https://gitlab.com/exynos5-mainline/linux. 
Please join the matrix room for Exynos 5 related discussions: https://matrix.to/#/#exynos5-mainline:matrix.org
== SoCs ==
=== Exynos 5250 ===
==== Specifications ====
* 2x ARM Cortex A15 @ 1.7GHz
* ARM Mali-T604MP4 @ 533 MHz; 68.224 GFLOPS
==== More information ====
* phonedb.net
* Linux-Exynos.org
=== Exynos 5420 ===
==== Specifications ====
* 4x Cortex A15 @ 1.9 GHz & 4x Cortex A7 @ 1.3 GHz
* Mali-T628 MP6 @ 533 MHz; 109 GFLOPS
==== More information ====
* Linux-Exynos.org
=== Exynos 5422 (also Exynos 5800) ===
=== Exynos 5433 ===
==== Devices ====
==== 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 ====
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: 
* linux-exynos 2018-04-25
* linux-exynos 2021-08-16
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 ====
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 	P 	Partially supported by Atmel mXT I2C Touchscreen driver in mainline 	N 	N 	N 	N 	Y 	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 	P 	Devices can be discovered but connecting to them fails. 	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 LSL101DL01 	Y 	Variants with bigger displays have LSL122DL01 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
Category:Samsung Exynos