CCS_LIM
if (CCS_LIM(sensor, SHADING_CORRECTION_CAPABILITY) &
if (CCS_LIM(sensor, SHADING_CORRECTION_CAPABILITY) &
if (CCS_LIM(sensor, DIGITAL_GAIN_CAPABILITY) ==
CCS_LIM(sensor, DIGITAL_GAIN_CAPABILITY) ==
CCS_LIM(sensor, DIGITAL_GAIN_MIN),
CCS_LIM(sensor, DIGITAL_GAIN_MAX),
max(CCS_LIM(sensor, DIGITAL_GAIN_STEP_SIZE),
type = CCS_LIM(sensor, DATA_FORMAT_MODEL_TYPE);
pll->scale_m = CCS_LIM(sensor, SCALER_N_MIN);
min_fll = CCS_LIM(sensor, MIN_FRAME_LENGTH_LINES_BIN);
max_fll = CCS_LIM(sensor, MAX_FRAME_LENGTH_LINES_BIN);
min_llp = CCS_LIM(sensor, MIN_LINE_LENGTH_PCK_BIN);
max_llp = CCS_LIM(sensor, MAX_LINE_LENGTH_PCK_BIN);
min_lbp = CCS_LIM(sensor, MIN_LINE_BLANKING_PCK_BIN);
min_fll = CCS_LIM(sensor, MIN_FRAME_LENGTH_LINES);
max_fll = CCS_LIM(sensor, MAX_FRAME_LENGTH_LINES);
min_llp = CCS_LIM(sensor, MIN_LINE_LENGTH_PCK);
max_llp = CCS_LIM(sensor, MAX_LINE_LENGTH_PCK);
min_lbp = CCS_LIM(sensor, MIN_LINE_BLANKING_PCK);
CCS_LIM(sensor, MIN_FRAME_BLANKING_LINES),
if (CCS_LIM(sensor, DATA_TRANSFER_IF_CAPABILITY) &
if (CCS_LIM(sensor, PHY_CTRL_CAPABILITY) &
} else if (CCS_LIM(sensor, PHY_CTRL_CAPABILITY) &
if (CCS_LIM(sensor, DIGITAL_CROP_CAPABILITY)
if (CCS_LIM(sensor, SCALING_CAPABILITY)
if (CCS_LIM(sensor, FLASH_MODE_CAPABILITY) &
if (!(CCS_LIM(sensor, PHY_CTRL_CAPABILITY_2) &
if (!(CCS_LIM(sensor, PHY_CTRL_CAPABILITY_2) &
CCS_LIM(sensor, MIN_X_OUTPUT_SIZE),
CCS_LIM(sensor, MAX_X_OUTPUT_SIZE));
CCS_LIM(sensor, MIN_Y_OUTPUT_SIZE),
CCS_LIM(sensor, MAX_Y_OUTPUT_SIZE));
if (w < CCS_LIM(sensor, MIN_X_OUTPUT_SIZE))
if (CCS_LIM(sensor, SCALER_N_MIN) < 16)
u32 scale_m = CCS_LIM(sensor, SCALER_N_MIN);
a = sink_crop->width * CCS_LIM(sensor, SCALER_N_MIN) / sel->r.width;
b = sink_crop->height * CCS_LIM(sensor, SCALER_N_MIN) / sel->r.height;
* CCS_LIM(sensor, SCALER_N_MIN)
/ (CCS_LIM(sensor, MIN_X_OUTPUT_SIZE) ?: 1);
a = clamp(a, CCS_LIM(sensor, SCALER_M_MIN),
CCS_LIM(sensor, SCALER_M_MAX));
b = clamp(b, CCS_LIM(sensor, SCALER_M_MIN),
CCS_LIM(sensor, SCALER_M_MAX));
max_m = clamp(max_m, CCS_LIM(sensor, SCALER_M_MIN),
CCS_LIM(sensor, SCALER_M_MAX));
* CCS_LIM(sensor, SCALER_N_MIN),
if (CCS_LIM(sensor, SCALING_CAPABILITY)
* CCS_LIM(sensor, SCALER_N_MIN),
* CCS_LIM(sensor, SCALER_N_MIN),
* CCS_LIM(sensor, SCALER_N_MIN)) & ~1;
* CCS_LIM(sensor, SCALER_N_MIN)) & ~1;
CCS_LIM(sensor, DIGITAL_CROP_CAPABILITY)
if (ssd == sensor->scaler && CCS_LIM(sensor, SCALING_CAPABILITY)
r->width = CCS_LIM(ssd->sensor, X_ADDR_MAX) + 1;
r->height = CCS_LIM(ssd->sensor, Y_ADDR_MAX) + 1;
sel->r.width = max_t(unsigned int, CCS_LIM(sensor, MIN_X_OUTPUT_SIZE),
sel->r.height = max_t(unsigned int, CCS_LIM(sensor, MIN_Y_OUTPUT_SIZE),
fmt_model_type = CCS_LIM(sensor, FRAME_FORMAT_MODEL_TYPE);
fmt_model_subtype = CCS_LIM(sensor, FRAME_FORMAT_MODEL_SUBTYPE);
if (CCS_LIM(sensor, BINNING_CAPABILITY)) {
min_t(u8, CCS_LIM(sensor, BINNING_SUB_TYPES),
CCS_LIM(sensor, DATA_TRANSFER_IF_CAPABILITY) &
if (!CCS_LIM(sensor, MIN_OP_SYS_CLK_DIV) ||
!CCS_LIM(sensor, MAX_OP_SYS_CLK_DIV) ||
!CCS_LIM(sensor, MIN_OP_PIX_CLK_DIV) ||
!CCS_LIM(sensor, MAX_OP_PIX_CLK_DIV)) {
} else if (CCS_LIM(sensor, SCALING_CAPABILITY)
CCS_LIM(sensor, DIGITAL_CROP_CAPABILITY)
if (CCS_LIM(sensor, CLOCK_CALCULATION) &
if (CCS_LIM(sensor, CLOCK_CALCULATION) &
CCS_LIM(sensor, NUM_OF_VT_LANES) + 1;
CCS_LIM(sensor, NUM_OF_OP_LANES) + 1;
if (CCS_LIM(sensor, CLOCK_TREE_PLL_CAPABILITY) &
if (CCS_LIM(sensor, CLOCK_TREE_PLL_CAPABILITY) &
if (CCS_LIM(sensor, FIFO_SUPPORT_CAPABILITY) &
if (CCS_LIM(sensor, FIFO_SUPPORT_CAPABILITY) &
if (CCS_LIM(sensor, CLOCK_TREE_PLL_CAPABILITY) &
if (CCS_LIM(sensor, CLOCK_TREE_PLL_CAPABILITY) &
if (CCS_LIM(sensor, CLOCK_CALCULATION) &
if (CCS_LIM(sensor, CLOCK_CALCULATION) &
sensor->pll.op_bits_per_lane = CCS_LIM(sensor, OP_BITS_PER_LANE);
sensor->pll.scale_n = CCS_LIM(sensor, SCALER_N_MIN);
if (!(CCS_LIM(sensor, PHY_CTRL_CAPABILITY) &
.min_pre_pll_clk_div = CCS_LIM(sensor, MIN_PRE_PLL_CLK_DIV),
.max_pre_pll_clk_div = CCS_LIM(sensor, MAX_PRE_PLL_CLK_DIV),
.min_pll_ip_clk_freq_hz = CCS_LIM(sensor, MIN_PLL_IP_CLK_FREQ_MHZ),
.max_pll_ip_clk_freq_hz = CCS_LIM(sensor, MAX_PLL_IP_CLK_FREQ_MHZ),
.min_pll_multiplier = CCS_LIM(sensor, MIN_PLL_MULTIPLIER),
.max_pll_multiplier = CCS_LIM(sensor, MAX_PLL_MULTIPLIER),
.min_pll_op_clk_freq_hz = CCS_LIM(sensor, MIN_PLL_OP_CLK_FREQ_MHZ),
.max_pll_op_clk_freq_hz = CCS_LIM(sensor, MAX_PLL_OP_CLK_FREQ_MHZ),
.min_pre_pll_clk_div = CCS_LIM(sensor, MIN_OP_PRE_PLL_CLK_DIV),
.max_pre_pll_clk_div = CCS_LIM(sensor, MAX_OP_PRE_PLL_CLK_DIV),
.min_pll_ip_clk_freq_hz = CCS_LIM(sensor, MIN_OP_PLL_IP_CLK_FREQ_MHZ),
.max_pll_ip_clk_freq_hz = CCS_LIM(sensor, MAX_OP_PLL_IP_CLK_FREQ_MHZ),
.min_pll_multiplier = CCS_LIM(sensor, MIN_OP_PLL_MULTIPLIER),
.max_pll_multiplier = CCS_LIM(sensor, MAX_OP_PLL_MULTIPLIER),
.min_pll_op_clk_freq_hz = CCS_LIM(sensor, MIN_OP_PLL_OP_CLK_FREQ_MHZ),
.max_pll_op_clk_freq_hz = CCS_LIM(sensor, MAX_OP_PLL_OP_CLK_FREQ_MHZ),
.min_sys_clk_div = CCS_LIM(sensor, MIN_OP_SYS_CLK_DIV),
.max_sys_clk_div = CCS_LIM(sensor, MAX_OP_SYS_CLK_DIV),
.min_pix_clk_div = CCS_LIM(sensor, MIN_OP_PIX_CLK_DIV),
.max_pix_clk_div = CCS_LIM(sensor, MAX_OP_PIX_CLK_DIV),
.min_sys_clk_freq_hz = CCS_LIM(sensor, MIN_OP_SYS_CLK_FREQ_MHZ),
.max_sys_clk_freq_hz = CCS_LIM(sensor, MAX_OP_SYS_CLK_FREQ_MHZ),
.min_pix_clk_freq_hz = CCS_LIM(sensor, MIN_OP_PIX_CLK_FREQ_MHZ),
.max_pix_clk_freq_hz = CCS_LIM(sensor, MAX_OP_PIX_CLK_FREQ_MHZ),
.min_sys_clk_div = CCS_LIM(sensor, MIN_VT_SYS_CLK_DIV),
.max_sys_clk_div = CCS_LIM(sensor, MAX_VT_SYS_CLK_DIV),
.min_pix_clk_div = CCS_LIM(sensor, MIN_VT_PIX_CLK_DIV),
.max_pix_clk_div = CCS_LIM(sensor, MAX_VT_PIX_CLK_DIV),
.min_sys_clk_freq_hz = CCS_LIM(sensor, MIN_VT_SYS_CLK_FREQ_MHZ),
.max_sys_clk_freq_hz = CCS_LIM(sensor, MAX_VT_SYS_CLK_FREQ_MHZ),
.min_pix_clk_freq_hz = CCS_LIM(sensor, MIN_VT_PIX_CLK_FREQ_MHZ),
.max_pix_clk_freq_hz = CCS_LIM(sensor, MAX_VT_PIX_CLK_FREQ_MHZ),
.min_line_length_pck_bin = CCS_LIM(sensor, MIN_LINE_LENGTH_PCK_BIN),
.min_line_length_pck = CCS_LIM(sensor, MIN_LINE_LENGTH_PCK),
*scale_m = sink_crop->width * CCS_LIM(sensor, SCALER_N_MIN) /
scale_m = CCS_LIM(sensor, SCALER_N_MIN);
CCS_LIM(sensor, COARSE_INTEGRATION_TIME_MAX_MARGIN);
if (CCS_LIM(sensor, DIGITAL_GAIN_CAPABILITY) ==
switch (CCS_LIM(sensor, ANALOG_GAIN_CAPABILITY)) {
CCS_LIM(sensor, ANALOG_GAIN_M0), },
CCS_LIM(sensor, ANALOG_GAIN_C0), },
CCS_LIM(sensor, ANALOG_GAIN_M1), },
CCS_LIM(sensor, ANALOG_GAIN_C1), },
CCS_LIM(sensor, ANALOG_GAIN_CODE_MIN),
CCS_LIM(sensor, ANALOG_GAIN_CODE_MAX),
max(CCS_LIM(sensor, ANALOG_GAIN_CODE_STEP),
CCS_LIM(sensor, ANALOG_GAIN_CODE_MIN));
CCS_LIM(sensor, ANALOG_LINEAR_GAIN_MIN),
CCS_LIM(sensor, ANALOG_LINEAR_GAIN_MAX),
max(CCS_LIM(sensor,
CCS_LIM(sensor, ANALOG_EXPONENTIAL_GAIN_MIN),
CCS_LIM(sensor, ANALOG_EXPONENTIAL_GAIN_MAX),
max(CCS_LIM(sensor,
if (CCS_LIM(sensor, CLOCK_CAPA_TYPE_CAPABILITY) &