summaryrefslogtreecommitdiffstats
path: root/drivers/video/mb862xx/mb862xxfb.h
diff options
context:
space:
mode:
authorAnatolij Gustschin2011-05-13 13:31:37 +0200
committerAnatolij Gustschin2011-05-24 16:28:52 +0200
commitf64d8a5fdec35ed36f76130517a5580974a324a4 (patch)
tree97e278a48d00c6c0d7feeb038b9d89fecf480a9f /drivers/video/mb862xx/mb862xxfb.h
parentvideo: mb862xx: add support for controller's I2C bus adapter (diff)
downloadkernel-qcow2-linux-f64d8a5fdec35ed36f76130517a5580974a324a4.tar.gz
kernel-qcow2-linux-f64d8a5fdec35ed36f76130517a5580974a324a4.tar.xz
kernel-qcow2-linux-f64d8a5fdec35ed36f76130517a5580974a324a4.zip
video: mb862xxfb: add support for L1 displaying
Allow displaying L1 video data on top of the primary L0 layer. The L1 layer position and dimensions can be configured and the layer enabled/disabled by using the appropriate L1 controls added by this patch. Signed-off-by: Anatolij Gustschin <agust@denx.de>
Diffstat (limited to 'drivers/video/mb862xx/mb862xxfb.h')
-rw-r--r--drivers/video/mb862xx/mb862xxfb.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/drivers/video/mb862xx/mb862xxfb.h b/drivers/video/mb862xx/mb862xxfb.h
index d5dd7d9ec0cd..8550630c1e01 100644
--- a/drivers/video/mb862xx/mb862xxfb.h
+++ b/drivers/video/mb862xx/mb862xxfb.h
@@ -1,6 +1,26 @@
#ifndef __MB862XX_H__
#define __MB862XX_H__
+struct mb862xx_l1_cfg {
+ unsigned short sx;
+ unsigned short sy;
+ unsigned short sw;
+ unsigned short sh;
+ unsigned short dx;
+ unsigned short dy;
+ unsigned short dw;
+ unsigned short dh;
+ int mirror;
+};
+
+#define MB862XX_BASE 'M'
+#define MB862XX_L1_GET_CFG _IOR(MB862XX_BASE, 0, struct mb862xx_l1_cfg*)
+#define MB862XX_L1_SET_CFG _IOW(MB862XX_BASE, 1, struct mb862xx_l1_cfg*)
+#define MB862XX_L1_ENABLE _IOW(MB862XX_BASE, 2, int)
+#define MB862XX_L1_CAP_CTL _IOW(MB862XX_BASE, 3, int)
+
+#ifdef __KERNEL__
+
#define PCI_VENDOR_ID_FUJITSU_LIMITED 0x10cf
#define PCI_DEVICE_ID_FUJITSU_CORALP 0x2019
#define PCI_DEVICE_ID_FUJITSU_CORALPA 0x201e
@@ -38,6 +58,8 @@ struct mb862xxfb_par {
void __iomem *mmio_base; /* remapped registers */
size_t mapped_vram; /* length of remapped vram */
size_t mmio_len; /* length of register region */
+ unsigned long cap_buf; /* capture buffers offset */
+ size_t cap_len; /* length of capture buffers */
void __iomem *host; /* relocatable reg. bases */
void __iomem *i2c;
@@ -60,6 +82,9 @@ struct mb862xxfb_par {
struct i2c_adapter *adap; /* GDC I2C bus adapter */
int i2c_rs;
+ struct mb862xx_l1_cfg l1_cfg;
+ int l1_stride;
+
u32 pseudo_palette[16];
};
@@ -91,4 +116,6 @@ static inline void mb862xx_i2c_exit(struct mb862xxfb_par *par) { }
#define pack(a, b) (((a) << 16) | (b))
+#endif /* __KERNEL__ */
+
#endif