uboot/drivers/video/exynos/exynos_mipi_dsi_lowlevel.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0+ */
   2/*
   3 * Copyright (C) 2012 Samsung Electronics
   4 *
   5 * Author: InKi Dae <inki.dae@samsung.com>
   6 * Author: Donghwa Lee <dh09.lee@samsung.com>
   7 */
   8
   9#ifndef _EXYNOS_MIPI_DSI_LOWLEVEL_H
  10#define _EXYNOS_MIPI_DSI_LOWLEVEL_H
  11
  12void exynos_mipi_dsi_register(struct mipi_dsim_device *dsim);
  13void exynos_mipi_dsi_func_reset(struct mipi_dsim_device *dsim);
  14void exynos_mipi_dsi_sw_reset(struct mipi_dsim_device *dsim);
  15void exynos_mipi_dsi_sw_release(struct mipi_dsim_device *dsim);
  16void exynos_mipi_dsi_set_interrupt_mask(struct mipi_dsim_device *dsim,
  17        unsigned int mode, unsigned int mask);
  18void exynos_mipi_dsi_set_data_lane_number(struct mipi_dsim_device *dsim,
  19                                        unsigned int count);
  20void exynos_mipi_dsi_init_fifo_pointer(struct mipi_dsim_device *dsim,
  21                                        unsigned int cfg);
  22void exynos_mipi_dsi_set_phy_tunning(struct mipi_dsim_device *dsim,
  23                                unsigned int value);
  24void exynos_mipi_dsi_set_phy_tunning(struct mipi_dsim_device *dsim,
  25                                unsigned int value);
  26void exynos_mipi_dsi_set_main_disp_resol(struct mipi_dsim_device *dsim,
  27                unsigned int width_resol, unsigned int height_resol);
  28void exynos_mipi_dsi_set_main_disp_vporch(struct mipi_dsim_device *dsim,
  29        unsigned int cmd_allow, unsigned int vfront, unsigned int vback);
  30void exynos_mipi_dsi_set_main_disp_hporch(struct mipi_dsim_device *dsim,
  31                        unsigned int front, unsigned int back);
  32void exynos_mipi_dsi_set_main_disp_sync_area(struct mipi_dsim_device *dsim,
  33                                unsigned int vert, unsigned int hori);
  34void exynos_mipi_dsi_set_sub_disp_resol(struct mipi_dsim_device *dsim,
  35                                unsigned int vert, unsigned int hori);
  36void exynos_mipi_dsi_init_config(struct mipi_dsim_device *dsim);
  37void exynos_mipi_dsi_display_config(struct mipi_dsim_device *dsim,
  38                                struct mipi_dsim_config *dsim_config);
  39void exynos_mipi_dsi_set_data_lane_number(struct mipi_dsim_device *dsim,
  40                                unsigned int count);
  41void exynos_mipi_dsi_enable_lane(struct mipi_dsim_device *dsim,
  42                        unsigned int lane, unsigned int enable);
  43void exynos_mipi_dsi_enable_afc(struct mipi_dsim_device *dsim,
  44                        unsigned int enable, unsigned int afc_code);
  45void exynos_mipi_dsi_enable_pll_bypass(struct mipi_dsim_device *dsim,
  46                                unsigned int enable);
  47void exynos_mipi_dsi_pll_freq_band(struct mipi_dsim_device *dsim,
  48                                unsigned int freq_band);
  49void exynos_mipi_dsi_pll_freq(struct mipi_dsim_device *dsim,
  50                        unsigned int pre_divider, unsigned int main_divider,
  51                        unsigned int scaler);
  52void exynos_mipi_dsi_pll_stable_time(struct mipi_dsim_device *dsim,
  53                        unsigned int lock_time);
  54void exynos_mipi_dsi_enable_pll(struct mipi_dsim_device *dsim,
  55                                        unsigned int enable);
  56void exynos_mipi_dsi_set_byte_clock_src(struct mipi_dsim_device *dsim,
  57                                        unsigned int src);
  58void exynos_mipi_dsi_enable_byte_clock(struct mipi_dsim_device *dsim,
  59                                        unsigned int enable);
  60void exynos_mipi_dsi_set_esc_clk_prs(struct mipi_dsim_device *dsim,
  61                                unsigned int enable, unsigned int prs_val);
  62void exynos_mipi_dsi_enable_esc_clk_on_lane(struct mipi_dsim_device *dsim,
  63                                unsigned int lane_sel, unsigned int enable);
  64void exynos_mipi_dsi_force_dphy_stop_state(struct mipi_dsim_device *dsim,
  65                                unsigned int enable);
  66unsigned int exynos_mipi_dsi_is_lane_state(struct mipi_dsim_device *dsim);
  67void exynos_mipi_dsi_set_stop_state_counter(struct mipi_dsim_device *dsim,
  68                                unsigned int cnt_val);
  69void exynos_mipi_dsi_set_bta_timeout(struct mipi_dsim_device *dsim,
  70                                unsigned int timeout);
  71void exynos_mipi_dsi_set_lpdr_timeout(struct mipi_dsim_device *dsim,
  72                                unsigned int timeout);
  73void exynos_mipi_dsi_set_lcdc_transfer_mode(struct mipi_dsim_device *dsim,
  74                                        unsigned int lp);
  75void exynos_mipi_dsi_set_cpu_transfer_mode(struct mipi_dsim_device *dsim,
  76                                        unsigned int lp);
  77void exynos_mipi_dsi_enable_hs_clock(struct mipi_dsim_device *dsim,
  78                                unsigned int enable);
  79void exynos_mipi_dsi_dp_dn_swap(struct mipi_dsim_device *dsim,
  80                                unsigned int swap_en);
  81void exynos_mipi_dsi_hs_zero_ctrl(struct mipi_dsim_device *dsim,
  82                                unsigned int hs_zero);
  83void exynos_mipi_dsi_prep_ctrl(struct mipi_dsim_device *dsim,
  84                                unsigned int prep);
  85void exynos_mipi_dsi_clear_interrupt(struct mipi_dsim_device *dsim);
  86void exynos_mipi_dsi_clear_all_interrupt(struct mipi_dsim_device *dsim);
  87unsigned int exynos_mipi_dsi_is_pll_stable(struct mipi_dsim_device *dsim);
  88unsigned int exynos_mipi_dsi_get_fifo_state(struct mipi_dsim_device *dsim);
  89unsigned int _exynos_mipi_dsi_get_frame_done_status(struct mipi_dsim_device
  90                                                *dsim);
  91void _exynos_mipi_dsi_clear_frame_done(struct mipi_dsim_device *dsim);
  92void exynos_mipi_dsi_wr_tx_header(struct mipi_dsim_device *dsim,
  93                unsigned int di, const unsigned char data0, const unsigned char data1);
  94void exynos_mipi_dsi_wr_tx_data(struct mipi_dsim_device *dsim,
  95                unsigned int tx_data);
  96
  97#endif /* _EXYNOS_MIPI_DSI_LOWLEVEL_H */
  98