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/04/07 15:25]
xdarklight [Kernel mainlining progress] add more changes queued for v5.2
start [2019/06/15 18:03] (current)
xdarklight [Supported/WiP SoC Families] GPIO interrupt support for G12A/G12B is 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 69: Line 69:
     * S905X2: similar to S905D2 but without DVB interface     * S905X2: similar to S905D2 but without DVB interface
     * S905Y2: similar to S905D2 but without built-in Ethernet     * S905Y2: similar to S905D2 but without built-in Ethernet
 +  * G12B : Identical to GXL but with Quad Cortex-A73 + dual Cortex-A53 cores
 +    * S922X: mostly pin compatible with S905X2
  
 For further indications : https://​en.wikipedia.org/​wiki/​Amlogic#​Comparison_table For further indications : https://​en.wikipedia.org/​wiki/​Amlogic#​Comparison_table
Line 74: Line 76:
 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 ​  ​+|                    ^ AML8726MX ​         ^ S802\\ S812 ^ S805        ^ S905      ^ S905D       ^ S905X\\ S905W\\ S805X      ^ S912       ^ A113d      ^ S905D2\\ S905X2\\ S905Y2\\ S922X  ​
-^ 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** ​    ​| ​**Yes** ​    
-^ Clock Control ​     | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​   +^ 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** ​    | **Yes** ​   +^ 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** ​    ​| ​**Yes** ​    
-^ 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** ​    | **Yes** ​   +^ 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** ​    ​| ​**Yes** ​    
-^ NAND              | __No__ ​            | __No__ ​     | __No__ ​     | __No__ ​   | ''​Partial''​ | ''​Partial''​ | ''​Partial''​ | ''​Partial''​ | __No__ ​    ​+^ NAND              | __No__ ​            | __No__ ​     | __No__ ​     | __No__ ​   | ''​Partial''​ | ''​Partial''​ | ''​Partial''​ | ''​Partial''​ | __No__ ​     
-^ ADC                | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​   +^ 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__ ​            | **Yes** ​    | **Yes** ​    | **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)    | **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         ​
-^ 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__ ​    ​|+^ PCIe            | N/A                | N/A         | N/A         | N/A       | N/A         | N/A         | N/A         | **Yes** ​    | __No__ ​     |
  
 ===== Kernel mainlining progress ===== ===== Kernel mainlining progress =====
 +
 +v5.3 (work in progress)
 +  * AXG: move spread spectrum to MPLL2
 +  * G12A: add support for thetohdmitx audio controller
 +  * G12A: fix the name of the MPLL 50M clock ID
 +  * G12A: initialize MPLL registers correctly
 +  * GXBB: remove incorrect spread spectrum on MPLL0
 +  * Meson8/​Meson8b/​Meson8m2:​ add support to the canvas video lookup-table
 +  * DT updates:
 +    * G12A: add the PWM controllers
 +    * G12A: add the IR decoder
 +    * G12A: enable the IR decoder on the U200 and X96 Max boards
 +    * G12A: add the SD and eMMC controllers
 +    * G12A: enable SD card and eMMC on the U200 and SEI510 boards
 +    * G12A: add clocks to the AO UART controllers
 +    * G12A: add the I2C busses
 +    * G12A: enable the I2C bus with the RGB LED controller on SEI510
 +    * G12A: add the audio controllers
 +    * G12A: add the Ethernet controller and MDIO mux
 +    * G12A: enable the internal PHY on the U200 and SEI510 boards
 +    * G12A: add the SDIO controller
 +    * G12A: enable the SDIO WiFi module on the X96 Max and SEI510 boards
 +    * G12A: enable Bluetooth on the X96 Max and SEI510 boards
 +    * G12B: add support for the S922X SoC
 +    * GX: fix eMMC pin bias and set max-frequency
 +    * GXBB: add more supported SD card modes on Odroid-C2 and NanoPi K2
 +    * GXBB: enable Bluetooth on the Wetek boards
 +    * GXBB: fix reading the chip temperature on some Wetek boards
 +    * GXBB: enable HDMI CEC on the Tronsmart Vega S95 boards
 +    * GXBB: fix reading the chip temperature on some Tronsmart Vega S95 boards
 +    * GXBB: add Bluetooth support on the Tronsmart Vega S95 boards
 +    * GXBB: use an interrupt instead of polling the Ethernet PHY status on the Tronsmart Vega S95 boards
 +    * GXL: correct eMMC module voltage and mark it as removable on Libretech CC
 +    * GXM: update eMMC settings for Khadas VIM2
 +    * GXM: enable Bluetooth on the Khadas VIM2
 +    * Meson8/​Meson8b/​Meson8m2:​ add the canvas video lookup-table
 +    * Meson8m2: add the mali-supply on the MXIII-Plus board
 +  * New board support
 +     * Hardkernel Odroid-N2 (G12B, S922X)
  
 v5.2 (work in progress) v5.2 (work in progress)
Line 127: Line 168:
   * G12A: new MDIO mux driver   * G12A: new MDIO mux driver
   * G12A: support for G12A in the ASoC drivers for AXG   * 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 VDEC clocks
   * Meson8/​Meson8b/​Meson8m2:​ support for the VPU clocks   * Meson8/​Meson8b/​Meson8m2:​ support for the VPU clocks
Line 135: Line 181:
     * G12A: add the AO and EE pin controllers     * G12A: add the AO and EE pin controllers
     * G12A: add the reset controller     * 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: add regulators for various boards
     * G12A: enable the Bluetooth module on X96 Max     * G12A: enable the Bluetooth module on X96 Max
Line 140: Line 191:
     * GXM: enable USB on the Nexbox A1     * GXM: enable USB on the Nexbox A1
     * Meson8b: gpio-line-names for Odroid-C1     * 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     * Meson8/​Meson8b:​ enable the clock measurer
   * New board support   * New board support
      * SEI Robotics SEI510 (G12A, S905X2)      * SEI Robotics SEI510 (G12A, S905X2)
  
-v5.1 (work in progress)+v5.1
   * clkmsr: add support for AXG and G12A in the "clock measurer"​ driver   * clkmsr: add support for AXG and G12A in the "clock measurer"​ driver
   * clk: claim clock controller input clocks from DT   * clk: claim clock controller input clocks from DT
Line 541: Line 594:
 === 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 599: Line 652:
   * 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 625: Line 678:
  
 ===== 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 665: Line 722:
  
 ==== 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 =====
start.1554643557.txt.gz · Last modified: 2019/04/07 15:25 by xdarklight