Jump to content

Category:Samsung Exynos: Difference between revisions

From postmarketOS Wiki
Grimler (talk | contribs)
Exynos 5433: Add some info on mainline progress (or lack there of)
Knuxify (talk | contribs)
exynos 4212 is in the kernel again, see Samsung Galaxy Tab 3 8.0
 
(27 intermediate revisions by 8 users not shown)
Line 1: Line 1:
This page only contains some info, data and links regarding mainline on Exynos SoCs. If you want to mainline a device please follow the [[Mainlining]] guide.
This page only contains some info, data and links regarding mainline on Exynos SoCs. If you want to mainline a device please follow the [[Mainlining]] guide.


The mainline kernel has (at least some) support for several Exynos SoCs:
Most Exynos ARM SoCs released up until 2014 are well supported in mainline linux. For arm64 Samsung rarely tried getting the code into mainline linux, and so very few SoCs are supported. The ARM64 Exynos SoCs that are at least somewhat supported include:
* Exynos5433
* Exynos7 (Early revision of Exynos7420 <ref>https://lore.kernel.org/lkml/CAM4voanpvkQJ5GcKeXoLcpmTMXkh7f8aznQHDS-0O5YeaVpeuw@mail.gmail.com/</ref>)
* Exynos7885
* Exynos850 (also known as Exynos3830)
* Exynos8895
* Exynos990
* ExynosAuto v9
* ExynosAuto v920
* Tesla FSD
* [[:Category:Google Tensor]] SoC (also known as S5E9845)


* Exynos 3250
* Exynos 4210
* Exynos 4412
* Exynos 5250
* Exynos 5260
* Exynos 5410
* Exynos 5420
* Exynos 5422
* Exynos 5433
* Exynos 5800
* Exynos 7 (some early version of Exynos 7420 <ref>https://lore.kernel.org/lkml/CAM4voanpvkQJ5GcKeXoLcpmTMXkh7f8aznQHDS-0O5YeaVpeuw@mail.gmail.com/</ref>)
* Exynos 7885
* Exynos 850


There exists some WIP linux trees for other Exynos SoCs, or other devices with Exynos SoCs (this list can probably be extended):
There's been multiple ARMv7 SoCs that have had good support in the past, but currently don't:
* Exynos4415 (support dropped from mainline kernel)
* Exynos5260: SM-N750 Galaxy Note 3 Neo
* Exynos5410
* Exynos5800


* [https://github.com/Grimler91/linux grimler's] repository contains branches related to Exynos 5420
Unfortunately Samsung does not release user manuals for their SoCs anymore. If you have an Exynos arm64 SoC that you want to mainline then a good start is to study the device tree and drivers for another already supported SoC and compare with the vendor kernel for that SoC, and then look at devicetree and drivers in vendor kernel for your SoC and try to "translate" it into mainline-acceptable format with the other SoC as reference. A good reference might be [https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/exynos/exynos850.dtsi Exynos850], and it's [https://gitlab.com/Linaro/96boards/e850-96/kernel/-/blob/last_samsung_commit/arch/arm64/boot/dts/exynos/s5e3830.dts vendor kernel]. When writing your mainline device trees (and drivers), start small with just bare essentials and some way to get output from the device (pstore/ramoops, simple-framebuffer, serial debugging) to make sure that works before adding more parts.
* [https://github.com/pablopl/linux PabloPL's] repository contains branches related to Exynos 7420, 7580, 8890
* [https://github.com/dsankouski/linux dsankouski's] repository contains branches related to Exynos 7880
* [https://github.com/VDavid003/linux VDavid003's] repository contains branches related to Exynos 7885
* [https://github.com/ivoszbg/linux ivoszbg's] repository contains branches related to Exynos 8895
* [https://github.com/krzk/linux-vendor-backup krzk's] repository contains branches with several vendor (Samsung) kernel sources for many Exynos SoCs
 
== Exynos 3250 ==
{{Infobox soc
| name = Exynos 3250
| image = File:Samsung_Exynos_3250.jpg
| imagecaption = Exynos 3250 from the Samsung Gear 2 smartwatch
| manufacturer = Samsung
| arch = armv7
| year = 2014
| cpu = 2x ARM Cortex-A7 MPcore
| gpu = ARM Mali-400 GPU
| process = 28
| mainline = yes
| status_cpu = Y
| status_uart = Y
| status_storage = Y
| status_usb = Y
| status_display = Y
| status_gpu = Y
| status_pinctrl = Y
| status_i2c = Y
| status_audio =
| status_video =
| status_thermal = Y
| status_wifi =
| status_bluetooth =
| status_modem =
| status_camera =
| status_suspend = Y
}}


=== Devices ===
== Bootloaders ==
{{#cargo_query:
Devices released before 2020 use S-BOOT, which is based on U-Boot, and past 2020 use S-LK. There's some leaks of S-LK for 990 and 2300.
tables=Devices
S-BOOT/S-LK have some weird quirks though:
|fields=CONCAT( '[[', _pageName, '|',Manufacturer,' ',Name,']]' )=Device,Codename,StatusMainline=Mainline
* On devices with the new-style DECON (past 2016), the HW_SW_TRIG_CONTROL bit needs to be set in order to allow the framebuffer to refresh
|order by=Devices.Manufacturer, Devices.Name
* On some revisions, CNTFRQ_EL0 is left unset. This means that you either have to set it either via the exynos-usbdl exploit, or hardcode the frequency in the timer node inside the SoC DT
|format=table
|limit=9999
|where=Devices.chipset like 'Exynos 3250%'
|more results text=
}}


=== Specifications ===
Also, the bootloaders expects device trees in a certain format, and modifies the device tree before booting kernel. This is pretty inconvenient when testing mainline kernels, and so it is a good idea to use a secondary bootloader and boot mainline from it. [[U-boot]] does not support modern Exynos SoCs, but there are some other small bootloaders/kernel wrappers that can be used:
* [https://github.com/ivoszbg/uniloader uniloader], inspired by minimal_sboot_wrapper but with support for more Exynos variants and with more features
* [https://github.com/VDavid003/minimal_sboot_wrapper minimal_sboot_wrapper], wrapper to make it possible to boot mainline kernels with Samsung's Sboot bootloader (made for Exynos 7885)


* 2x ARM Cortex-A7 MPcore
== History ==
* ARM Mali-400 GPU
The first Exynos 4 CPUs were initially called S5PCxxx, like it's predecessors, but then renamed. For locating information it can therefore be good to know the old names.
* The oldest Exynos processor is Exynos 3110, also known as hummingbird, which was renamed from S5PC110. It has a Cortex-A8 core.
** S5PV210, found in some development boards, is supposedly similar to Exynos 3110
* Exynos 4210, the first Exynos 4 CPU, was initially called S5PC210, and has two Cortex-A9 cores
** S5PV310, found in some development boards, is supposedly similar to Exynos 4210
* Exynos 4412 was initially called S5PC220, based on strings in very old u-boot blobs from Samsung. It has four Cortex-A9 cores.


=== More information ===
The Exynos 4x12 is likely codenamed Pega/Pegasus (the Exynos 4212 is referred to as the Pega-D, the Exynos 4412 is referred to as the Pega-Q and the [[Samsung Exynos 3250|Exynos 3250]] is referred to as the Pega-W(?)). "PegasusQ" is also the name of the CPU governor used on some Exynos 4412 devices.


* [http://phonedb.net/index.php?m=processor&id=514&c=samsung_exynos_3_dual_3250 phonedb.net]
The common denominator for Exynos 4 seem to be that the SOC has only Cortex-A9 cores. Later devices have Cortex-A15 cores (and possibly Cortex-A9 cores as well) and were then called Exynos 5.


== Exynos 4210 ==
=== Samsung SoCs Page ===
{{Infobox soc
| name = Exynos 4210
| image = File:Samsung-Exynos-4210.jpg
| imagecaption = Exynos 4210
| manufacturer = Samsung
| arch = armv7
| year = 2011
| cpu = 2x ARM Cortex A9 @ 1.4GHz
| gpu = ARM Mali-400MP4
| process = 45
| mainline = yes
| status_cpu = Y
| status_uart = Y
| status_storage = Y
| status_usb = Y
| status_display =
| status_gpu =
| status_pinctrl = Y
| status_i2c = Y
| status_audio =
| status_video =
| status_thermal = Y
| status_wifi =
| status_bluetooth =
| status_modem =
| status_camera =
}}
 
=== Devices ===
{{#cargo_query:
{{#cargo_query:
tables=Devices
tables=Socs
|fields=CONCAT( '[[', _pageName, '|',Manufacturer,' ',Name,']]' )=Device,Codename,StatusMainline=Mainline
|fields=CONCAT( '[[', _pageName, '|',Manufacturer,' ',Name,']]' )=SoC,Codenames,Arch,Year,Mainline
|order by=Devices.Manufacturer, Devices.Name
|order by=Socs.Name
|where=Manufacturer="Samsung"
|format=table
|format=table
|limit=9999
|limit=9999
|where=Devices.chipset like 'Exynos 4210%'
|more results text=
|more results text=
}}
}}
 
== See also ==
=== Specifications ===
* https://exynos.wiki.kernel.org
 
* There are some article that may help to port mainline scattered around the device which has gotten mainline support.
* 2x ARM Cortex A9 @ 1.4GHz
* [[User:knuxify]] provides an article<ref>https://knuxify.github.io/blog/2023/04/tab3-display.html</ref> about how to bring up the display of [[Samsung_Galaxy_Tab_3_8.0_(SM-T310)_(samsung-lt01wifi)|lt01wifi]], which may help to those who want to port dsi panels.
* ARM Mali-400MP4
* [https://github.com/pablopl/linux PabloPL's] repository contains branches related to Exynos 7420, 7580, 8890
 
* [https://github.com/dsankouski/linux dsankouski's] repository contains branches related to Exynos 7880
=== More information ===
* [https://github.com/VDavid003/linux VDavid003's] repository contains branches related to Exynos 7885
 
* [https://github.com/ivoszbg/linux ivoszbg's] repository contains branches related to Exynos 8895
* [http://phonedb.net/index.php?m=processor&id=269&c=samsung_s5pc210_exynos_4_dual_4210__orion phonedb.net]
* [https://github.com/krzk/linux-vendor-backup krzk's] repository contains branches with several vendor (Samsung) kernel sources for many Exynos SoCs
* [http://linux-exynos.org/wiki/Samsung_Exynos_4210 Linux-Exynos.org]
 
== Exynos 4412 ==
{{Infobox soc
| name = Exynos 4412
| image = File:Exynos-4412-Android-quad-core-Development-Board.jpg
| imagecaption = Exynos 4412 from a development board
| manufacturer = Samsung
| arch = armv7
| year = 2012
| cpu = 4x ARM Cortex A9 @ 1.4GHz
| gpu = ARM Mali-400 GPU
| process = 32
| mainline = yes
| status_cpu = Y
| status_uart = Y
| status_storage = Y
| status_usb = Y
| status_display = Y
| status_gpu = Y
| status_pinctrl = Y
| status_i2c = Y
| status_audio = Y
| status_video =
| status_thermal = Y
| status_wifi =
| status_bluetooth =
| status_modem =
| status_camera =
| status_suspend = Y
}}
 
=== Devices ===
{{#cargo_query:
tables=Devices
|fields=CONCAT( '[[', _pageName, '|',Manufacturer,' ',Name,']]' )=Device,Codename,StatusMainline=Mainline
|order by=Devices.Manufacturer, Devices.Name
|format=table
|limit=9999
|where=Devices.chipset like 'Exynos 4412%'
|more results text=
}}
 
=== Specifications ===
 
* 4x ARM Cortex A9 @ 1.4GHz
* ARM Mali-400MP4 (quad-core) @ 440 MHz ; 17.6 GFLOPS
 
=== Downstream status ===
 
Both devices are reported to boot and have some initial support.
 
=== More information ===
 
* [http://phonedb.net/index.php?m=processor&id=337&c=samsung_exynos_4_quad_4412 phonedb.net]
* [http://linux-exynos.org/wiki/Samsung_Exynos_4412 Linux-Exynos.org]
* The Tizen reference device TRATS2 is some flavor of Galaxy S III. It's quite nicely supported by mainline Linux kernel and almost fully supported by Tizen open-source Linux kernel (not the vendor one).
 
== Exynos 5250 ==
{{Infobox soc
| name = Exynos 5250
| manufacturer = Samsung
| arch = armv7
| year = 2012
| cpu = 2x ARM Cortex A15 @ 1.7GHz
| gpu = ARM Mali-T604MP4
| process = 32
| mainline = yes
| status_cpu = Y
| status_uart = Y
| status_storage = Y
| status_usb = Y
| status_display = Y
| status_gpu = N
| status_pinctrl = Y
| status_i2c = Y
| status_audio = Y
| status_video = N
| status_thermal = Y
| status_wifi = -
| status_bluetooth = -
| status_modem = -
| status_gps = -
| status_camera =
| status_suspend = Y
}}
 
=== Devices ===
{{#cargo_query:
tables=Devices
|fields=CONCAT( '[[', _pageName, '|',Manufacturer,' ',Name,']]' )=Device,Codename,StatusMainline=Mainline
|order by=Devices.Manufacturer, Devices.Name
|format=table
|limit=9999
|where=Devices.chipset like 'Samsung Exynos 5250%'
|more results text=
}}
 
=== Specifications ===
 
* 2x ARM Cortex A15 @ 1.7GHz
* ARM Mali-T604MP4 @ 533 MHz; 68.224 GFLOPS
 
=== More information ===
 
* [http://phonedb.net/index.php?m=processor&id=301&c=samsung_exynos_5_dual_5250 phonedb.net]
* [http://linux-exynos.org/wiki/Samsung_Exynos_5250 Linux-Exynos.org]
 
== Exynos 5420 ==
 
{{Infobox soc
| name = Exynos 5420
| manufacturer = Samsung
| arch = arm
| year = 2013
| cpu = 4x 1.9 GHz A15 & 4x 1.3 GHz A7
| gpu = Mali-T628 MP6
| process = 28
| mainline = yes
| status_cpu = Y
| status_uart = Y
| status_storage = Y
| status_usb = Y
| status_display = Y
| status_gpu = N
| status_pinctrl = Y
| status_i2c = Y
| status_audio = Y
| status_video = N
| status_thermal = Y
| status_wifi = -
| status_bluetooth = -
| status_modem = -
| status_gps = -
| status_camera =
| status_suspend = Y
}}
 
=== Devices ===
 
{{#cargo_query:
tables=Devices
|fields=CONCAT( '[[', _pageName, '|',Manufacturer,' ',Name,']]' )=Device,Codename,StatusMainline=Mainline
|order by=Devices.Manufacturer, Devices.Name
|format=table
|limit=9999
|where=Devices.chipset like '%Exynos 5420%'
|more results text=
}}
 
=== Specifications ===
 
* 4x Cortex A15 @ 1.9 GHz & 4x Cortex A7 @ 1.3 GHz
* Mali-T628 MP6 @ 533 MHz; 109 GFLOPS
 
=== More information ===
 
* [http://linux-exynos.org/wiki/Samsung_Exynos_5420 Linux-Exynos.org]
 
== Exynos 5422 (also Exynos 5800) ==
 
{{Infobox soc
| name = Exynos 5422
| manufacturer = Samsung
| arch = armv7
| year = 2014
| cpu = 4x 1.9 GHz A15 & 4x 1.3 GHz A7
| gpu = Mali-T628 MP6
| process =
| mainline = yes
| status_cpu = Y
| status_uart = Y
| status_storage = Y
| status_usb = Y
| status_display = Y
| status_gpu = Y
| status_pinctrl = Y
| status_i2c = Y
| status_audio = Y
| status_video = Y
| status_thermal = Y
| status_wifi =
| status_bluetooth =
| status_modem =
| status_camera =
| status_suspend = Y
}}
 
=== Devices ===
 
{{#cargo_query:
tables=Devices
|fields=CONCAT( '[[', _pageName, '|',Manufacturer,' ',Name,']]' )=Device,Codename,StatusMainline=Mainline
|order by=Devices.Manufacturer, Devices.Name
|format=table
|limit=9999
|where=Devices.chipset like '%Exynos 5422%'
|more results text=
}}
 
== Exynos 5433 ==
 
{{Infobox soc
| name = Exynos 5433
| manufacturer = Samsung
| arch = aarch64
| year = 2014
| cpu = 4x 1.9 GHz A57 & 4x 1.3 GHz A53
| gpu = Mali-T760
| process =
| mainline = yes
| status_cpu = Y
| status_uart = Y
| status_storage = Y
| status_usb = Y
| status_display = Y
| status_gpu = Y
| status_pinctrl = Y
| status_i2c = Y
| status_audio = Y
| status_video =
| status_thermal = Y
| status_wifi =
| status_bluetooth =
| status_modem =
| status_camera =
| status_suspend = Y
}}
 
=== Devices ===
 
{{#cargo_query:
tables=Devices
|fields=CONCAT( '[[', _pageName, '|',Manufacturer,' ',Name,']]' )=Device,Codename,StatusMainline=Mainline
|order by=Devices.Manufacturer, Devices.Name
|format=table
|limit=9999
|where=Devices.chipset like '%Exynos 5433%'
|more results text=
}}
 
=== 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 Galaxy S4 Mini Value Edition (samsung-serranove)|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 [https://patchwork.ozlabs.org/project/uboot/cover/20181107150105.23165-1-m.szyprowski@samsung.com/ old patch-set] for TM2 that can be used as a start for porting u-boot.
 
* [[Samsung Galaxy S9 (samsung-starqltechn)|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.
 
== Exynos 8895 ==
{{Infobox soc
| name = Exynos 8895
| manufacturer = Samsung
| arch = aarch64
| year = 2017
| cpu = 4x 2.3 GHz Mongoose M2 & 4x 1.7 GHz Cortex-A53
| gpu = Mali-G71 MP20
| process = 10
| mainline = yes <!-- Works on a mainline fork (5.10) -->
| status_cpu = Y
| status_uart =
| status_storage =
| status_usb =
| status_display =
| status_gpu =
| status_pinctrl = Y
| status_i2c =
| status_audio =
| status_video =
| status_thermal =
| status_wifi =
| status_bluetooth =
| status_modem =
| status_camera =
}}
 
=== Devices ===
{{#cargo_query:
tables=Devices
|fields=CONCAT( '[[', _pageName, '|',Manufacturer,' ',Name,']]' )=Device,Codename,StatusMainline=Mainline
|order by=Devices.Manufacturer, Devices.Name
|format=table
|limit=9999
|where=Devices.chipset like 'Exynos 8895%'
|more results text=
}}
 
=== Specifications ===
 
* 4x 2.3 GHz Mongoose M2 & 4x 1.7 GHz Cortex-A53
* Mali-G71 MP20
 
=== Downstream status ===
 
Galaxy S8 has a working port.
 
=== Mainline status ===
Boots, pinctrl and pstore works. WIP
 
=== More information ===
 
* [https://github.com/ivoszbg/linux/tree/for-upstream/exynos8895 Working 8895 mainline kernel]
* [https://www.samsung.com/semiconductor/minisite/exynos/products/mobileprocessor/exynos-9-series-8895/ SoC specification]
 
== Other ==
* 4212: Samsung Gear 1 (support dropped from mainline kernel)
* 4415 (support dropped from mainline kernel)
* 5260: SM-N750 Galaxy Note 3 Neo
* 5410
* 5800
* See also https://exynos.wiki.kernel.org


==References==
==References==
<references />
<references />
[[Category:Samsung]]

Latest revision as of 16:05, 22 October 2024

This page only contains some info, data and links regarding mainline on Exynos SoCs. If you want to mainline a device please follow the Mainlining guide.

Most Exynos ARM SoCs released up until 2014 are well supported in mainline linux. For arm64 Samsung rarely tried getting the code into mainline linux, and so very few SoCs are supported. The ARM64 Exynos SoCs that are at least somewhat supported include:

  • Exynos5433
  • Exynos7 (Early revision of Exynos7420 [1])
  • Exynos7885
  • Exynos850 (also known as Exynos3830)
  • Exynos8895
  • Exynos990
  • ExynosAuto v9
  • ExynosAuto v920
  • Tesla FSD
  • Category:Google Tensor SoC (also known as S5E9845)


There's been multiple ARMv7 SoCs that have had good support in the past, but currently don't:

  • Exynos4415 (support dropped from mainline kernel)
  • Exynos5260: SM-N750 Galaxy Note 3 Neo
  • Exynos5410
  • Exynos5800

Unfortunately Samsung does not release user manuals for their SoCs anymore. If you have an Exynos arm64 SoC that you want to mainline then a good start is to study the device tree and drivers for another already supported SoC and compare with the vendor kernel for that SoC, and then look at devicetree and drivers in vendor kernel for your SoC and try to "translate" it into mainline-acceptable format with the other SoC as reference. A good reference might be Exynos850, and it's vendor kernel. When writing your mainline device trees (and drivers), start small with just bare essentials and some way to get output from the device (pstore/ramoops, simple-framebuffer, serial debugging) to make sure that works before adding more parts.

Bootloaders

Devices released before 2020 use S-BOOT, which is based on U-Boot, and past 2020 use S-LK. There's some leaks of S-LK for 990 and 2300. S-BOOT/S-LK have some weird quirks though:

  • On devices with the new-style DECON (past 2016), the HW_SW_TRIG_CONTROL bit needs to be set in order to allow the framebuffer to refresh
  • On some revisions, CNTFRQ_EL0 is left unset. This means that you either have to set it either via the exynos-usbdl exploit, or hardcode the frequency in the timer node inside the SoC DT

Also, the bootloaders expects device trees in a certain format, and modifies the device tree before booting kernel. This is pretty inconvenient when testing mainline kernels, and so it is a good idea to use a secondary bootloader and boot mainline from it. U-boot does not support modern Exynos SoCs, but there are some other small bootloaders/kernel wrappers that can be used:

  • uniloader, inspired by minimal_sboot_wrapper but with support for more Exynos variants and with more features
  • minimal_sboot_wrapper, wrapper to make it possible to boot mainline kernels with Samsung's Sboot bootloader (made for Exynos 7885)

History

The first Exynos 4 CPUs were initially called S5PCxxx, like it's predecessors, but then renamed. For locating information it can therefore be good to know the old names.

  • The oldest Exynos processor is Exynos 3110, also known as hummingbird, which was renamed from S5PC110. It has a Cortex-A8 core.
    • S5PV210, found in some development boards, is supposedly similar to Exynos 3110
  • Exynos 4210, the first Exynos 4 CPU, was initially called S5PC210, and has two Cortex-A9 cores
    • S5PV310, found in some development boards, is supposedly similar to Exynos 4210
  • Exynos 4412 was initially called S5PC220, based on strings in very old u-boot blobs from Samsung. It has four Cortex-A9 cores.

The Exynos 4x12 is likely codenamed Pega/Pegasus (the Exynos 4212 is referred to as the Pega-D, the Exynos 4412 is referred to as the Pega-Q and the Exynos 3250 is referred to as the Pega-W(?)). "PegasusQ" is also the name of the CPU governor used on some Exynos 4412 devices.

The common denominator for Exynos 4 seem to be that the SOC has only Cortex-A9 cores. Later devices have Cortex-A15 cores (and possibly Cortex-A9 cores as well) and were then called Exynos 5.

Samsung SoCs Page

SoC Codenames Arch Year Mainline
Samsung Exynos 3250 armv7 2014 Yes
Samsung Exynos 3475 armv7 2015 Yes
Samsung Exynos 4210 armv7 2011 Yes
Samsung Exynos 4212 armv7 2012 Yes
Samsung Exynos 4412 armv7 2012 Yes
Samsung Exynos 4415 armv7 2014 No
Samsung Exynos 5250 armv7 2012 Yes
Samsung Exynos 5420 armv7 2013 Yes
Samsung Exynos 5422 armv7 2014 Yes
Samsung Exynos 5433 aarch64 2014 Yes
Samsung Exynos 7870 aarch64 2016 Yes
Samsung Exynos 8895 aarch64 2017 Yes
Samsung Exynos 9110 aarch64 2017 No
Samsung Exynos 9810 aarch64 2017 No
Samsung Exynos 990 aarch64 2020 Yes

See also

  • https://exynos.wiki.kernel.org
  • There are some article that may help to port mainline scattered around the device which has gotten mainline support.
  • User:knuxify provides an article[2] about how to bring up the display of lt01wifi, which may help to those who want to port dsi panels.
  • PabloPL's repository contains branches related to Exynos 7420, 7580, 8890
  • dsankouski's repository contains branches related to Exynos 7880
  • VDavid003's repository contains branches related to Exynos 7885
  • ivoszbg's repository contains branches related to Exynos 8895
  • krzk's repository contains branches with several vendor (Samsung) kernel sources for many Exynos SoCs

References

Pages in category "Samsung Exynos"

The following 6 pages are in this category, out of 6 total.