Category:Samsung Exynos

From postmarketOS Wiki

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:

  • Exynos 5433
  • Exynos 7 (some early version of Exynos 7420 [1])
  • Exynos 7885
  • Exynos 850 (also known as Exynos 3830)
  • Exynos Auto v9
  • Tesla FSD
  • Category:Google Tensor SoC (named Exynos 9845 by Samsung)

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 devicetree 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 dts (and drivers), start small with just bare essentials and some way to get output from the device (pstore/ramoops, simple-framebuffer, serial debugging), and make sure that works before adding more parts.

Samsung's stock bootloader expects devicetree 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:

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

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.

Icon TODO: What, if anything, was Exynos 4212 called initially?


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 No
Samsung Exynos 990 aarch64 2020 Yes

Other SoCs

  • 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
  • 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

Subcategories

This category has only the following subcategory.

Pages in category "Samsung Exynos"

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