• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * linux-5.4/drivers/media/platform/sunxi-vin/vin-mipi/protocol/protocol_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 __PROTOCOL_REG__H__
19 #define __PROTOCOL_REG__H__
20 
21 #include "protocol.h"
22 #define MAX_MIPI_PTL  2
23 
24 extern int ptcl_reg_map(unsigned int sel, unsigned long addr_base);
25 extern void ptcl_enable(unsigned int sel);
26 extern void ptcl_disable(unsigned int sel);
27 extern void ptcl_set_data_lane(unsigned int sel, unsigned char lane_num);
28 extern void ptcl_set_pl_bit_order(unsigned int sel, enum bit_order pl_bit_ord);
29 extern void ptcl_set_ph_bit_order(unsigned int sel, enum bit_order ph_bit_ord);
30 extern void ptcl_set_ph_byte_order(unsigned int sel,
31 				   enum byte_order ph_byte_order);
32 extern void ptcl_set_total_ch(unsigned int sel, unsigned char ch_num);
33 extern void ptcl_set_vc(unsigned int sel, unsigned char ch, unsigned char vc);
34 extern void ptcl_set_dt(unsigned int sel, unsigned char ch, enum pkt_fmt dt);
35 extern void ptcl_set_src_type(unsigned int sel, unsigned char ch,
36 			      enum source_type src_type);
37 extern void ptcl_set_line_sync(unsigned int sel, unsigned char ch,
38 			       enum line_sync ls_mode);
39 extern void ptcl_int_enable(unsigned int sel, unsigned char ch,
40 			    enum protocol_int int_flag);
41 extern void ptcl_int_disable(unsigned int sel, unsigned char ch,
42 			     enum protocol_int int_flag);
43 extern void ptcl_clear_int_status(unsigned int sel, unsigned char ch,
44 				  enum protocol_int int_flag);
45 extern unsigned char ptcl_get_data_lane(unsigned int sel);
46 extern enum bit_order ptcl_get_pl_bit_order(unsigned int sel);
47 extern enum bit_order ptcl_get_ph_bit_order(unsigned int sel);
48 extern enum byte_order ptcl_get_ph_byte_order(unsigned int sel);
49 extern unsigned char ptcl_get_total_ch(unsigned int sel);
50 extern unsigned char ptcl_get_vc(unsigned int sel, unsigned char ch);
51 extern enum pkt_fmt ptcl_get_dt(unsigned int sel, unsigned char ch);
52 extern enum source_type ptcl_get_src_type(unsigned int sel, unsigned char ch);
53 extern enum line_sync ptcl_get_line_sync(unsigned int sel, unsigned char ch);
54 extern unsigned char ptcl_get_int_status(unsigned int sel, unsigned char ch,
55 					 enum protocol_int int_flag);
56 extern void bsp_data_formats_enable(unsigned int sel, unsigned char type);
57 extern void bsp_data_formats_disable(unsigned int sel, unsigned char type);
58 
59 #endif
60