at cba767175becadc5c4016cceb7bfdd2c7fe722f4 47 lines 1.1 kB view raw
1#ifndef MFD_TMIO_H 2#define MFD_TMIO_H 3 4#include <linux/fb.h> 5 6#define tmio_ioread8(addr) readb(addr) 7#define tmio_ioread16(addr) readw(addr) 8#define tmio_ioread16_rep(r, b, l) readsw(r, b, l) 9#define tmio_ioread32(addr) \ 10 (((u32) readw((addr))) | (((u32) readw((addr) + 2)) << 16)) 11 12#define tmio_iowrite8(val, addr) writeb((val), (addr)) 13#define tmio_iowrite16(val, addr) writew((val), (addr)) 14#define tmio_iowrite16_rep(r, b, l) writesw(r, b, l) 15#define tmio_iowrite32(val, addr) \ 16 do { \ 17 writew((val), (addr)); \ 18 writew((val) >> 16, (addr) + 2); \ 19 } while (0) 20 21/* 22 * data for the NAND controller 23 */ 24struct tmio_nand_data { 25 struct nand_bbt_descr *badblock_pattern; 26 struct mtd_partition *partition; 27 unsigned int num_partitions; 28}; 29 30#define FBIO_TMIO_ACC_WRITE 0x7C639300 31#define FBIO_TMIO_ACC_SYNC 0x7C639301 32 33struct tmio_fb_data { 34 int (*lcd_set_power)(struct platform_device *fb_dev, 35 bool on); 36 int (*lcd_mode)(struct platform_device *fb_dev, 37 const struct fb_videomode *mode); 38 int num_modes; 39 struct fb_videomode *modes; 40 41 /* in mm: size of screen */ 42 int height; 43 int width; 44}; 45 46 47#endif