summaryrefslogtreecommitdiff
path: root/include/video
diff options
context:
space:
mode:
authorFancy Fang <chen.fang@nxp.com>2018-06-06 22:26:28 +0800
committerDong Aisheng <aisheng.dong@nxp.com>2019-11-25 15:59:14 +0800
commit6cd1ebf26779b2708bf515a9c151e4c446c5c3b9 (patch)
tree97811d84a74060d926112781971bcba855adf093 /include/video
parent47362804d840f9cb5b8a5e292fc3d6f0d6cee80a (diff)
MLK-18535-3 gpu: imx: add LCDIF core driver
The LCDIF core driver is responsible to provide controller registers configuration and create the platform devices for the child port nodes. And the platform devices later will attach to the corresponding DRM/KMS drivers via name match. Signed-off-by: Fancy Fang <chen.fang@nxp.com> [ Aisheng: Kconfig & Makefile update for a clean base ] Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Diffstat (limited to 'include/video')
-rw-r--r--include/video/imx-lcdif.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/include/video/imx-lcdif.h b/include/video/imx-lcdif.h
new file mode 100644
index 000000000000..634a61e9e059
--- /dev/null
+++ b/include/video/imx-lcdif.h
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2018 NXP
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef __IMX_LCDIF_H__
+#define __IMX_LCDIF_H__
+
+struct lcdif_soc;
+struct videomode;
+
+struct lcdif_client_platformdata {
+ struct device_node *of_node;
+};
+
+int lcdif_vblank_irq_get(struct lcdif_soc *lcdif);
+void lcdif_vblank_irq_enable(struct lcdif_soc *lcdif);
+void lcdif_vblank_irq_disable(struct lcdif_soc *lcdif);
+void lcdif_vblank_irq_clear(struct lcdif_soc *lcdif);
+
+int lcdif_set_pix_fmt(struct lcdif_soc *lcdif, u32 format);
+void lcdif_set_fb_addr(struct lcdif_soc *lcdif, int id, u32 addr);
+void lcdif_set_mode(struct lcdif_soc *lcdif, struct videomode *vmode);
+void lcdif_enable_controller(struct lcdif_soc *lcdif);
+void lcdif_disable_controller(struct lcdif_soc *lcdif);
+void lcdif_dump_registers(struct lcdif_soc *lcdif);
+
+#endif