Commit e4b81f8c authored by Boris Brezillon's avatar Boris Brezillon Committed by Eric Anholt

drm/vc4: Add support for the VEC (Video Encoder) IP

The VEC IP is a TV DAC, providing support for PAL and NTSC standards.
Signed-off-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: default avatarEric Anholt <eric@anholt.net>
parent 299a16b1
...@@ -11,6 +11,7 @@ vc4-y := \ ...@@ -11,6 +11,7 @@ vc4-y := \
vc4_kms.o \ vc4_kms.o \
vc4_gem.o \ vc4_gem.o \
vc4_hdmi.o \ vc4_hdmi.o \
vc4_vec.o \
vc4_hvs.o \ vc4_hvs.o \
vc4_irq.o \ vc4_irq.o \
vc4_plane.o \ vc4_plane.o \
......
...@@ -19,6 +19,7 @@ static const struct drm_info_list vc4_debugfs_list[] = { ...@@ -19,6 +19,7 @@ static const struct drm_info_list vc4_debugfs_list[] = {
{"bo_stats", vc4_bo_stats_debugfs, 0}, {"bo_stats", vc4_bo_stats_debugfs, 0},
{"dpi_regs", vc4_dpi_debugfs_regs, 0}, {"dpi_regs", vc4_dpi_debugfs_regs, 0},
{"hdmi_regs", vc4_hdmi_debugfs_regs, 0}, {"hdmi_regs", vc4_hdmi_debugfs_regs, 0},
{"vec_regs", vc4_vec_debugfs_regs, 0},
{"hvs_regs", vc4_hvs_debugfs_regs, 0}, {"hvs_regs", vc4_hvs_debugfs_regs, 0},
{"crtc0_regs", vc4_crtc_debugfs_regs, 0, (void *)(uintptr_t)0}, {"crtc0_regs", vc4_crtc_debugfs_regs, 0, (void *)(uintptr_t)0},
{"crtc1_regs", vc4_crtc_debugfs_regs, 0, (void *)(uintptr_t)1}, {"crtc1_regs", vc4_crtc_debugfs_regs, 0, (void *)(uintptr_t)1},
......
...@@ -294,6 +294,7 @@ static const struct component_master_ops vc4_drm_ops = { ...@@ -294,6 +294,7 @@ static const struct component_master_ops vc4_drm_ops = {
static struct platform_driver *const component_drivers[] = { static struct platform_driver *const component_drivers[] = {
&vc4_hdmi_driver, &vc4_hdmi_driver,
&vc4_vec_driver,
&vc4_dpi_driver, &vc4_dpi_driver,
&vc4_hvs_driver, &vc4_hvs_driver,
&vc4_crtc_driver, &vc4_crtc_driver,
......
...@@ -17,6 +17,7 @@ struct vc4_dev { ...@@ -17,6 +17,7 @@ struct vc4_dev {
struct vc4_crtc *crtc[3]; struct vc4_crtc *crtc[3];
struct vc4_v3d *v3d; struct vc4_v3d *v3d;
struct vc4_dpi *dpi; struct vc4_dpi *dpi;
struct vc4_vec *vec;
struct drm_fbdev_cma *fbdev; struct drm_fbdev_cma *fbdev;
...@@ -487,6 +488,10 @@ int vc4_queue_seqno_cb(struct drm_device *dev, ...@@ -487,6 +488,10 @@ int vc4_queue_seqno_cb(struct drm_device *dev,
extern struct platform_driver vc4_hdmi_driver; extern struct platform_driver vc4_hdmi_driver;
int vc4_hdmi_debugfs_regs(struct seq_file *m, void *unused); int vc4_hdmi_debugfs_regs(struct seq_file *m, void *unused);
/* vc4_hdmi.c */
extern struct platform_driver vc4_vec_driver;
int vc4_vec_debugfs_regs(struct seq_file *m, void *unused);
/* vc4_irq.c */ /* vc4_irq.c */
irqreturn_t vc4_irq(int irq, void *arg); irqreturn_t vc4_irq(int irq, void *arg);
void vc4_irq_preinstall(struct drm_device *dev); void vc4_irq_preinstall(struct drm_device *dev);
......
This diff is collapsed.
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