Linux-Amlogic Archive on lore.kernel.org
 help / color / Atom feed
* 2021 Amlogic SoCs Features Status
@ 2021-04-15 14:28 Neil Armstrong
  2021-04-18 20:08 ` Martin Blumenstingl
  0 siblings, 1 reply; 2+ messages in thread
From: Neil Armstrong @ 2021-04-15 14:28 UTC (permalink / raw)
  To: open list:ARM/Amlogic Meson..., linux-arm-kernel

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: 2021 Amlogic SoCs Features Status
  2021-04-15 14:28 2021 Amlogic SoCs Features Status Neil Armstrong
@ 2021-04-18 20:08 ` Martin Blumenstingl
  0 siblings, 0 replies; 2+ messages in thread
From: Martin Blumenstingl @ 2021-04-18 20:08 UTC (permalink / raw)
  To: Neil Armstrong; +Cc: open list:ARM/Amlogic Meson..., linux-arm-kernel

Hi Neil,

thank you for this summary!

On Thu, Apr 15, 2021 at 4:29 PM Neil Armstrong <narmstrong@baylibre.com> wrote:
[...]
> I would like to thanks all the contributors (code, test, bug reports, ...) for the last
> 4,5 years !
Indeed, thanks to everyone who helped to get where we are right now!

[...]
> ## Meson6 / Meson8 / Meson8b
>
> I'll let martin elaborate on that, but it seems the biggest missing bits are Display, Video Decoder & Encoder support.
Meson6: unknown status, I don't have any hardware so YMMV
Meson8: similar status as Meson8b/Meson8m2 as these SoCs are almost
identical. The only known differences are Ethernet (Meson8 and Meson6
use the same Ethernet IP, while Meson8b and Meson8m2 use a newer IP ->
same as found on GXBB) and some clocks (which means that Meson8 cannot
change the GPU clock at runtime for example because the glitch-free
mux is absent)

Meson8b/Meson8m2:
video output:
1. I need to re-spin and re-test my CCF series which makes the video
clock tree mutable. This means I need to use the PLL initialization
"magic registers" to set the PLL to the "doubling" mode
2. some of the existing DRM driver code needs to be converted to a
bridge so I don't have to duplicate the non-dw-HDMI part of
meson_dw_hdmi.c
3. 1080P and lower video modes are working with my out-of-tree driver
for me. upstreaming this driver will require multiple rounds of
reviews as this includes a driver for the TransSwitch HDMI controller
IP (not just the Amlogic part)
4. cleanup of the DRM patches sitting in my tree

HDMI CEC:
- untested, but I hope that it's similar enough to GXBB so it works
without too much effort

audio output:
- in my tests SPDIF output is working fine
- I2S over HDMI also worked "fine" in my (2-channel) tests. I expect
that it'll suffer from the MGN issue as GXBB, GXL and GXM
- for boards where the analog output path is known this can be made to
work. I did some experiments on my EC-100 some time ago where I could
get it to work. but I was unsuccessful with the analog out on other
boards

video encoders/decoders:
- according to what Maxime told me some time ago this should be very
similar to GXBB but I have not done any experiments so far

once implemented for any of Meson8/Meson8b/Meson8m2/GXBB we'll get it
for the "other" SoCs for free:
- IR hardware decoding
- USB OTG


Best regards,
Martin

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, back to index

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-15 14:28 2021 Amlogic SoCs Features Status Neil Armstrong
2021-04-18 20:08 ` Martin Blumenstingl

Linux-Amlogic Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-amlogic/0 linux-amlogic/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-amlogic linux-amlogic/ https://lore.kernel.org/linux-amlogic \
		linux-amlogic@lists.infradead.org
	public-inbox-index linux-amlogic

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.infradead.lists.linux-amlogic


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git