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