1 /* SPDX-License-Identifier: GPL-2.0-only OR BSD-3-Clause */ 2 /* Copyright (C) 2019--2020 Intel Corporation */ 3 4 #ifndef __CCS_LIMITS_H__ 5 #define __CCS_LIMITS_H__ 6 7 #include <linux/bits.h> 8 #include <linux/types.h> 9 10 struct ccs_limit { 11 u32 reg; 12 u16 size; 13 u16 flags; 14 const char *name; 15 }; 16 17 #define CCS_L_FL_SAME_REG BIT(0) 18 19 extern const struct ccs_limit ccs_limits[]; 20 21 #define CCS_L_FRAME_FORMAT_MODEL_TYPE 0 22 #define CCS_L_FRAME_FORMAT_MODEL_SUBTYPE 1 23 #define CCS_L_FRAME_FORMAT_DESCRIPTOR 2 24 #define CCS_L_FRAME_FORMAT_DESCRIPTOR_OFFSET(n) ((n) * 2) 25 #define CCS_L_FRAME_FORMAT_DESCRIPTOR_4 3 26 #define CCS_L_FRAME_FORMAT_DESCRIPTOR_4_OFFSET(n) ((n) * 4) 27 #define CCS_L_ANALOG_GAIN_CAPABILITY 4 28 #define CCS_L_ANALOG_GAIN_CODE_MIN 5 29 #define CCS_L_ANALOG_GAIN_CODE_MAX 6 30 #define CCS_L_ANALOG_GAIN_CODE_STEP 7 31 #define CCS_L_ANALOG_GAIN_TYPE 8 32 #define CCS_L_ANALOG_GAIN_M0 9 33 #define CCS_L_ANALOG_GAIN_C0 10 34 #define CCS_L_ANALOG_GAIN_M1 11 35 #define CCS_L_ANALOG_GAIN_C1 12 36 #define CCS_L_ANALOG_LINEAR_GAIN_MIN 13 37 #define CCS_L_ANALOG_LINEAR_GAIN_MAX 14 38 #define CCS_L_ANALOG_LINEAR_GAIN_STEP_SIZE 15 39 #define CCS_L_ANALOG_EXPONENTIAL_GAIN_MIN 16 40 #define CCS_L_ANALOG_EXPONENTIAL_GAIN_MAX 17 41 #define CCS_L_ANALOG_EXPONENTIAL_GAIN_STEP_SIZE 18 42 #define CCS_L_DATA_FORMAT_MODEL_TYPE 19 43 #define CCS_L_DATA_FORMAT_MODEL_SUBTYPE 20 44 #define CCS_L_DATA_FORMAT_DESCRIPTOR 21 45 #define CCS_L_DATA_FORMAT_DESCRIPTOR_OFFSET(n) ((n) * 2) 46 #define CCS_L_INTEGRATION_TIME_CAPABILITY 22 47 #define CCS_L_COARSE_INTEGRATION_TIME_MIN 23 48 #define CCS_L_COARSE_INTEGRATION_TIME_MAX_MARGIN 24 49 #define CCS_L_FINE_INTEGRATION_TIME_MIN 25 50 #define CCS_L_FINE_INTEGRATION_TIME_MAX_MARGIN 26 51 #define CCS_L_DIGITAL_GAIN_CAPABILITY 27 52 #define CCS_L_DIGITAL_GAIN_MIN 28 53 #define CCS_L_DIGITAL_GAIN_MAX 29 54 #define CCS_L_DIGITAL_GAIN_STEP_SIZE 30 55 #define CCS_L_PEDESTAL_CAPABILITY 31 56 #define CCS_L_ADC_CAPABILITY 32 57 #define CCS_L_ADC_BIT_DEPTH_CAPABILITY 33 58 #define CCS_L_MIN_EXT_CLK_FREQ_MHZ 34 59 #define CCS_L_MAX_EXT_CLK_FREQ_MHZ 35 60 #define CCS_L_MIN_PRE_PLL_CLK_DIV 36 61 #define CCS_L_MAX_PRE_PLL_CLK_DIV 37 62 #define CCS_L_MIN_PLL_IP_CLK_FREQ_MHZ 38 63 #define CCS_L_MAX_PLL_IP_CLK_FREQ_MHZ 39 64 #define CCS_L_MIN_PLL_MULTIPLIER 40 65 #define CCS_L_MAX_PLL_MULTIPLIER 41 66 #define CCS_L_MIN_PLL_OP_CLK_FREQ_MHZ 42 67 #define CCS_L_MAX_PLL_OP_CLK_FREQ_MHZ 43 68 #define CCS_L_MIN_VT_SYS_CLK_DIV 44 69 #define CCS_L_MAX_VT_SYS_CLK_DIV 45 70 #define CCS_L_MIN_VT_SYS_CLK_FREQ_MHZ 46 71 #define CCS_L_MAX_VT_SYS_CLK_FREQ_MHZ 47 72 #define CCS_L_MIN_VT_PIX_CLK_FREQ_MHZ 48 73 #define CCS_L_MAX_VT_PIX_CLK_FREQ_MHZ 49 74 #define CCS_L_MIN_VT_PIX_CLK_DIV 50 75 #define CCS_L_MAX_VT_PIX_CLK_DIV 51 76 #define CCS_L_CLOCK_CALCULATION 52 77 #define CCS_L_NUM_OF_VT_LANES 53 78 #define CCS_L_NUM_OF_OP_LANES 54 79 #define CCS_L_OP_BITS_PER_LANE 55 80 #define CCS_L_MIN_FRAME_LENGTH_LINES 56 81 #define CCS_L_MAX_FRAME_LENGTH_LINES 57 82 #define CCS_L_MIN_LINE_LENGTH_PCK 58 83 #define CCS_L_MAX_LINE_LENGTH_PCK 59 84 #define CCS_L_MIN_LINE_BLANKING_PCK 60 85 #define CCS_L_MIN_FRAME_BLANKING_LINES 61 86 #define CCS_L_MIN_LINE_LENGTH_PCK_STEP_SIZE 62 87 #define CCS_L_TIMING_MODE_CAPABILITY 63 88 #define CCS_L_FRAME_MARGIN_MAX_VALUE 64 89 #define CCS_L_FRAME_MARGIN_MIN_VALUE 65 90 #define CCS_L_GAIN_DELAY_TYPE 66 91 #define CCS_L_MIN_OP_SYS_CLK_DIV 67 92 #define CCS_L_MAX_OP_SYS_CLK_DIV 68 93 #define CCS_L_MIN_OP_SYS_CLK_FREQ_MHZ 69 94 #define CCS_L_MAX_OP_SYS_CLK_FREQ_MHZ 70 95 #define CCS_L_MIN_OP_PIX_CLK_DIV 71 96 #define CCS_L_MAX_OP_PIX_CLK_DIV 72 97 #define CCS_L_MIN_OP_PIX_CLK_FREQ_MHZ 73 98 #define CCS_L_MAX_OP_PIX_CLK_FREQ_MHZ 74 99 #define CCS_L_X_ADDR_MIN 75 100 #define CCS_L_Y_ADDR_MIN 76 101 #define CCS_L_X_ADDR_MAX 77 102 #define CCS_L_Y_ADDR_MAX 78 103 #define CCS_L_MIN_X_OUTPUT_SIZE 79 104 #define CCS_L_MIN_Y_OUTPUT_SIZE 80 105 #define CCS_L_MAX_X_OUTPUT_SIZE 81 106 #define CCS_L_MAX_Y_OUTPUT_SIZE 82 107 #define CCS_L_X_ADDR_START_DIV_CONSTANT 83 108 #define CCS_L_Y_ADDR_START_DIV_CONSTANT 84 109 #define CCS_L_X_ADDR_END_DIV_CONSTANT 85 110 #define CCS_L_Y_ADDR_END_DIV_CONSTANT 86 111 #define CCS_L_X_SIZE_DIV 87 112 #define CCS_L_Y_SIZE_DIV 88 113 #define CCS_L_X_OUTPUT_DIV 89 114 #define CCS_L_Y_OUTPUT_DIV 90 115 #define CCS_L_NON_FLEXIBLE_RESOLUTION_SUPPORT 91 116 #define CCS_L_MIN_OP_PRE_PLL_CLK_DIV 92 117 #define CCS_L_MAX_OP_PRE_PLL_CLK_DIV 93 118 #define CCS_L_MIN_OP_PLL_IP_CLK_FREQ_MHZ 94 119 #define CCS_L_MAX_OP_PLL_IP_CLK_FREQ_MHZ 95 120 #define CCS_L_MIN_OP_PLL_MULTIPLIER 96 121 #define CCS_L_MAX_OP_PLL_MULTIPLIER 97 122 #define CCS_L_MIN_OP_PLL_OP_CLK_FREQ_MHZ 98 123 #define CCS_L_MAX_OP_PLL_OP_CLK_FREQ_MHZ 99 124 #define CCS_L_CLOCK_TREE_PLL_CAPABILITY 100 125 #define CCS_L_CLOCK_CAPA_TYPE_CAPABILITY 101 126 #define CCS_L_MIN_EVEN_INC 102 127 #define CCS_L_MIN_ODD_INC 103 128 #define CCS_L_MAX_EVEN_INC 104 129 #define CCS_L_MAX_ODD_INC 105 130 #define CCS_L_AUX_SUBSAMP_CAPABILITY 106 131 #define CCS_L_AUX_SUBSAMP_MONO_CAPABILITY 107 132 #define CCS_L_MONOCHROME_CAPABILITY 108 133 #define CCS_L_PIXEL_READOUT_CAPABILITY 109 134 #define CCS_L_MIN_EVEN_INC_MONO 110 135 #define CCS_L_MAX_EVEN_INC_MONO 111 136 #define CCS_L_MIN_ODD_INC_MONO 112 137 #define CCS_L_MAX_ODD_INC_MONO 113 138 #define CCS_L_MIN_EVEN_INC_BC2 114 139 #define CCS_L_MAX_EVEN_INC_BC2 115 140 #define CCS_L_MIN_ODD_INC_BC2 116 141 #define CCS_L_MAX_ODD_INC_BC2 117 142 #define CCS_L_MIN_EVEN_INC_MONO_BC2 118 143 #define CCS_L_MAX_EVEN_INC_MONO_BC2 119 144 #define CCS_L_MIN_ODD_INC_MONO_BC2 120 145 #define CCS_L_MAX_ODD_INC_MONO_BC2 121 146 #define CCS_L_SCALING_CAPABILITY 122 147 #define CCS_L_SCALER_M_MIN 123 148 #define CCS_L_SCALER_M_MAX 124 149 #define CCS_L_SCALER_N_MIN 125 150 #define CCS_L_SCALER_N_MAX 126 151 #define CCS_L_DIGITAL_CROP_CAPABILITY 127 152 #define CCS_L_HDR_CAPABILITY_1 128 153 #define CCS_L_MIN_HDR_BIT_DEPTH 129 154 #define CCS_L_HDR_RESOLUTION_SUB_TYPES 130 155 #define CCS_L_HDR_RESOLUTION_SUB_TYPE 131 156 #define CCS_L_HDR_RESOLUTION_SUB_TYPE_OFFSET(n) (n) 157 #define CCS_L_HDR_CAPABILITY_2 132 158 #define CCS_L_MAX_HDR_BIT_DEPTH 133 159 #define CCS_L_USL_SUPPORT_CAPABILITY 134 160 #define CCS_L_USL_CLOCK_MODE_D_CAPABILITY 135 161 #define CCS_L_MIN_OP_SYS_CLK_DIV_REV 136 162 #define CCS_L_MAX_OP_SYS_CLK_DIV_REV 137 163 #define CCS_L_MIN_OP_PIX_CLK_DIV_REV 138 164 #define CCS_L_MAX_OP_PIX_CLK_DIV_REV 139 165 #define CCS_L_MIN_OP_SYS_CLK_FREQ_REV_MHZ 140 166 #define CCS_L_MAX_OP_SYS_CLK_FREQ_REV_MHZ 141 167 #define CCS_L_MIN_OP_PIX_CLK_FREQ_REV_MHZ 142 168 #define CCS_L_MAX_OP_PIX_CLK_FREQ_REV_MHZ 143 169 #define CCS_L_MAX_BITRATE_REV_D_MODE_MBPS 144 170 #define CCS_L_MAX_SYMRATE_REV_C_MODE_MSPS 145 171 #define CCS_L_COMPRESSION_CAPABILITY 146 172 #define CCS_L_TEST_MODE_CAPABILITY 147 173 #define CCS_L_PN9_DATA_FORMAT1 148 174 #define CCS_L_PN9_DATA_FORMAT2 149 175 #define CCS_L_PN9_DATA_FORMAT3 150 176 #define CCS_L_PN9_DATA_FORMAT4 151 177 #define CCS_L_PN9_MISC_CAPABILITY 152 178 #define CCS_L_TEST_PATTERN_CAPABILITY 153 179 #define CCS_L_PATTERN_SIZE_DIV_M1 154 180 #define CCS_L_FIFO_SUPPORT_CAPABILITY 155 181 #define CCS_L_PHY_CTRL_CAPABILITY 156 182 #define CCS_L_CSI_DPHY_LANE_MODE_CAPABILITY 157 183 #define CCS_L_CSI_SIGNALING_MODE_CAPABILITY 158 184 #define CCS_L_FAST_STANDBY_CAPABILITY 159 185 #define CCS_L_CSI_ADDRESS_CONTROL_CAPABILITY 160 186 #define CCS_L_DATA_TYPE_CAPABILITY 161 187 #define CCS_L_CSI_CPHY_LANE_MODE_CAPABILITY 162 188 #define CCS_L_EMB_DATA_CAPABILITY 163 189 #define CCS_L_MAX_PER_LANE_BITRATE_LANE_D_MODE_MBPS 164 190 #define CCS_L_MAX_PER_LANE_BITRATE_LANE_D_MODE_MBPS_OFFSET(n) ((n) * 4) 191 #define CCS_L_TEMP_SENSOR_CAPABILITY 165 192 #define CCS_L_MAX_PER_LANE_BITRATE_LANE_C_MODE_MBPS 166 193 #define CCS_L_MAX_PER_LANE_BITRATE_LANE_C_MODE_MBPS_OFFSET(n) ((n) * 4) 194 #define CCS_L_DPHY_EQUALIZATION_CAPABILITY 167 195 #define CCS_L_CPHY_EQUALIZATION_CAPABILITY 168 196 #define CCS_L_DPHY_PREAMBLE_CAPABILITY 169 197 #define CCS_L_DPHY_SSC_CAPABILITY 170 198 #define CCS_L_CPHY_CALIBRATION_CAPABILITY 171 199 #define CCS_L_DPHY_CALIBRATION_CAPABILITY 172 200 #define CCS_L_PHY_CTRL_CAPABILITY_2 173 201 #define CCS_L_LRTE_CPHY_CAPABILITY 174 202 #define CCS_L_LRTE_DPHY_CAPABILITY 175 203 #define CCS_L_ALPS_CAPABILITY_DPHY 176 204 #define CCS_L_ALPS_CAPABILITY_CPHY 177 205 #define CCS_L_SCRAMBLING_CAPABILITY 178 206 #define CCS_L_DPHY_MANUAL_CONSTANT 179 207 #define CCS_L_CPHY_MANUAL_CONSTANT 180 208 #define CCS_L_CSI2_INTERFACE_CAPABILITY_MISC 181 209 #define CCS_L_PHY_CTRL_CAPABILITY_3 182 210 #define CCS_L_DPHY_SF 183 211 #define CCS_L_CPHY_SF 184 212 #define CCS_L_DPHY_LIMITS_1 185 213 #define CCS_L_DPHY_LIMITS_2 186 214 #define CCS_L_DPHY_LIMITS_3 187 215 #define CCS_L_DPHY_LIMITS_4 188 216 #define CCS_L_DPHY_LIMITS_5 189 217 #define CCS_L_DPHY_LIMITS_6 190 218 #define CCS_L_CPHY_LIMITS_1 191 219 #define CCS_L_CPHY_LIMITS_2 192 220 #define CCS_L_CPHY_LIMITS_3 193 221 #define CCS_L_MIN_FRAME_LENGTH_LINES_BIN 194 222 #define CCS_L_MAX_FRAME_LENGTH_LINES_BIN 195 223 #define CCS_L_MIN_LINE_LENGTH_PCK_BIN 196 224 #define CCS_L_MAX_LINE_LENGTH_PCK_BIN 197 225 #define CCS_L_MIN_LINE_BLANKING_PCK_BIN 198 226 #define CCS_L_FINE_INTEGRATION_TIME_MIN_BIN 199 227 #define CCS_L_FINE_INTEGRATION_TIME_MAX_MARGIN_BIN 200 228 #define CCS_L_BINNING_CAPABILITY 201 229 #define CCS_L_BINNING_WEIGHTING_CAPABILITY 202 230 #define CCS_L_BINNING_SUB_TYPES 203 231 #define CCS_L_BINNING_SUB_TYPE 204 232 #define CCS_L_BINNING_SUB_TYPE_OFFSET(n) (n) 233 #define CCS_L_BINNING_WEIGHTING_MONO_CAPABILITY 205 234 #define CCS_L_BINNING_SUB_TYPES_MONO 206 235 #define CCS_L_BINNING_SUB_TYPE_MONO 207 236 #define CCS_L_BINNING_SUB_TYPE_MONO_OFFSET(n) (n) 237 #define CCS_L_DATA_TRANSFER_IF_CAPABILITY 208 238 #define CCS_L_SHADING_CORRECTION_CAPABILITY 209 239 #define CCS_L_GREEN_IMBALANCE_CAPABILITY 210 240 #define CCS_L_MODULE_SPECIFIC_CORRECTION_CAPABILITY 211 241 #define CCS_L_DEFECT_CORRECTION_CAPABILITY 212 242 #define CCS_L_DEFECT_CORRECTION_CAPABILITY_2 213 243 #define CCS_L_NF_CAPABILITY 214 244 #define CCS_L_OB_READOUT_CAPABILITY 215 245 #define CCS_L_COLOR_FEEDBACK_CAPABILITY 216 246 #define CCS_L_CFA_PATTERN_CAPABILITY 217 247 #define CCS_L_CFA_PATTERN_CONVERSION_CAPABILITY 218 248 #define CCS_L_FLASH_MODE_CAPABILITY 219 249 #define CCS_L_SA_STROBE_MODE_CAPABILITY 220 250 #define CCS_L_RESET_MAX_DELAY 221 251 #define CCS_L_RESET_MIN_TIME 222 252 #define CCS_L_PDAF_CAPABILITY_1 223 253 #define CCS_L_PDAF_CAPABILITY_2 224 254 #define CCS_L_BRACKETING_LUT_CAPABILITY_1 225 255 #define CCS_L_BRACKETING_LUT_CAPABILITY_2 226 256 #define CCS_L_BRACKETING_LUT_SIZE 227 257 #define CCS_L_LAST 228 258 259 #endif /* __CCS_LIMITS_H__ */ 260