Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 90374b5c authored by Laurent Pinchart's avatar Laurent Pinchart
Browse files

drm/rcar-du: Add internal LVDS encoder support



The R8A7790 includes two internal LVDS encoders. Support them in the DU
driver.

Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
parent 7cbc05cb
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -7,3 +7,10 @@ config DRM_RCAR_DU
	help
	  Choose this option if you have an R-Car chipset.
	  If M is selected the module will be called rcar-du-drm.

config DRM_RCAR_LVDS
	bool "R-Car DU LVDS Encoder Support"
	depends on DRM_RCAR_DU
	help
	  Enable support the R-Car Display Unit embedded LVDS encoders
	  (currently only on R8A7790).
+3 −1
Original line number Diff line number Diff line
@@ -7,4 +7,6 @@ rcar-du-drm-y := rcar_du_crtc.o \
		 rcar_du_plane.o \
		 rcar_du_vgacon.o

rcar-du-drm-$(CONFIG_DRM_RCAR_LVDS)	+= rcar_du_lvdsenc.o

obj-$(CONFIG_DRM_RCAR_DU)		+= rcar-du-drm.o
+0 −2
Original line number Diff line number Diff line
@@ -26,8 +26,6 @@
#include "rcar_du_plane.h"
#include "rcar_du_regs.h"

#define to_rcar_crtc(c)	container_of(c, struct rcar_du_crtc, crtc)

static u32 rcar_du_crtc_read(struct rcar_du_crtc *rcrtc, u32 reg)
{
	struct rcar_du_device *rcdu = rcrtc->group->dev;
+2 −0
Original line number Diff line number Diff line
@@ -39,6 +39,8 @@ struct rcar_du_crtc {
	struct rcar_du_plane *plane;
};

#define to_rcar_crtc(c)	container_of(c, struct rcar_du_crtc, crtc)

int rcar_du_crtc_create(struct rcar_du_group *rgrp, unsigned int index);
void rcar_du_crtc_enable_vblank(struct rcar_du_crtc *rcrtc, bool enable);
void rcar_du_crtc_cancel_page_flip(struct rcar_du_crtc *rcrtc,
+2 −0
Original line number Diff line number Diff line
@@ -232,6 +232,7 @@ static const struct rcar_du_device_info rcar_du_r8a7779_info = {
			.encoder_type = DRM_MODE_ENCODER_NONE,
		},
	},
	.num_lvds = 0,
};

static const struct rcar_du_device_info rcar_du_r8a7790_info = {
@@ -255,6 +256,7 @@ static const struct rcar_du_device_info rcar_du_r8a7790_info = {
			.encoder_type = DRM_MODE_ENCODER_LVDS,
		},
	},
	.num_lvds = 2,
};

static const struct platform_device_id rcar_du_id_table[] = {
Loading