Samsung Exynos 5433 Octa
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 | |
Suspend |
Works |
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.
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.