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/05/06 11:16]
narmstrong [Kernel mainlining progress]
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// ​    | **Yes** ​    | ^ USB                | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  | **Yes** ​    | **Yes** ​    | **Yes** ​    | //​WiP// ​    | **Yes** ​    |
 ^ USB OTG          | __No__ ​            | __No__ ​     | __No__ ​     | __No__ ​   | __No__ ​     | __No__ ​     | __No__ ​     | __No__ ​     | ''​Partial''​ | ^ 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         | **Yes** ​    | ^ CVBS Output ​       | __No__ ​            | __No__ ​     | __No__ ​     | **Yes** ​  | **Yes** ​    | **Yes** ​    | **Yes** ​    | N/A         | **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** ​    |
-^ 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         | **Yes** ​    | ^ 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// ​    |
Line 117: Line 119:
  
 ===== 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 130: Line 171:
   * G12A: support for the USB control IP   * G12A: support for the USB control IP
   * G12A: support for the peripheral-only dwc2   * 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   * 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
Line 680: Line 722:
  
 ==== 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 ^
 ^ Boards ​               | Odroid-C2, Nanopi-K2 | P212, Khadas VIM, LibreTech-CC | Khadas VIM2 | S400 | U200 | ^ Boards ​               | Odroid-C2, Nanopi-K2 | P212, Khadas VIM, LibreTech-CC | Khadas VIM2 | S400 | U200 |
 ^ UART                | **Yes** ​  | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   | ^ UART                | **Yes** ​  | **Yes** ​   | **Yes** ​   | **Yes** ​   | **Yes** ​   |
start.1557134169.txt.gz · Last modified: 2019/05/06 11:16 by narmstrong