OSDN Git Service

drm/mcde: Support DPI output
authorLinus Walleij <linus.walleij@linaro.org>
Thu, 12 Nov 2020 14:29:25 +0000 (15:29 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 23 Nov 2020 23:09:08 +0000 (00:09 +0100)
commitd795fd322063246f23ca20ba0125cf3ed89cc1d3
tree6d3801ca4d0c614c89e3048e4aabc6f92a7e0dc5
parentbfbc5e3b1774073ec92129995c7a6291015008af
drm/mcde: Support DPI output

This implements support for DPI output using the port node
in the device tree to connect a DPI LCD display to the
MCDE. The block also supports TV-out but we leave that
for another day when we have a hardware using it.

We implement parsing and handling of the "port" node,
and follow that to the DPI endpoint.

The clock divider used by the MCDE to divide down the
"lcdclk" (this has been designed for TV-like frequencies)
is represented by an ordinary clock provider internally
in the MCDE. This idea was inspired by the PL111 solution
by Eric Anholt: the divider also works very similar to
the Pl111 clock divider.

We take care to clear up some errors regarding the number
of available formatters and their type. We have 6 DSI
formatters and 2 DPI formatters.

Tested on the Samsung GT-I9070 Janice mobile phone.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Stephan Gerhold <stephan@gerhold.net>
Cc: phone-devel@vger.kernel.org
Cc: upstreaming@lists.sr.ht
Link: https://patchwork.freedesktop.org/patch/msgid/20201112142925.2571179-2-linus.walleij@linaro.org
drivers/gpu/drm/mcde/Kconfig
drivers/gpu/drm/mcde/Makefile
drivers/gpu/drm/mcde/mcde_clk_div.c [new file with mode: 0644]
drivers/gpu/drm/mcde/mcde_display.c
drivers/gpu/drm/mcde/mcde_display_regs.h
drivers/gpu/drm/mcde/mcde_drm.h
drivers/gpu/drm/mcde/mcde_drv.c