0001 # SPDX-License-Identifier: GPL-2.0-only OR BSD-3-Clause
0002 # Copyright (C) 2019--2020 Intel Corporation
0003
0004 # register rflags
0005 # - f field LSB MSB rflags
0006 # - e enum value # after a field
0007 # - e enum value [LSB MSB]
0008 # - b bool bit
0009 # - l arg name min max elsize [discontig...]
0010 #
0011 # rflags
0012 # 8, 16, 32 register bits (default is 8)
0013 # v1.1 defined in version 1.1
0014 # f formula
0015 # float_ireal iReal or IEEE 754; 32 bits
0016 # ireal unsigned iReal
0017
0018 # general status registers
0019 module_model_id 0x0000 16
0020 module_revision_number_major 0x0002 8
0021 frame_count 0x0005 8
0022 pixel_order 0x0006 8
0023 - e GRBG 0
0024 - e RGGB 1
0025 - e BGGR 2
0026 - e GBRG 3
0027 MIPI_CCS_version 0x0007 8
0028 - e v1_0 0x10
0029 - e v1_1 0x11
0030 - f major 4 7
0031 - f minor 0 3
0032 data_pedestal 0x0008 16
0033 module_manufacturer_id 0x000e 16
0034 module_revision_number_minor 0x0010 8
0035 module_date_year 0x0012 8
0036 module_date_month 0x0013 8
0037 module_date_day 0x0014 8
0038 module_date_phase 0x0015 8
0039 - f 0 2
0040 - e ts 0
0041 - e es 1
0042 - e cs 2
0043 - e mp 3
0044 sensor_model_id 0x0016 16
0045 sensor_revision_number 0x0018 8
0046 sensor_firmware_version 0x001a 8
0047 serial_number 0x001c 32
0048 sensor_manufacturer_id 0x0020 16
0049 sensor_revision_number_16 0x0022 16
0050
0051 # frame format description registers
0052 frame_format_model_type 0x0040 8
0053 - e 2-byte 1
0054 - e 4-byte 2
0055 frame_format_model_subtype 0x0041 8
0056 - f rows 0 3
0057 - f columns 4 7
0058 frame_format_descriptor(n) 0x0042 16 f
0059 - l n 0 14 2
0060 - f pixels 0 11
0061 - f pcode 12 15
0062 - e embedded 1
0063 - e dummy_pixel 2
0064 - e black_pixel 3
0065 - e dark_pixel 4
0066 - e visible_pixel 5
0067 - e manuf_specific_0 8
0068 - e manuf_specific_1 9
0069 - e manuf_specific_2 10
0070 - e manuf_specific_3 11
0071 - e manuf_specific_4 12
0072 - e manuf_specific_5 13
0073 - e manuf_specific_6 14
0074 frame_format_descriptor_4(n) 0x0060 32 f
0075 - l n 0 7 4
0076 - f pixels 0 15
0077 - f pcode 28 31
0078 - e embedded 1
0079 - e dummy_pixel 2
0080 - e black_pixel 3
0081 - e dark_pixel 4
0082 - e visible_pixel 5
0083 - e manuf_specific_0 8
0084 - e manuf_specific_1 9
0085 - e manuf_specific_2 10
0086 - e manuf_specific_3 11
0087 - e manuf_specific_4 12
0088 - e manuf_specific_5 13
0089 - e manuf_specific_6 14
0090
0091 # analog gain description registers
0092 analog_gain_capability 0x0080 16
0093 - e global 0
0094 - e alternate_global 2
0095 analog_gain_code_min 0x0084 16
0096 analog_gain_code_max 0x0086 16
0097 analog_gain_code_step 0x0088 16
0098 analog_gain_type 0x008a 16
0099 analog_gain_m0 0x008c 16
0100 analog_gain_c0 0x008e 16
0101 analog_gain_m1 0x0090 16
0102 analog_gain_c1 0x0092 16
0103 analog_linear_gain_min 0x0094 16 v1.1
0104 analog_linear_gain_max 0x0096 16 v1.1
0105 analog_linear_gain_step_size 0x0098 16 v1.1
0106 analog_exponential_gain_min 0x009a 16 v1.1
0107 analog_exponential_gain_max 0x009c 16 v1.1
0108 analog_exponential_gain_step_size 0x009e 16 v1.1
0109
0110 # data format description registers
0111 data_format_model_type 0x00c0 8
0112 - e normal 1
0113 - e extended 2
0114 data_format_model_subtype 0x00c1 8
0115 - f rows 0 3
0116 - f columns 4 7
0117 data_format_descriptor(n) 0x00c2 16 f
0118 - l n 0 15 2
0119 - f compressed 0 7
0120 - f uncompressed 8 15
0121
0122 # general set-up registers
0123 mode_select 0x0100 8
0124 - e software_standby 0
0125 - e streaming 1
0126 image_orientation 0x0101 8
0127 - b horizontal_mirror 0
0128 - b vertical_flip 1
0129 software_reset 0x0103 8
0130 - e off 0
0131 - e on 1
0132 grouped_parameter_hold 0x0104 8
0133 mask_corrupted_frames 0x0105 8
0134 - e allow 0
0135 - e mask 1
0136 fast_standby_ctrl 0x0106 8
0137 - e complete_frames 0
0138 - e frame_truncation 1
0139 CCI_address_ctrl 0x0107 8
0140 2nd_CCI_if_ctrl 0x0108 8
0141 - b enable 0
0142 - b ack 1
0143 2nd_CCI_address_ctrl 0x0109 8
0144 CSI_channel_identifier 0x0110 8
0145 CSI_signaling_mode 0x0111 8
0146 - e csi_2_dphy 2
0147 - e csi_2_cphy 3
0148 CSI_data_format 0x0112 16
0149 CSI_lane_mode 0x0114 8
0150 DPCM_Frame_DT 0x011d 8
0151 Bottom_embedded_data_DT 0x011e 8
0152 Bottom_embedded_data_VC 0x011f 8
0153
0154 gain_mode 0x0120 8
0155 - e global 0
0156 - e alternate 1
0157 ADC_bit_depth 0x0121 8
0158 emb_data_ctrl 0x0122 v1.1
0159 - b raw8_packing_for_raw16 0
0160 - b raw10_packing_for_raw20 1
0161 - b raw12_packing_for_raw24 2
0162
0163 GPIO_TRIG_mode 0x0130 8
0164 extclk_frequency_mhz 0x0136 16 ireal
0165 temp_sensor_ctrl 0x0138 8
0166 - b enable 0
0167 temp_sensor_mode 0x0139 8
0168 temp_sensor_output 0x013a 8
0169
0170 # integration time registers
0171 fine_integration_time 0x0200 16
0172 coarse_integration_time 0x0202 16
0173
0174 # analog gain registers
0175 analog_gain_code_global 0x0204 16
0176 analog_linear_gain_global 0x0206 16 v1.1
0177 analog_exponential_gain_global 0x0208 16 v1.1
0178
0179 # digital gain registers
0180 digital_gain_global 0x020e 16
0181
0182 # hdr control registers
0183 Short_analog_gain_global 0x0216 16
0184 Short_digital_gain_global 0x0218 16
0185
0186 HDR_mode 0x0220 8
0187 - b enabled 0
0188 - b separate_analog_gain 1
0189 - b upscaling 2
0190 - b reset_sync 3
0191 - b timing_mode 4
0192 - b exposure_ctrl_direct 5
0193 - b separate_digital_gain 6
0194 HDR_resolution_reduction 0x0221 8
0195 - f row 0 3
0196 - f column 4 7
0197 Exposure_ratio 0x0222 8
0198 HDR_internal_bit_depth 0x0223 8
0199 Direct_short_integration_time 0x0224 16
0200 Short_analog_linear_gain_global 0x0226 16 v1.1
0201 Short_analog_exponential_gain_global 0x0228 16 v1.1
0202
0203 # clock set-up registers
0204 vt_pix_clk_div 0x0300 16
0205 vt_sys_clk_div 0x0302 16
0206 pre_pll_clk_div 0x0304 16
0207 #vt_pre_pll_clk_div 0x0304 16
0208 pll_multiplier 0x0306 16
0209 #vt_pll_multiplier 0x0306 16
0210 op_pix_clk_div 0x0308 16
0211 op_sys_clk_div 0x030a 16
0212 op_pre_pll_clk_div 0x030c 16
0213 op_pll_multiplier 0x030e 16
0214 pll_mode 0x0310 8
0215 - f 0 0
0216 - e single 0
0217 - e dual 1
0218 op_pix_clk_div_rev 0x0312 16 v1.1
0219 op_sys_clk_div_rev 0x0314 16 v1.1
0220
0221 # frame timing registers
0222 frame_length_lines 0x0340 16
0223 line_length_pck 0x0342 16
0224
0225 # image size registers
0226 x_addr_start 0x0344 16
0227 y_addr_start 0x0346 16
0228 x_addr_end 0x0348 16
0229 y_addr_end 0x034a 16
0230 x_output_size 0x034c 16
0231 y_output_size 0x034e 16
0232
0233 # timing mode registers
0234 Frame_length_ctrl 0x0350 8
0235 - b automatic 0
0236 Timing_mode_ctrl 0x0352 8
0237 - b manual_readout 0
0238 - b delayed_exposure 1
0239 Start_readout_rs 0x0353 8
0240 - b manual_readout_start 0
0241 Frame_margin 0x0354 16
0242
0243 # sub-sampling registers
0244 x_even_inc 0x0380 16
0245 x_odd_inc 0x0382 16
0246 y_even_inc 0x0384 16
0247 y_odd_inc 0x0386 16
0248
0249 # monochrome readout registers
0250 monochrome_en 0x0390 v1.1
0251 - e enabled 0
0252
0253 # image scaling registers
0254 Scaling_mode 0x0400 16
0255 - e no_scaling 0
0256 - e horizontal 1
0257 scale_m 0x0404 16
0258 scale_n 0x0406 16
0259 digital_crop_x_offset 0x0408 16
0260 digital_crop_y_offset 0x040a 16
0261 digital_crop_image_width 0x040c 16
0262 digital_crop_image_height 0x040e 16
0263
0264 # image compression registers
0265 compression_mode 0x0500 16
0266 - e none 0
0267 - e dpcm_pcm_simple 1
0268
0269 # test pattern registers
0270 test_pattern_mode 0x0600 16
0271 - e none 0
0272 - e solid_color 1
0273 - e color_bars 2
0274 - e fade_to_grey 3
0275 - e pn9 4
0276 - e color_tile 5
0277 test_data_red 0x0602 16
0278 test_data_greenR 0x0604 16
0279 test_data_blue 0x0606 16
0280 test_data_greenB 0x0608 16
0281 value_step_size_smooth 0x060a 8
0282 value_step_size_quantised 0x060b 8
0283
0284 # phy configuration registers
0285 tclk_post 0x0800 8
0286 ths_prepare 0x0801 8
0287 ths_zero_min 0x0802 8
0288 ths_trail 0x0803 8
0289 tclk_trail_min 0x0804 8
0290 tclk_prepare 0x0805 8
0291 tclk_zero 0x0806 8
0292 tlpx 0x0807 8
0293 phy_ctrl 0x0808 8
0294 - e auto 0
0295 - e UI 1
0296 - e manual 2
0297 tclk_post_ex 0x080a 16
0298 ths_prepare_ex 0x080c 16
0299 ths_zero_min_ex 0x080e 16
0300 ths_trail_ex 0x0810 16
0301 tclk_trail_min_ex 0x0812 16
0302 tclk_prepare_ex 0x0814 16
0303 tclk_zero_ex 0x0816 16
0304 tlpx_ex 0x0818 16
0305
0306 # link rate register
0307 requested_link_rate 0x0820 32 u16.16
0308
0309 # equalization control registers
0310 DPHY_equalization_mode 0x0824 8 v1.1
0311 - b eq2 0
0312 PHY_equalization_ctrl 0x0825 8 v1.1
0313 - b enable 0
0314
0315 # d-phy preamble control registers
0316 DPHY_preamble_ctrl 0x0826 8 v1.1
0317 - b enable 0
0318 DPHY_preamble_length 0x0826 8 v1.1
0319
0320 # d-phy spread spectrum control registers
0321 PHY_SSC_ctrl 0x0828 8 v1.1
0322 - b enable 0
0323
0324 # manual lp control register
0325 manual_LP_ctrl 0x0829 8 v1.1
0326 - b enable 0
0327
0328 # additional phy configuration registers
0329 twakeup 0x082a v1.1
0330 tinit 0x082b v1.1
0331 ths_exit 0x082c v1.1
0332 ths_exit_ex 0x082e 16 v1.1
0333
0334 # phy calibration configuration registers
0335 PHY_periodic_calibration_ctrl 0x0830 8
0336 - b frame_blanking 0
0337 PHY_periodic_calibration_interval 0x0831 8
0338 PHY_init_calibration_ctrl 0x0832 8
0339 - b stream_start 0
0340 DPHY_calibration_mode 0x0833 8 v1.1
0341 - b also_alternate 0
0342 CPHY_calibration_mode 0x0834 8 v1.1
0343 - e format_1 0
0344 - e format_2 1
0345 - e format_3 2
0346 t3_calpreamble_length 0x0835 8 v1.1
0347 t3_calpreamble_length_per 0x0836 8 v1.1
0348 t3_calaltseq_length 0x0837 8 v1.1
0349 t3_calaltseq_length_per 0x0838 8 v1.1
0350 FM2_init_seed 0x083a 16 v1.1
0351 t3_caludefseq_length 0x083c 16 v1.1
0352 t3_caludefseq_length_per 0x083e 16 v1.1
0353
0354 # c-phy manual control registers
0355 TGR_Preamble_Length 0x0841 8
0356 - b preamable_prog_seq 7
0357 - f begin_preamble_length 0 5
0358 TGR_Post_Length 0x0842 8
0359 - f post_length 0 4
0360 TGR_Preamble_Prog_Sequence(n2) 0x0843
0361 - l n2 0 6 1
0362 - f symbol_n_1 3 5
0363 - f symbol_n 0 2
0364 t3_prepare 0x084e 16
0365 t3_lpx 0x0850 16
0366
0367 # alps control register
0368 ALPS_ctrl 0x085a 8
0369 - b lvlp_dphy 0
0370 - b lvlp_cphy 1
0371 - b alp_cphy 2
0372
0373 # lrte control registers
0374 TX_REG_CSI_EPD_EN_SSP_cphy 0x0860 16
0375 TX_REG_CSI_EPD_OP_SLP_cphy 0x0862 16
0376 TX_REG_CSI_EPD_EN_SSP_dphy 0x0864 16
0377 TX_REG_CSI_EPD_OP_SLP_dphy 0x0866 16
0378 TX_REG_CSI_EPD_MISC_OPTION_cphy 0x0868 v1.1
0379 TX_REG_CSI_EPD_MISC_OPTION_dphy 0x0869 v1.1
0380
0381 # scrambling control registers
0382 Scrambling_ctrl 0x0870
0383 - b enabled 0
0384 - f 2 3
0385 - e 1_seed_cphy 0
0386 - e 4_seed_cphy 3
0387 lane_seed_value(seed, lane) 0x0872 16
0388 - l seed 0 3 0x10
0389 - l lane 0 7 0x2
0390
0391 # usl control registers
0392 TX_USL_REV_ENTRY 0x08c0 16 v1.1
0393 TX_USL_REV_Clock_Counter 0x08c2 16 v1.1
0394 TX_USL_REV_LP_Counter 0x08c4 16 v1.1
0395 TX_USL_REV_Frame_Counter 0x08c6 16 v1.1
0396 TX_USL_REV_Chronological_Timer 0x08c8 16 v1.1
0397 TX_USL_FWD_ENTRY 0x08ca 16 v1.1
0398 TX_USL_GPIO 0x08cc 16 v1.1
0399 TX_USL_Operation 0x08ce 16 v1.1
0400 - b reset 0
0401 TX_USL_ALP_ctrl 0x08d0 16 v1.1
0402 - b clock_pause 0
0403 TX_USL_APP_BTA_ACK_TIMEOUT 0x08d2 16 v1.1
0404 TX_USL_SNS_BTA_ACK_TIMEOUT 0x08d2 16 v1.1
0405 USL_Clock_Mode_d_ctrl 0x08d2 v1.1
0406 - b cont_clock_standby 0
0407 - b cont_clock_vblank 1
0408 - b cont_clock_hblank 2
0409
0410 # binning configuration registers
0411 binning_mode 0x0900 8
0412 binning_type 0x0901 8
0413 binning_weighting 0x0902 8
0414
0415 # data transfer interface registers
0416 data_transfer_if_1_ctrl 0x0a00 8
0417 - b enable 0
0418 - b write 1
0419 - b clear_error 2
0420 data_transfer_if_1_status 0x0a01 8
0421 - b read_if_ready 0
0422 - b write_if_ready 1
0423 - b data_corrupted 2
0424 - b improper_if_usage 3
0425 data_transfer_if_1_page_select 0x0a02 8
0426 data_transfer_if_1_data(p) 0x0a04 8 f
0427 - l p 0 63 1
0428
0429 # image processing and sensor correction configuration registers
0430 shading_correction_en 0x0b00 8
0431 - b enable 0
0432 luminance_correction_level 0x0b01 8
0433 green_imbalance_filter_en 0x0b02 8
0434 - b enable 0
0435 mapped_defect_correct_en 0x0b05 8
0436 - b enable 0
0437 single_defect_correct_en 0x0b06 8
0438 - b enable 0
0439 dynamic_couplet_correct_en 0x0b08 8
0440 - b enable 0
0441 combined_defect_correct_en 0x0b0a 8
0442 - b enable 0
0443 module_specific_correction_en 0x0b0c 8
0444 - b enable 0
0445 dynamic_triplet_defect_correct_en 0x0b13 8
0446 - b enable 0
0447 NF_ctrl 0x0b15 8
0448 - b luma 0
0449 - b chroma 1
0450 - b combined 2
0451
0452 # optical black pixel readout registers
0453 OB_readout_control 0x0b30 8
0454 - b enable 0
0455 - b interleaving 1
0456 OB_virtual_channel 0x0b31 8
0457 OB_DT 0x0b32 8
0458 OB_data_format 0x0b33 8
0459
0460 # color temperature feedback registers
0461 color_temperature 0x0b8c 16
0462 absolute_gain_greenr 0x0b8e 16
0463 absolute_gain_red 0x0b90 16
0464 absolute_gain_blue 0x0b92 16
0465 absolute_gain_greenb 0x0b94 16
0466
0467 # cfa conversion registers
0468 CFA_conversion_ctrl 0x0ba0 v1.1
0469 - b bayer_conversion_enable 0
0470
0471 # flash strobe and sa strobe control registers
0472 flash_strobe_adjustment 0x0c12 8
0473 flash_strobe_start_point 0x0c14 16
0474 tflash_strobe_delay_rs_ctrl 0x0c16 16
0475 tflash_strobe_width_high_rs_ctrl 0x0c18 16
0476 flash_mode_rs 0x0c1a 8
0477 - b continuous 0
0478 - b truncate 1
0479 - b async 3
0480 flash_trigger_rs 0x0c1b 8
0481 flash_status 0x0c1c 8
0482 - b retimed 0
0483 sa_strobe_mode 0x0c1d 8
0484 - b continuous 0
0485 - b truncate 1
0486 - b async 3
0487 - b adjust_edge 4
0488 sa_strobe_start_point 0x0c1e 16
0489 tsa_strobe_delay_ctrl 0x0c20 16
0490 tsa_strobe_width_ctrl 0x0c22 16
0491 sa_strobe_trigger 0x0c24 8
0492 sa_strobe_status 0x0c25 8
0493 - b retimed 0
0494 tSA_strobe_re_delay_ctrl 0x0c30 16
0495 tSA_strobe_fe_delay_ctrl 0x0c32 16
0496
0497 # pdaf control registers
0498 PDAF_ctrl 0x0d00 16
0499 - b enable 0
0500 - b processed 1
0501 - b interleaved 2
0502 - b visible_pdaf_correction 3
0503 PDAF_VC 0x0d02 8
0504 PDAF_DT 0x0d03 8
0505 pd_x_addr_start 0x0d04 16
0506 pd_y_addr_start 0x0d06 16
0507 pd_x_addr_end 0x0d08 16
0508 pd_y_addr_end 0x0d0a 16
0509
0510 # bracketing interface configuration registers
0511 bracketing_LUT_ctrl 0x0e00 8
0512 bracketing_LUT_mode 0x0e01 8
0513 - b continue_streaming 0
0514 - b loop_mode 1
0515 bracketing_LUT_entry_ctrl 0x0e02 8
0516 bracketing_LUT_frame(n) 0x0e10 v1.1 f
0517 - l n 0 0xef 1
0518
0519 # integration time and gain parameter limit registers
0520 integration_time_capability 0x1000 16
0521 - b fine 0
0522 coarse_integration_time_min 0x1004 16
0523 coarse_integration_time_max_margin 0x1006 16
0524 fine_integration_time_min 0x1008 16
0525 fine_integration_time_max_margin 0x100a 16
0526
0527 # digital gain parameter limit registers
0528 digital_gain_capability 0x1081
0529 - e none 0
0530 - e global 2
0531 digital_gain_min 0x1084 16
0532 digital_gain_max 0x1086 16
0533 digital_gain_step_size 0x1088 16
0534
0535 # data pedestal capability registers
0536 Pedestal_capability 0x10e0 8 v1.1
0537
0538 # adc capability registers
0539 ADC_capability 0x10f0 8
0540 - b bit_depth_ctrl 0
0541 ADC_bit_depth_capability 0x10f4 32 v1.1
0542
0543 # video timing parameter limit registers
0544 min_ext_clk_freq_mhz 0x1100 32 float_ireal
0545 max_ext_clk_freq_mhz 0x1104 32 float_ireal
0546 min_pre_pll_clk_div 0x1108 16
0547 # min_vt_pre_pll_clk_div 0x1108 16
0548 max_pre_pll_clk_div 0x110a 16
0549 # max_vt_pre_pll_clk_div 0x110a 16
0550 min_pll_ip_clk_freq_mhz 0x110c 32 float_ireal
0551 # min_vt_pll_ip_clk_freq_mhz 0x110c 32 float_ireal
0552 max_pll_ip_clk_freq_mhz 0x1110 32 float_ireal
0553 # max_vt_pll_ip_clk_freq_mhz 0x1110 32 float_ireal
0554 min_pll_multiplier 0x1114 16
0555 # min_vt_pll_multiplier 0x1114 16
0556 max_pll_multiplier 0x1116 16
0557 # max_vt_pll_multiplier 0x1116 16
0558 min_pll_op_clk_freq_mhz 0x1118 32 float_ireal
0559 max_pll_op_clk_freq_mhz 0x111c 32 float_ireal
0560
0561 # video timing set-up capability registers
0562 min_vt_sys_clk_div 0x1120 16
0563 max_vt_sys_clk_div 0x1122 16
0564 min_vt_sys_clk_freq_mhz 0x1124 32 float_ireal
0565 max_vt_sys_clk_freq_mhz 0x1128 32 float_ireal
0566 min_vt_pix_clk_freq_mhz 0x112c 32 float_ireal
0567 max_vt_pix_clk_freq_mhz 0x1130 32 float_ireal
0568 min_vt_pix_clk_div 0x1134 16
0569 max_vt_pix_clk_div 0x1136 16
0570 clock_calculation 0x1138
0571 - b lane_speed 0
0572 - b link_decoupled 1
0573 - b dual_pll_op_sys_ddr 2
0574 - b dual_pll_op_pix_ddr 3
0575 num_of_vt_lanes 0x1139
0576 num_of_op_lanes 0x113a
0577 op_bits_per_lane 0x113b 8 v1.1
0578
0579 # frame timing parameter limits
0580 min_frame_length_lines 0x1140 16
0581 max_frame_length_lines 0x1142 16
0582 min_line_length_pck 0x1144 16
0583 max_line_length_pck 0x1146 16
0584 min_line_blanking_pck 0x1148 16
0585 min_frame_blanking_lines 0x114a 16
0586 min_line_length_pck_step_size 0x114c
0587 timing_mode_capability 0x114d
0588 - b auto_frame_length 0
0589 - b rolling_shutter_manual_readout 2
0590 - b delayed_exposure_start 3
0591 - b manual_exposure_embedded_data 4
0592 frame_margin_max_value 0x114e 16
0593 frame_margin_min_value 0x1150
0594 gain_delay_type 0x1151
0595 - e fixed 0
0596 - e variable 1
0597
0598 # output clock set-up capability registers
0599 min_op_sys_clk_div 0x1160 16
0600 max_op_sys_clk_div 0x1162 16
0601 min_op_sys_clk_freq_mhz 0x1164 32 float_ireal
0602 max_op_sys_clk_freq_mhz 0x1168 32 float_ireal
0603 min_op_pix_clk_div 0x116c 16
0604 max_op_pix_clk_div 0x116e 16
0605 min_op_pix_clk_freq_mhz 0x1170 32 float_ireal
0606 max_op_pix_clk_freq_mhz 0x1174 32 float_ireal
0607
0608 # image size parameter limit registers
0609 x_addr_min 0x1180 16
0610 y_addr_min 0x1182 16
0611 x_addr_max 0x1184 16
0612 y_addr_max 0x1186 16
0613 min_x_output_size 0x1188 16
0614 min_y_output_size 0x118a 16
0615 max_x_output_size 0x118c 16
0616 max_y_output_size 0x118e 16
0617
0618 x_addr_start_div_constant 0x1190 v1.1
0619 y_addr_start_div_constant 0x1191 v1.1
0620 x_addr_end_div_constant 0x1192 v1.1
0621 y_addr_end_div_constant 0x1193 v1.1
0622 x_size_div 0x1194 v1.1
0623 y_size_div 0x1195 v1.1
0624 x_output_div 0x1196 v1.1
0625 y_output_div 0x1197 v1.1
0626 non_flexible_resolution_support 0x1198 v1.1
0627 - b new_pix_addr 0
0628 - b new_output_res 1
0629 - b output_crop_no_pad 2
0630 - b output_size_lane_dep 3
0631
0632 min_op_pre_pll_clk_div 0x11a0 16
0633 max_op_pre_pll_clk_div 0x11a2 16
0634 min_op_pll_ip_clk_freq_mhz 0x11a4 32 float_ireal
0635 max_op_pll_ip_clk_freq_mhz 0x11a8 32 float_ireal
0636 min_op_pll_multiplier 0x11ac 16
0637 max_op_pll_multiplier 0x11ae 16
0638 min_op_pll_op_clk_freq_mhz 0x11b0 32 float_ireal
0639 max_op_pll_op_clk_freq_mhz 0x11b4 32 float_ireal
0640 clock_tree_pll_capability 0x11b8 8
0641 - b dual_pll 0
0642 - b single_pll 1
0643 - b ext_divider 2
0644 - b flexible_op_pix_clk_div 3
0645 clock_capa_type_capability 0x11b9 v1.1
0646 - b ireal 0
0647
0648 # sub-sampling parameters limit registers
0649 min_even_inc 0x11c0 16
0650 min_odd_inc 0x11c2 16
0651 max_even_inc 0x11c4 16
0652 max_odd_inc 0x11c6 16
0653 aux_subsamp_capability 0x11c8 v1.1
0654 - b factor_power_of_2 1
0655 aux_subsamp_mono_capability 0x11c9 v1.1
0656 - b factor_power_of_2 1
0657 monochrome_capability 0x11ca v1.1
0658 - e inc_odd 0
0659 - e inc_even 1
0660 pixel_readout_capability 0x11cb v1.1
0661 - e bayer 0
0662 - e monochrome 1
0663 - e bayer_and_mono 2
0664 min_even_inc_mono 0x11cc 16 v1.1
0665 max_even_inc_mono 0x11ce 16 v1.1
0666 min_odd_inc_mono 0x11d0 16 v1.1
0667 max_odd_inc_mono 0x11d2 16 v1.1
0668 min_even_inc_bc2 0x11d4 16 v1.1
0669 max_even_inc_bc2 0x11d6 16 v1.1
0670 min_odd_inc_bc2 0x11d8 16 v1.1
0671 max_odd_inc_bc2 0x11da 16 v1.1
0672 min_even_inc_mono_bc2 0x11dc 16 v1.1
0673 max_even_inc_mono_bc2 0x11de 16 v1.1
0674 min_odd_inc_mono_bc2 0x11f0 16 v1.1
0675 max_odd_inc_mono_bc2 0x11f2 16 v1.1
0676
0677 # image scaling limit parameters
0678 scaling_capability 0x1200 16
0679 - e none 0
0680 - e horizontal 1
0681 - e reserved 2
0682 scaler_m_min 0x1204 16
0683 scaler_m_max 0x1206 16
0684 scaler_n_min 0x1208 16
0685 scaler_n_max 0x120a 16
0686 digital_crop_capability 0x120e
0687 - e none 0
0688 - e input_crop 1
0689
0690 # hdr limit registers
0691 hdr_capability_1 0x1210
0692 - b 2x2_binning 0
0693 - b combined_analog_gain 1
0694 - b separate_analog_gain 2
0695 - b upscaling 3
0696 - b reset_sync 4
0697 - b direct_short_exp_timing 5
0698 - b direct_short_exp_synthesis 6
0699 min_hdr_bit_depth 0x1211
0700 hdr_resolution_sub_types 0x1212
0701 hdr_resolution_sub_type(n) 0x1213
0702 - l n 0 1 1
0703 - f row 0 3
0704 - f column 4 7
0705 hdr_capability_2 0x121b
0706 - b combined_digital_gain 0
0707 - b separate_digital_gain 1
0708 - b timing_mode 3
0709 - b synthesis_mode 4
0710 max_hdr_bit_depth 0x121c
0711
0712 # usl capability register
0713 usl_support_capability 0x1230 v1.1
0714 - b clock_tree 0
0715 - b rev_clock_tree 1
0716 - b rev_clock_calc 2
0717 usl_clock_mode_d_capability 0x1231 v1.1
0718 - b cont_clock_standby 0
0719 - b cont_clock_vblank 1
0720 - b cont_clock_hblank 2
0721 - b noncont_clock_standby 3
0722 - b noncont_clock_vblank 4
0723 - b noncont_clock_hblank 5
0724 min_op_sys_clk_div_rev 0x1234 v1.1
0725 max_op_sys_clk_div_rev 0x1236 v1.1
0726 min_op_pix_clk_div_rev 0x1238 v1.1
0727 max_op_pix_clk_div_rev 0x123a v1.1
0728 min_op_sys_clk_freq_rev_mhz 0x123c 32 v1.1 float_ireal
0729 max_op_sys_clk_freq_rev_mhz 0x1240 32 v1.1 float_ireal
0730 min_op_pix_clk_freq_rev_mhz 0x1244 32 v1.1 float_ireal
0731 max_op_pix_clk_freq_rev_mhz 0x1248 32 v1.1 float_ireal
0732 max_bitrate_rev_d_mode_mbps 0x124c 32 v1.1 ireal
0733 max_symrate_rev_c_mode_msps 0x1250 32 v1.1 ireal
0734
0735 # image compression capability registers
0736 compression_capability 0x1300
0737 - b dpcm_pcm_simple 0
0738
0739 # test mode capability registers
0740 test_mode_capability 0x1310 16
0741 - b solid_color 0
0742 - b color_bars 1
0743 - b fade_to_grey 2
0744 - b pn9 3
0745 - b color_tile 5
0746 pn9_data_format1 0x1312
0747 pn9_data_format2 0x1313
0748 pn9_data_format3 0x1314
0749 pn9_data_format4 0x1315
0750 pn9_misc_capability 0x1316
0751 - f num_pixels 0 2
0752 - b compression 3
0753 test_pattern_capability 0x1317 v1.1
0754 - b no_repeat 1
0755 pattern_size_div_m1 0x1318 v1.1
0756
0757 # fifo capability registers
0758 fifo_support_capability 0x1502
0759 - e none 0
0760 - e derating 1
0761 - e derating_overrating 2
0762
0763 # csi-2 capability registers
0764 phy_ctrl_capability 0x1600
0765 - b auto_phy_ctl 0
0766 - b ui_phy_ctl 1
0767 - b dphy_time_ui_reg_1_ctl 2
0768 - b dphy_time_ui_reg_2_ctl 3
0769 - b dphy_time_ctl 4
0770 - b dphy_ext_time_ui_reg_1_ctl 5
0771 - b dphy_ext_time_ui_reg_2_ctl 6
0772 - b dphy_ext_time_ctl 7
0773 csi_dphy_lane_mode_capability 0x1601
0774 - b 1_lane 0
0775 - b 2_lane 1
0776 - b 3_lane 2
0777 - b 4_lane 3
0778 - b 5_lane 4
0779 - b 6_lane 5
0780 - b 7_lane 6
0781 - b 8_lane 7
0782 csi_signaling_mode_capability 0x1602
0783 - b csi_dphy 2
0784 - b csi_cphy 3
0785 fast_standby_capability 0x1603
0786 - e no_frame_truncation 0
0787 - e frame_truncation 1
0788 csi_address_control_capability 0x1604
0789 - b cci_addr_change 0
0790 - b 2nd_cci_addr 1
0791 - b sw_changeable_2nd_cci_addr 2
0792 data_type_capability 0x1605
0793 - b dpcm_programmable 0
0794 - b bottom_embedded_dt_programmable 1
0795 - b bottom_embedded_vc_programmable 2
0796 - b ext_vc_range 3
0797 csi_cphy_lane_mode_capability 0x1606
0798 - b 1_lane 0
0799 - b 2_lane 1
0800 - b 3_lane 2
0801 - b 4_lane 3
0802 - b 5_lane 4
0803 - b 6_lane 5
0804 - b 7_lane 6
0805 - b 8_lane 7
0806 emb_data_capability 0x1607 v1.1
0807 - b two_bytes_per_raw16 0
0808 - b two_bytes_per_raw20 1
0809 - b two_bytes_per_raw24 2
0810 - b no_one_byte_per_raw16 3
0811 - b no_one_byte_per_raw20 4
0812 - b no_one_byte_per_raw24 5
0813 max_per_lane_bitrate_lane_d_mode_mbps(n) 0x1608 32 ireal
0814 - l n 0 7 4 4,0x32
0815 temp_sensor_capability 0x1618
0816 - b supported 0
0817 - b CCS_format 1
0818 - b reset_0x80 2
0819 max_per_lane_bitrate_lane_c_mode_mbps(n) 0x161a 32 ireal
0820 - l n 0 7 4 4,0x30
0821 dphy_equalization_capability 0x162b
0822 - b equalization_ctrl 0
0823 - b eq1 1
0824 - b eq2 2
0825 cphy_equalization_capability 0x162c
0826 - b equalization_ctrl 0
0827 dphy_preamble_capability 0x162d
0828 - b preamble_seq_ctrl 0
0829 dphy_ssc_capability 0x162e
0830 - b supported 0
0831 cphy_calibration_capability 0x162f
0832 - b manual 0
0833 - b manual_streaming 1
0834 - b format_1_ctrl 2
0835 - b format_2_ctrl 3
0836 - b format_3_ctrl 4
0837 dphy_calibration_capability 0x1630
0838 - b manual 0
0839 - b manual_streaming 1
0840 - b alternate_seq 2
0841 phy_ctrl_capability_2 0x1631
0842 - b tgr_length 0
0843 - b tgr_preamble_prog_seq 1
0844 - b extra_cphy_manual_timing 2
0845 - b clock_based_manual_cdphy 3
0846 - b clock_based_manual_dphy 4
0847 - b clock_based_manual_cphy 5
0848 - b manual_lp_dphy 6
0849 - b manual_lp_cphy 7
0850 lrte_cphy_capability 0x1632
0851 - b pdq_short 0
0852 - b spacer_short 1
0853 - b pdq_long 2
0854 - b spacer_long 3
0855 - b spacer_no_pdq 4
0856 lrte_dphy_capability 0x1633
0857 - b pdq_short_opt1 0
0858 - b spacer_short_opt1 1
0859 - b pdq_long_opt1 2
0860 - b spacer_long_opt1 3
0861 - b spacer_short_opt2 4
0862 - b spacer_long_opt2 5
0863 - b spacer_no_pdq_opt1 6
0864 - b spacer_variable_opt2 7
0865 alps_capability_dphy 0x1634
0866 - e lvlp_not_supported 0 0x3
0867 - e lvlp_supported 1 0x3
0868 - e controllable_lvlp 2 0x3
0869 alps_capability_cphy 0x1635
0870 - e lvlp_not_supported 0 0x3
0871 - e lvlp_supported 1 0x3
0872 - e controllable_lvlp 2 0x3
0873 - e alp_not_supported 0xc 0xc
0874 - e alp_supported 0xd 0xc
0875 - e controllable_alp 0xe 0xc
0876 scrambling_capability 0x1636
0877 - b scrambling_supported 0
0878 - f max_seeds_per_lane_c 1 2
0879 - e 1 0
0880 - e 4 3
0881 - f num_seed_regs 3 5
0882 - e 0 0
0883 - e 1 1
0884 - e 4 4
0885 - b num_seed_per_lane 6
0886 dphy_manual_constant 0x1637
0887 cphy_manual_constant 0x1638
0888 CSI2_interface_capability_misc 0x1639 v1.1
0889 - b eotp_short_pkt_opt2 0
0890 PHY_ctrl_capability_3 0x165c v1.1
0891 - b dphy_timing_not_multiple 0
0892 - b dphy_min_timing_value_1 1
0893 - b twakeup_supported 2
0894 - b tinit_supported 3
0895 - b ths_exit_supported 4
0896 - b cphy_timing_not_multiple 5
0897 - b cphy_min_timing_value_1 6
0898 dphy_sf 0x165d v1.1
0899 cphy_sf 0x165e v1.1
0900 - f twakeup 0 3
0901 - f tinit 4 7
0902 dphy_limits_1 0x165f v1.1
0903 - f ths_prepare 0 3
0904 - f ths_zero 4 7
0905 dphy_limits_2 0x1660 v1.1
0906 - f ths_trail 0 3
0907 - f tclk_trail_min 4 7
0908 dphy_limits_3 0x1661 v1.1
0909 - f tclk_prepare 0 3
0910 - f tclk_zero 4 7
0911 dphy_limits_4 0x1662 v1.1
0912 - f tclk_post 0 3
0913 - f tlpx 4 7
0914 dphy_limits_5 0x1663 v1.1
0915 - f ths_exit 0 3
0916 - f twakeup 4 7
0917 dphy_limits_6 0x1664 v1.1
0918 - f tinit 0 3
0919 cphy_limits_1 0x1665 v1.1
0920 - f t3_prepare_max 0 3
0921 - f t3_lpx_max 4 7
0922 cphy_limits_2 0x1666 v1.1
0923 - f ths_exit_max 0 3
0924 - f twakeup_max 4 7
0925 cphy_limits_3 0x1667 v1.1
0926 - f tinit_max 0 3
0927
0928 # binning capability registers
0929 min_frame_length_lines_bin 0x1700 16
0930 max_frame_length_lines_bin 0x1702 16
0931 min_line_length_pck_bin 0x1704 16
0932 max_line_length_pck_bin 0x1706 16
0933 min_line_blanking_pck_bin 0x1708 16
0934 fine_integration_time_min_bin 0x170a 16
0935 fine_integration_time_max_margin_bin 0x170c 16
0936 binning_capability 0x1710
0937 - e unsupported 0
0938 - e binning_then_subsampling 1
0939 - e subsampling_then_binning 2
0940 binning_weighting_capability 0x1711
0941 - b averaged 0
0942 - b summed 1
0943 - b bayer_corrected 2
0944 - b module_specific_weight 3
0945 binning_sub_types 0x1712
0946 binning_sub_type(n) 0x1713
0947 - l n 0 63 1
0948 - f row 0 3
0949 - f column 4 7
0950 binning_weighting_mono_capability 0x1771 v1.1
0951 - b averaged 0
0952 - b summed 1
0953 - b bayer_corrected 2
0954 - b module_specific_weight 3
0955 binning_sub_types_mono 0x1772 v1.1
0956 binning_sub_type_mono(n) 0x1773 v1.1 f
0957 - l n 0 63 1
0958
0959 # data transfer interface capability registers
0960 data_transfer_if_capability 0x1800
0961 - b supported 0
0962 - b polling 2
0963
0964 # sensor correction capability registers
0965 shading_correction_capability 0x1900
0966 - b color_shading 0
0967 - b luminance_correction 1
0968 green_imbalance_capability 0x1901
0969 - b supported 0
0970 module_specific_correction_capability 0x1903
0971 defect_correction_capability 0x1904 16
0972 - b mapped_defect 0
0973 - b dynamic_couplet 2
0974 - b dynamic_single 5
0975 - b combined_dynamic 8
0976 defect_correction_capability_2 0x1906 16
0977 - b dynamic_triplet 3
0978 nf_capability 0x1908
0979 - b luma 0
0980 - b chroma 1
0981 - b combined 2
0982
0983 # optical black readout capability registers
0984 ob_readout_capability 0x1980
0985 - b controllable_readout 0
0986 - b visible_pixel_readout 1
0987 - b different_vc_readout 2
0988 - b different_dt_readout 3
0989 - b prog_data_format 4
0990
0991 # color feedback capability registers
0992 color_feedback_capability 0x1987
0993 - b kelvin 0
0994 - b awb_gain 1
0995
0996 # cfa pattern capability registers
0997 CFA_pattern_capability 0x1990 v1.1
0998 - e bayer 0
0999 - e monochrome 1
1000 - e 4x4_quad_bayer 2
1001 - e vendor_specific 3
1002 CFA_pattern_conversion_capability 0x1991 v1.1
1003 - b bayer 0
1004
1005 # timer capability registers
1006 flash_mode_capability 0x1a02
1007 - b single_strobe 0
1008 sa_strobe_mode_capability 0x1a03
1009 - b fixed_width 0
1010 - b edge_ctrl 1
1011
1012 # soft reset capability registers
1013 reset_max_delay 0x1a10 v1.1
1014 reset_min_time 0x1a11 v1.1
1015
1016 # pdaf capability registers
1017 pdaf_capability_1 0x1b80
1018 - b supported 0
1019 - b processed_bottom_embedded 1
1020 - b processed_interleaved 2
1021 - b raw_bottom_embedded 3
1022 - b raw_interleaved 4
1023 - b visible_pdaf_correction 5
1024 - b vc_interleaving 6
1025 - b dt_interleaving 7
1026 pdaf_capability_2 0x1b81
1027 - b ROI 0
1028 - b after_digital_crop 1
1029 - b ctrl_retimed 2
1030
1031 # bracketing interface capability registers
1032 bracketing_lut_capability_1 0x1c00
1033 - b coarse_integration 0
1034 - b global_analog_gain 1
1035 - b flash 4
1036 - b global_digital_gain 5
1037 - b alternate_global_analog_gain 6
1038 bracketing_lut_capability_2 0x1c01
1039 - b single_bracketing_mode 0
1040 - b looped_bracketing_mode 1
1041 bracketing_lut_size 0x1c02