aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/samsung_duallcd/s5p_dsim_lowlevel.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/samsung_duallcd/s5p_dsim_lowlevel.h')
-rw-r--r--drivers/video/samsung_duallcd/s5p_dsim_lowlevel.h76
1 files changed, 76 insertions, 0 deletions
diff --git a/drivers/video/samsung_duallcd/s5p_dsim_lowlevel.h b/drivers/video/samsung_duallcd/s5p_dsim_lowlevel.h
new file mode 100644
index 0000000..53f9a6f
--- /dev/null
+++ b/drivers/video/samsung_duallcd/s5p_dsim_lowlevel.h
@@ -0,0 +1,76 @@
+/* linux/drivers/video/samsung/s5p_dsim_lowlevel.h
+ *
+ * Header file for Samsung MIPI-DSIM lowlevel driver.
+ *
+ * Copyright (c) 2009 Samsung Electronics
+ * InKi Dae <inki.dae@samsung.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+#ifndef _S5P_DSIM_LOWLEVEL_H
+#define _S5P_DSIM_LOWLEVEL_H
+
+extern void s5p_dsim_func_reset(unsigned int dsim_base);
+extern void s5p_dsim_sw_reset(unsigned int dsim_base);
+extern void s5p_dsim_set_interrupt_mask(unsigned int dsim_base, unsigned int mode,
+ unsigned char mask);
+extern void s5p_dsim_set_data_lane_number(unsigned int dsim_base, unsigned char count);
+extern void s5p_dsim_init_fifo_pointer(unsigned int dsim_base, unsigned char cfg);
+extern void s5p_dsim_set_phy_tunning(unsigned int dsim_base, unsigned int value);
+extern void s5p_dsim_set_phy_tunning(unsigned int dsim_base, unsigned int value);
+extern void s5p_dsim_set_main_disp_resol(unsigned int dsim_base, unsigned short vert_resol,
+ unsigned short hori_resol);
+extern void s5p_dsim_set_main_disp_vporch(unsigned int dsim_base, unsigned short cmd_allow,
+ unsigned short vfront, unsigned short vback);
+extern void s5p_dsim_set_main_disp_hporch(unsigned int dsim_base, unsigned short front,
+ unsigned short back);
+extern void s5p_dsim_set_main_disp_sync_area(unsigned int dsim_base, unsigned short vert,
+ unsigned short hori);
+extern void s5p_dsim_set_sub_disp_resol(unsigned int dsim_base, unsigned short vert,
+ unsigned short hori);
+extern void s5p_dsim_init_config(unsigned int dsim_base, struct dsim_lcd_config *main_lcd_info,
+ struct dsim_lcd_config *sub_lcd_info, struct dsim_config *dsim_info);
+extern void s5p_dsim_display_config(unsigned int dsim_base,
+ struct dsim_lcd_config *main_lcd, struct dsim_lcd_config *sub_lcd);
+extern void s5p_dsim_set_data_lane_number(unsigned int dsim_base, unsigned char count);
+extern void s5p_dsim_enable_lane(unsigned int dsim_base, unsigned char lane, unsigned char enable);
+extern void s5p_dsim_enable_afc(unsigned int dsim_base, unsigned char enable,
+ unsigned char afc_code);
+extern void s5p_dsim_enable_pll_bypass(unsigned int dsim_base, unsigned char enable);
+extern void s5p_dsim_set_pll_pms(unsigned int dsim_base, unsigned char p,
+ unsigned short m, unsigned short s);
+extern void s5p_dsim_pll_freq_band(unsigned int dsim_base, unsigned char freq_band);
+extern void s5p_dsim_pll_freq(unsigned int dsim_base, unsigned char pre_divider,
+ unsigned short main_divider, unsigned char scaler);
+extern void s5p_dsim_pll_stable_time(unsigned int dsim_base, unsigned int lock_time);
+extern void s5p_dsim_enable_pll(unsigned int dsim_base, unsigned char enable);
+extern void s5p_dsim_set_byte_clock_src(unsigned int dsim_base, unsigned char src);
+extern void s5p_dsim_enable_byte_clock(unsigned int dsim_base, unsigned char enable);
+extern void s5p_dsim_set_esc_clk_prs(unsigned int dsim_base, unsigned char enable,
+ unsigned short prs_val);
+extern void s5p_dsim_enable_esc_clk_on_lane(unsigned int dsim_base,
+ unsigned char lane_sel, unsigned char enable);
+extern void s5p_dsim_force_dphy_stop_state(unsigned int dsim_base, unsigned char enable);
+extern unsigned char s5p_dsim_is_lane_state(unsigned int dsim_base, unsigned char lane);
+extern void s5p_dsim_set_stop_state_counter(unsigned int dsim_base, unsigned short cnt_val);
+extern void s5p_dsim_set_bta_timeout(unsigned int dsim_base, unsigned char timeout);
+extern void s5p_dsim_set_lpdr_timeout(unsigned int dsim_base, unsigned short timeout);
+extern void s5p_dsim_set_data_mode(unsigned int dsim_base, unsigned char data,
+ unsigned char state);
+extern void s5p_dsim_enable_hs_clock(unsigned int dsim_base, unsigned char enable);
+extern void s5p_dsim_toggle_hs_clock(unsigned int dsim_base);
+extern void s5p_dsim_dp_dn_swap(unsigned int dsim_base, unsigned char swap_en);
+extern void s5p_dsim_hs_zero_ctrl(unsigned int dsim_base, unsigned char hs_zero);
+extern void s5p_dsim_prep_ctrl(unsigned int dsim_base, unsigned char prep);
+extern void s5p_dsim_clear_interrupt(unsigned int dsim_base, unsigned int int_src);
+extern unsigned int s5p_dsim_is_interrupt_status(unsigned int dsim_base);
+extern unsigned char s5p_dsim_is_pll_stable(unsigned int dsim_base);
+extern unsigned int s5p_dsim_get_fifo_state(unsigned int dsim_base);
+extern void s5p_dsim_wr_tx_header(unsigned int dsim_base,
+ unsigned char di, unsigned char data0, unsigned char data1);
+extern void s5p_dsim_wr_tx_data(unsigned int dsim_base, unsigned int tx_data);
+extern int s5p_dsim_rd_rx_data(unsigned int dsim_base);
+#endif /* _S5P_DSIM_LOWLEVEL_H */