DRM: Add KMS driver for the Ingenic JZ47xx SoCs
authorPaul Cercueil <paul@crapouillou.net>
Mon, 3 Jun 2019 15:23:31 +0000 (17:23 +0200)
committerSam Ravnborg <sam@ravnborg.org>
Wed, 19 Jun 2019 11:24:14 +0000 (13:24 +0200)
commit90b86fcc47b4d186f92cd66393fe51871615b4cc
treed2f2906ab8c8db7affd8575912e8bb98ba4c2c91
parent34884dba294488304adf702d8d16feba768bad6d
DRM: Add KMS driver for the Ingenic JZ47xx SoCs

Add a KMS driver for the Ingenic JZ47xx family of SoCs.
This driver is meant to replace the aging jz4740-fb driver.

This driver does not make use of the simple pipe helper, for the reason
that it will soon be updated to support more advanced features like
multiple planes, IPU integration for colorspace conversion and up/down
scaling, support for DSI displays, and TV-out and HDMI outputs.

Notes:
    v2: - Remove custom handling of panel. The panel is now discovered using
          the standard API.
        - Lots of small tweaks suggested by upstream

    v3: - Use devm_drm_dev_init()
        - Update compatible strings to -lcd instead of -drm
        - Add destroy() callbacks to plane and crtc
        - The ingenic,lcd-mode is now read from the bridge's DT node

    v4: Remove ingenic,lcd-mode property completely. The various modes are now
        deduced from the connector type, the pixel format or the bus flags.

    v5: - Fix framebuffer size incorrectly calculated for 24bpp framebuffers
        - Use 32bpp framebuffer instead of 16bpp, as it'll work with both
          16-bit and 24-bit panel
        - Get rid of drm_format_plane_cpp() which has been dropped upstream
        - Avoid using drm_format_info->depth, which is deprecated.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Tested-by: Artur Rojek <contact@artur-rojek.eu>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20190603152331.23160-2-paul@crapouillou.net
drivers/gpu/drm/Kconfig
drivers/gpu/drm/Makefile
drivers/gpu/drm/ingenic/Kconfig [new file with mode: 0644]
drivers/gpu/drm/ingenic/Makefile [new file with mode: 0644]
drivers/gpu/drm/ingenic/ingenic-drm.c [new file with mode: 0644]