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/08/12 23:00]
xdarklight [Kernel mainlining progress] Odroid-C1 will use the correct Ethernet MAC address in v5.4
start [2019/11/13 14:23] (current)
narmstrong [What about multimedia support ?]
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)
-  * HDMI Output up to 4k is working on S905, S905X/W/L, S905D, S912, S805X, S905X2, S905Y2, S905D2 (Will need WiP patches for 4k420 support)+  * HDMI Output up to 4k is working on S905, S905X/W/L, S905D, S912, S805X, S905X2, S905Y2, S905D2, S922X, A311D, S905X3, S905D3, S905Y3 ​(Will need WiP patches for 4k420 support)
   * Video Decoding is being finalized, initial V4L2 driver for MPEG2 decoding has been pushed and is ready to be merged when the firmwares (https://​github.com/​LibreELEC/​meson-firmware) licence is figured out.   * Video Decoding is being finalized, initial V4L2 driver for MPEG2 decoding has been pushed and is ready to be merged when the firmwares (https://​github.com/​LibreELEC/​meson-firmware) licence is figured out.
  
Line 63: Line 63:
   * 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
-  ​* G12A : Quad 64bit Cortex-A53+    * A113X: similar to A113D, without PCIe and MIPI 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)
-    * S905X2: similar to S905D2 but without DVB interface +    * S905X2: similar to S905D2 but without DVB interface ​and DSI 
-    * S905Y2: similar to S905D2 ​but without built-in Ethernet +    * S905Y2: similar to S905X2 ​but without built-in Ethernet 
-  * G12B : Identical to G12A but with Quad Cortex-A73 + dual Cortex-A53 cores+  * G12B : Identical to G12A but with Quad Cortex-A73 + dual Cortex-A53 cores, with CSI input and ISP
     * S922X: mostly pin compatible with S905X2     * S922X: mostly pin compatible with S905X2
-    * A311D: similar to S922X but with slightly higher frequencies+    * 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 
 +    * 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 
 +    * S905Y3: similar to S905X3 but without DVB interface and built-in Ethernet
  
 For further indications : https://​en.wikipedia.org/​wiki/​Amlogic#​Comparison_table For further indications : https://​en.wikipedia.org/​wiki/​Amlogic#​Comparison_table
Line 77: Line 82:
 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  ^ +|                    ^ 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** | +^ UART                | Console Only       | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​| **Yes** | 
