Commit 174102f4 authored by Noralf Trønnes's avatar Noralf Trønnes

drm/tinydrm: Move mipi-dbi

This moves mipi-dbi to be a core helper with the name drm_mipi_dbi.

Fixup include's in drivers.
Move the docs entry and delete tinydrm.rst.
Delete the last tinydrm todo entry.

v2: Make DRM_MIPI_DBI tristate to enable it being built as a module.

Cc: Eric Anholt <eric@anholt.net>
Cc: David Lechner <david@lechnology.com>
Reviewed-by: default avatarSam Ravnborg <sam@ravnborg.org>
Signed-off-by: default avatarNoralf Trønnes <noralf@tronnes.org>
Acked-by: default avatarDavid Lechner <david@lechnology.com>
Acked-by: default avatarEric Anholt <eric@anholt.net>
Link: https://patchwork.freedesktop.org/patch/msgid/20190722104312.16184-9-noralf@tronnes.org
parent 2d2bb61a
...@@ -11,7 +11,6 @@ GPU Driver Documentation ...@@ -11,7 +11,6 @@ GPU Driver Documentation
meson meson
pl111 pl111
tegra tegra
tinydrm
tve200 tve200
v3d v3d
vc4 vc4
......
...@@ -263,6 +263,18 @@ the MST topology helpers easier to understand ...@@ -263,6 +263,18 @@ the MST topology helpers easier to understand
drm_dp_mst_topology_put_port drm_dp_mst_topology_put_port
drm_dp_mst_get_mstb_malloc drm_dp_mst_put_mstb_malloc drm_dp_mst_get_mstb_malloc drm_dp_mst_put_mstb_malloc
MIPI DBI Helper Functions Reference
===================================
.. kernel-doc:: drivers/gpu/drm/drm_mipi_dbi.c
:doc: overview
.. kernel-doc:: include/drm/drm_mipi_dbi.h
:internal:
.. kernel-doc:: drivers/gpu/drm/drm_mipi_dbi.c
:export:
MIPI DSI Helper Functions Reference MIPI DSI Helper Functions Reference
=================================== ===================================
......
============================
drm/tinydrm Tiny DRM drivers
============================
tinydrm is a collection of DRM drivers that are so small they can fit in a
single source file.
MIPI DBI Compatible Controllers
===============================
.. kernel-doc:: drivers/gpu/drm/tinydrm/mipi-dbi.c
:doc: overview
.. kernel-doc:: include/drm/tinydrm/mipi-dbi.h
:internal:
.. kernel-doc:: drivers/gpu/drm/tinydrm/mipi-dbi.c
:export:
...@@ -437,19 +437,6 @@ Contact: Daniel Vetter ...@@ -437,19 +437,6 @@ Contact: Daniel Vetter
Driver Specific Driver Specific
=============== ===============
tinydrm
-------
Tinydrm is the helper driver for really simple fb drivers. The goal is to make
those drivers as simple as possible, so lots of room for refactoring:
- extract the mipi-dbi helper (well, the non-tinydrm specific parts at
least) into a separate helper, like we have for mipi-dsi already. Or follow
one of the ideas for having a shared dsi/dbi helper, abstracting away the
transport details more.
Contact: Noralf Trønnes, Daniel Vetter
AMD DC Display Driver AMD DC Display Driver
--------------------- ---------------------
......
...@@ -24,6 +24,10 @@ menuconfig DRM ...@@ -24,6 +24,10 @@ menuconfig DRM
details. You should also select and configure AGP details. You should also select and configure AGP
(/dev/agpgart) support if it is available for your platform. (/dev/agpgart) support if it is available for your platform.
config DRM_MIPI_DBI
tristate
depends on DRM
config DRM_MIPI_DSI config DRM_MIPI_DSI
bool bool
depends on DRM depends on DRM
......
...@@ -55,6 +55,7 @@ obj-$(CONFIG_DRM_KMS_HELPER) += drm_kms_helper.o ...@@ -55,6 +55,7 @@ obj-$(CONFIG_DRM_KMS_HELPER) += drm_kms_helper.o
obj-$(CONFIG_DRM_DEBUG_SELFTEST) += selftests/ obj-$(CONFIG_DRM_DEBUG_SELFTEST) += selftests/
obj-$(CONFIG_DRM) += drm.o obj-$(CONFIG_DRM) += drm.o
obj-$(CONFIG_DRM_MIPI_DBI) += drm_mipi_dbi.o
obj-$(CONFIG_DRM_MIPI_DSI) += drm_mipi_dsi.o obj-$(CONFIG_DRM_MIPI_DSI) += drm_mipi_dsi.o
obj-$(CONFIG_DRM_PANEL_ORIENTATION_QUIRKS) += drm_panel_orientation_quirks.o obj-$(CONFIG_DRM_PANEL_ORIENTATION_QUIRKS) += drm_panel_orientation_quirks.o
obj-y += arm/ obj-y += arm/
......
...@@ -20,11 +20,11 @@ ...@@ -20,11 +20,11 @@
#include <drm/drm_format_helper.h> #include <drm/drm_format_helper.h>
#include <drm/drm_fourcc.h> #include <drm/drm_fourcc.h>
#include <drm/drm_gem_framebuffer_helper.h> #include <drm/drm_gem_framebuffer_helper.h>
#include <drm/drm_mipi_dbi.h>
#include <drm/drm_modes.h> #include <drm/drm_modes.h>
#include <drm/drm_probe_helper.h> #include <drm/drm_probe_helper.h>
#include <drm/drm_rect.h> #include <drm/drm_rect.h>
#include <drm/drm_vblank.h> #include <drm/drm_vblank.h>
#include <drm/tinydrm/mipi-dbi.h>
#include <video/mipi_display.h> #include <video/mipi_display.h>
#define MIPI_DBI_MAX_SPI_READ_SPEED 2000000 /* 2MHz */ #define MIPI_DBI_MAX_SPI_READ_SPEED 2000000 /* 2MHz */
......
...@@ -8,14 +8,10 @@ menuconfig DRM_TINYDRM ...@@ -8,14 +8,10 @@ menuconfig DRM_TINYDRM
Choose this option if you have a tinydrm supported display. Choose this option if you have a tinydrm supported display.
If M is selected the module will be called tinydrm. If M is selected the module will be called tinydrm.
config TINYDRM_MIPI_DBI
tristate
select DRM_KMS_HELPER
config TINYDRM_HX8357D config TINYDRM_HX8357D
tristate "DRM support for HX8357D display panels" tristate "DRM support for HX8357D display panels"
depends on DRM_TINYDRM && SPI depends on DRM_TINYDRM && SPI
select TINYDRM_MIPI_DBI select DRM_MIPI_DBI
select BACKLIGHT_CLASS_DEVICE select BACKLIGHT_CLASS_DEVICE
help help
DRM driver for the following HX8357D panels: DRM driver for the following HX8357D panels:
...@@ -26,7 +22,7 @@ config TINYDRM_HX8357D ...@@ -26,7 +22,7 @@ config TINYDRM_HX8357D
config TINYDRM_ILI9225 config TINYDRM_ILI9225
tristate "DRM support for ILI9225 display panels" tristate "DRM support for ILI9225 display panels"
depends on DRM_TINYDRM && SPI depends on DRM_TINYDRM && SPI
select TINYDRM_MIPI_DBI select DRM_MIPI_DBI
help help
DRM driver for the following Ilitek ILI9225 panels: DRM driver for the following Ilitek ILI9225 panels:
* No-name 2.2" color screen module * No-name 2.2" color screen module
...@@ -36,7 +32,7 @@ config TINYDRM_ILI9225 ...@@ -36,7 +32,7 @@ config TINYDRM_ILI9225
config TINYDRM_ILI9341 config TINYDRM_ILI9341
tristate "DRM support for ILI9341 display panels" tristate "DRM support for ILI9341 display panels"
depends on DRM_TINYDRM && SPI depends on DRM_TINYDRM && SPI
select TINYDRM_MIPI_DBI select DRM_MIPI_DBI
select BACKLIGHT_CLASS_DEVICE select BACKLIGHT_CLASS_DEVICE
help help
DRM driver for the following Ilitek ILI9341 panels: DRM driver for the following Ilitek ILI9341 panels:
...@@ -47,7 +43,7 @@ config TINYDRM_ILI9341 ...@@ -47,7 +43,7 @@ config TINYDRM_ILI9341
config TINYDRM_MI0283QT config TINYDRM_MI0283QT
tristate "DRM support for MI0283QT" tristate "DRM support for MI0283QT"
depends on DRM_TINYDRM && SPI depends on DRM_TINYDRM && SPI
select TINYDRM_MIPI_DBI select DRM_MIPI_DBI
select BACKLIGHT_CLASS_DEVICE select BACKLIGHT_CLASS_DEVICE
help help
DRM driver for the Multi-Inno MI0283QT display panel DRM driver for the Multi-Inno MI0283QT display panel
...@@ -69,7 +65,7 @@ config TINYDRM_REPAPER ...@@ -69,7 +65,7 @@ config TINYDRM_REPAPER
config TINYDRM_ST7586 config TINYDRM_ST7586
tristate "DRM support for Sitronix ST7586 display panels" tristate "DRM support for Sitronix ST7586 display panels"
depends on DRM_TINYDRM && SPI depends on DRM_TINYDRM && SPI
select TINYDRM_MIPI_DBI select DRM_MIPI_DBI
help help
DRM driver for the following Sitronix ST7586 panels: DRM driver for the following Sitronix ST7586 panels:
* LEGO MINDSTORMS EV3 * LEGO MINDSTORMS EV3
...@@ -79,7 +75,7 @@ config TINYDRM_ST7586 ...@@ -79,7 +75,7 @@ config TINYDRM_ST7586
config TINYDRM_ST7735R config TINYDRM_ST7735R
tristate "DRM support for Sitronix ST7735R display panels" tristate "DRM support for Sitronix ST7735R display panels"
depends on DRM_TINYDRM && SPI depends on DRM_TINYDRM && SPI
select TINYDRM_MIPI_DBI select DRM_MIPI_DBI
select BACKLIGHT_CLASS_DEVICE select BACKLIGHT_CLASS_DEVICE
help help
DRM driver Sitronix ST7735R with one of the following LCDs: DRM driver Sitronix ST7735R with one of the following LCDs:
......
# SPDX-License-Identifier: GPL-2.0-only # SPDX-License-Identifier: GPL-2.0-only
# Controllers
obj-$(CONFIG_TINYDRM_MIPI_DBI) += mipi-dbi.o
# Displays
obj-$(CONFIG_TINYDRM_HX8357D) += hx8357d.o obj-$(CONFIG_TINYDRM_HX8357D) += hx8357d.o
obj-$(CONFIG_TINYDRM_ILI9225) += ili9225.o obj-$(CONFIG_TINYDRM_ILI9225) += ili9225.o
obj-$(CONFIG_TINYDRM_ILI9341) += ili9341.o obj-$(CONFIG_TINYDRM_ILI9341) += ili9341.o
......
...@@ -21,8 +21,8 @@ ...@@ -21,8 +21,8 @@
#include <drm/drm_fb_helper.h> #include <drm/drm_fb_helper.h>
#include <drm/drm_gem_cma_helper.h> #include <drm/drm_gem_cma_helper.h>
#include <drm/drm_gem_framebuffer_helper.h> #include <drm/drm_gem_framebuffer_helper.h>
#include <drm/drm_mipi_dbi.h>
#include <drm/drm_modeset_helper.h> #include <drm/drm_modeset_helper.h>
#include <drm/tinydrm/mipi-dbi.h>
#include <video/mipi_display.h> #include <video/mipi_display.h>
#define HX8357D_SETOSC 0xb0 #define HX8357D_SETOSC 0xb0
......
...@@ -24,9 +24,9 @@ ...@@ -24,9 +24,9 @@
#include <drm/drm_fourcc.h> #include <drm/drm_fourcc.h>
#include <drm/drm_gem_cma_helper.h> #include <drm/drm_gem_cma_helper.h>
#include <drm/drm_gem_framebuffer_helper.h> #include <drm/drm_gem_framebuffer_helper.h>
#include <drm/drm_mipi_dbi.h>
#include <drm/drm_rect.h> #include <drm/drm_rect.h>
#include <drm/drm_vblank.h> #include <drm/drm_vblank.h>
#include <drm/tinydrm/mipi-dbi.h>
#define ILI9225_DRIVER_READ_CODE 0x00 #define ILI9225_DRIVER_READ_CODE 0x00
#define ILI9225_DRIVER_OUTPUT_CONTROL 0x01 #define ILI9225_DRIVER_OUTPUT_CONTROL 0x01
......
...@@ -20,8 +20,8 @@ ...@@ -20,8 +20,8 @@
#include <drm/drm_fb_helper.h> #include <drm/drm_fb_helper.h>
#include <drm/drm_gem_cma_helper.h> #include <drm/drm_gem_cma_helper.h>
#include <drm/drm_gem_framebuffer_helper.h> #include <drm/drm_gem_framebuffer_helper.h>
#include <drm/drm_mipi_dbi.h>
#include <drm/drm_modeset_helper.h> #include <drm/drm_modeset_helper.h>
#include <drm/tinydrm/mipi-dbi.h>
#include <video/mipi_display.h> #include <video/mipi_display.h>
#define ILI9341_FRMCTR1 0xb1 #define ILI9341_FRMCTR1 0xb1
......
...@@ -18,8 +18,8 @@ ...@@ -18,8 +18,8 @@
#include <drm/drm_fb_helper.h> #include <drm/drm_fb_helper.h>
#include <drm/drm_gem_cma_helper.h> #include <drm/drm_gem_cma_helper.h>
#include <drm/drm_gem_framebuffer_helper.h> #include <drm/drm_gem_framebuffer_helper.h>
#include <drm/drm_mipi_dbi.h>
#include <drm/drm_modeset_helper.h> #include <drm/drm_modeset_helper.h>
#include <drm/tinydrm/mipi-dbi.h>
#include <video/mipi_display.h> #include <video/mipi_display.h>
#define ILI9341_FRMCTR1 0xb1 #define ILI9341_FRMCTR1 0xb1
......
...@@ -21,9 +21,9 @@ ...@@ -21,9 +21,9 @@
#include <drm/drm_format_helper.h> #include <drm/drm_format_helper.h>
#include <drm/drm_gem_cma_helper.h> #include <drm/drm_gem_cma_helper.h>
#include <drm/drm_gem_framebuffer_helper.h> #include <drm/drm_gem_framebuffer_helper.h>
#include <drm/drm_mipi_dbi.h>
#include <drm/drm_rect.h> #include <drm/drm_rect.h>
#include <drm/drm_vblank.h> #include <drm/drm_vblank.h>
#include <drm/tinydrm/mipi-dbi.h>
/* controller-specific commands */ /* controller-specific commands */
#define ST7586_DISP_MODE_GRAY 0x38 #define ST7586_DISP_MODE_GRAY 0x38
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
#include <drm/drm_fb_helper.h> #include <drm/drm_fb_helper.h>
#include <drm/drm_gem_cma_helper.h> #include <drm/drm_gem_cma_helper.h>
#include <drm/drm_gem_framebuffer_helper.h> #include <drm/drm_gem_framebuffer_helper.h>
#include <drm/tinydrm/mipi-dbi.h> #include <drm/drm_mipi_dbi.h>
#define ST7735R_FRMCTR1 0xb1 #define ST7735R_FRMCTR1 0xb1
#define ST7735R_FRMCTR2 0xb2 #define ST7735R_FRMCTR2 0xb2
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment