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/03/02 23:13]
xdarklight [WiP] DEC and VPU clock for Meson8/Meson8b/Meson8m2 are work-in-progress
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__ ​            | __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** ​    ​| ​//​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__ ​            | **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.(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   * 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 153: Line 191:
      * X96 Max from Shenzhen Amediatech Technology Co., Ltd (G12A, S905X2)      * 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 515: 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 565: Line 603:
   * Video Encoder/​​Decoder subsystem support as V4L2 driver (Maxime Jourdan / Elyotna)   * Video Encoder/​​Decoder subsystem support as V4L2 driver (Maxime Jourdan / Elyotna)
   * HW Crypo Accelerator for GX (Corentin Labbe / clabbe)   * HW Crypo Accelerator for GX (Corentin Labbe / clabbe)
-  * VDEC and VPU clock for Meson8/​Meson8b/​Meson8m2 (Martin Blumenstingl / xdarklight) 
  
 ==== Stalled WiP ==== ==== Stalled WiP ====
Line 574: 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 600: 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 640: 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 683: 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.1551564790.txt.gz · Last modified: 2019/03/02 23:13 by xdarklight