-^ Pinctrl/​GPIO ​       | __No__ ​            | **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** | +^ GPIO Interrupt ​     | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​| **Yes** | 
-^ Clock Control ​     | __No__ ​            | **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** | +^ PWM                | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​| **Yes** | 
-^ Reset Control ​     | __No__ ​            | **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** | +^ Infrared Decoder ​   | **Yes** ​           | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​| **Yes** | 
-^ Ethernet ​           | __No__ ​            | **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** | +^ Multi-core ​         | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​| **Yes** | 
-^ Fuse access ​       | **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// | +^ SPI (FC)          | **Yes** ​           | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | __No__ ​     ​| //​WiP// ​| //WiP// | 
-^ SPI (CC)            | N/A                | __No__ ​     | __No__ ​     | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | //WiP// | +^ SPI (CC)            | N/A                | __No__ ​     | __No__ ​     | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | //​WiP// ​| //WiP// | 
-^ I2C                | **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** | +^ USB                | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | //​WiP// ​    | **Yes** ​| **Yes** | 
-^ USB OTG          | __No__ ​            | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | **Yes** | +^ USB OTG          | __No__ ​            | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     ​| **Yes** ​| **Yes** | 
-^ MHU/​Mailbox ​       | N/A                | N/A         | N/A         | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | //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** | +^ DVFS              | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​| **Yes** | 
-^ eMMC              | __No__ ​            | ''​Partial''​ | ''​Partial''​ | **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** | +^ SDCard ​           | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | N/A         | **Yes** ​| **Yes** | 
-^ SDIO              | __No__ ​            | ''​Partial''​ | ''​Partial''​ | **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__ ​ | +^ NAND              | __No__ ​            | __No__ ​     | __No__ ​     | __No__ ​     | ''​Partial''​ | ''​Partial''​ | ''​Partial''​ | ''​Partial'' ​| __No__  ​| __No__ ​ | 
-^ ADC                | __No__ ​            | **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** | +^ Audio Subsystem ​   | __No__ ​            | __No__ ​     | __No__ ​     | //​WiP// ​    | //​WiP// ​    | //​WiP// ​    | //​WiP// ​    | **Yes** ​    | **Yes** ​| **Yes** | 
-^ CVBS Output ​       | __No__ ​            | __No__ ​     | __No__ ​     | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | N/A         | **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** | +^ 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** | +^ HDMI Audio          | __No__ ​            | __No__ ​     | __No__ ​     | //​WiP// ​    | //​WiP// ​    | //​WiP// ​    | //​WiP// ​    | N/A         | **Yes** ​| **Yes** | 
-^ CEC                | __No__ ​            | __No__ ​     | __No__ ​     | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | N/A         | **Yes** | +^ CEC                | __No__ ​            | __No__ ​     | __No__ ​     | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | N/A         | **Yes** ​| **Yes** | 
-^ Thermal Sensor ​     | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    ​| ​//​WiP// ​+^ Thermal Sensor ​     | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    ​| ​**Yes** | **Yes** ​
-^ Video Encoders ​     | __No__ ​            | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | N/A         | __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// | +^ Video Decoders ​     | __No__ ​            | __No__ ​     | //​WiP// ​    | ''​Partial''​ | ''​Partial''​ | ''​Partial''​ | ''​Partial''​ | N/A         | //​WiP// ​| //WiP// | 
-^ DVB TS Input        | __No__ ​            | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | N/A         | __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__ ​ | +^ 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__ ​ | +^ 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__ ​ | +^ 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** | +^ 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     | +^ 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** | +^ SoC (version) information ​   | **Yes** ​      | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​| **Yes** | 
-^ HW crypto engine | __No__ ​            | __No__ ​     | __No__ ​     | __No__ ​     | //​WiP// ​    | //​WiP// ​    | //​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** ​    ​| ​//​WIP// ​    | **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** ​    | __No__ ​ |+^ 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__ ​ | 
 +^ 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__ ​ | 
  
 ===== Kernel mainlining progress ===== ===== Kernel mainlining progress =====
 +
 +v5.5 (work in progress)
 +  * drm/meson: add support for suspend/​resume
 +  * GXL/GXM: add a driver for the HW crypto IP block
 +  * G12A/​G12B/​SM1:​ Add thermal zone support
 +  * G12A/​G12B/​SM1:​ add PCIe support
 +  * DT updates:
 +    * A1: initial SoC support
 +    * G12A/​G12B/​GX/​SM1:​ keep the wifi module enabled in suspend (so it can wake up the board)
 +    * G12A/​G12B/​SM1:​ enable thermal zone support
 +    * G12A/​G12B/​SM1:​ enable PCIe support
 +    * G12A/G12B: add simplefb support
 +    * GXBB: add more regulators for Odroid-C2
 +    * GXL/GXM: enable the HW crypto accelerator
 +    * SM1: add audio support
 +    * SM1: enable audio on SEI610
 +  * New board support
 +    * Amlogic AD401 (A1)
 +    * Ugoos AM6 (G12B, S922X)
  
 v5.4 (work in progress) v5.4 (work in progress)
Line 141: Line 169:
   * New board support   * New board support
      * Khadas VIM3 (G12B, S922X or A311D)      * Khadas VIM3 (G12B, S922X or A311D)
 +     * Khadas VIM3L (SM1, S905D3)
 +     * SEI Robotics SEI610 (SM1, S905X3)
  
-v5.3 (work in progress)+v5.3
   * all SoCs: PWM driver improvements   * all SoCs: PWM driver improvements
   * AXG: move spread spectrum to MPLL2   * AXG: move spread spectrum to MPLL2
Line 634: Line 664:
 === Kernel Development Stats === === Kernel Development Stats ===
  
