• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * linux-5.4/drivers/media/platform/sunxi-vin/vin-mipi/dphy/dphy_reg.h
3  *
4  * Copyright (c) 2007-2017 Allwinnertech Co., Ltd.
5  *
6  * This software is licensed under the terms of the GNU General Public
7  * License version 2, as published by the Free Software Foundation, and
8  * may be copied, distributed, and modified under those terms.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  */
16 
17 
18 #ifndef __DPHY_REG_H__
19 #define __DPHY_REG_H__
20 
21 #include "dphy.h"
22 #define MAX_MIPI_DPHY 2
23 
24 extern int dphy_reg_map(unsigned int sel, unsigned long addr_base);
25 extern void dphy_ana_init(unsigned int sel);
26 extern void dphy_ana_exit(unsigned int sel);
27 extern void dphy_enable(unsigned int sel);
28 extern void dphy_disable(unsigned int sel);
29 extern void dphy_set_data_lane(unsigned int sel, unsigned char lane_num);
30 extern void dphy_rx_enable(unsigned int sel, unsigned char lane_num);
31 extern void dphy_rx_disable(unsigned int sel, unsigned char lane_num);
32 extern void dphy_rx_dbc_enable(unsigned int sel);
33 extern void dphy_rx_dbc_disable(unsigned int sel);
34 extern void dphy_rx_hs_clk_miss_cnt_enable(unsigned int sel);
35 extern void dphy_rx_hs_clk_miss_cnt_disable(unsigned int sel);
36 extern void dphy_rx_hs_sync_cnt_enable(unsigned int sel);
37 extern void dphy_rx_hs_sync_cnt_disable(unsigned int sel);
38 extern void dphy_rx_lp_to_cnt_enable(unsigned int sel);
39 extern void dphy_rx_lp_to_cnt_disable(unsigned int sel);
40 extern void dphy_rx_freq_cnt_enable(unsigned int sel);
41 extern void dphy_rx_freq_cnt_disable(unsigned int sel);
42 extern void dphy_rx_set_hs_clk_miss(unsigned int sel, unsigned char cnt);
43 extern void dphy_rx_set_hs_sync_to(unsigned int sel, unsigned char cnt);
44 extern void dphy_rx_set_lp_to(unsigned int sel, unsigned char cnt);
45 extern void dphy_rx_set_rx_dly(unsigned int sel, unsigned short cnt);
46 extern void dphy_rx_set_lprst_dly(unsigned int sel, unsigned char cnt);
47 extern void dphy_rx_set_lp_ulps_wp(unsigned int sel, unsigned int cnt);
48 extern void dphy_rx_set_entm_to_enrx_dly(unsigned int sel, unsigned char cnt);
49 extern void dphy_int_enable(unsigned int sel, enum dphy_int dphy_int);
50 extern void dphy_int_disable(unsigned int sel, enum dphy_int dphy_int);
51 extern int dphy_get_int_status(unsigned int sel, enum dphy_int dphy_int);
52 extern void dphy_clear_int_status(unsigned int sel, enum dphy_int dphy_int);
53 
54 extern unsigned char dphy_get_data_lane(unsigned int sel);
55 extern unsigned char dphy_rx_get_hs_clk_miss(unsigned int sel);
56 extern unsigned char dphy_rx_get_hs_sync_to(unsigned int sel);
57 extern unsigned char dphy_rx_get_lp_to(unsigned int sel);
58 extern unsigned short dphy_rx_get_rx_dly(unsigned int sel);
59 extern unsigned char dphy_rx_get_lprst_dly(unsigned int sel);
60 extern unsigned int dphy_rx_get_lp_ulps_wp(unsigned int sel);
61 extern unsigned char dphy_rx_get_entm_to_enrx_dly(unsigned int sel);
62 extern unsigned short dphy_rx_get_freq_cnt(unsigned int sel);
63 extern unsigned char dphy_get_hs_data(unsigned int sel, enum dphy_lane lane);
64 extern enum dphy_lane_state dphy_get_lane_state(unsigned int sel,
65 						enum dphy_lane lane);
66 
67 #endif
68