diff options
Diffstat (limited to 'drivers/video/samsung/s5p-dsim.h')
-rw-r--r-- | drivers/video/samsung/s5p-dsim.h | 44 |
1 files changed, 41 insertions, 3 deletions
diff --git a/drivers/video/samsung/s5p-dsim.h b/drivers/video/samsung/s5p-dsim.h index 77870a0..baf8f66 100644 --- a/drivers/video/samsung/s5p-dsim.h +++ b/drivers/video/samsung/s5p-dsim.h @@ -34,9 +34,6 @@ struct mipi_lcd_driver { s32 (*init)(struct device *dev); void (*display_on)(struct device *dev); - s32 (*set_link)(void *pd, u32 dsim_base, - u8 (*cmd_write)(u32 dsim_base, u32 data0, u32 data1, u32 data2), - int (*cmd_read)(u32 reg_base, u8 addr, u16 count, u8 *buf)); s32 (*probe)(struct device *dev); s32 (*remove)(struct device *dev); void (*shutdown)(struct device *dev); @@ -44,6 +41,47 @@ struct mipi_lcd_driver { s32 (*resume)(struct device *dev); }; +struct dsim_ops { + u8 (*cmd_write)(void *ptr, u32 data0, u32 data1, u32 data2); + int (*cmd_read)(void *ptr, u8 addr, u16 count, u8 *buf); + void (*suspend)(void); + void (*resume)(void); +}; + +/* Indicates the state of the device */ +struct dsim_global { + struct device *dev; + struct device panel; + struct clk *clock; + struct s5p_platform_dsim *pd; + struct dsim_config *dsim_info; + struct dsim_lcd_config *dsim_lcd_info; + /* lcd panel data. */ + struct s3cfb_lcd *lcd_panel_info; + /* platform and machine specific data for lcd panel driver. */ + struct mipi_ddi_platform_data *mipi_ddi_pd; + /* lcd panel driver based on MIPI-DSI. */ + struct mipi_lcd_driver *mipi_drv; + + unsigned int irq; + unsigned int te_irq; + unsigned int reg_base; + unsigned char state; + unsigned int data_lane; + enum dsim_byte_clk_src e_clk_src; + unsigned long hs_clk; + unsigned long byte_clk; + unsigned long escape_clk; + unsigned char freq_band; + char header_fifo_index[DSIM_HEADER_FIFO_SZ]; + + struct delayed_work dsim_work; + struct delayed_work check_hs_toggle_work; + unsigned int dsim_toggle_per_frame_count; + + struct dsim_ops *ops; +}; + int s5p_dsim_register_lcd_driver(struct mipi_lcd_driver *lcd_drv); #endif /* _S5P_DSIM_LOWLEVEL_H */ |