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/02/01 09:49]
narmstrong [Mainline U-Boot Support Matrix]
start [2019/05/16 18:19] (current)
xdarklight [Supported/WiP SoC Families] I2C and infrared decoder support are queued for v5.3
Line 33: Line 33:
  
 Here is current status on Multimedia support : Here is current status on Multimedia support :
-  * GPU : Is supported on S905, S905X/W/L, S905D S805X with+  * GPU : Is supported on S905, S905X/W/L, S905DS805X and S912 with Lima and Panfrost 
 +    * Linux driver for v5.2, currently in drm-misc-next and linux-next 
 +    * 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)
-    * Open Source In Development Lima driver at https://​gitlab.freedesktop.org/​lima +  ​* 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)
-    * For S912, the Panfrost project works at https://​gitlab.freedesktop.org/​panfrost +
-  ​* HDMI Output up to 4k is working on S905, S905X/W/L, S905D, S912 & S805C (Will need WiP patches for 4k 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 75: Line 75:
  
 |                    ^ AML8726MX ​         ^ S802\\ S812 ^ S805        ^ S905      ^ S905D       ^ S905X\\ S905W\\ S805X      ^ S912       ^ A113d      ^ S905D2\\ S905X2\\ S905Y2 ​  ^ |                    ^ AML8726MX ​         ^ S802\\ S812 ^ S805        ^ S905      ^ S905D       ^ S905X\\ S905W\\ S805X      ^ S912       ^ A113d      ^ S905D2\\ S905X2\\ S905Y2 ​  ^
-^ UART                | Console Only       | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   +^ UART                | Console Only       | **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** ​    ​
-^ GPIO Interrupt ​     | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​   | **Yes** ​   | **Yes** ​   | //​WiP// ​   +^ GPIO Interrupt ​     | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​| **Yes** ​    ​| //​WiP// ​    ​
-^ Clock Control ​     | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​   | **Yes** ​   | **Yes** ​   //​WiP// ​   ​+^ Clock Control ​     | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​| **Yes** ​    ​**Yes** ​    
-^ PWM                | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​   | **Yes** ​   | **Yes** ​   //​WiP// ​   ​+^ PWM                | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​| **Yes** ​    ​**Yes** ​    
-^ Reset Control ​     | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​   | **Yes** ​   | **Yes** ​   //​WiP// ​   ​+^ Reset Control ​     | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​| **Yes** ​    ​**Yes** ​    
-^ Infrared Decoder ​   | **Yes** ​           | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​   | **Yes** ​   | **Yes** ​   //​WiP// ​   ​+^ Infrared Decoder ​   | **Yes** ​           | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​| **Yes** ​    ​**Yes** ​    
-^ Ethernet ​           | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​   | **Yes** ​   | **Yes** ​   | //​WiP// ​   +^ Ethernet ​           | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​| **Yes** ​    ​| //​WiP// ​    ​
-^ Multi-core ​         | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   +^ Multi-core ​         | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​| **Yes** ​    ​| **Yes** ​    ​
-^ Fuse access ​       | **Yes** ​           | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​   | **Yes** ​   | **Yes** ​   //​WiP// ​   ​+^ Fuse access ​       | **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// ​    ​
-^ SPI (CC)            | N/A                | __No__ ​     | __No__ ​     | **Yes** ​  | **Yes** ​    | **Yes** ​   | **Yes** ​   | **Yes** ​   | //​WiP// ​   +^ SPI (CC)            | N/A                | __No__ ​     | __No__ ​     | **Yes** ​  | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​| **Yes** ​    ​| //​WiP// ​    ​
-^ I2C                | **Yes** ​           | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​   | **Yes** ​   | **Yes** ​   //​WiP// ​   ​+^ I2C                | **Yes** ​           | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​| **Yes** ​    ​**Yes** ​    
-^ USB                | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​   | **Yes** ​   | //​WiP// ​   //​WiP// ​   ​+^ USB                | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​| //​WiP// ​    ​**Yes** ​    
-^ USB OTG          | __No__ ​            | __No__ ​     | __No__ ​     | __No__ ​   | __No__ ​     | __No__ ​    ​| __No__ ​    ​| __No__ ​    ​//​WiP// ​   ​+^ USB OTG          | __No__ ​            | __No__ ​     | __No__ ​     | __No__ ​   | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     ''​Partial'' ​
-^ 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// ​    ​
-^ DVFS              | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​   | **Yes** ​   | **Yes** ​   | //​WiP// ​   +^ DVFS              | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​| **Yes** ​    ​| //​WiP// ​    ​
-^ eMMC              | __No__ ​            | ''​Partial''​ | ''​Partial''​ | **Yes** ​  | **Yes** ​    | **Yes** ​   | **Yes** ​   | **Yes** ​   //​WiP// ​   ​+^ eMMC              | __No__ ​            | ''​Partial''​ | ''​Partial''​ | **Yes** ​  | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​| **Yes** ​    ​**Yes** ​    
-^ SDCard ​           | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​   | **Yes** ​   | N/A        //​WiP// ​   ​+^ SDCard ​           | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​| N/A         ​**Yes** ​    
-^ SDIO              | __No__ ​            | ''​Partial''​ | ''​Partial''​ | **Yes** ​  | **Yes** ​    | **Yes** ​   | **Yes** ​   | **Yes** ​   | //​WiP// ​   +^ SDIO              | __No__ ​            | ''​Partial''​ | ''​Partial''​ | **Yes** ​  | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​| **Yes** ​    ​| //​WiP// ​    ​
-^ NAND              | __No__ ​            ​| ​//​WiP// ​    //​WiP// ​    //​WiP// ​  //​WiP// ​    //​WiP// ​   ​//​WiP// ​   ​//​WiP// ​   ​| __No__ ​    ​+^ NAND              | __No__ ​            ​| ​__No__ ​     ​__No__ ​     ​__No__ ​   ​''​Partial'' ​''​Partial'' ​''​Partial'' ​''​Partial'' ​| __No__ ​     
-^ ADC                | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​   | **Yes** ​   | **Yes** ​   //​WiP// ​   ​+^ ADC                | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​| **Yes** ​    ​**Yes** ​    
-^ Audio Subsystem ​   | __No__ ​            | __No__ ​     | __No__ ​     | //​WiP// ​  | //​WiP// ​    | //​WiP// ​   | //​WiP// ​   | **Yes** ​   //​WiP// ​   ​+^ Audio Subsystem ​   | __No__ ​            | __No__ ​     | __No__ ​     | //​WiP// ​  | //​WiP// ​    | //​WiP// ​    ​| //​WiP// ​    ​| **Yes** ​    ​**Yes** ​    
-^ CVBS Output ​       | __No__ ​            | __No__ ​     | __No__ ​     | **Yes** ​  | **Yes** ​    | **Yes** ​   | **Yes** ​   | N/A        //​WiP// ​   ​+^ CVBS Output ​       | __No__ ​            | __No__ ​     | __No__ ​     | **Yes** ​  | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​| N/A         ​**Yes** ​    
-^ HDMI Output ​       | __No__ ​            | __No__ ​     | __No__ ​     | **Yes** ​  | **Yes** ​    | **Yes** ​   | **Yes** ​   | N/A        //​WiP// ​   ​+^ HDMI Output ​       | __No__ ​            | __No__ ​     | __No__ ​     | **Yes** ​  | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​| N/A         ​**Yes** ​    
-^ HDMI Audio          | __No__ ​            | __No__ ​     | __No__ ​     | //​WiP// ​  | //​WiP// ​    | //​WiP// ​   | //​WiP// ​   | N/A        //​WiP// ​   ​+^ HDMI Audio          | __No__ ​            | __No__ ​     | __No__ ​     | //​WiP// ​  | //​WiP// ​    | //​WiP// ​    ​| //​WiP// ​    ​| N/A         ​**Yes** ​    
-^ CEC                | __No__ ​            | __No__ ​     | __No__ ​     | **Yes** ​  | **Yes** ​    | **Yes** ​   | **Yes** ​   | N/A        //​WiP// ​   ​+^ CEC                | __No__ ​            | __No__ ​     | __No__ ​     | **Yes** ​  | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​| N/A         ​**Yes** ​    
-^ Thermal Sensor ​     | __No__ ​            ​| ​//​WiP// ​    | //​WiP// ​    | **Yes** ​  | **Yes** ​    | **Yes** ​   | **Yes** ​   | **Yes** ​   | //​WiP// ​   +^ Thermal Sensor ​     | __No__ ​            ​| ​**Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​| **Yes** ​    ​| //​WiP// ​    ​
-^ Video Encoders ​     | __No__ ​            | __No__ ​     | __No__ ​     | __No__ ​   | __No__ ​     | __No__ ​    ​| __No__ ​    ​| N/A        | __No__ ​    ​+^ Video Encoders ​     | __No__ ​            | __No__ ​     | __No__ ​     | __No__ ​   | __No__ ​     | __No__ ​     | __No__ ​     | N/A         ​| __No__ ​     
-^ Video Decoders ​     | __No__ ​            | __No__ ​     | //​WiP// ​    | //​WiP// ​  | //​WiP// ​    | //​WiP// ​   | //​WiP// ​   | N/A        | //​WiP// ​   +^ Video Decoders ​     | __No__ ​            | __No__ ​     | //​WiP// ​    | //​WiP// ​  | //​WiP// ​    | //​WiP// ​    ​| //​WiP// ​    ​| N/A         ​| //​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__ ​     
-^ 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__ ​     
-^ 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__ ​     
-^ 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__ ​     
-^ 3D Acceleration ​   | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​   __No__ ​    | N/A        //​WiP// ​   ​+^ 3D Acceleration ​   | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​    ​**Yes** ​    | N/A         ​**Yes** ​    
-^ Real Time Clock (RTC)    | //​WiP// ​           ​| ​//​WiP// ​    | //​WiP// ​    | 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         ​
-^ SoC (version) information ​   | **Yes** ​      | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   +^ SoC (version) information ​   | **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__ ​   | //​WiP// ​    | //​WiP// ​    ​| //​WiP// ​    ​| //​WiP// ​    ​| //​WiP// ​    ​
-^ Clock measurer | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​   | **Yes** ​   | //​WIP// ​   | //WIP//    |+^ Clock measurer | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​    ​| **Yes** ​    ​| //​WIP// ​    ​**Yes** ​    | 
 +^ PCIe            | N/A                | N/A         | N/A         | N/A       N/A         | N/A         | N/A         | **Yes** ​    | __No__ ​     | 
 ===== Kernel mainlining progress ===== ===== Kernel mainlining progress =====
  
-v5.(work in progress)+v5.(work in progress) 
 +  * G12A: add CPU clocks (read-only for now) 
 +  * G12A: add the PCIe PLL clocks 
 +  * G12A: new USB2 PHY driver 
 +  * G12A: new PCIe / USB3 combo PHY driver 
 +  * G12A: add G12A SoC support in the SAR ADC driver 
 +  * G12A: support for the internal PHY 
 +  * G12A: new MDIO mux driver 
 +  * G12A: support for G12A in the ASoC drivers for AXG 
 +  * G12A: support for the audio clock controller 
 +  * G12A: support for the USB control IP 
 +  * G12A: support for the peripheral-only dwc2 
 +  * G12A: support in the PWM controller driver 
 +  * Meson GX/AXG MMC: clean-ups and clock phase tuning updates 
 +  * Meson8/​Meson8b/​Meson8m2:​ support for the VDEC clocks 
 +  * Meson8/​Meson8b/​Meson8m2:​ support for the VPU clocks 
 +  * DT updates 
 +    * G12A: add the secure monitor 
 +    * G12A: add the eFuse 
 +    * G12A: add the AO clock and reset controller 
 +    * G12A: add the AO and EE pin controllers 
 +    * G12A: add the reset controller 
 +    * G12A: add HDMI and CVBS video outputs 
 +    * G12A: add the HDMI CEC controllers 
 +    * G12A: add the SAR ADC 
 +    * G12A: add the Mali-G31 GPU 
 +    * G12A: prepare USB support 
 +    * G12A: add regulators for various boards 
 +    * G12A: enable the Bluetooth module on X96 Max 
 +    * GXM: add the Mali-T820 GPU 
 +    * GXM: enable USB on the Nexbox A1 
 +    * Meson8b: gpio-line-names for Odroid-C1 
 +    * Meson8b: enable the RTC on EC-100 
 +    * Meson8b: prepare support for the RTC on Odroid-C1 
 +    * Meson8/​Meson8b:​ enable the clock measurer 
 +  * New board support 
 +     * SEI Robotics SEI510 (G12A, S905X2) 
 + 
 +v5.1 
 +  * clkmsr: add support for AXG and G12A in the "clock measurer"​ driver 
 +  * clk: claim clock controller input clocks from DT 
 +  * clk: rework dependencies and make the drivers more modular 
 +  * NAND: controller driver for GXL/​GXM/​AXG 
 +  * RTC: new driver for Meson6/​Meson8/​Meson8b/​Meson8m2
   * GX: add support for the 32kHz clock sub-tree in the AO clock controller   * GX: add support for the 32kHz clock sub-tree in the AO clock controller
 +  * G12A: add a driver for the peripheral clock controller
 +  * G12A: fix pin controller pull registers
 +  * Meson8b: add the RXD2 and RXD3 pins to the pin controller driver
   * Meson8/​Meson8b/​Meson8m2:​ add the GPU clock tree   * Meson8/​Meson8b/​Meson8m2:​ add the GPU clock tree
   * Meson8b/​Meson8m2:​ add support for the temperature sensor in the SAR ADC driver   * Meson8b/​Meson8m2:​ add support for the temperature sensor in the SAR ADC driver
Line 126: Line 174:
     * AXG: fix eMMC maximum frequency on the S400 board     * AXG: fix eMMC maximum frequency on the S400 board
     * AXG: enable SDR104 mode for the SDIO WiFi module     * AXG: enable SDR104 mode for the SDIO WiFi module
 +    * AXG: enable the clock measurer
     * GX: Add canvas provider node to the VPU     * GX: Add canvas provider node to the VPU
 +    * G12A: fix bus descriptions
 +    * G12A: enable the clock measurer
 +    * G12A: add the main clock controller
     * Meson8/​Meson8m2:​ add the Mali-450 MP6 GPU     * Meson8/​Meson8m2:​ add the Mali-450 MP6 GPU
     * Meson8b: add the Mali-450 MP2 GPU     * Meson8b: add the Mali-450 MP2 GPU
 +    * Meson8b: add missing RGMII Ethernet RXD pins
 +    * Meson8b: enable the temperature sensor on EC-100 and Odroid-C1
 +    * Meson8b: enable the PHY interrupt on EC-100
 +    * Meson8b: add the GPIO line names on EC-100
 +    * Meson8b: add more regulators for EC-100
 +    * Meson8m2: enable the temperature sensor on MXIII-Plus
 +    * Meson8/​Meson8b/​Meson8m2:​ add temperature sensor calibration data from eFuse
 +  * New board support
 +     * X96 Max from Shenzhen Amediatech Technology Co., Ltd (G12A, S905X2)
  
-v5.0 (work in progress)+v5.0
   * Support for Canvas shared module from DRM   * Support for Canvas shared module from DRM
   * Support for DRM Video Overlay and Primary plane scaler   * Support for DRM Video Overlay and Primary plane scaler
Line 492: Line 553:
 === Kernel Development Stats === === Kernel Development Stats ===
  
-{{https://​people.freedesktop.org/​~narmstrong/​amlogic-4.18.png}}+{{https://​people.freedesktop.org/​~narmstrong/​amlogic-5.2.png}}
  
 ===== HowTo ===== ===== HowTo =====
Line 540: Line 601:
 ==== WiP ==== ==== WiP ====
   * ASoC Audio for GXBB/​GXL/​GXM (Jerome Brunet / jbrunet)   * ASoC Audio for GXBB/​GXL/​GXM (Jerome Brunet / jbrunet)
-  * NAND controller driver (Jianxin Pan / Liang Yang) 
   * Video Encoder/​​Decoder subsystem support as V4L2 driver (Maxime Jourdan / Elyotna)   * Video Encoder/​​Decoder subsystem support as V4L2 driver (Maxime Jourdan / Elyotna)
-  ​* Meson6/​Meson8/​Meson8b/​Meson8m2 RTC (Ben Dooks / bjdooks, Martin Blumenstingl) +  * HW Crypo Accelerator for GX (Corentin Labbe / clabbe)
-  ​* HW Crypo Accelerator for GX (Corentin Labbe/ clabbe)+
  
 ==== Stalled WiP ==== ==== Stalled WiP ====
Line 552: Line 611:
   * 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 extcon support in the USB2 PHY and [[https://​patchwork.kernel.org/​patch/​9462131/​|dwc2 (based on this RFC)]])
-  * 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/​commit/c98e8fcb9c403d82503a0c8787198e15604932b1|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
   * Meson DRM Features   * Meson DRM Features
Line 563: Line 622:
     * 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, Unknown HDMI Controller IP
 +  * NAND controller driver support for Meson8/​Meson8b/​Meson8m2/​GXBB
  
 ====== U-Boot Development Status ===== ====== U-Boot Development Status =====
Line 578: Line 637:
  
 ===== U-Boot mainlining progress ===== ===== U-Boot mainlining progress =====
 +
 +v2019.04:
 +  * Add support for HDMI output, only enabled on libretech-cc
 +  * Finally fixed VIM2 usb support
  
 v2019.01: v2019.01:
Line 618: Line 681:
  
 ==== Mainline U-Boot Support Matrix ==== ==== Mainline U-Boot Support Matrix ====
-|                    ^ S905      ^ S905X      ^ S912 S905D      ^ A113X       ^ +|                    ^ S905      ^ S905X      ^ S912\\ S905D      ^ A113X       ^ S905X2\\ S905D2\\ S905Y2 ​
-^ Boards ​               | Odroid-C2, Nanopi-K2 | P212, Khadas VIM, LibreTech-CC | Khadas VIM2 | S400 | +^ Boards ​               | Odroid-C2, Nanopi-K2 | P212, Khadas VIM, LibreTech-CC | Khadas VIM2 | S400 | U200 
-^ UART                | **Yes** ​  | **Yes** ​   | **Yes** ​   | **Yes** ​   | +^ UART                | **Yes** ​  | **Yes** ​   ​| **Yes** ​   | **Yes** ​   | **Yes** ​   | 
-^ Pinctrl/​GPIO ​       | **Yes** ​  | **Yes** ​   | **Yes** ​   | **Yes** ​   | +^ Pinctrl/​GPIO ​       | **Yes** ​  | **Yes** ​   ​| **Yes** ​   | **Yes** ​   | **Yes** ​   | 
-^ Clock Control ​     | **Yes** ​  | **Yes** ​   | **Yes** ​   | **Yes** ​   | +^ Clock Control ​     | **Yes** ​  | **Yes** ​   ​| **Yes** ​   | **Yes** ​   | **Yes** ​   | 
-^ PWM                | __No__ ​   | __No__ ​    | __No__ ​    | __No__ ​    | +^ PWM                | __No__ ​   ​| __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | 
-^ Reset Control ​     | **Yes** ​  | **Yes** ​   | **Yes** ​   | **Yes** ​   | +^ Reset Control ​     | **Yes** ​  | **Yes** ​   ​| **Yes** ​   | **Yes** ​   | **Yes** ​   | 
-^ Infrared Decoder ​   | __No__ ​   | __No__ ​    | __No__ ​    | __No__ ​    | +^ Infrared Decoder ​   | __No__ ​   ​| __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | 
-^ Ethernet ​           | **Yes** ​  | **Yes (with internal PHY)** ​   |**Yes** ​  ​|**Yes** ​  | +^ Ethernet ​           | **Yes** ​  | **Yes (with internal PHY)** ​   ​|**Yes** ​  |**Yes** ​  ​|**Yes** ​  | 
-^ Multi-core ​         | **Yes (PSCI)** ​  | **Yes (PSCI)** ​   | **Yes (PSCI)** ​  | **Yes (PSCI)** ​  | +^ Multi-core ​         | **Yes (PSCI)** ​  | **Yes (PSCI)** ​   ​| **Yes (PSCI)** ​  | **Yes (PSCI)** ​  | **Yes (PSCI)** ​  | 
-^ Fuse access ​       | **Yes** ​  | **Yes** ​   |**Yes** ​    ​|**Yes** ​    | +^ Fuse access ​       | **Yes** ​  | **Yes** ​   ​|**Yes** ​    |**Yes** ​    ​|**Yes** ​    | 
-^ SPI (FC)          | __No__ ​   | __No__ ​    ​| ​//​WiP// ​   | __No__ ​    | +^ SPI (FC)          | __No__ ​   | __No__ ​    ​| ​**Yes** ​   | __No__ ​    | __No__ ​    | 
-^ SPI (CC)            | __No__ ​   | __No__ ​    | __No__ ​    | __No__ ​    | +^ SPI (CC)            | __No__ ​   ​| __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | 
-^ I2C                | **Yes** ​  | **Yes** ​   | **Yes** ​   | **Yes** ​   | +^ I2C                | **Yes** ​  | **Yes** ​   ​| **Yes** ​   | **Yes** ​   | **Yes** ​   | 
-^ USB                | __No__ ​   | **Yes** ​   | **Yes** ​   | __No__ ​    | +^ USB                | __No__ ​   | **Yes** ​   | **Yes** ​   | __No__ ​    | **Yes** ​   ​
-^ USB OTG          | __No__ ​   | __No__ ​    __No__ ​    | __No__ ​    | +^ USB OTG          | __No__ ​   | //​WiP// ​   ​//​WiP// ​   ​| __No__ ​    | **Yes** ​   ​
-^ eMMC              | **Yes** ​  | **Yes** ​   | **Yes** ​   | **Yes** ​   | +^ eMMC              | **Yes** ​  | **Yes** ​   ​| **Yes** ​   | **Yes** ​   | **Yes** ​   | 
-^ SDCard ​           | **Yes** ​  | **Yes** ​   | **Yes** ​   | **Yes** ​   | +^ SDCard ​           | **Yes** ​  | **Yes** ​   ​| **Yes** ​   | **Yes** ​   | **Yes** ​   | 
-^ NAND              | __No__ ​   | __No__ ​    | __No__ ​    | __No__ ​    | +^ NAND              | __No__ ​   ​| __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | 
-^ ADC                | **Yes** ​  | **Yes** ​   | **Yes** ​   | __No__ ​    | +^ ADC                | **Yes** ​  | **Yes** ​   | **Yes** ​   ​| __No__ ​    | __No__ ​    | 
-^ CVBS Output ​       | //​WiP// ​  | //​WiP// ​   ​| ​//​WiP// ​   | N/A        | +^ CVBS Output ​       | **Yes** ​  | **Yes** ​   ​| ​**Yes** ​   | N/A        ​| __No__ ​    
-^ HDMI Output ​       | //​WiP// ​  | //​WiP// ​   ​| ​//​WiP// ​   | N/A        | +^ HDMI Output ​       | **Yes** ​  | **Yes** ​   ​| ​**Yes** ​   | N/A        ​| __No__ ​    
-^ CEC                | __No__ ​   | __No__ ​    | __No__ ​    | N/A        | +^ CEC                | __No__ ​   | __No__ ​    | __No__ ​    | N/A        ​| __No__ ​    
-^ Thermal Sensor ​     | __No__ ​   | __No__ ​    | __No__ ​    | __No__ ​    | +^ Thermal Sensor ​     | __No__ ​   ​| __No__ ​    | __No__ ​    | __No__ ​    | __No__ ​    | 
-^ LCD/LVDS Output ​   | __No__ ​   | N/A        | __No__ ​    | __No__ ​    | +^ LCD/LVDS Output ​   | __No__ ​   | N/A        ​| __No__ ​    | __No__ ​    | __No__ ​    | 
-^ SoC (version) information ​   | __No__ ​   ​| ​__No__ ​    __No__ ​    __No__ ​    |+^ SoC (version) information ​   | **Yes** ​  | **Yes** ​   ​| ​**Yes** ​   ​**Yes** ​   ​**Yes** ​   ​|
  
 ===== Work in Progress ===== ===== Work in Progress =====
   * AML-S805X-AC Board support   * AML-S805X-AC Board support
-  * CVBS and HDMI Display ​support+  * G12A SoC family ​support
  
 ===== TODO ===== ===== TODO =====
Line 661: Line 724:
 A [[http://​dn.odroid.com/​S805/​Datasheet/​S805_Datasheet%20V0.8%2020150126.pdf|partial S805 SoC manual]] and a [[http://​dn.odroid.com/​S905/​DataSheet/​S905_Public_Datasheet_V1.1.4.pdf|partial S905 SoC manual]] has been published by Hardkernel.\\ A [[http://​dn.odroid.com/​S805/​Datasheet/​S805_Datasheet%20V0.8%2020150126.pdf|partial S805 SoC manual]] and a [[http://​dn.odroid.com/​S905/​DataSheet/​S905_Public_Datasheet_V1.1.4.pdf|partial S905 SoC manual]] has been published by Hardkernel.\\
 A [[http://​www.mediafire.com/​file/​5bpt054va5ut7v9/​S905X_Datasheet_V0.3_20170314publicversion-Wesion.pdf|partial S905X SoC manual]] and a [[http://​www.mediafire.com/​file/​aib1ibnoxsc4j1x/​S912_Datasheet_V0.220170314publicversion-Wesion.pdf|partial S912 SoC manual]] manual have been published by [[http://​docs.khadas.com/​|Khadas (on their docs page)]] A [[http://​www.mediafire.com/​file/​5bpt054va5ut7v9/​S905X_Datasheet_V0.3_20170314publicversion-Wesion.pdf|partial S905X SoC manual]] and a [[http://​www.mediafire.com/​file/​aib1ibnoxsc4j1x/​S912_Datasheet_V0.220170314publicversion-Wesion.pdf|partial S912 SoC manual]] manual have been published by [[http://​docs.khadas.com/​|Khadas (on their docs page)]]
 +A [[https://​dn.odroid.com/​S922X/​ODROID-N2/​Datasheet/​S922X_Public_Datasheet_V0.2.pdf|partial S922X SoC manual]] has been published by Hardkernel
  
 Based on the Amlogic kernel code, these git trees also contain some interesting developments:​ Based on the Amlogic kernel code, these git trees also contain some interesting developments:​
start.1549010944.txt.gz · Last modified: 2019/02/01 09:49 by narmstrong