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