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/06/08 20:54]
xdarklight [Supported/WiP SoC Families] document support for the S922X SoC
start [2019/08/12 23:00] (current)
xdarklight [Kernel mainlining progress] Odroid-C1 will use the correct Ethernet MAC address in v5.4
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+  * G12B : Identical to G12A but with Quad Cortex-A73 + dual Cortex-A53 cores
     * S922X: mostly pin compatible with S905X2     * S922X: mostly pin compatible with S905X2
 +    * A311D: similar to S922X but with slightly higher frequencies
  
 For further indications : https://​en.wikipedia.org/​wiki/​Amlogic#​Comparison_table For further indications : https://​en.wikipedia.org/​wiki/​Amlogic#​Comparison_table
Line 76: Line 77:
 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  ^ +|                    ^ AML8726MX ​         ^ S802\\ S812 ^ S805        ^ S905      ^ S905D       ^ S905X\\ S905W\\ S805X      ^ S912       ^ A113d      ^ S905D2\\ S905X2\\ S905Y2\\ S922X\\ A311D  ^ 
-^ 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** ​    | **Yes** ​    ​+^ 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** ​    | **Yes** ​    ​+^ Infrared Decoder ​   | **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** | 
-^ 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** ​    | **Yes** ​    ​+^ 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__ ​     | **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// | 
-^ DVFS              | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  ​| **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    ​| ​//​WiP// ​    +^ DVFS              | __No__ ​            | **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** | 
-^ SDCard ​           | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​  ​| **Yes** ​    | **Yes** ​    | **Yes** ​    | N/A         | **Yes** ​    ​+^ SDCard ​           | __No__ ​            | **Yes** ​    | **Yes** ​    | **Yes** ​    ​| **Yes** ​    | **Yes** ​    | **Yes** ​    | N/A         | **Yes** | 
-^ SDIO              | __No__ ​            | ''​Partial''​ | ''​Partial''​ | **Yes** ​  ​| **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    | **Yes** ​    ​+^ 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** ​    | **Yes** ​    ​+^ 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         | **Yes** ​    ​+^ 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// | 
-^ 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// ​    ​| ​''​Partial'' ​''​Partial'' ​''​Partial'' ​''​Partial'' ​| 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** ​    | **Yes** ​    | N/A         | **Yes** ​    ​+^ 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// ​    | **Yes** ​    ​+^ 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.4 (work in progress)
 +  * G12B: add the SoC ID for the A311D SoC
 +  * G12B: add support for the second CPU cluster in the meson-clk-measure driver
 +  * G12A/G12B: make the CPU clock trees mutable
 +  * DT updates:
 +    * G12A/G12B: use a common .dtsi for both SoCs
 +    * G12A/G12B: add the pwm_a pin (used for the CPU voltage regulator)
 +    * G12A/G12B: use the correct Ethernet FIFO sizes
 +    * G12A: add the CPU OPP table
 +    * G12B: add the CPU OPP table
 +    * G12A: enable CPU DVFS (dynamic voltage and frequency switching)
 +    * G12B: add the CPU OPP table
 +    * G12B: enable CPU DVFS (dynamic voltage and frequency switching)
 +    * GX: use the correct Ethernet FIFO sizes
 +    * GX: add the video decoder
 +    * Meson8b: use the correct Ethernet FIFO sizes
 +    * Meson8b: add the VDDEE (GPU and other parts of the SoC) regulator on all supported boards
 +    * Meson8b: use the Ethernet MAC address from the eFuse on Odroid-C1
 +  * New board support
 +     * Khadas VIM3 (G12B, S922X or A311D)
  
 v5.3 (work in progress) v5.3 (work in progress)
 +  * all SoCs: PWM driver improvements
   * AXG: move spread spectrum to MPLL2   * AXG: move spread spectrum to MPLL2
   * G12A: add support for thetohdmitx audio controller   * G12A: add support for thetohdmitx audio controller
   * G12A: fix the name of the MPLL 50M clock ID   * G12A: fix the name of the MPLL 50M clock ID
   * G12A: initialize MPLL registers correctly   * G12A: initialize MPLL registers correctly
 +  * G12A: add drive-strength-microamp support in the pinctrl driver
 +  * G12B: add support for the second CPU cluster clocks
 +  * G12A/G12B: add support for the thermal sensor clock
 +  * G12A/G12B: add GPIO IRQ support
 +  * G12A/G12B: use interrupt based OTG switching
 +  * GX: add support for the XBGR8888 and ABGR8888 color formats
   * GXBB: remove incorrect spread spectrum on MPLL0   * GXBB: remove incorrect spread spectrum on MPLL0
 +  * Meson8/​Meson8b/​Meson8m2:​ add support for the audio clocks
   * Meson8/​Meson8b/​Meson8m2:​ add support to the canvas video lookup-table   * Meson8/​Meson8b/​Meson8m2:​ add support to the canvas video lookup-table
   * DT updates:   * DT updates:
Line 142: Line 172:
     * G12A: enable the SDIO WiFi module on the X96 Max and SEI510 boards     * G12A: enable the SDIO WiFi module on the X96 Max and SEI510 boards
     * G12A: enable Bluetooth on the X96 Max and SEI510 boards     * G12A: enable Bluetooth on the X96 Max and SEI510 boards
 +    * G12A: enable the SDIO MMC controller and enable wifi on supported boards
 +    * G12A: enable audio support on the X96 Max
 +    * G12A: enable audio support on the SEI510
     * G12B: add support for the S922X SoC     * G12B: add support for the S922X SoC
 +    * G12B: minimal support for the Odroid-N2
 +    * G12B: enable audio support on the Odroid-N2
 +    * G12A/G12B: add the Ethernet controller and enable it on all supported boards
 +    * G12A/G12B: add the GPIO interrupt-controller
 +    * G12A/G12B: switch to (GPIO) interrupt driven PHY status updates
 +    * G12A/G12B: enable the RNG
     * GX: fix eMMC pin bias and set max-frequency     * GX: fix eMMC pin bias and set max-frequency
     * GXBB: add more supported SD card modes on Odroid-C2 and NanoPi K2     * GXBB: add more supported SD card modes on Odroid-C2 and NanoPi K2
Line 154: Line 193:
     * GXM: update eMMC settings for Khadas VIM2     * GXM: update eMMC settings for Khadas VIM2
     * GXM: enable Bluetooth on the Khadas VIM2     * GXM: enable Bluetooth on the Khadas VIM2
 +    * Meson8b: improve support for the Tronfy MXQ S805
     * Meson8/​Meson8b/​Meson8m2:​ add the canvas video lookup-table     * Meson8/​Meson8b/​Meson8m2:​ add the canvas video lookup-table
     * Meson8m2: add the mali-supply on the MXIII-Plus board     * Meson8m2: add the mali-supply on the MXIII-Plus board
Line 159: Line 199:
      * Hardkernel Odroid-N2 (G12B, S922X)      * Hardkernel Odroid-N2 (G12B, S922X)
  
-v5.2 (work in progress)+v5.2
   * G12A: add CPU clocks (read-only for now)   * G12A: add CPU clocks (read-only for now)
   * G12A: add the PCIe PLL clocks   * G12A: add the PCIe PLL clocks
start.1560020058.txt.gz · Last modified: 2019/06/08 20:54 by xdarklight