Samsung Exynos 4
The Exynos 4 family of chips consists of the Exynos 4210 released in 2011 as well as the Exynos 4412 released in 2012, alongside with its dual-core variant - the Exynos 4212. The Exynos 4415 was released two years later in 2014.
The Exynos 4210, 4212 and 4412 are relatively well supported in mainline, and share a fair bit of code. Support for the Exynos 4415, however, was dropped as there were no devices in mainline that used it. In postmarketOS, the mainline kernel is packaged as linux-postmarketos-exynos4PMOS.
Please join the matrix room for Exynos 4 related discussions: https://matrix.to/#/#exynos4-mainline:matrix.org
Devices
Exynos 4210
![]() Exynos 4210 | |
Manufacturer | Samsung |
---|---|
Name | Exynos 4210 |
Architecture | armv7 |
CPU | 2x ARM Cortex A9 @ 1.4GHz |
GPU | ARM Mali-400MP4 |
Year | 2011 |
Process | 45nm |
Mainline | yes |
Community Page | https://gitlab.com/exynos4-mainline |
Components | |
CPU |
Works |
UART |
Works |
Storage |
Works |
USB |
Works |
Display |
Works |
GPU |
Works |
Pinctrl |
Works |
I²C |
Works |
SPI | |
Audio | |
Video | |
Thermal |
Works |
Camera | |
NPU | |
Suspend | |
Ethernet | |
Device | Codename | Mainline |
---|---|---|
Samsung Galaxy Note | samsung-n7000 | Y |
Samsung Galaxy S II | samsung-i9100 | P |
Exynos 4212
![]() Exynos 4212 on the board of the Samsung Galaxy Tab 3 8.0 | |
Manufacturer | Samsung |
---|---|
Name | Exynos 4212 |
Architecture | armv7 |
CPU | 2x ARM Cortex A9 @ 1.4GHz |
GPU | ARM Mali-400 GPU |
Year | 2012 |
Process | 32nm |
Mainline | yes |
Community Page | https://gitlab.com/exynos4-mainline |
Components | |
CPU |
Works |
UART |
Works |
Storage |
Works |
USB |
Works |
Display |
Works |
GPU |
Works |
Pinctrl |
Works |
I²C |
Works |
SPI | |
Audio |
Works |
Video | |
Thermal |
Works |
Camera | |
NPU | |
Suspend |
Works |
Ethernet | |
Device | Codename | Mainline |
---|---|---|
Samsung Galaxy Tab 3 8.0 | samsung-lt01wifi | P |
Exynos 4412
![]() Exynos 4412 from a development board | |
Manufacturer | Samsung |
---|---|
Name | Exynos 4412 |
Architecture | armv7 |
CPU | 4x ARM Cortex A9 @ 1.4GHz |
GPU | ARM Mali-400 GPU |
Year | 2012 |
Process | 32nm |
Mainline | yes |
Community Page | https://gitlab.com/exynos4-mainline |
Components | |
CPU |
Works |
UART |
Works |
Storage |
Works |
USB |
Works |
Display |
Works |
GPU |
Works |
Pinctrl |
Works |
I²C |
Works |
SPI | |
Audio |
Works |
Video | |
Thermal |
Works |
Camera | |
NPU | |
Suspend |
Works |
Ethernet | |
Device | Codename | Mainline |
---|---|---|
ODROID U2 | odroid-u2 | Y |
Samsung Galaxy Camera | samsung-gd1 | |
Samsung Galaxy Camera 2 | samsung-sf2wifi | |
Samsung Galaxy Note 10.1 WiFi/3G | samsung-p4note | Y |
Samsung Galaxy Note 8.0 (GSM) | samsung-n5100 | |
Samsung Galaxy Note 8.0 (Wi-Fi) | samsung-n5110 | |
Samsung Galaxy Note II | samsung-t03g | Y |
Samsung Galaxy Note II LTE | samsung-t0lte | Y |
Samsung Galaxy S III | samsung-m0 | Y |
Samsung Galaxy S III LTE | samsung-m3 | Y |
Exynos 4415
File:Exynos-4415.jpg | |
Manufacturer | Samsung |
---|---|
Name | Exynos 4415 |
Architecture | armv7 |
CPU | 4x ARM Cortex A9 @ 1.5GHz |
GPU | ARM Mali-400 GPU |
Year | 2014 |
Process | 28nm |
Mainline | no |
Community Page | https://gitlab.com/exynos4-mainline |
Components | |
CPU | |
UART | |
Storage | |
USB | |
Display | |
GPU | |
Pinctrl | |
I²C | |
SPI | |
Audio | |
Video | |
Thermal | |
Camera | |
NPU | |
Suspend | |
Ethernet | |
No results
USB OTG
USB OTG does not currently work on any of the mainlined devices. This is due to at least three things:
- The MUIC driver doesn't detect OTG cables correctly; unlike the downstream driver, which responds only to 4 of the interrupts, this one listens to all of them, and one of the interrupts is falsely triggered causing it to think it's a charging cable instead of an ADC cable,
- The MUIC driver doesn't implement OTG support to allow for 1. disabling the charger, and 2. enabling power for non-powered hubs.
- The dwc2 (hs_otg) controller appears to only control peripheral mode; the EHCI and OHCI nodes must be enabled for host mode to work, but then peripheral mode stops working.
Some work-in-progress patches to fix these issues can be found at [1] (this fixes the first two issues, but not the last one).
See also
- On phonedb.net: Exynos 4210, Exynos 4212, Exynos 4412, Exynos 4415
- On linux-exynos.org: Exynos 4210, Exynos 4412
- The public datasheet for the Exynos 4210
- The public datasheet for the Exynos 4412
- Exynos mainline porting
- p4note U-Boot: https://github.com/Lutjens-PoL/u-boot