linux-amlogic.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Neil Armstrong <narmstrong@baylibre.com>
To: "open list:ARM/Amlogic Meson..."
	<linux-amlogic@lists.infradead.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: 2021 Amlogic SoCs Features Status
Date: Thu, 15 Apr 2021 16:28:39 +0200	[thread overview]
Message-ID: <f13f7006-2d0c-40c7-cea6-03b5190fd106@baylibre.com> (raw)

I'd like to summarize the actual missing & broken features on all Amlogic SoCs,
because (this month) is the 4th anniversary of the HDMI support on Amlogic SoC,
but not only.

A lot of people are asking about the status on multimedia & display features,
this would help understanding what's missing.

I would like to thanks all the contributors (code, test, bug reports, ...) for the last
4,5 years !

But first, I would like to list what's working and stable : (you can find more details on http://linux-meson.com/)

# Display
DRM/KMS Atomic Driver
CVBS i480/i576
HDMI 2.0a up to 4k60 with 444/420 support
OSD with multiple plane formats supported
Video with multiple plane formats supported + compressed video formats from the decoder
HDMI CEC
GPU (Lima for GXBB/GXL, Panfrost for GXM/G12A/G12B/SM1)

# Multimedia
GE2D Accelerator for plane rotation and format transform
MPEG-2, H264, VP9 decoder (up to 4k for vp9)

# Audio
I2S, SPDIF In/Out TDM interfaces support
I2S/SPDIF feeding to HDMI support
AXG/G12A/G12B/SM1 advanced audio routing features supported

# System
CCF Clock support
SCPI DVFS
Thermal
Power Domains
SoC identification
eMMC up to HS200/SDCard/SDIO support
NAND flash support
PCIe support
USB2/3.0 SuperSpeed + Gadget/OTG

# Misc
MIPI DSI PHY support
RTC on pre-GXBB
vRTC to support suspend wakeup
I2C up to 400KHz
SPI for SPI NOR Flash
SPI for general purpose SPI
User eFuses
ADCs
HW Crypto Engine
Internal Clock Measuring
PWM
Infrared Decoding

This makes it an usable system without advanced multimedia features.
You can find very recent Desktop Armbian images running on the Odroid-N2(+)
running very decently, and build Upstream AOSP on the now reference boards
Khadas VIM3/VIM3L.

And U-boot has almost the same support status, see:
https://u-boot.readthedocs.io/en/latest/board/amlogic/index.html

Now what/s missing/broken.

# Families

## All Families

### Display
Missing:
 - 10/12-bit HDMI Output
Plumbing is there, only needs clock generation setup and understand how to switch to 10/12bits...

 - HDMI 4:2:0 Output
Plumbing is there, only needs mode setup and testing

 - Cursor Plane support
More complex, would need refactor so support updating the cursor plane manually when in interlaced mode

 - Second Video plane support
 - HDR Transformations
Needs documentation

 - Parallel Video output
 - Picture post-processing
Needs documentation

### Multimedia
Missing:
 - MPEG-4/2/1/JPEG Decoder
 - H264 Encoder
 - JPEG Encoder
 - DVB TS Interface
 - HDMI Audio via S/PDIF

### Misc
Missing:
 - Smart Card reader
 - I2C Slave
 - HW IR decoder support
 - DMA support for SPICC
 - USB OTG

## Meson6 / Meson8 / Meson8b

I'll let martin elaborate on that, but it seems the biggest missing bits are Display, Video Decoder & Encoder support.

## GXBB

### Audio
Broken:
Multiple issues are reported with the Mainline AIU driver:
 - "Machine Gun Noise"
 - 5-8 second dropouts
 - unable to play 48KHz audio on GXBB
 - channels are messed up in both AIU/AXG when playing 5.1+

### Display
Missing:
 - Secure Video Path
 - HDCP2

### Multimedia
Missing:
 - HEVC Decoder
 - GE2D
Driver exists, but must be adapted

Broken:
 - H264 Decoder needs some fixup to be stable (Seeking, ...)

## GXL/GXM

### Audio
Broken:
Multiple issues are reported with the Mainline AIU driver:
 - "Machine Gun Noise"
 - 5-8 second dropouts
 - channels are messed up in both AIU/AXG when playing 5.1+

### Display
Missing:
 - Secure Video Path
 - HDCP2

### Multimedia
Missing:
 - HEVC Decoder
 - GE2D
Driver exists, but must be adapted

Broken:
 - VP9 Decoder needs some fixup to be stable (Seeking, ...)

## AXG
### Display
Missing:
 - MIPI DSI Controller
Code was submitted, but needs some refactor before re-submitted.

### Misc
Missing:
 - Crypto Accelerator

## G12A/G12B/SM1

### Audio
Broken:
Multiple issues are reported with the Mainline AIU driver:
 - 5-8 second dropouts
 - channels are messed up in both AIU/AXG when playing 5.1+

### Display
Missing:
 - Secure Video Path
 - HDCP2
 - Dual display support
Needs documentation to understand how the works

 - MIPI DSI Controller
Code was submitted, but needs some refactor before re-submitted.

 - MIPI DSI PHY
Code was submitted, but needs some refactor before re-submitted.

 - Support for complex planes blending
Needs documentation to understand how this works

 - Support for complex Picture post-processing
Needs documentation to understand how this works

 - Support for complex OSD and Video HDR transformations
Needs documentation to understand how this works

 - Dynamic HDR

This is not supported by any framework in the kernel

### Multimedia
Missing:
 - HEVC Decoder
 - MIPI CSI Input
 - MIPI CSI Phys
 - Camera Image Processor
Only for A311D/S922X, is an ARM ISP core.

 - GE2D
Driver exists, but must be adapted

### Misc
Missing:
 - Crypto Accelerator
 - NPU (Vivante Core)

Please follow-up if I missed something in my working or broken/missing list !

Neil

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

             reply	other threads:[~2021-04-15 14:29 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-15 14:28 Neil Armstrong [this message]
2021-04-18 20:08 ` 2021 Amlogic SoCs Features Status Martin Blumenstingl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f13f7006-2d0c-40c7-cea6-03b5190fd106@baylibre.com \
    --to=narmstrong@baylibre.com \
    --cc=linux-amlogic@lists.infradead.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).