From: daniel@ffwll.ch (Daniel Vetter)
To: linus-amlogic@lists.infradead.org
Subject: [PATCH 00/11] drm/meson: Initial support for HDMI Output
Date: Thu, 2 Mar 2017 16:58:45 +0100 [thread overview]
Message-ID: <20170302155845.pybae7xtuzjpawx6@phenom.ffwll.local> (raw)
In-Reply-To: <1488469207-523-1-git-send-email-narmstrong@baylibre.com>
On Thu, Mar 02, 2017 at 04:39:56PM +0100, Neil Armstrong wrote:
> The Amlogic GX SoCs implements a Synopsys DesignWare HDMI TX Controller
> in combination with a very custom PHY.
>
> This patchset depends on Laurent Pinchart v4 patchset at [1] and my v2
> patchset at [2] to permit PHY control from outside the dw-hdmi driver.
>
> The Synopsys DesignWare HDMI TX Controller is integrated like :
> ___________________________________
> | HDMI TOP |<= HPD
> |___________________________________|
> | | |
> HDMI-TX-| Synopsys HDMI | HDMI PHY |=> TMDS
> | Controller |________________|
> |___________________________________|<=> DDC
>
> And uses the following paths for Pixels Encoding :
> _____ _____ ____________________
> vd1---| |-| | | VENC /---------|----VDAC
> vd2---| VIU |-| VPP |-|-----ENCI/-ENCI_DVI-|\
> osd1--| |-| | | \ | X--HDMI-TX
> osd2--|_____|-|_____| | |\-ENCP--ENCP_DVI-|/
> | | |
> | \--ENCL-----------|----LVDS
> |____________________|
>
> The ENCI and ENCP encoders pre-formats the data for the ENCI-DVI and
> ENCP-DVI encoders. Those DVI encoders will format the pixels for the
> Synopsys DesignWare HDMI TX Controller.
>
> In order to support display modes, the ENCI and ENCP encoders needs very
> specific parameters for *each* display modes, so usage of the CEA VIC
> identifier is necessary. But the DVI timings are generated from the
> drm_mode structure in a generic way.
>
> To simplify the first push, only the main CEA modes are supported up to
> 1920x1080p60. Supporting the 480i and 576i needs tweaking in the dw-hdmi
> in order to support the Clock Doubling necessary for these modes.
>
> Support for more traditional modes like the EDID fallback modes is planned
> but will need tome additionnal handling along the CEA modes.
> Support for 4k2k modes needs to be able to get the EDID HDMI modes, but
> for now only the HDMI 1.4 modes are currently available in the drm_edid
> implementation.
Btw, with the neat ascii-art stuff here and in comments in your code, did
you look into assembling all that into a meson driver documentation
chapter like the one for vc4 that was just merged?
-Daniel
>
> This patchset does :
> - Fixes the CRTC handling
> - Fixes the registers definitions
> - Adds support for device components registration along of-graph
> - Adds support for HDMI clocks
> - Adds support for HDMI VENC video modes
> - Adds support for the Custom HDMI PHY using callbacks added in [1] and [2]
> - Adds CMA node to reserve enougth memory for 1080p display
> - Adds the HDMI controller et connector modes on selected boards
> - Adds a proper dt-bindings for the HDMI controller et connector
> - Updates the MAINTAINERS file to track the new files
>
> [1] http://lkml.kernel.org/r/20170301223915.29888-1-laurent.pinchart+renesas at ideasonboard.com
> [2] http://lkml.kernel.org/r/1488468572-31971-1-git-send-email-narmstrong at baylibre.com
>
> Neil Armstrong (11):
> drm/meson: Use crtc_state for hdisplay and fix atomic flush/enable
> sync for vsync commit
> drm/meson: Add missing HDMI register
> drm/meson: Add support for components
> drm/meson: venc_cvbs: no more return -ENODEV if CVBS is not available
> drm/meson: add support for HDMI clock support
> drm/meson: Add support for HDMI venc modes and settings
> drm/meson: Add support for HDMI encoder and DW-HDMI bridge + PHY
> ARM64: dts: meson-gx: Add shared CMA dma memory pool
> ARM64: dts: meson-gx: Add support for HDMI output
> dt-bindings: Add bindings for the Amlogic Meson dw-hdmi extension
> MAINTAINERS: update files for Amlogic DRM Driver
>
> .../bindings/display/amlogic,meson-dw-hdmi.txt | 111 ++
> MAINTAINERS | 1 +
> .../arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi | 39 +
> arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 40 +
> .../boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts | 23 +
> arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi | 23 +
> arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 12 +
> .../boot/dts/amlogic/meson-gxl-nexbox-a95x.dts | 23 +
> arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 13 +
> .../arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts | 23 +
> arch/arm64/boot/dts/amlogic/meson-gxm.dtsi | 4 +
> drivers/gpu/drm/meson/Kconfig | 6 +
> drivers/gpu/drm/meson/Makefile | 1 +
> drivers/gpu/drm/meson/meson_crtc.c | 15 +-
> drivers/gpu/drm/meson/meson_drv.c | 113 +-
> drivers/gpu/drm/meson/meson_drv.h | 3 +
> drivers/gpu/drm/meson/meson_dw_hdmi.c | 918 +++++++++++++++
> drivers/gpu/drm/meson/meson_dw_hdmi.h | 146 +++
> drivers/gpu/drm/meson/meson_registers.h | 1 +
> drivers/gpu/drm/meson/meson_vclk.c | 624 +++++++++-
> drivers/gpu/drm/meson/meson_vclk.h | 6 +-
> drivers/gpu/drm/meson/meson_venc.c | 1245 +++++++++++++++++++-
> drivers/gpu/drm/meson/meson_venc.h | 7 +
> drivers/gpu/drm/meson/meson_venc_cvbs.c | 11 +-
> drivers/gpu/drm/meson/meson_vpp.h | 2 +
> 25 files changed, 3370 insertions(+), 40 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/display/amlogic,meson-dw-hdmi.txt
> create mode 100644 drivers/gpu/drm/meson/meson_dw_hdmi.c
> create mode 100644 drivers/gpu/drm/meson/meson_dw_hdmi.h
>
> --
> 1.9.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
next prev parent reply other threads:[~2017-03-02 15:58 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-02 15:39 Neil Armstrong
2017-03-02 15:39 ` [PATCH 01/11] drm/meson: Use crtc_state for hdisplay and fix atomic flush/enable sync for vsync commit Neil Armstrong
2017-03-02 15:39 ` [PATCH 02/11] drm/meson: Add missing HDMI register Neil Armstrong
2017-03-02 15:39 ` [PATCH 03/11] drm/meson: Add support for components Neil Armstrong
2017-03-02 15:40 ` [PATCH 04/11] drm/meson: venc_cvbs: no more return -ENODEV if CVBS is not available Neil Armstrong
2017-03-02 15:40 ` [PATCH 05/11] drm/meson: add support for HDMI clock support Neil Armstrong
2017-03-02 15:40 ` [PATCH 06/11] drm/meson: Add support for HDMI venc modes and settings Neil Armstrong
2017-03-02 15:40 ` [PATCH 07/11] drm/meson: Add support for HDMI encoder and DW-HDMI bridge + PHY Neil Armstrong
2017-03-02 15:40 ` [PATCH 08/11] ARM64: dts: meson-gx: Add shared CMA dma memory pool Neil Armstrong
2017-03-02 15:40 ` [PATCH 09/11] ARM64: dts: meson-gx: Add support for HDMI output Neil Armstrong
2017-03-02 15:40 ` [PATCH 10/11] dt-bindings: Add bindings for the Amlogic Meson dw-hdmi extension Neil Armstrong
2017-03-03 7:01 ` Rob Herring
2017-03-02 15:40 ` [PATCH 11/11] MAINTAINERS: update files for Amlogic DRM Driver Neil Armstrong
2017-03-02 15:58 ` Daniel Vetter [this message]
2017-03-02 16:15 ` [PATCH 00/11] drm/meson: Initial support for HDMI Output Neil Armstrong
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=20170302155845.pybae7xtuzjpawx6@phenom.ffwll.local \
--to=daniel@ffwll.ch \
--cc=linus-amlogic@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
all inboxes | Powered by JetHome®