fbdev: add new TMIO framebuffer driver
[deliverable/linux.git] / include / linux / mfd / tmio.h
index 9438d8c9ac1c568b83f4a6ae12d05158a8142581..516d955ab8a1bb9e63120a3bb79c0f0d4e08e297 100644 (file)
@@ -1,6 +1,23 @@
 #ifndef MFD_TMIO_H
 #define MFD_TMIO_H
 
+#include <linux/fb.h>
+
+#define tmio_ioread8(addr) readb(addr)
+#define tmio_ioread16(addr) readw(addr)
+#define tmio_ioread16_rep(r, b, l) readsw(r, b, l)
+#define tmio_ioread32(addr) \
+       (((u32) readw((addr))) | (((u32) readw((addr) + 2)) << 16))
+
+#define tmio_iowrite8(val, addr) writeb((val), (addr))
+#define tmio_iowrite16(val, addr) writew((val), (addr))
+#define tmio_iowrite16_rep(r, b, l) writesw(r, b, l)
+#define tmio_iowrite32(val, addr) \
+       do { \
+       writew((val),       (addr)); \
+       writew((val) >> 16, (addr) + 2); \
+       } while (0)
+
 /*
  * data for the NAND controller
  */
@@ -10,8 +27,21 @@ struct tmio_nand_data {
        unsigned int            num_partitions;
 };
 
-#define TMIO_NAND_CONFIG       "tmio-nand-config"
-#define TMIO_NAND_CONTROL      "tmio-nand-control"
-#define TMIO_NAND_IRQ          "tmio-nand"
+#define FBIO_TMIO_ACC_WRITE    0x7C639300
+#define FBIO_TMIO_ACC_SYNC     0x7C639301
+
+struct tmio_fb_data {
+       int                     (*lcd_set_power)(struct platform_device *fb_dev,
+                                                               bool on);
+       int                     (*lcd_mode)(struct platform_device *fb_dev,
+                                       const struct fb_videomode *mode);
+       int                     num_modes;
+       struct fb_videomode     *modes;
+
+       /* in mm: size of screen */
+       int                     height;
+       int                     width;
+};
+
 
 #endif
This page took 0.025268 seconds and 5 git commands to generate.