devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Xinliang Liu <xinliang.liu@linaro.org>
To: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org,
	daniel@ffwll.ch, robh@kernel.org, daniel@fooishbar.org,
	architt@codeaurora.org, airlied@linux.ie, corbet@lwn.net,
	catalin.marinas@arm.com, will.deacon@arm.com
Cc: andy.green@linaro.org, xuyiping@hisilicon.com,
	linux-doc@vger.kernel.org, w.f@huawei.com,
	zourongrong@huawei.com, linuxarm@huawei.com,
	xuwei5@hisilicon.com, bintian.wang@huawei.com,
	haojian.zhuang@linaro.org, benjamin.gaignard@linaro.org,
	puck.chen@hisilicon.com, lijianhua@huawei.com,
	liguozhu@hisilicon.com, linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 00/10] Add New DRM Driver for HiSilicon hi6220 SoC
Date: Sat, 28 Nov 2015 18:38:55 +0800	[thread overview]
Message-ID: <1448707145-69348-1-git-send-email-xinliang.liu@linaro.org> (raw)

  This patch set adds a new drm driver for HiSilicon hi6220 SoC.
Current testing and support board is Hikey board which is one of Linaro
96boards. It is an arm64 open source board. For more information about
this board, please access https://www.96boards.org.

Hardware Detail
---------------
  The display subsystem of Hi6220 SoC is shown as bellow:
 +-----+       +----------+     +-----+     +---------+
 |     |       |          |     |     |     |         |             	
 | FB  |------>|   ADE    |---->| DSI |---->| External|
 |     |       |          |     |     |     |  HDMI   |
 +-----+       +----------+     +-----+     +---------+

- ADE(Advanced Display Engine) is the display controller. It contains 7
channels, 3 overlay compositors and a LDI.
  - A channel looks like: DMA-->clip-->scale-->ctrans(or called csc).
  - Overlay compositor is response to compose planes which come from 7
  channels and pass composed image to LDI.
  - LDI is response to generate timings and RGB data stream.
- DSI converts the RGB data stream from ADE to DSI packets.
- External HDMI module is connected with DSI bus. Now Hikey use a ADI's
  ADV7533 external HDMI chip.

Change History
-------------
Changes in v2:
- Remove abtraction layer of plane/crtc/encoder/connector.
- Refactor atomic implementation according to Daniel Vetter's guides:
http://blog.ffwll.ch/2014/11/atomic-modeset-support-for-kms-drivers.html
http://blog.ffwll.ch/2015/09/xdc-2015-atomic-modesetting-for-drivers.html
http://blog.ffwll.ch/2015/08/atomic-modesetting-design-overview.html
- Use bridge instead of slave encoder to connect external HDMI.
- Move dt binding docs to bindings/display/hisilicon directory. 


Xinliang Liu (10):
  arm64: dts: hisilicon: Add display subsystem DT nodes for hi6220.
  drm/hisilicon: Add device tree binding for hi6220 display subsystem
  drm/hisilicon: Add hisilicon DRM master driver
  drm/hisilicon: Add crtc funcs for ADE
  drm/hisilicon: Add plane funcs for ADE
  drm/hisilicon: Add vblank feature
  drm/hisilicon: Add cma fbdev and hotplug
  drm/hisilicon: Add dsi encoder driver
  drm/hisilicon: Add dsi host driver
  drm/hisilicon: Add support for external bridge

 .../bindings/display/hisilicon/hisi-ade.txt        |   42 +
 .../bindings/display/hisilicon/hisi-drm.txt        |   66 ++
 .../bindings/display/hisilicon/hisi-dsi.txt        |   53 +
 arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts     |   21 +
 arch/arm64/boot/dts/hisilicon/hi6220.dtsi          |   44 +
 drivers/gpu/drm/Kconfig                            |    2 +
 drivers/gpu/drm/Makefile                           |    1 +
 drivers/gpu/drm/hisilicon/Kconfig                  |   10 +
 drivers/gpu/drm/hisilicon/Makefile                 |    5 +
 drivers/gpu/drm/hisilicon/hisi_ade_reg.h           |  490 +++++++++
 drivers/gpu/drm/hisilicon/hisi_drm_ade.c           | 1068 ++++++++++++++++++++
 drivers/gpu/drm/hisilicon/hisi_drm_ade.h           |   16 +
 drivers/gpu/drm/hisilicon/hisi_drm_drv.c           |  280 +++++
 drivers/gpu/drm/hisilicon/hisi_drm_drv.h           |   19 +
 drivers/gpu/drm/hisilicon/hisi_drm_dsi.c           |  829 +++++++++++++++
 drivers/gpu/drm/hisilicon/hisi_dsi_reg.h           |   89 ++
 16 files changed, 3035 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/hisilicon/hisi-ade.txt
 create mode 100644 Documentation/devicetree/bindings/display/hisilicon/hisi-drm.txt
 create mode 100644 Documentation/devicetree/bindings/display/hisilicon/hisi-dsi.txt
 create mode 100644 drivers/gpu/drm/hisilicon/Kconfig
 create mode 100644 drivers/gpu/drm/hisilicon/Makefile
 create mode 100644 drivers/gpu/drm/hisilicon/hisi_ade_reg.h
 create mode 100644 drivers/gpu/drm/hisilicon/hisi_drm_ade.c
 create mode 100644 drivers/gpu/drm/hisilicon/hisi_drm_ade.h
 create mode 100644 drivers/gpu/drm/hisilicon/hisi_drm_drv.c
 create mode 100644 drivers/gpu/drm/hisilicon/hisi_drm_drv.h
 create mode 100644 drivers/gpu/drm/hisilicon/hisi_drm_dsi.c
 create mode 100644 drivers/gpu/drm/hisilicon/hisi_dsi_reg.h

