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