From: Liu Ying <Ying.Liu@freescale.com>
To: <dri-devel@lists.freedesktop.org>
Cc: <devicetree@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>, <linux@arm.linux.org.uk>,
<kernel@pengutronix.de>, <p.zabel@pengutronix.de>,
<thierry.reding@gmail.com>, <shawn.guo@linaro.org>,
<mturquette@linaro.org>, <airlied@linux.ie>, <andyshrk@gmail.com>,
<stefan.wahren@i2se.com>, <a.hajda@samsung.com>,
<linux-kernel@vger.kernel.org>
Subject: [PATCH RFC v8 00/21] Add support for i.MX MIPI DSI DRM driver
Date: Wed, 31 Dec 2014 16:23:18 +0800 [thread overview]
Message-ID: <1420014219-915-1-git-send-email-Ying.Liu@freescale.com> (raw)
Hi,
This version mainly fixes the Kconfig for the Synopsys DesignWare MIPI DSI
host controller bridge driver so that we may pass the allmodconfig for ARM.
Also, this version contains a minor change for the Himax HX8369A panel
driver to remove several unnecessary headers included.
The i.MX MIPI DSI is a Synopsys DesignWare MIPI DSI host controller IP.
This series adds support for a Synopsys DesignWare MIPI DSI host controller
DRM bridge driver and a i.MX MIPI DSI specific DRM driver.
Currently, the MIPI DSI drivers only support the burst with sync pulse mode.
This series also includes a DRM panel driver for the Truly TFT480800-16-E panel
which is driven by the Himax HX8369A driver IC. The driver IC data sheet could
be found at [1]. As mentioned by the data sheet, the driver IC supports several
interface modes. Currently, the DRM panel driver only supports the MIPI DSI video
mode. New interface modes could be added later(perhaps, just like the way the DRM
simple panel driver supports both MIPI DSI interface panels and simple(parallel)
interface panels).
The MIPI DSI feature is tested on i.MX6Q SabreSD board and i.MX6DL SabreSD board.
The MIPI DSI display could be enabled directly on i.MX6Q SabreSD board after
applying this series, because the 26.4MHz pixel clock the panel requires could be
derived from the IPU HSP clock(264MHz) with an integer divider.
On i.MX6DL SabreSD board, we need to manually disable the LVDS and HDMI displays in
the device tree blob, since the i.MX6DL IPU HSP clock is 198MHz at present, which
makes the pixel clock share the PLL5 video clock source with the LVDS and HDMI,
thus, the panel cannot get the pixel clock rate it wants.
Patch 01/21 is needed to get a precise pixel clock rate(26.4MHz) from the PLL5 video
clock. If we don't have this patch, the pixel clock rate is about 20MHz, which
causes a horitonal shift on the display image.
This series can be applied on the drm-next branch.
[1] http://www.allshore.com/pdf/Himax_HX8369-A.pdf
Liu Ying (21):
clk: divider: Correct parent clk round rate if no bestdiv is normally
found
of: Add vendor prefix for Himax Technologies Inc.
of: Add vendor prefix for Truly Semiconductors Limited
ARM: imx6q: Add GPR3 MIPI muxing control register field shift bits
definition
ARM: imx6q: clk: Add the video_27m clock
ARM: imx6q: clk: Change hdmi_isfr clock's parent to be video_27m clock
ARM: imx6q: clk: Change hsi_tx clock to be a shared clock gate
ARM: imx6q: clk: Add support for mipi_core_cfg clock as a shared clock
gate
ARM: dts: imx6qdl: Move existing MIPI DSI ports into a new 'ports'
node
drm/dsi: Add a helper to get bits per pixel of MIPI DSI pixel format
Documentation: dt-bindings: Add bindings for Synopsys DW MIPI DSI DRM
bridge driver
drm/bridge: Add Synopsys DesignWare MIPI DSI host controller driver
Documentation: dt-bindings: Add bindings for i.MX specific Synopsys DW
MIPI DSI driver
drm: imx: Support Synopsys DesignWare MIPI DSI host controller
Documentation: dt-bindings: Add bindings for Himax HX8369A DRM panel
driver
drm: panel: Add support for Himax HX8369A MIPI DSI panel
ARM: dtsi: imx6qdl: Add support for MIPI DSI host controller
ARM: dts: imx6qdl-sabresd: Add support for TRULY TFT480800-16-E MIPI
DSI panel
ARM: imx_v6_v7_defconfig: Cleanup for imx drm being moved out of
staging
ARM: imx_v6_v7_defconfig: Add support for MIPI DSI host controller
ARM: imx_v6_v7_defconfig: Add support for Himax HX8369A panel
.../devicetree/bindings/drm/bridge/dw_mipi_dsi.txt | 73 ++
.../devicetree/bindings/drm/imx/mipi_dsi.txt | 78 ++
.../devicetree/bindings/panel/himax,hx8369a.txt | 39 +
.../devicetree/bindings/vendor-prefixes.txt | 2 +
arch/arm/boot/dts/imx6q.dtsi | 20 +-
arch/arm/boot/dts/imx6qdl-sabresd.dtsi | 20 +
arch/arm/boot/dts/imx6qdl.dtsi | 29 +-
arch/arm/configs/imx_v6_v7_defconfig | 17 +-
arch/arm/mach-imx/clk-imx6q.c | 7 +-
drivers/clk/clk-divider.c | 3 +-
drivers/gpu/drm/bridge/Kconfig | 10 +
drivers/gpu/drm/bridge/Makefile | 1 +
drivers/gpu/drm/bridge/dw_mipi_dsi.c | 996 +++++++++++++++++++++
drivers/gpu/drm/imx/Kconfig | 7 +
drivers/gpu/drm/imx/Makefile | 1 +
drivers/gpu/drm/imx/dw_mipi_dsi-imx.c | 230 +++++
drivers/gpu/drm/panel/Kconfig | 5 +
drivers/gpu/drm/panel/Makefile | 1 +
drivers/gpu/drm/panel/panel-himax-hx8369a.c | 610 +++++++++++++
include/drm/bridge/dw_mipi_dsi.h | 27 +
include/drm/drm_mipi_dsi.h | 14 +
include/dt-bindings/clock/imx6qdl-clock.h | 4 +-
include/linux/mfd/syscon/imx6q-iomuxc-gpr.h | 1 +
23 files changed, 2165 insertions(+), 30 deletions(-)
create mode 100644 Documentation/devicetree/bindings/drm/bridge/dw_mipi_dsi.txt
create mode 100644 Documentation/devicetree/bindings/drm/imx/mipi_dsi.txt
create mode 100644 Documentation/devicetree/bindings/panel/himax,hx8369a.txt
create mode 100644 drivers/gpu/drm/bridge/dw_mipi_dsi.c
create mode 100644 drivers/gpu/drm/imx/dw_mipi_dsi-imx.c
create mode 100644 drivers/gpu/drm/panel/panel-himax-hx8369a.c
create mode 100644 include/drm/bridge/dw_mipi_dsi.h
--
2.1.0
next reply other threads:[~2014-12-31 8:19 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-31 8:23 Liu Ying [this message]
2014-12-31 8:23 ` [PATCH RFC v8 01/21] clk: divider: Correct parent clk round rate if no bestdiv is normally found Liu Ying
2014-12-31 8:23 ` [PATCH RFC v8 02/21] of: Add vendor prefix for Himax Technologies Inc Liu Ying
2015-02-04 16:02 ` Rob Herring
2015-02-05 2:20 ` Liu Ying
2014-12-31 8:23 ` [PATCH RFC v8 03/21] of: Add vendor prefix for Truly Semiconductors Limited Liu Ying
2014-12-31 8:23 ` [PATCH RFC v8 04/21] ARM: imx6q: Add GPR3 MIPI muxing control register field shift bits definition Liu Ying
2014-12-31 8:23 ` [PATCH RFC v8 05/21] ARM: imx6q: clk: Add the video_27m clock Liu Ying
2014-12-31 8:23 ` [PATCH RFC v8 06/21] ARM: imx6q: clk: Change hdmi_isfr clock's parent to be " Liu Ying
2014-12-31 8:23 ` [PATCH RFC v8 07/21] ARM: imx6q: clk: Change hsi_tx clock to be a shared clock gate Liu Ying
2014-12-31 8:23 ` [PATCH RFC v8 08/21] ARM: imx6q: clk: Add support for mipi_core_cfg clock as " Liu Ying
2014-12-31 8:23 ` [PATCH RFC v8 09/21] ARM: dts: imx6qdl: Move existing MIPI DSI ports into a new 'ports' node Liu Ying
2014-12-31 8:23 ` [PATCH RFC v8 10/21] drm/dsi: Add a helper to get bits per pixel of MIPI DSI pixel format Liu Ying
2014-12-31 8:23 ` [PATCH RFC v8 11/21] Documentation: dt-bindings: Add bindings for Synopsys DW MIPI DSI DRM bridge driver Liu Ying
2015-02-05 10:10 ` Philipp Zabel
2015-02-06 8:13 ` Liu Ying
2015-02-11 7:21 ` Liu Ying
2015-02-11 13:00 ` Philipp Zabel
2015-02-11 14:09 ` Liu Ying
2015-02-11 15:23 ` Philipp Zabel
2015-02-12 2:14 ` Liu Ying
2014-12-31 8:23 ` [PATCH RFC v8 12/21] drm/bridge: Add Synopsys DesignWare MIPI DSI host controller driver Liu Ying
2014-12-31 8:23 ` [PATCH RFC v8 13/21] Documentation: dt-bindings: Add bindings for i.MX specific Synopsys DW MIPI DSI driver Liu Ying
2014-12-31 8:23 ` [PATCH RFC v8 14/21] drm: imx: Support Synopsys DesignWare MIPI DSI host controller Liu Ying
2014-12-31 8:23 ` [PATCH RFC v8 15/21] Documentation: dt-bindings: Add bindings for Himax HX8369A DRM panel driver Liu Ying
2014-12-31 8:23 ` [PATCH RFC v8 16/21] drm: panel: Add support for Himax HX8369A MIPI DSI panel Liu Ying
2014-12-31 8:23 ` [PATCH RFC v8 17/21] ARM: dtsi: imx6qdl: Add support for MIPI DSI host controller Liu Ying
2014-12-31 8:23 ` [PATCH RFC v8 18/21] ARM: dts: imx6qdl-sabresd: Add support for TRULY TFT480800-16-E MIPI DSI panel Liu Ying
2014-12-31 8:23 ` [PATCH RFC v8 19/21] ARM: imx_v6_v7_defconfig: Cleanup for imx drm being moved out of staging Liu Ying
2014-12-31 8:23 ` [PATCH RFC v8 20/21] ARM: imx_v6_v7_defconfig: Add support for MIPI DSI host controller Liu Ying
2014-12-31 8:23 ` [PATCH RFC v8 21/21] ARM: imx_v6_v7_defconfig: Add support for Himax HX8369A panel Liu Ying
2015-02-02 2:17 ` [PATCH RFC v8 00/21] Add support for i.MX MIPI DSI DRM driver Liu Ying
2015-02-02 5:34 ` Liu Ying
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=1420014219-915-1-git-send-email-Ying.Liu@freescale.com \
--to=ying.liu@freescale.com \
--cc=a.hajda@samsung.com \
--cc=airlied@linux.ie \
--cc=andyshrk@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=kernel@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=mturquette@linaro.org \
--cc=p.zabel@pengutronix.de \
--cc=shawn.guo@linaro.org \
--cc=stefan.wahren@i2se.com \
--cc=thierry.reding@gmail.com \
/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).