User Tools

Site Tools


start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
start [2019/11/07 14:00]
narmstrong [Supported/WiP SoC Families]
start [2020/05/14 14:53] (current)
narmstrong
Line 21: Line 21:
   * **Generic ArchLinux ARM** (https://​archlinuxarm.org/​platforms/​armv8/​generic) Uses mainline defconfig, thus enabling Amlogic SoC support, but you will need to setup the boot yourself   * **Generic ArchLinux ARM** (https://​archlinuxarm.org/​platforms/​armv8/​generic) Uses mainline defconfig, thus enabling Amlogic SoC support, but you will need to setup the boot yourself
   * **Debian Testing** (https://​wiki.debian.org/​DebianTesting) Uses a fairly recent Linux release with most of the needed Linux config options to run on Amlogic SoCs, you will be able to use EFI boot or you will need to setup the boot yourself   * **Debian Testing** (https://​wiki.debian.org/​DebianTesting) Uses a fairly recent Linux release with most of the needed Linux config options to run on Amlogic SoCs, you will be able to use EFI boot or you will need to setup the boot yourself
-  * **OpenSUSE Tumbletweed** (https://​en.opensuse.org/​HCL:​LibreTech-CC) Uses a fairly recent Linux release with most of the needed Linux config options to run on Amlogic SoCs, you will be able to use EFI boot or you will need to setup the boot yourself as described in the Wiki+  * **openSUSE Tumbleweed** (https://​en.opensuse.org/​HCL:​LibreTech-CC) Uses a fairly recent Linux release with most of the needed Linux config options to run on Amlogic SoCs, you will be able to use EFI boot or you will need to setup the boot yourself as described in the Wiki
   * **Fedora Rawhide** (https://​fedoraproject.org/​wiki/​Architectures/​ARM) Uses mainline defconfig, thus enabling Amlogic SoC support, but you will need to setup the boot yourself   * **Fedora Rawhide** (https://​fedoraproject.org/​wiki/​Architectures/​ARM) Uses mainline defconfig, thus enabling Amlogic SoC support, but you will need to setup the boot yourself
   * **Yocto/​OpenEmbedded meta-meson layer** (https://​layers.openembedded.org/​layerindex/​branch/​master/​layer/​meta-meson/​) Enables linux on Amlogic SoCs, including boot support, with most of the Work-In-Progress patches   * **Yocto/​OpenEmbedded meta-meson layer** (https://​layers.openembedded.org/​layerindex/​branch/​master/​layer/​meta-meson/​) Enables linux on Amlogic SoCs, including boot support, with most of the Work-In-Progress patches
Line 34: Line 34:
 Here is current status on Multimedia support : Here is current status on Multimedia support :
   * GPU : Is supported on S905, S905X/W/L, S905D, S805X and S912 with Lima and Panfrost   * GPU : Is supported on S905, S905X/W/L, S905D, S805X and S912 with Lima and Panfrost
-    * Linux driver for v5.2, currently in drm-misc-next and linux-next+    * Linux drivers upstream since v5.2
     * Mesa support in master : https://​gitlab.freedesktop.org/​mesa/​mesa     * Mesa support in master : https://​gitlab.freedesktop.org/​mesa/​mesa
     * Closed Source mali driver using https://​github.com/​superna9999/​meson_gx_mali_450 driver and https://​github.com/​superna9999/​amlogic-meson-mali binaires (The ARM provided HiKey binaries are also functional)     * Closed Source mali driver using https://​github.com/​superna9999/​meson_gx_mali_450 driver and https://​github.com/​superna9999/​amlogic-meson-mali binaires (The ARM provided HiKey binaries are also functional)
Line 41: Line 41:
  
 All of this is being integrated in a specific LibreELEC branch at : https://​github.com/​LibreELEC/​LibreELEC.tv/​tree/​amlogic and https://​github.com/​chewitt/​LibreELEC.tv/​tree/​amlogic All of this is being integrated in a specific LibreELEC branch at : https://​github.com/​LibreELEC/​LibreELEC.tv/​tree/​amlogic and https://​github.com/​chewitt/​LibreELEC.tv/​tree/​amlogic
 +
 +===== And Android/​AOSP ? =====
 +
 +Yes, we ([[http://​www.baylibre.com/​|BayLibre]]) pushed an upstream based AOSP support for the G12A/SM1 based boards :
 +  * SEI510
 +  * SEI610
 +  * Khadas VIM3L
 +
 +Current status (May 2020):
 +  * Android 10 Bootflow using Mainline U-Boot
 +  * Mali GPU using binary blobs
 +  * Audio support (HDMI, analog, dmic)
 +
 +Where ?
 +
 +  * https://​android.googlesource.com/​device/​amlogic/​yukawa/​
 +
 +
 ===== Target hardware ===== ===== Target hardware =====
  
Line 63: Line 81:
   * GXM : Identical to GXL but with Octo 64bit Cortex-A53   * GXM : Identical to GXL but with Octo 64bit Cortex-A53
     * S912 : Pin compatible with S905D     * S912 : Pin compatible with S905D
-  * AXG : Audio/IOT dedicated SoC derived from GX family with enhanced audio and MIPI DSI display support+  * AXG : Audio/IOT dedicated SoC derived from GX family with enhanced audio and MIPI DSI display support ​and 2xPCIe 2.0 x1 lanes
     * A113D     * A113D
 +    * A113X: similar to A113D, without PCIe and MIPI DSI Output
   * G12A : Quad 64bit Cortex-A53, DSI Output   * G12A : Quad 64bit Cortex-A53, DSI Output
     * S905D2: enhanced audio (from AXG), 1x USB 3.0 or 1x PCIe 2.0, built-in 1G MAC and 100M PHY, two video decoders (4Kx2K@60fps + 1080P@60fps)     * S905D2: enhanced audio (from AXG), 1x USB 3.0 or 1x PCIe 2.0, built-in 1G MAC and 100M PHY, two video decoders (4Kx2K@60fps + 1080P@60fps)
Line 72: Line 91:
     * S922X: mostly pin compatible with S905X2     * S922X: mostly pin compatible with S905X2
     * A311D: similar to S922X but with slightly higher frequencies,​ with a Neural Processor Unit     * A311D: similar to S922X but with slightly higher frequencies,​ with a Neural Processor Unit
-  * SM1 : Very close to G12A but with  Quad Cortex-A35, a Neural Processor Unit and CSI input+  * SM1 : Very close to G12A but with  Quad Cortex-A55, a Neural Processor Unit and CSI input
     * S905D3: enhanced audio (from AXG), 1x USB 3.0 or 1x PCIe 2.0, built-in 1G MAC and 100M PHY, two video decoders (4Kx2K@60fps + 1080P@60fps),​ Neural Processor Unit, MIPI-DSI and CSI input     * S905D3: enhanced audio (from AXG), 1x USB 3.0 or 1x PCIe 2.0, built-in 1G MAC and 100M PHY, two video decoders (4Kx2K@60fps + 1080P@60fps),​ Neural Processor Unit, MIPI-DSI and CSI input
     * S905X3: similar to S905D3 but without the DSI output and CSI input     * S905X3: similar to S905D3 but without the DSI output and CSI input
Line 78: Line 97:
  
 For further indications : https://​en.wikipedia.org/​wiki/​Amlogic#​Comparison_table For further indications : https://​en.wikipedia.org/​wiki/​Amlogic#​Comparison_table
 +
 +{{ https://​people.freedesktop.org/​~narmstrong/​amlogic-socs.png |}}
  
 Some development and final products are (partially) supported : [[hardware|Supported Hardware]] Some development and final products are (partially) supported : [[hardware|Supported Hardware]]
  
 |                    ^ AML8726MX ​         ^ S802\\ S812 ^ S805        ^ S905      ^ S905D       ^ S905X\\ S905W\\ S805X      ^ S912       ^ A113d      ^ S905D2\\ S905X2\\ S905Y2\\ S922X\\ A311D  ^  S905D3\\ S905X3\\ S905Y3 ^ |                    ^ AML8726MX ​         ^ S802\\ S812 ^ S805        ^ S905      ^ S905D       ^ S905X\\ S905W\\ S805X      ^ S912       ^ A113d      ^ S905D2\\ S905X2\\ S905Y2\\ S922X\\ A311D  ^  S905D3\\ S905X3\\ S905Y3 ^
-^ UART                | Console Only       | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** | **Yes** | +^ UART                | Console Only       | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​
-^ Pinctrl/​GPIO ​       | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** | **Yes** | +^ Pinctrl/​GPIO ​       | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​
-^ GPIO Interrupt ​     | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** | **Yes** | +^ GPIO Interrupt ​     | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​
-^ Clock Control ​     | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** | **Yes** | +^ Clock Control ​     | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​
-^ PWM                | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** | **Yes** | +^ PWM                | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​
-^ Reset Control ​     | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** | **Yes** | +^ Reset Control ​     | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​
-^ Infrared Decoder ​   | **Yes** ​           | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** | **Yes** | +^ Infrared Decoder ​   | **Yes** ​           | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​
-^ Ethernet ​           | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** | **Yes** | +^ Ethernet ​           | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​
-^ Multi-core ​         | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** | **Yes** | +^ Multi-core ​         | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​
-^ Fuse access ​       | **Yes** ​           | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** | **Yes** | +^ Fuse access ​       | **Yes** ​           | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​
-^ SPI (FC)          | **Yes** ​           | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | __No__ ​     | //​WiP// ​//​WiP// ​+^ SPI (FC)          | **Yes** ​           | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | __No__ ​     | **Yes** ​    **Yes** ​    
-^ SPI (CC)            | N/A                | __No__ ​     | __No__ ​     | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    ​| ​//​WiP// ​//​WiP// ​+^ SPI (CC)            | N/A                | __No__ ​     | __No__ ​     | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    ​| ​**Yes** ​    **Yes** ​    
-^ I2C                | **Yes** ​           | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** | **Yes** | +^ I2C                | **Yes** ​           | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​
-^ USB                | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | //​WiP// ​    | **Yes** | **Yes** | +^ USB                | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | __No__ ​     ​| **Yes** ​    ​
-^ USB OTG          | __No__ ​            | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     ​__No__ ​     ​__No__ ​     ​__No__ ​     ​| **Yes** | **Yes** | +^ USB OTG          | __No__ ​            | __No__ ​     | __No__ ​     | __No__ ​     | **Yes** ​    **Yes** ​    **Yes** ​    **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​
-^ MHU/​Mailbox ​       | N/A                | N/A         | N/A         | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | //WiP// | //WiP// | +^ MHU/​Mailbox ​       | N/A                | N/A         | N/A         | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | //​WiP// ​    ​| //​WiP// ​    ​
-^ DVFS              | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** | **Yes** | +^ DVFS              | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​
-^ eMMC              | __No__ ​            | ''​Partial''​ | ''​Partial''​ | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** | **Yes** | +^ eMMC              | __No__ ​            | ''​Partial''​ | ''​Partial''​ | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​
-^ SDCard ​           | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | N/A         | **Yes** | **Yes** | +^ SDCard ​           | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | N/A         | **Yes** ​    ​| **Yes** ​    ​
-^ SDIO              | __No__ ​            | ''​Partial''​ | ''​Partial''​ | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** | **Yes** | +^ SDIO              | __No__ ​            | ''​Partial''​ | ''​Partial''​ | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​
-^ NAND              | __No__ ​            | __No__ ​     | __No__ ​     | __No__ ​     | ''​Partial''​ | ''​Partial''​ | ''​Partial''​ | ''​Partial''​ | __No__ ​ | __No__ ​ +^ NAND              | __No__ ​            | __No__ ​     | __No__ ​     | __No__ ​     | ''​Partial''​ | ''​Partial''​ | ''​Partial''​ | ''​Partial''​ | __No__ ​     | __No__ ​     
-^ ADC                | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** | **Yes** | +^ ADC                | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​
-^ Audio Subsystem ​   | __No__ ​            | __No__ ​     | __No__ ​     ​| //​WiP// ​    | //​WiP// ​    ​| ​//​WiP// ​    | //​WiP// ​    | **Yes** ​    | **Yes** | **Yes** | +^ Audio Subsystem ​   | __No__ ​            | //​WiP// ​    | //​WiP// ​    ​| ​**Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    ​| **Yes** ​    | **Yes** ​    | **Yes** ​    
-^ CVBS Output ​       | __No__ ​            | __No__ ​     | __No__ ​     | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | N/A         | **Yes** | **Yes** | +^ CVBS Output ​       | __No__ ​            | __No__ ​     | __No__ ​     | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | N/A         | **Yes** ​    ​| **Yes** ​    ​
-^ HDMI Output ​       | __No__ ​            | __No__ ​     | __No__ ​     | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | N/A         | **Yes** | **Yes** | +^ HDMI Output ​       | __No__ ​            | __No__ ​     | __No__ ​     | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | N/A         | **Yes** ​    ​| **Yes** ​    ​
-^ HDMI Audio          | __No__ ​            | __No__ ​     | __No__ ​     | //​WiP// ​    | //​WiP// ​    | //​WiP// ​    | //​WiP// ​    | N/A         | **Yes** | **Yes** | +^ HDMI Audio          | __No__ ​            | __No__ ​     | __No__ ​     | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | N/A         | **Yes** ​    ​| **Yes** ​    ​
-^ CEC                | __No__ ​            | __No__ ​     | __No__ ​     | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | N/A         | **Yes** | **Yes** | +^ CEC                | __No__ ​            | __No__ ​     | __No__ ​     | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | N/A         | **Yes** ​    ​| **Yes** ​    ​
-^ Thermal Sensor ​     | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** | **Yes** | +^ Thermal Sensor ​     | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​
-^ Video Encoders ​     | __No__ ​            | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | N/A         | __No__ ​ | __No__ ​ +^ Video Encoders ​     | __No__ ​            | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | N/A         | __No__ ​     | __No__ ​     
-^ Video Decoders ​     | __No__ ​            | __No__ ​     | //​WiP// ​    | ''​Partial''​ | ''​Partial''​ | ''​Partial''​ | ''​Partial''​ | N/A         ​| ​//​WiP// ​//​WiP// ​+^ Video Decoders ​     | __No__ ​            | __No__ ​     | //​WiP// ​    | ''​Partial''​ | ''​Partial''​ | ''​Partial''​ | ''​Partial''​ | N/A         ​| ​''​Partial'' ​''​Partial'' ​
-^ DVB TS Input        | __No__ ​            | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | N/A         | __No__ ​ | __No__ ​ +^ DVB TS Input        | __No__ ​            | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | N/A         | __No__ ​     | __No__ ​     
-^ LCD/LVDS Output ​   | N/A                | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | N/A         | __No__ ​ | __No__ ​ +^ LCD/LVDS Output ​   | N/A                | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | N/A         | __No__ ​     | __No__ ​     
-^ HDMI RX            | N/A                | N/A         | N/A         | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​ | __No__ ​ +^ HDMI RX            | N/A                | N/A         | N/A         | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     
-^ DVP MIPI Input      | N/A                | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | N/A         | __No__ ​ | __No__ ​ +^ DVP MIPI Input      | N/A                | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | N/A         | __No__ ​     | __No__ ​     
-^ 3D Acceleration ​   | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | N/A         | **Yes** | **Yes** | +^ 3D Acceleration ​   | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | N/A         | **Yes** ​    ​| **Yes** ​    ​
-^ Real Time Clock (RTC)    | **Yes** ​           | **Yes** ​    | **Yes** ​    | N/A         | N/A         | N/A         | N/A         | N/A         | N/A     ​| N/A     ​+^ Real Time Clock (RTC)    | **Yes** ​           | **Yes** ​    | **Yes** ​    | N/A         | N/A         | N/A         | N/A         | N/A         | N/A         ​| N/A         ​
-^ SoC (version) information ​   | **Yes** ​      | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** | **Yes** | +^ SoC (version) information ​   | **Yes** ​      | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​
-^ HW crypto engine | __No__ ​            | __No__ ​     | __No__ ​     | __No__ ​     | **Yes** ​    | **Yes** ​    | **Yes** ​    | //​WiP// ​    | //WiP// | //WiP// | +^ HW crypto engine | __No__ ​            | __No__ ​     | __No__ ​     | __No__ ​     | **Yes** ​    | **Yes** ​    | **Yes** ​    | //​WiP// ​    | //​WiP// ​    ​| //​WiP// ​    ​
-^ Clock measurer | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** | **Yes** | +^ Clock measurer | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​
-^ PCIe            | N/A                | N/A         | N/A         | N/A         | N/A         | N/A         | N/A         | **Yes** ​    | **Yes** | **Yes** | +^ PCIe            | N/A                | N/A         | N/A         | N/A         | N/A         | N/A         | N/A         | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​
-^ DSI Output support ​ | N/A                | N/A         | N/A         | N/A         | N/A         | N/A         | N/A         | __No__ ​     | __No__ ​ | __No__ ​ +^ DSI Output support ​ | N/A                | N/A         | N/A         | N/A         | N/A         | N/A         | N/A         | __No__ ​     | __No__ ​     | __No__ ​     
-^ CSI Camera support ​ | N/A                | N/A         | N/A         | N/A         | N/A         | N/A         | N/A         | N/A         | __No__ ​ | __No__ ​ +^ CSI Camera support ​ | N/A                | N/A         | N/A         | N/A         | N/A         | N/A         | N/A         | N/A         | __No__ ​     | __No__ ​     
-^ ISP support ​           | N/A                | N/A         | N/A         | N/A         | N/A         | N/A         | N/A         | N/A         | __No__ ​ | __No__ ​ |+^ ISP support ​           | N/A                | N/A         | N/A         | N/A         | N/A         | N/A         | N/A         | N/A         | __No__ ​     | __No__ ​     |
  
  
 ===== Kernel mainlining progress ===== ===== Kernel mainlining progress =====
 +v5.8  (Work in progress)
 +  * Meson8b: Updates and fixup HDMI and video clocks
 +  * Meson8b: Fixup reset polarity
 +  * Meson gx and g12: fix GPU glitch free mux switch
 +
 +v5.7
 +  * Update audio clock gate hierarchy for meson8 and gxbb
 +  * Update g12a spicc clock sources
 +  * spicc: Add support for G12A
 +  * A1: Add secure power domain controller
 +  * Add VP9 HW decoder
 +  * DT updates:
 +    * fix gxm-khadas-vim2 wifi
 +    * odroid-c2: add rc-odroid ir keymap
 +    * p212: add bluetooth nodes
 +    * s95: fix bluetooth node
 +    * g12b: fix N2/VIM3 audio card model names
 +    * khadas-vim3:​ move model to g12b-khadas-vim3 dtsi
 +    * add thermal zones to meson gx devices
 +    * add pdm reset line
 +    * s400: fix sound card codec nodes
 +    * sei510: fix sound card codec node
 +    * a1: add secure power domain controller
 +    * add rc-videostrong-kii-pro keymap
 +    * g12-common: add parkmode_disable_ss_quirk on DWC3 controller
 +    * g12-common: add spicc controller nodes
 +    * g12: split emmc pins to select 4 or 8 bus width
 +    * g12: add the SPIFC nodes
 +    * khadas-vim3:​ add SPIFC controller node
 +    * g12b-odroid-n2:​ add SPIFC controller node
 +
 +v5.6
 +  * irqchip/​meson-gpio:​ Add support for meson a1 SoCs
 +  * add reset controller for Meson-A1 SoC
 +  *  a1: add pinctrl controller support
 +  * add libretech-pc boards support
 +  * meson-gxbb: add support for Videostrong KII Pro
 +  * vdec: add sm1 platform
 +  * vdec: add g12a platform
 +  * add a driver for the Meson8/​8b/​8m2 DDR clock controller
  
-v5.5 (work in progress)+v5.5
   * drm/meson: add support for suspend/​resume   * drm/meson: add support for suspend/​resume
   * GXL/GXM: add a driver for the HW crypto IP block   * GXL/GXM: add a driver for the HW crypto IP block
Line 148: Line 209:
     * Ugoos AM6 (G12B, S922X)     * Ugoos AM6 (G12B, S922X)
  
-v5.4 (work in progress)+v5.4
   * G12B: add the SoC ID for the A311D SoC   * G12B: add the SoC ID for the A311D SoC
   * G12B: add support for the second CPU cluster in the meson-clk-measure driver   * G12B: add support for the second CPU cluster in the meson-clk-measure driver
Line 710: Line 771:
  
 ==== WiP ==== ==== WiP ====
-  * ASoC Audio for GXBB/​GXL/​GXM ​(Jerome Brunet ​jbrunet)+  * HEVC HW Video Decoder ​(elyotna ​narmstrong)
  
 ==== Stalled WiP ==== ==== Stalled WiP ====
Line 718: Line 779:
 ==== TODO ==== ==== TODO ====
   * Support more boards (Amlogic based retail products should have PCB holes to enable Serial console with a simple USB to Serial TTL adapter, i.e. [[https://​www.sparkfun.com/​products/​12977|Sparkfun USB to Serial TTL cable]])   * Support more boards (Amlogic based retail products should have PCB holes to enable Serial console with a simple USB to Serial TTL adapter, i.e. [[https://​www.sparkfun.com/​products/​12977|Sparkfun USB to Serial TTL cable]])
-  * USB OTG for Meson8/​Meson8b/GXBB (dwc2 does not get the OTG interrupts, instead Amlogic'​s kernel code polls some USB PHY registers to detect the mode. __maybe__ this could be solved by implementing <​del>​extcon</​del>​ usb_role_switch support in the USB2 PHY <​del>​and [[https://​patchwork.kernel.org/​patch/​9462131/​|dwc2 (based on this RFC)]]</​del>​) +  * USB OTG for Meson8/​Meson8b (dwc2 does not get the OTG interrupts, instead Amlogic'​s kernel code polls some USB PHY registers to detect the mode. __maybe__ this could be solved by implementing <​del>​extcon</​del>​ usb_role_switch support in the USB2 PHY <​del>​and [[https://​patchwork.kernel.org/​patch/​9462131/​|dwc2 (based on this RFC)]]</​del>​)
-  * USB OTG for GXL/GXM (dwc3 is used for host-mode, dwc2 for device-mode and the second USB2 PHY switches the mode depending on what the USB3 PHY OTG detection logic tells it to) [[https://​github.com/​xdarklight/​linux/​commits/​meson-gxl-use-dwc3-g12a-usb-control-driver-20190427|experimental code]]+
   * Find a way to cap the SCPI cpufreq max frequency to re-enable DVFS on Odroid-C2   * Find a way to cap the SCPI cpufreq max frequency to re-enable DVFS on Odroid-C2
   * Meson DRM Features   * Meson DRM Features
Line 729: Line 789:
     * LVDS and LCD output support on supported boards     * LVDS and LCD output support on supported boards
     * Add Display support for pre-GX SoCs     * Add Display support for pre-GX SoCs
-    * Add HDMI support for pre-GX SoCs, Unknown ​HDMI Controller IP+    * Add HDMI support for pre-GX SoCs which uses [[https://​www.chipestimate.com/​log.php?​from=%2FTranswitch%2FTXC-48352-HDMI-14-Tx-with-HEAC-at-35Gbps%2Fdatasheet%2Fip%2F21435&​logerr=1|TranSwitch TXC-48352]] (or similar part number from TranSwitch)
   * NAND controller driver support for Meson8/​Meson8b/​Meson8m2/​GXBB   * NAND controller driver support for Meson8/​Meson8b/​Meson8m2/​GXBB
  
Line 745: Line 805:
  
 ===== U-Boot mainlining progress ===== ===== U-Boot mainlining progress =====
 +v2020.07 (WiP):
 +  * USB Gadget support for GXL/GXM boards
 +  * USB Host support for Odroid-C2
 +  * add support for Libre Computer AML-S905D-PC and AML-S912-PC
 +
 +v2020.04
 +  * Khadas VIM3L support
  
-v2020.01 ​(WiP):+v2020.01:
   * Add support for HDMI/CVBS outpuut for G12A/​G12B/​SM1   * Add support for HDMI/CVBS outpuut for G12A/​G12B/​SM1
   * Add support for Khadas VIM3 board   * Add support for Khadas VIM3 board
Line 810: Line 877:
 ==== Mainline U-Boot Support Matrix ==== ==== Mainline U-Boot Support Matrix ====
 |                    ^ S905      ^ S905X      ^ S912\\ S905D      ^ A113X       ^ S905X2\\ S905D2\\ S905Y2 ^ S922X\\ A311D ^ S905X3 ^ |                    ^ S905      ^ S905X      ^ S912\\ S905D      ^ A113X       ^ S905X2\\ S905D2\\ S905Y2 ^ S922X\\ A311D ^ S905X3 ^
-^ Boards ​               | Odroid-C2\\ Nanopi-K2\\ P200\\ P201 | P212\\ Khadas VIM\\ LibreTech-CC\\ LibreTech-AC | Khadas VIM2 | S400 | U200\\ SEI510 | Odroid-N2\\ Khadas VIM3 | SEI610 |+^ Boards ​               | Odroid-C2\\ Nanopi-K2\\ P200\\ P201 | P212\\ Khadas VIM\\ LibreTech-CC\\ LibreTech-AC | Khadas VIM2 | S400 | U200\\ SEI510 | Odroid-N2\\ Khadas VIM3 | SEI610\\ Khadas VIM3L |
 ^ UART                | **Yes** ​  | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | ^ UART                | **Yes** ​  | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   |
 ^ Pinctrl/​GPIO ​       | **Yes** ​  | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | ^ Pinctrl/​GPIO ​       | **Yes** ​  | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   |
Line 820: Line 887:
 ^ Multi-core ​         | **Yes (PSCI)** ​  | **Yes (PSCI)** ​   | **Yes (PSCI)** ​  | **Yes (PSCI)** ​  | **Yes (PSCI)** ​  | **Yes (PSCI)** ​  | **Yes (PSCI)** ​  | ^ Multi-core ​         | **Yes (PSCI)** ​  | **Yes (PSCI)** ​   | **Yes (PSCI)** ​  | **Yes (PSCI)** ​  | **Yes (PSCI)** ​  | **Yes (PSCI)** ​  | **Yes (PSCI)** ​  |
 ^ Fuse access ​       | **Yes** ​  | **Yes** ​   |**Yes** ​    ​|**Yes** ​    ​|**Yes** ​    ​|**Yes** ​    ​|**Yes** ​    | ^ Fuse access ​       | **Yes** ​  | **Yes** ​   |**Yes** ​    ​|**Yes** ​    ​|**Yes** ​    ​|**Yes** ​    ​|**Yes** ​    |
-^ SPI (FC)          | __No__ ​   ​| ​__No__ ​    | **Yes** ​   | __No__ ​    __No__ ​    | __No__ ​    | __No__ ​    |+^ SPI (FC)          | **Yes** ​   ​| ​**Yes** ​    | **Yes** ​   | **Yes** ​   ​|**Yes** ​    | **Yes** ​   ​| __No__ ​    |
 ^ SPI (CC)            | __No__ ​   | __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | ^ SPI (CC)            | __No__ ​   | __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    |
 ^ I2C                | **Yes** ​  | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | ^ I2C                | **Yes** ​  | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   |
-^ USB               ​ | ​__No__ ​   ​| **Yes** ​   | **Yes** ​   | __No__ ​    | **Yes** ​   | **Yes** ​   | **Yes** ​   | +^ USB               ​ | ​**Yes** ​  | **Yes** ​   | **Yes** ​   | __No__ ​    | **Yes** ​   | **Yes** ​   | **Yes** ​   | 
-^ USB OTG          | __No__ ​   | //​WiP// ​   ​| ​//​WiP// ​   | __No__ ​    | **Yes** ​   | **Yes** ​   | **Yes** ​   |+^ USB OTG          | __No__ ​   | **Yes** ​   ​| ​**Yes** ​   | __No__ ​    | **Yes** ​   | **Yes** ​   | **Yes** ​   |
 ^ eMMC              | **Yes** ​  | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | ^ eMMC              | **Yes** ​  | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   |
 ^ SDCard ​           | **Yes** ​  | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | ^ SDCard ​           | **Yes** ​  | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   |
Line 837: Line 904:
  
 ===== Work in Progress ===== ===== Work in Progress =====
-  * Odroid-C2 / GXBB USB Support+  * None
  
 ===== TODO ===== ===== TODO =====
Line 843: Line 910:
   * Port Linux NAND driver to U-Boot   * Port Linux NAND driver to U-Boot
   * Add support for 32bit Meson 6/8/8b   * Add support for 32bit Meson 6/8/8b
-  * Add support for USB OTG+  * Add support for PCIe for A113d/​G12A/​G12B/​SM1 
 +  * Add proper Ethernet glue to drop mach-meson code 
 +  * Add proper MDIO mux driver to drop mach-meson code
 ===== Development resources ===== ===== Development resources =====
  
start.1573131653.txt.gz · Last modified: 2019/11/07 14:00 by narmstrong