38 lines
998 B
C
38 lines
998 B
C
|
|
#include <fb.h>
|
|
#include <video/atmel_lcdc.h>
|
|
|
|
struct atmel_lcdfb_info;
|
|
|
|
struct atmel_lcdfb_devdata {
|
|
void (*start)(struct atmel_lcdfb_info *sinfo);
|
|
void (*stop)(struct atmel_lcdfb_info *sinfo, u32 flags);
|
|
void (*update_dma)(struct fb_info *info);
|
|
void (*setup_core)(struct fb_info *info);
|
|
void (*init_contrast)(struct atmel_lcdfb_info *sinfo);
|
|
void (*limit_screeninfo)(struct fb_videomode *mode);
|
|
int dma_desc_size;
|
|
};
|
|
|
|
struct atmel_lcdfb_info {
|
|
struct fb_info info;
|
|
void __iomem *mmio;
|
|
struct device_d *device;
|
|
|
|
unsigned int guard_time;
|
|
unsigned int smem_len;
|
|
struct clk *bus_clk;
|
|
struct clk *lcdc_clk;
|
|
|
|
struct atmel_lcdfb_platform_data *pdata;
|
|
struct atmel_lcdfb_devdata *dev_data;
|
|
void *dma_desc;
|
|
};
|
|
|
|
#define lcdc_readl(sinfo, reg) __raw_readl((sinfo)->mmio+(reg))
|
|
#define lcdc_writel(sinfo, reg, val) __raw_writel((val), (sinfo)->mmio+(reg))
|
|
|
|
#define ATMEL_LCDC_STOP_NOWAIT (1 << 0)
|
|
|
|
int atmel_lcdc_register(struct device_d *dev, struct atmel_lcdfb_devdata *data);
|