-- 
1.9.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

             reply	other threads:[~2015-11-28 10:38 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-28 10:38 Xinliang Liu [this message]
2015-11-28 10:38 ` [PATCH v2 01/10] arm64: dts: hisilicon: Add display subsystem DT nodes for hi6220 Xinliang Liu
2015-11-28 10:38 ` [PATCH v2 02/10] drm/hisilicon: Add DT binding docs for hi6220 display subsystem Xinliang Liu
2015-11-30 19:31   ` Rob Herring
2015-12-01  7:17     ` Xinliang Liu
2015-12-01 13:58       ` Rob Herring
2015-11-28 10:38 ` [PATCH v2 03/10] drm/hisilicon: Add hisilicon DRM master driver Xinliang Liu
2015-12-03 16:21   ` Rob Herring
2015-12-05  1:25     ` Xinliang Liu
2015-11-28 10:38 ` [PATCH v2 04/10] drm/hisilicon: Add crtc funcs for ADE Xinliang Liu
     [not found]   ` <1448707145-69348-5-git-send-email-xinliang.liu-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-11-28 15:56     ` Emil Velikov
2015-12-01  2:52       ` Xinliang Liu
2015-11-28 10:39 ` [PATCH v2 05/10] drm/hisilicon: Add plane " Xinliang Liu
2015-11-28 10:39 ` [PATCH v2 06/10] drm/hisilicon: Add vblank feature Xinliang Liu
2015-11-30  7:54   ` Daniel Vetter
2015-12-01  3:16     ` Xinliang Liu
2015-12-01  7:13       ` Daniel Vetter
2015-12-01 10:34         ` Xinliang Liu
2015-12-01 12:54           ` Daniel Vetter
2015-11-28 10:39 ` [PATCH v2 07/10] drm/hisilicon: Add cma fbdev and hotplug Xinliang Liu
2015-11-28 10:39 ` [PATCH v2 08/10] drm/hisilicon: Add dsi encoder driver Xinliang Liu
2015-12-01  8:58   ` Archit Taneja
     [not found]     ` <565D612A.1010307-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2015-12-01 11:16       ` Xinliang Liu
2015-11-28 10:39 ` [PATCH v2 09/10] drm/hisilicon: Add dsi host driver Xinliang Liu
     [not found] ` <1448707145-69348-1-git-send-email-xinliang.liu-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-11-28 10:39   ` [PATCH v2 10/10] drm/hisilicon: Add support for external bridge Xinliang Liu
2015-12-01  9:04     ` Archit Taneja
2015-12-01 14:50       ` Xinliang Liu
2015-12-02  8:20         ` Archit Taneja
     [not found]           ` <565EA9D4.4090905-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2015-12-02 11:24             ` Xinliang Liu

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=1448707145-69348-1-git-send-email-xinliang.liu@linaro.org \
    --to=xinliang.liu@linaro.org \
    --cc=airlied@linux.ie \
    --cc=andy.green@linaro.org \
    --cc=architt@codeaurora.org \
    --cc=benjamin.gaignard@linaro.org \
    --cc=bintian.wang@huawei.com \
    --cc=catalin.marinas@arm.com \
    --cc=corbet@lwn.net \
    --cc=daniel@ffwll.ch \
    --cc=daniel@fooishbar.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=haojian.zhuang@linaro.org \
    --cc=liguozhu@hisilicon.com \
    --cc=lijianhua@huawei.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linuxarm@huawei.com \
    --cc=puck.chen@hisilicon.com \
    --cc=robh@kernel.org \
    --cc=w.f@huawei.com \
    --cc=will.deacon@arm.com \
    --cc=xuwei5@hisilicon.com \
    --cc=xuyiping@hisilicon.com \
    --cc=zourongrong@huawei.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).