-{{https://​people.freedesktop.org/​~narmstrong/​amlogic-5.2.png}}+{{https://​people.freedesktop.org/​~narmstrong/​amlogic-5.4.png}}
  
 ===== HowTo ===== ===== HowTo =====
Line 682: Line 712:
 ==== WiP ==== ==== WiP ====
   * ASoC Audio for GXBB/​GXL/​GXM (Jerome Brunet / jbrunet)   * ASoC Audio for GXBB/​GXL/​GXM (Jerome Brunet / jbrunet)
-  * Video Encoder/​​Decoder subsystem support as V4L2 driver (Maxime Jourdan / Elyotna) 
-  * HW Crypo Accelerator for GX (Corentin Labbe / clabbe) 
  
 ==== Stalled WiP ==== ==== Stalled WiP ====
Line 691: Line 719:
 ==== 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 extcon support in the USB2 PHY and [[https://​patchwork.kernel.org/​patch/​9462131/​|dwc2 (based on this RFC)]])+  * 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 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]]   * 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
Line 713: Line 741:
 Development is done on the master branch of U-Boot. Development is done on the master branch of U-Boot.
  
-A custodian tree is available at http://git.denx.de/?p=u-boot/​u-boot-amlogic.git;​a=summary+A custodian tree is available at https://gitlab.denx.de/​u-boot/custodians/​u-boot-amlogic
  
 A mailing list has been created : [[u-boot-amlogic@groups.io]] (https://​groups.io/​g/​u-boot-amlogic) A mailing list has been created : [[u-boot-amlogic@groups.io]] (https://​groups.io/​g/​u-boot-amlogic)
  
 ===== U-Boot mainlining progress ===== ===== U-Boot mainlining progress =====
 +
 +v2020.01 (WiP):
 +  * Add support for HDMI/CVBS outpuut for G12A/​G12B/​SM1
 +  * Add support for Khadas VIM3 board
 +  * Add support for SEI Robotic SEI610 board
 +
 +v2019.10:
 +  * add support for unique generated MAC adresses from SoC serial
 +  * adds support for the Odroid-N2 board
 +  * adds support for the SEI Robotic SEI510 board
 +
 +v2019.07:
 +  * Add support for Amlogic p200 & p201 Reference Designs
 +  * Add Amlogic SoC information display
 +  * Add support for the Libretech-AC AML-S805X-AC board
 +  * Amlogic G12A SoC support and U200 reference board
 +  * USB2/USB3 + OTG Support for Amlogic G12A SoC
 +  * add support for getting pinmux status
 +
 +**Note**: booting Libretech-AC AML-S805X-AC board with an USB device plugged in the first USB port (next to the IR received) will fail, thsi will be fixed in v2019.10
  
 v2019.04: v2019.04:
Line 762: Line 810:
  
 ==== Mainline U-Boot Support Matrix ==== ==== Mainline U-Boot Support Matrix ====
-|                    ^ S905      ^ S905X      ^ S912\\ S905D      ^ A113X       ^ S905X2\\ S905D2\\ S905Y2 ^ +|                    ^ S905      ^ S905X      ^ S912\\ S905D      ^ A113X       ^ S905X2\\ S905D2\\ S905Y2 ​^ S922X\\ A311D ^ S905X3 ​
-^ Boards ​               | Odroid-C2Nanopi-K2 | P212Khadas VIMLibreTech-CC | Khadas VIM2 | S400 | U200 | +^ Boards ​               | Odroid-C2\\ Nanopi-K2\\ P200\\ P201 | P212\\ Khadas VIM\\ LibreTech-CC\\ LibreTech-AC ​| Khadas VIM2 | S400 | U200\\ SEI510 | Odroid-N2\\ Khadas VIM3 | SEI610 ​
-^ UART                | **Yes** ​  | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | +^ UART                | **Yes** ​  | **Yes** ​   | **Yes** ​   ​| **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | 
-^ Pinctrl/​GPIO ​       | **Yes** ​  | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | +^ Pinctrl/​GPIO ​       | **Yes** ​  | **Yes** ​   | **Yes** ​   ​| **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | 
-^ Clock Control ​     | **Yes** ​  | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | +^ Clock Control ​     | **Yes** ​  | **Yes** ​   | **Yes** ​   ​| **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | 
-^ PWM                | __No__ ​   | __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | +^ PWM                | __No__ ​   ​| __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | 
-^ Reset Control ​     | **Yes** ​  | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | +^ Reset Control ​     | **Yes** ​  | **Yes** ​   | **Yes** ​   ​| **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | 
-^ Infrared Decoder ​   | __No__ ​   | __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | +^ Infrared Decoder ​   | __No__ ​   ​| __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | 
-^ Ethernet ​           | **Yes** ​  | **Yes (with internal PHY)** ​   |**Yes** ​  ​|**Yes** ​  ​|**Yes** ​  | +^ Ethernet ​           | **Yes** ​  | **Yes (with internal PHY)** ​   ​|**Yes** ​  ​|**Yes** ​  |**Yes** ​  ​|**Yes** ​  ​|**Yes** ​  | 
-^ Multi-core ​         | **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** ​    | +^ Fuse access ​       | **Yes** ​  | **Yes** ​   ​|**Yes** ​    ​|**Yes** ​    |**Yes** ​    ​|**Yes** ​    ​|**Yes** ​    | 
-^ SPI (FC)          | __No__ ​   | __No__ ​    | **Yes** ​   | __No__ ​    | __No__ ​    | +^ SPI (FC)          | __No__ ​   | __No__ ​    | **Yes** ​   ​| __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | 
-^ SPI (CC)            | __No__ ​   | __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | +^ SPI (CC)            | __No__ ​   ​| __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | 
-^ I2C                | **Yes** ​  | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | +^ I2C                | **Yes** ​  | **Yes** ​   | **Yes** ​   ​| **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | 
-^ USB                | __No__ ​   | **Yes** ​   | **Yes** ​   | __No__ ​    | **Yes** ​   | +^ USB                | __No__ ​   | **Yes** ​   | **Yes** ​   | __No__ ​    | **Yes** ​   | **Yes** ​   ​| **Yes** ​   | 
-^ USB OTG          | __No__ ​   | //​WiP// ​   | //​WiP// ​   | __No__ ​    | **Yes** ​   | +^ USB OTG          | __No__ ​   | //​WiP// ​   | //​WiP// ​   | __No__ ​    | **Yes** ​   | **Yes** ​   ​| **Yes** ​   | 
-^ eMMC              | **Yes** ​  | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | +^ eMMC              | **Yes** ​  | **Yes** ​   | **Yes** ​   ​| **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | 
-^ SDCard ​           | **Yes** ​  | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | +^ SDCard ​           | **Yes** ​  | **Yes** ​   | **Yes** ​   ​| **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | 
-^ NAND              | __No__ ​   | __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | +^ NAND              | __No__ ​   ​| __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | 
-^ ADC                | **Yes** ​  | **Yes** ​   | **Yes** ​   | __No__ ​    | __No__ ​    | +^ ADC                | **Yes** ​  | **Yes** ​   | **Yes** ​   ​| __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | 
-^ CVBS Output ​       | **Yes** ​  | **Yes** ​   | **Yes** ​   | N/A        | __No__ ​    +^ CVBS Output ​       | **Yes** ​  | **Yes** ​   | **Yes** ​   | N/A        | **Yes** ​   | **Yes** ​   | **Yes** ​   ​
-^ HDMI Output ​       | **Yes** ​  | **Yes** ​   | **Yes** ​   | N/A        | __No__ ​    +^ HDMI Output ​       | **Yes** ​  | **Yes** ​   | **Yes** ​   | N/A        | **Yes** ​   | **Yes** ​   | **Yes** ​   ​
-^ CEC                | __No__ ​   | __No__ ​    | __No__ ​    | N/A        | __No__ ​    | +^ CEC                | __No__ ​   | __No__ ​    | __No__ ​    | N/A        ​| __No__ ​    | __No__ ​    | __No__ ​    | 
-^ Thermal Sensor ​     | __No__ ​   | __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | +^ Thermal Sensor ​     | __No__ ​   ​| __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | 
-^ LCD/LVDS Output ​   | __No__ ​   | N/A        | __No__ ​    | __No__ ​    | __No__ ​    | +^ LCD/LVDS Output ​   | __No__ ​   | N/A        ​| __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | 
-^ SoC (version) information ​   | **Yes** ​  | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   |+^ SoC (version) information ​   | **Yes** ​  | **Yes** ​   | **Yes** ​   ​| **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   |
  
 ===== Work in Progress ===== ===== Work in Progress =====
-  * AML-S805X-AC Board support +  * Odroid-C2 / GXBB USB Support
-  * G12A SoC family support+
  
 ===== TODO ===== ===== TODO =====
Line 797: Line 844:
   * 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 SoC Informations 
   * Add support for USB OTG   * Add support for USB OTG
 ===== Development resources ===== ===== Development resources =====
start.1565643652.txt.gz · Last modified: 2019/08/12 23:00 by xdarklight