blob: 14f0f65cb49fe67544dade1ce2c68d8e841e6cba [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "arm-isp.h"
#include "global_regs.h"
#include "pingpong_regs.h"
#include <hwreg/bitfields.h>
#include <zircon/types.h>
namespace camera {
void ArmIspDevice::IspLoadSeq_linear() {
ping::InputFormatter_Mode::Get()
.ReadFrom(&isp_mmio_local_)
.set_mode_in(0)
.set_input_bitwidth_select(0x2)
.WriteTo(&isp_mmio_local_);
ping::Top_Bypass0::Get()
.ReadFrom(&isp_mmio_local_)
.set_bypass_gain_wdr(0x1)
.set_bypass_frame_stitch(0x1)
.WriteTo(&isp_mmio_local_);
ping::SinterNoiseProfile_NoiseLevel::Get()
.ReadFrom(&isp_mmio_local_)
.set_noise_level_0(0)
.set_noise_level_1(0)
.set_noise_level_2(0)
.WriteTo(&isp_mmio_local_);
ping::Top_Config::Get()
.ReadFrom(&isp_mmio_local_)
.set_linear_data_src(0)
.WriteTo(&isp_mmio_local_);
ping::TemperNoiseProfile_NoiseLevel::Get()
.ReadFrom(&isp_mmio_local_)
.set_noise_level_0(0x40)
.set_noise_level_1(0)
.set_noise_level_2(0)
.WriteTo(&isp_mmio_local_);
}
void ArmIspDevice::IspLoadSeq_settings() {
InputPort_Config0::Get()
.ReadFrom(&isp_mmio_)
.set_preset(0x2)
.set_vs_use_field(0)
.set_vs_toggle(0)
.set_vs_polarity(0)
.set_vs_polarity_acl(0)
.set_hs_use_acl(0)
.set_vc_c_select(0)
.set_vc_r_select(0)
.set_hs_xor_vs(0)
.set_hs_polarity(0)
.set_hs_polarity_acl(0)
.set_hs_polarity_hs(0)
.set_hs_polarity_vc(0)
.set_hc_r_select(0)
.set_acl_polarity(0)
.WriteTo(&isp_mmio_);
InputPort_Config1::Get()
.ReadFrom(&isp_mmio_)
.set_field_polarity(0)
.set_field_toggle(0)
.set_aclg_window0(0x1)
.set_aclg_hsync(0x1)
.set_aclg_window2(0x1)
.set_aclg_acl(0)
.set_aclg_vsync(0)
.set_hsg_window1(0)
.set_hsg_hsync(0)
.set_hsg_vsync(0)
.set_hsg_window2(0)
.set_fieldg_vsync(0x1)
.set_fieldg_window2(0)
.set_fieldg_field(0)
.set_field_mode(0)
.WriteTo(&isp_mmio_);
InputPort_HorizontalCrop0::Get()
.ReadFrom(&isp_mmio_)
.set_hc_limit(0xffff)
.set_hc_start0(0)
.WriteTo(&isp_mmio_);
InputPort_HorizontalCrop1::Get()
.ReadFrom(&isp_mmio_)
.set_hc_size0(0)
.set_hc_start1(0)
.WriteTo(&isp_mmio_);
IspGlobal_Config0::Get()
.ReadFrom(&isp_mmio_)
.set_global_fsm_reset(0)
.WriteTo(&isp_mmio_);
InputPort_VerticalCrop1::Get()
.ReadFrom(&isp_mmio_)
.set_vc_start(0)
.set_vc_size(0)
.WriteTo(&isp_mmio_);
IspGlobal_Config2::Get()
.ReadFrom(&isp_mmio_)
.set_interline_blanks_min(0x20)
.set_interframe_blanks_min(0x20)
.WriteTo(&isp_mmio_);
InputPort_Config3::Get()
.ReadFrom(&isp_mmio_)
.set_mode_request(0x1)
.set_freeze_config(0)
.WriteTo(&isp_mmio_);
IspGlobal_Config3::Get()
.ReadFrom(&isp_mmio_)
.set_mcu_override_config_select(0)
.set_mcu_ping_pong_config_select(0)
.set_multi_context_mode(0)
.WriteTo(&isp_mmio_);
IspGlobal_Config4::Get()
.ReadFrom(&isp_mmio_)
.set_ping_locked(0)
.set_pong_locked(0)
.set_ping_pong_config_select(0x1)
.WriteTo(&isp_mmio_);
IspGlobalInterrupt_MaskVector::Get()
.ReadFrom(&isp_mmio_)
.set_isp_start(0x1)
.set_isp_done(0x1)
.set_ctx_management_error(0x1)
.set_broken_frame_error(0x1)
.set_metering_af_done(0x1)
.set_metering_aexp_done(0x1)
.set_metering_awb_done(0x1)
.set_metering_aexp_1024_bin_hist_done(0x1)
.set_metering_antifog_hist_done(0x1)
.set_lut_init_done(0x1)
.set_fr_y_dma_write_done(0x1)
.set_fr_uv_dma_write_done(0x1)
.set_ds_y_dma_write_done(0x1)
.set_linearization_done(0x1)
.set_static_dpc_done(0x1)
.set_ca_correction_done(0x1)
.set_iridix_done(0x1)
.set_three_d_liut_done(0x1)
.set_wdg_timer_timed_out(0x1)
.set_frame_collision_error(0x1)
.set_luma_variance_done(0x1)
.set_dma_error_interrupt(0x1)
.set_input_port_safely_stopped(0x1)
.WriteTo(&isp_mmio_);
IspGlobalInterrupt_ClearVector::Get()
.ReadFrom(&isp_mmio_)
.set_isp_start(0x1)
.set_isp_done(0x1)
.set_ctx_management_error(0x1)
.set_broken_frame_error(0x1)
.set_metering_af_done(0x1)
.set_metering_aexp_done(0x1)
.set_metering_awb_done(0x1)
.set_metering_aexp_1024_bin_hist_done(0x1)
.set_metering_antifog_hist_done(0x1)
.set_lut_init_done(0x1)
.set_fr_y_dma_write_done(0x1)
.set_fr_uv_dma_write_done(0x1)
.set_ds_y_dma_write_done(0x1)
.set_linearization_done(0x1)
.set_static_dpc_done(0x1)
.set_ca_correction_done(0x1)
.set_iridix_done(0x1)
.set_three_d_liut_done(0x1)
.set_wdg_timer_timed_out(0x1)
.set_frame_collision_error(0x1)
.set_luma_variance_done(0x1)
.set_dma_error_interrupt(0x1)
.set_input_port_safely_stopped(0x1)
.WriteTo(&isp_mmio_);
IspGlobalInterrupt_PulseMode::Get()
.ReadFrom(&isp_mmio_)
.set_value(0x1)
.WriteTo(&isp_mmio_);
IspGlobalInterrupt_Clear::Get()
.ReadFrom(&isp_mmio_)
.set_value(0)
.WriteTo(&isp_mmio_);
IspGlobalInterrupt_StatusVector::Get()
.ReadFrom(&isp_mmio_)
.set_isp_start(0)
.set_isp_done(0)
.set_ctx_management_error(0)
.set_broken_frame_error(0)
.set_metering_af_done(0)
.set_metering_aexp_done(0)
.set_metering_awb_done(0)
.set_metering_aexp_1024_bin_hist_done(0)
.set_metering_antifog_hist_done(0)
.set_lut_init_done(0)
.set_fr_y_dma_write_done(0)
.set_fr_uv_dma_write_done(0)
.set_ds_y_dma_write_done(0)
.set_linearization_done(0)
.set_static_dpc_done(0)
.set_ca_correction_done(0)
.set_iridix_done(0)
.set_three_d_liut_done(0)
.set_wdg_timer_timed_out(0)
.set_frame_collision_error(0)
.set_luma_variance_done(0)
.set_dma_error_interrupt(0)
.set_input_port_safely_stopped(0)
.WriteTo(&isp_mmio_);
IspGlobalMonitor_Status::Get()
.ReadFrom(&isp_mmio_)
.set_broken_frame_status(0x3)
.WriteTo(&isp_mmio_);
IspGlobalMonitor_Failures::Get()
.ReadFrom(&isp_mmio_)
.set_fr_y_dma_wfifo_fail_full(0x1)
.set_fr_y_dma_wfifo_fail_empty(0)
.set_fr_uv_dma_wfifo_fail_full(0)
.set_fr_uv_dma_wfifo_fail_empty(0)
.set_ds_y_dma_wfifo_fail_full(0)
.set_ds_y_dma_wfifo_fail_empty(0)
.set_ds_uv_dma_wfifo_fail_full(0)
.set_ds_uv_dma_wfifo_fail_empty(0)
.set_temper_dma_wfifo_fail_empty(0)
.set_temper_dma_wfifo_fail_full(0)
.set_temper_dma_rfifo_fail_empty(0)
.set_temper_dma_rfifo_fail_full(0)
.WriteTo(&isp_mmio_);
IspGlobalMonitor_ClearError::Get()
.ReadFrom(&isp_mmio_)
.set_broken_frame_error_clear(0)
.set_context_error_clr(0)
.WriteTo(&isp_mmio_);
InputPort_VerticalCrop0::Get()
.ReadFrom(&isp_mmio_)
.set_hc_size1(0)
.set_vc_limit(0xffff)
.WriteTo(&isp_mmio_);
IspGlobalChickenBit::Get()
.ReadFrom(&isp_mmio_)
.set_dma_writer_timeout_disable(0)
.WriteTo(&isp_mmio_);
IspGlobalDbg::Get()
.ReadFrom(&isp_mmio_)
.set_mode_en(0x1)
.set_clear_frame_cnt(0)
.WriteTo(&isp_mmio_);
IspGlobal_Config1::Get()
.ReadFrom(&isp_mmio_)
.set_flush_hblank(0x20)
.set_isp_monitor_select(0)
.WriteTo(&isp_mmio_);
}
void ArmIspDevice::IspLoadSeq_fs_lin_2exp() {
ping::Crossbar_Channel::Get()
.ReadFrom(&isp_mmio_local_)
.set_channel1_select(0)
.set_channel2_select(0x2)
.set_channel3_select(0x1)
.set_channel4_select(0x3)
.WriteTo(&isp_mmio_local_);
ping::Top_Bypass0::Get()
.ReadFrom(&isp_mmio_local_)
.set_bypass_gain_wdr(0)
.set_bypass_frame_stitch(0)
.WriteTo(&isp_mmio_local_);
ping::InputFormatter_Mode::Get()
.ReadFrom(&isp_mmio_local_)
.set_mode_in(0x7)
.set_input_bitwidth_select(0x1)
.WriteTo(&isp_mmio_local_);
ping::Top_Config::Get()
.ReadFrom(&isp_mmio_local_)
.set_linear_data_src(0x1)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_Mode::Get()
.ReadFrom(&isp_mmio_local_)
.set_mode_in(0x1)
.WriteTo(&isp_mmio_local_);
}
void ArmIspDevice::IspLoadSeq_fs_lin_3exp() {
ping::Crossbar_Channel::Get()
.ReadFrom(&isp_mmio_local_)
.set_channel1_select(0)
.set_channel2_select(0x2)
.set_channel3_select(0x1)
.set_channel4_select(0x3)
.WriteTo(&isp_mmio_local_);
ping::Top_Bypass0::Get()
.ReadFrom(&isp_mmio_local_)
.set_bypass_gain_wdr(0)
.set_bypass_frame_stitch(0)
.WriteTo(&isp_mmio_local_);
ping::InputFormatter_Mode::Get()
.ReadFrom(&isp_mmio_local_)
.set_mode_in(0x7)
.set_input_bitwidth_select(0x1)
.WriteTo(&isp_mmio_local_);
ping::Top_Config::Get()
.ReadFrom(&isp_mmio_local_)
.set_linear_data_src(0x1)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_Mode::Get()
.ReadFrom(&isp_mmio_local_)
.set_mode_in(0x2)
.WriteTo(&isp_mmio_local_);
}
void ArmIspDevice::IspLoadSeq_fs_lin_4exp() {
ping::Crossbar_Channel::Get()
.ReadFrom(&isp_mmio_local_)
.set_channel1_select(0)
.set_channel2_select(0x2)
.set_channel3_select(0x2)
.set_channel4_select(0x1)
.WriteTo(&isp_mmio_local_);
ping::Top_Bypass0::Get()
.ReadFrom(&isp_mmio_local_)
.set_bypass_gain_wdr(0)
.set_bypass_frame_stitch(0)
.WriteTo(&isp_mmio_local_);
ping::InputFormatter_Mode::Get()
.ReadFrom(&isp_mmio_local_)
.set_mode_in(0x7)
.set_input_bitwidth_select(0x1)
.WriteTo(&isp_mmio_local_);
ping::Top_Config::Get()
.ReadFrom(&isp_mmio_local_)
.set_linear_data_src(0x1)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_Mode::Get()
.ReadFrom(&isp_mmio_local_)
.set_mode_in(0x3)
.WriteTo(&isp_mmio_local_);
}
void ArmIspDevice::IspLoadSeq_settings_context() {
ping::FrameStitch_BlackLevel1::Get()
.ReadFrom(&isp_mmio_local_)
.set_black_level_short(0xf0)
.set_black_level_very_short(0xf0)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_Slope::Get()
.ReadFrom(&isp_mmio_local_)
.set_vh_slope(0xc8)
.set_aa_slope(0xb4)
.set_va_slope(0xb4)
.set_uu_slope(0xb2)
.WriteTo(&isp_mmio_local_);
ping::MeteringAexp_Hist1::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::ChromaticAberrationCorrection_Config::Get()
.ReadFrom(&isp_mmio_local_)
.set_mesh_scale(0)
.set_enable(0x1)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_BlackLevelOut::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xf000)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_Umean1Threshold::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_Config0::Get()
.ReadFrom(&isp_mmio_local_)
.set_lm_np_mult(0x180)
.set_ms_np_mult(0x600)
.WriteTo(&isp_mmio_local_);
ping::RawFrontendNp_ExpThresh::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xffff)
.WriteTo(&isp_mmio_local_);
ping::MeteringIhist_Config::Get()
.ReadFrom(&isp_mmio_local_)
.set_skip_x(0x1)
.set_skip_y(0)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_Config1::Get()
.ReadFrom(&isp_mmio_local_)
.set_svs_np_mult(0x600)
.set_lm_alpha_mov_slope(0xc00)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_Config2::Get()
.ReadFrom(&isp_mmio_local_)
.set_ms_alpha_mov_slope(0x180)
.set_svs_alpha_mov_slope(0x180)
.WriteTo(&isp_mmio_local_);
ping::Sinter_RmOffCenterMult::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x6ea)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_GainRB::Get()
.ReadFrom(&isp_mmio_local_)
.set_gain_r(0x100)
.set_gain_b(0x100)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_UvVar2Offset::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xfff)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_Luma1HighThresh::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x5dc)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_ConsistencyThreshMov::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x100)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_Sad::Get()
.ReadFrom(&isp_mmio_local_)
.set_sad_slope(0x40)
.set_sad_offset(0)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_Config11::Get()
.ReadFrom(&isp_mmio_local_)
.set_sharp_alt_ld(0x1c)
.set_sharp_alt_ldu(0x46)
.set_sharp_alt_lu(0x1d)
.set_sad_amp(0x8)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_ConsistencyThreshLvl::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x80000)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_UCenter::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x800)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_UvVar1Offset::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xfff)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_Lm::Get()
.ReadFrom(&isp_mmio_local_)
.set_lm_noise_thresh(0)
.set_lm_pos_weight(0x14)
.set_lm_neg_weight(0x2)
.WriteTo(&isp_mmio_local_);
ping::RawFrontendNp_Ratio::Get()
.ReadFrom(&isp_mmio_local_)
.set_short_ratio(0)
.set_long_ratio(0x4)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_LmMedNoise::Get()
.ReadFrom(&isp_mmio_local_)
.set_lm_med_noise_alpha_thresh(0x40)
.set_lm_med_noise_intensity_thresh(0x200)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_GlobalSlope::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x333)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_DebugReg::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_LmMcBlendSlope::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::Sinter_HorizontalThresh::Get()
.ReadFrom(&isp_mmio_local_)
.set_thresh_0h(0)
.set_thresh_1h(0)
.set_thresh_2h(0)
.set_thresh_4h(0)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_LmMcBlend::Get()
.ReadFrom(&isp_mmio_local_)
.set_lm_mc_blend_thresh(0)
.set_lm_mc_blend_offset(0)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::Primary::DmaWriter_ActiveDim::Get()
.ReadFrom(&isp_mmio_local_)
.set_active_width(0x780)
.set_active_height(0x438)
.WriteTo(&isp_mmio_local_);
ping::MeteringAwb_CrRefLowAwb::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::IridixGain_Gain::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x100)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_LmMcThreshSlope::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_SadThresh::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x200)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_UvSeg1Slope::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xfbd8)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_LmMcThreshThresh::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_SatHighThresh::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xc83)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_LmMcThreshOffset::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::ChromaticAberrationCorrection_Mesh::Get()
.ReadFrom(&isp_mmio_local_)
.set_mesh_width(0x40)
.set_mesh_height(0x40)
.WriteTo(&isp_mmio_local_);
ping::MeteringAwb_CbRefMaxAwb::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x1ff)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_LmMcMagThreshSlope::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_ColorConversionMatrixCoeffRg::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x10a5)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::GammaRgb_Offset::Get()
.ReadFrom(&isp_mmio_local_)
.set_offset_r(0)
.set_offset_g(0)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_Vmean2Threshold::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_LmMcMagThreshThresh::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::Iridix_WbOffset::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_LmMcMag::Get()
.ReadFrom(&isp_mmio_local_)
.set_lm_mc_mag_thresh_offset(0)
.set_lm_mc_mag_lblend_thresh(0)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_Luma2HighThresh::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xfff)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::Primary::DmaWriter_Failures::Get()
.ReadFrom(&isp_mmio_local_)
.set_axi_fail_bresp(0)
.set_axi_fail_awmaxwait(0)
.set_axi_fail_wmaxwait(0)
.set_axi_fail_wxact_ostand(0)
.set_vi_fail_active_width(0)
.set_vi_fail_active_height(0)
.set_vi_fail_interline_blanks(0)
.set_vi_fail_interframe_blanks(0)
.set_video_alarm(0)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_Config3::Get()
.ReadFrom(&isp_mmio_local_)
.set_mcoff_wb_offset(0x100)
.set_exposure_mask_thresh(0x40)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_HueLow::Get()
.ReadFrom(&isp_mmio_local_)
.set_hue_low_slope(0xf8)
.set_hue_low_offset(0)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_Enable::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x1)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_Config4::Get()
.ReadFrom(&isp_mmio_local_)
.set_bwb_select(0x1)
.set_use_3x3_max(0x1)
.set_mcoff_mode_enable(0)
.set_lm_alg_select(0)
.set_mcoff_nc_enable(0)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_McoffMax0::Get()
.ReadFrom(&isp_mmio_local_)
.set_mcoff_l_max(0xdac)
.set_mcoff_m_max(0xdac)
.WriteTo(&isp_mmio_local_);
ping::ChromaticAberrationCorrection_Offset::Get()
.ReadFrom(&isp_mmio_local_)
.set_line_offset(0x40)
.set_plane_offset(0x1000)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_McoffMax1::Get()
.ReadFrom(&isp_mmio_local_)
.set_mcoff_s_max(0xdac)
.set_mcoff_vs_max(0xdac)
.WriteTo(&isp_mmio_local_);
ping::DownScaled::GammaRgb_GainB::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x100)
.WriteTo(&isp_mmio_local_);
ping::Iridix_ContextNo::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_McoffScaler0::Get()
.ReadFrom(&isp_mmio_local_)
.set_mcoff_l_scaler(0x800)
.set_mcoff_lm_scaler(0x800)
.WriteTo(&isp_mmio_local_);
ping::MeteringAwb_CbRefHighAwb::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xfff)
.WriteTo(&isp_mmio_local_);
ping::MeteringAwb_WhiteLevelAwb::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x3ff)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_McoffScaler1::Get()
.ReadFrom(&isp_mmio_local_)
.set_mcoff_lms_scaler(0x800)
.set_mcoff_nc_thresh_low(0x20)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_HueStrength::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x300)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_Umean2Slope::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xe7b4)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_McoffNc::Get()
.ReadFrom(&isp_mmio_local_)
.set_mcoff_nc_thresh_high(0x40)
.set_mcoff_nc_scale(0x80)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_HueLowThresh::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x7ad)
.WriteTo(&isp_mmio_local_);
ping::Iridix_Gain1::Get()
.ReadFrom(&isp_mmio_local_)
.set_gain_r(0x100)
.set_gain_gr(0x100)
.WriteTo(&isp_mmio_local_);
ping::Iridix_FwdAlpha::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x100)
.WriteTo(&isp_mmio_local_);
ping::Iridix_Gain2::Get()
.ReadFrom(&isp_mmio_local_)
.set_gain_gb(0x100)
.set_gain_b(0x100)
.WriteTo(&isp_mmio_local_);
ping::ChromaticAberrationCorrection_MeshReload::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::DigitalGain_Gain::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x100)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_UvVar2Slope::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xffff)
.WriteTo(&isp_mmio_local_);
ping::Iridix_PerceptControl::Get()
.ReadFrom(&isp_mmio_local_)
.set_fwd_percept_control(0x2)
.set_rev_percept_control(0x2)
.set_strength_inroi(0x70)
.WriteTo(&isp_mmio_local_);
ping::DigitalGain_Offset::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xf000)
.WriteTo(&isp_mmio_local_);
ping::SinterNoiseProfile_Config::Get()
.ReadFrom(&isp_mmio_local_)
.set_global_offset(0x1e)
.set_use_lut(0)
.set_use_exp_mask(0x1)
.set_black_reflect(0)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::Sharpen_Luma3::Get()
.ReadFrom(&isp_mmio_local_)
.set_luma_offset_high(0)
.set_luma_slope_high(0x6a4)
.WriteTo(&isp_mmio_local_);
ping::SensorOffsetFe_Offset00::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_MaxD::Get()
.ReadFrom(&isp_mmio_local_)
.set_max_d_strength(0x333)
.set_max_ud_strength(0x333)
.WriteTo(&isp_mmio_local_);
ping::Iridix_Config1::Get()
.ReadFrom(&isp_mmio_local_)
.set_svariance(0xa)
.set_bright_pr(0xdc)
.set_contrast(0xb4)
.set_filter_mux(0x1)
.WriteTo(&isp_mmio_local_);
ping::SensorOffsetFe_Offset01::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_HueHigh::Get()
.ReadFrom(&isp_mmio_local_)
.set_hue_high_slope(0x320)
.set_hue_high_offset(0)
.WriteTo(&isp_mmio_local_);
ping::MeteringAexp_Hist3::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x5)
.WriteTo(&isp_mmio_local_);
ping::SensorOffsetFe_Offset10::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_Umean1Offset::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xf0)
.WriteTo(&isp_mmio_local_);
ping::SensorOffsetFe_Offset11::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::SquareBe_BlackLevelIn::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x7d0)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_UvDelta2Offset::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x100)
.WriteTo(&isp_mmio_local_);
ping::Sqrt_BlackLevelIn::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xf000)
.WriteTo(&isp_mmio_local_);
ping::Iridix_HorizontalRoi::Get()
.ReadFrom(&isp_mmio_local_)
.set_roi_hor_start(0)
.set_roi_hor_end(0xffff)
.WriteTo(&isp_mmio_local_);
ping::IridixGain_Offset::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::Top_ActiveDim::Get()
.ReadFrom(&isp_mmio_local_)
.set_active_width(0x780)
.set_active_height(0x438)
.WriteTo(&isp_mmio_local_);
ping::SinterNoiseProfile_BlackLevel::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::Top_Config::Get()
.ReadFrom(&isp_mmio_local_)
.set_rggb_start_pre_mirror(0)
.set_rggb_start_post_mirror(0)
.set_cfa_pattern(0)
.set_linear_data_src(0)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_Luma2Low::Get()
.ReadFrom(&isp_mmio_local_)
.set_luma2_low_slope(0x190)
.set_luma2_low_offset(0)
.WriteTo(&isp_mmio_local_);
ping::RawFrontend_DebugSel::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_HueHighThresh::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x960)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_MinDStrength::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x1f8b)
.WriteTo(&isp_mmio_local_);
ping::RawFrontend_DynamicDefectPixel0::Get()
.ReadFrom(&isp_mmio_local_)
.set_dp_slope(0xaa)
.set_dp_threshold(0xfc3)
.WriteTo(&isp_mmio_local_);
ping::MeteringAwb_Bg::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xc4)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_UvVar1Slope::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xffff)
.WriteTo(&isp_mmio_local_);
ping::RawFrontend_DynamicDefectPixel1::Get()
.ReadFrom(&isp_mmio_local_)
.set_dpdev_threshold(0x8000)
.set_dp_blend(0)
.WriteTo(&isp_mmio_local_);
ping::SquareBe_BlackLevelOut::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xf000)
.WriteTo(&isp_mmio_local_);
ping::MeteringAexp_HistThresh34::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xd0)
.WriteTo(&isp_mmio_local_);
ping::RawFrontend_GreenEqualization0::Get()
.ReadFrom(&isp_mmio_local_)
.set_ge_strength(0x40)
.set_ge_threshold(0xaa)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_Hsl::Get()
.ReadFrom(&isp_mmio_local_)
.set_hsl_slope(0x20)
.set_hsl_offset(0)
.WriteTo(&isp_mmio_local_);
ping::RawFrontend_GreenEqualization1::Get()
.ReadFrom(&isp_mmio_local_)
.set_ge_slope(0x11d)
.set_ge_sens(0x80)
.WriteTo(&isp_mmio_local_);
ping::SinterNoiseProfile_Thresh1::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x4000)
.WriteTo(&isp_mmio_local_);
ping::RawFrontend_Misc::Get()
.ReadFrom(&isp_mmio_local_)
.set_line_thresh(0)
.set_sigma_in(0)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::Primary::DmaWriter_Bank0Base::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x5000000)
.WriteTo(&isp_mmio_local_);
ping::RawFrontend_Thresh::Get()
.ReadFrom(&isp_mmio_local_)
.set_thresh_short(0)
.set_thresh_long(0)
.WriteTo(&isp_mmio_local_);
ping::Temper_Config0::Get()
.ReadFrom(&isp_mmio_local_)
.set_enable(0x1)
.set_temper2_mode(0)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::Sharpen_Enable::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x1)
.WriteTo(&isp_mmio_local_);
ping::Top_Bypass0::Get()
.ReadFrom(&isp_mmio_local_)
.set_bypass_video_test_gen(0)
.set_bypass_input_formatter(0)
.set_bypass_decompander(0)
.set_bypass_sensor_offset_wdr(0)
.set_bypass_gain_wdr(0x1)
.set_bypass_frame_stitch(0x1)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_Config12::Get()
.ReadFrom(&isp_mmio_local_)
.set_uu_sh_slope(0xb2)
.set_lg_det_thresh(0x8)
.set_grey_det_thresh(0x8)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_Luma1Low::Get()
.ReadFrom(&isp_mmio_local_)
.set_luma1_low_slope(0x6e)
.set_luma1_low_offset(0)
.WriteTo(&isp_mmio_local_);
ping::Top_Bypass1::Get()
.ReadFrom(&isp_mmio_local_)
.set_bypass_digital_gain(0)
.set_bypass_frontend_sensor_offset(0x1)
.set_bypass_fe_sqrt(0)
.set_bypass_raw_frontend(0)
.set_bypass_defect_pixel(0)
.WriteTo(&isp_mmio_local_);
ping::SensorOffsetPreShading_Offset00::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xf000)
.WriteTo(&isp_mmio_local_);
ping::MeteringAwb_CbRefMinAwb::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x40)
.WriteTo(&isp_mmio_local_);
ping::RawFrontendNp_NpOff::Get()
.ReadFrom(&isp_mmio_local_)
.set_np_off(0)
.set_np_off_reflect(0)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_ColorConversionMatrixCoeffRb::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x1016)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_Vmean2Offset::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xf0)
.WriteTo(&isp_mmio_local_);
ping::Top_Bypass2::Get()
.ReadFrom(&isp_mmio_local_)
.set_bypass_sinter(0)
.set_bypass_temper(1)
.set_bypass_ca_correction(0)
.WriteTo(&isp_mmio_local_);
ping::SinterNoiseProfile_Thresh2::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x8000)
.WriteTo(&isp_mmio_local_);
ping::MeteringAexp_HistThresh01::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x10)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::GammaRgb_OffsetB::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::Top_Bypass3::Get()
.ReadFrom(&isp_mmio_local_)
.set_bypass_square_be(0)
.set_bypass_sensor_offset_pre_shading(0)
.set_bypass_radial_shading(0)
.set_bypass_mesh_shading(0)
.set_bypass_white_balance(0)
.set_bypass_iridix_gain(0)
.set_bypass_iridix(0)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_Center::Get()
.ReadFrom(&isp_mmio_local_)
.set_center_x(0x3c0)
.set_center_y(0x21c)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_Mode::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::Primary::DmaWriter_BlkStatus::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::Top_Bypass4::Get()
.ReadFrom(&isp_mmio_local_)
.set_bypass_mirror(0x1)
.set_bypass_demosaic_rgb(0)
.set_bypass_demosaic_rgbir(0x1)
.set_bypass_pf_correction(0)
.set_bypass_ccm(0)
.set_bypass_cnr(0)
.set_bypass_3d_lut(0x1)
.set_bypass_nonequ_gamma(0x1)
.WriteTo(&isp_mmio_local_);
ping::Temper_Config1::Get()
.ReadFrom(&isp_mmio_local_)
.set_frame_delay(0)
.set_log_enable(0x1)
.set_show_alpha(0)
.set_show_alphaab(0)
.set_mixer_select(0)
.WriteTo(&isp_mmio_local_);
ping::Top_BypassFr::Get()
.ReadFrom(&isp_mmio_local_)
.set_bypass_fr_crop(0)
.set_bypass_fr_gamma_rgb(0)
.set_bypass_fr_sharpen(0)
.set_bypass_fr_cs_conv(0)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_Scale::Get()
.ReadFrom(&isp_mmio_local_)
.set_uv_var1_scale(0x10)
.set_uv_var2_scale(0x10)
.WriteTo(&isp_mmio_local_);
ping::Top_BypassDs::Get()
.ReadFrom(&isp_mmio_local_)
.set_bypass_ds_crop(0)
.set_bypass_ds_scaler(0)
.set_bypass_ds_gamma_rgb(0)
.set_bypass_ds_sharpen(0)
.set_bypass_ds_cs_conv(0)
.WriteTo(&isp_mmio_local_);
ping::SensorOffsetPreShading_Offset01::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xf000)
.WriteTo(&isp_mmio_local_);
ping::DownScaled::GammaRgb_OffsetB::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::Top_Isp::Get()
.ReadFrom(&isp_mmio_local_)
.set_isp_processing_fr_bypass_mode(0)
.set_isp_raw_bypass(0)
.WriteTo(&isp_mmio_local_);
ping::DownScaled::GammaRgb_Offset::Get()
.ReadFrom(&isp_mmio_local_)
.set_offset_r(0)
.set_offset_g(0)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_SatLow::Get()
.ReadFrom(&isp_mmio_local_)
.set_sat_low_slope(0x100)
.set_sat_low_offset(0)
.WriteTo(&isp_mmio_local_);
ping::Top_Disable::Get()
.ReadFrom(&isp_mmio_local_)
.set_ae_switch(0)
.set_af_switch(0)
.set_awb_switch(0)
.set_ihist_disable(0)
.set_aexp_src(0x1)
.WriteTo(&isp_mmio_local_);
ping::SinterNoiseProfile_Thresh3::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xc000)
.WriteTo(&isp_mmio_local_);
ping::MeteringAwb_BlackLevelAwb::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::Crossbar_Channel::Get()
.ReadFrom(&isp_mmio_local_)
.set_channel1_select(0)
.set_channel2_select(0x2)
.set_channel3_select(0x1)
.set_channel4_select(0x3)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_Vmean1Threshold::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh0_Select::Get()
.ReadFrom(&isp_mmio_local_)
.set_test_pattern_off_on(0)
.WriteTo(&isp_mmio_local_);
ping::Temper_Config2::Get()
.ReadFrom(&isp_mmio_local_)
.set_recursion_limit(0x2)
.set_delta(0)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_UvDelta2Slope::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xed8)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh0_PatternType::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x3)
.WriteTo(&isp_mmio_local_);
ping::Iridix_Enable::Get()
.ReadFrom(&isp_mmio_local_)
.set_iridix_on(0x1)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh0_RBackgnd::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xfffff)
.WriteTo(&isp_mmio_local_);
ping::SensorOffsetPreShading_Offset10::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xf000)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh0_GBackgnd::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xfffff)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_Vmean1Slope::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xe7b4)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh0_BBackgnd::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xfffff)
.WriteTo(&isp_mmio_local_);
ping::SinterNoiseProfile_NoiseLevel::Get()
.ReadFrom(&isp_mmio_local_)
.set_noise_level_0(0)
.set_noise_level_1(0)
.set_noise_level_2(0)
.set_noise_level_3(0x40)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::Sharpen_Clip::Get()
.ReadFrom(&isp_mmio_local_)
.set_clip_str_max(0x118)
.set_clip_str_min(0x118)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh0_RForegnd::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x8ffff)
.WriteTo(&isp_mmio_local_);
ping::Iridix_GtmSelect::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh0_GForegnd::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x8ffff)
.WriteTo(&isp_mmio_local_);
ping::TemperNoiseProfile_::Get()
.ReadFrom(&isp_mmio_local_)
.set_global_offset(0x78)
.set_use_lut(0)
.set_use_exp_mask(0)
.set_black_reflect(0)
.WriteTo(&isp_mmio_local_);
ping::MeteringAexp_Hist4::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xfffa)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh0_BForegnd::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x8ffff)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_HslThresh::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_SquareRootEnable::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x1)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh0_RgbGradient::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_LumaSlopeLowD::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x4000)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh0_RgbGradientStart::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xfffff)
.WriteTo(&isp_mmio_local_);
ping::MeteringAwb_NodesUsed::Get()
.ReadFrom(&isp_mmio_local_)
.set_nodes_used_horiz(0x21)
.set_nodes_used_vert(0x21)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::Primary::DmaWriter_Bank3Base::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_SatSlope::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x5d)
.WriteTo(&isp_mmio_local_);
ping::Iridix_RevAlpha::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x1000)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_UvDelta1Slope::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xed8)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::Uv::DmaWriter_Misc::Get()
.ReadFrom(&isp_mmio_local_)
.set_base_mode(0)
.set_frame_write_on(0)
.WriteTo(&isp_mmio_local_);
ping::Iridix_BlackLevel::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh1_Select::Get()
.ReadFrom(&isp_mmio_local_)
.set_test_pattern_off_on(0)
.WriteTo(&isp_mmio_local_);
ping::TemperNoiseProfile_BlackLevel::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::Sharpen_Misc::Get()
.ReadFrom(&isp_mmio_local_)
.set_control_r(0x4c)
.set_alpha_undershoot(0xa)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_MinUdStrength::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x1fa4)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh1_PatternType::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x3)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::Primary::DmaWriter_Bank4Base::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh1_RBackgnd::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xfffff)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_LumaThreshHighD::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xfa0)
.WriteTo(&isp_mmio_local_);
ping::MeteringAexp_HistThresh12::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x20)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh1_GBackgnd::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xfffff)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_UvSeg1Offset::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x258)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh1_BBackgnd::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xfffff)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_Threshold0::Get()
.ReadFrom(&isp_mmio_local_)
.set_vh_thresh(0x64)
.set_aa_thresh(0x14)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh1_RForegnd::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x8ffff)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::Primary::DmaWriter_Bank1Base::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh1_GForegnd::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x8ffff)
.WriteTo(&isp_mmio_local_);
ping::TemperNoiseProfile_Thresh1::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::DownScaled::Sharpen_Enable::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x1)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh1_BForegnd::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x8ffff)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_Luma1LowThresh::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xcd)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh1_RgbGradient::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_LumaSlopeHighD::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x4000)
.WriteTo(&isp_mmio_local_);
ping::MeteringAwb_Rg::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xc7)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh1_RgbGradientStart::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xfffff)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_ColorConversionMatrixCoeffGr::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x101f)
.WriteTo(&isp_mmio_local_);
ping::DownScaled::Primary::DmaWriter_Misc::Get()
.ReadFrom(&isp_mmio_local_)
.set_base_mode(0)
.set_frame_write_on(0)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_Vmean2Slope::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xe7b4)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_UseColorCorrectedRgb::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x1)
.WriteTo(&isp_mmio_local_);
ping::Sqrt_BlackLevelOut::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x7d0)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_UvVar1Threshold::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_VCenter::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x800)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::GammaRgb_Enable::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x1)
.WriteTo(&isp_mmio_local_);
ping::Iridix_Config0::Get()
.ReadFrom(&isp_mmio_local_)
.set_variance_space(0xf)
.set_variance_intensity(0x7)
.set_slope_max(0x80)
.set_slope_min(0x40)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh2_Select::Get()
.ReadFrom(&isp_mmio_local_)
.set_test_pattern_off_on(0)
.WriteTo(&isp_mmio_local_);
ping::TemperNoiseProfile_Thresh2::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_Umean1Slope::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xe7b4)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh2_PatternType::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x3)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh2_RBackgnd::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xfffff)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_LumaLowUd::Get()
.ReadFrom(&isp_mmio_local_)
.set_luma_thresh_low_ud(0x4e)
.set_luma_offset_low_ud(0)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh2_GBackgnd::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xfffff)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_UuSh::Get()
.ReadFrom(&isp_mmio_local_)
.set_uu_sh_thresh(0xf0)
.set_uu_sh_offset(0)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_SatLowThresh::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x2d0)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh2_BBackgnd::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xfffff)
.WriteTo(&isp_mmio_local_);
ping::RawFrontend_Enable::Get()
.ReadFrom(&isp_mmio_local_)
.set_ge_enable(0x1)
.set_dp_enable(0x1)
.set_show_dynamic_defect_pixel(0)
.set_dark_disable(0)
.set_bright_disable(0)
.WriteTo(&isp_mmio_local_);
ping::MeteringAwb_CrRefMaxAwb::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x1ff)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh2_RForegnd::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x8ffff)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_DebugSel::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_Vmean1Offset::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xf0)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh2_GForegnd::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x8ffff)
.WriteTo(&isp_mmio_local_);
ping::TemperNoiseProfile_Thresh3::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh2_BForegnd::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x8ffff)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::Primary::DmaWriter_FrameCount::Get()
.ReadFrom(&isp_mmio_local_)
.set_frame_icount(0xadf4)
.set_frame_wcount(0xde78)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh2_RgbGradient::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_LumaSlopeLowUd::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x4000)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh2_RgbGradientStart::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xfffff)
.WriteTo(&isp_mmio_local_);
ping::MeteringAwb_CbRefLowAwb::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::MeteringHistAexp_Config::Get()
.ReadFrom(&isp_mmio_local_)
.set_skip_x(0x1)
.set_skip_y(0)
.WriteTo(&isp_mmio_local_);
ping::Sinter_VerticalThresh::Get()
.ReadFrom(&isp_mmio_local_)
.set_thresh_0v(0)
.set_thresh_1v(0)
.set_thresh_2v(0)
.set_thresh_4v(0)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_Offset0::Get()
.ReadFrom(&isp_mmio_local_)
.set_vh_offset(0x800)
.set_aa_offset(0x800)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::Sharpen_Debug::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::Sinter_Strength::Get()
.ReadFrom(&isp_mmio_local_)
.set_strength_0(0xff)
.set_strength_1(0xff)
.set_strength_2(0xff)
.set_strength_4(0xff)
.WriteTo(&isp_mmio_local_);
ping::DownScaled::GammaRgb_Enable::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x1)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::Primary::DmaWriter_Bank::Get()
.ReadFrom(&isp_mmio_local_)
.set_max_bank(0)
.set_bank0_restart(0)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh3_Select::Get()
.ReadFrom(&isp_mmio_local_)
.set_test_pattern_off_on(0)
.WriteTo(&isp_mmio_local_);
ping::TemperNoiseProfile_NoiseLevel::Get()
.ReadFrom(&isp_mmio_local_)
.set_noise_level_0(0x40)
.set_noise_level_1(0)
.set_noise_level_2(0)
.set_noise_level_3(0)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_Threshold1::Get()
.ReadFrom(&isp_mmio_local_)
.set_va_thresh(0x64)
.set_uu_thresh(0xf0)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh3_PatternType::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x3)
.WriteTo(&isp_mmio_local_);
ping::MeteringAexp_NodesUsed::Get()
.ReadFrom(&isp_mmio_local_)
.set_nodes_used_horiz(0x21)
.set_nodes_used_vert(0x21)
.WriteTo(&isp_mmio_local_);
ping::Iridix_DarkEnh::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x400)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh3_RBackgnd::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xfffff)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_LumaThreshHighUd::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xfa0)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh3_GBackgnd::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xfffff)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_UvDelta1Offset::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x100)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::Primary::DmaWriter_LineOffset::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x1e00)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh3_BBackgnd::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xfffff)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_Offset1::Get()
.ReadFrom(&isp_mmio_local_)
.set_va_offset(0x800)
.set_uu_offset(0)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_UvSeg1Threshold::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh3_RForegnd::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x8ffff)
.WriteTo(&isp_mmio_local_);
ping::Iridix_VerticalRoi::Get()
.ReadFrom(&isp_mmio_local_)
.set_roi_ver_start(0)
.set_roi_ver_end(0xffff)
.WriteTo(&isp_mmio_local_);
ping::Iridix_WhiteLevel::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xd9999)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh3_GForegnd::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x8ffff)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_Luma2LowThresh::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xd48)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::Sharpen_Luma1::Get()
.ReadFrom(&isp_mmio_local_)
.set_luma_thresh_low(0x12c)
.set_luma_offset_low(0)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_SharpenAlgSelect::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x1)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh3_BForegnd::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x8ffff)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_ColorConversionMatrixCoeffBb::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x171)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh3_RgbGradient::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_LumaSlopeHighUd::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x4000)
.WriteTo(&isp_mmio_local_);
ping::MeteringAexp_Hist0::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::VideoTestGenCh3_RgbGradientStart::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xfffff)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_Strength2::Get()
.ReadFrom(&isp_mmio_local_)
.set_purple_strength(0xfff)
.set_saturation_strength(0x20)
.WriteTo(&isp_mmio_local_);
ping::Iridix_StrengthOutroi::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x200)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_Offset2::Get()
.ReadFrom(&isp_mmio_local_)
.set_sat_offset(0)
.set_ac_offset(0)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_Umean2Threshold::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::Primary::DmaWriter_Bank2Base::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::MeteringAwb_CrRefHighAwb::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xfff)
.WriteTo(&isp_mmio_local_);
ping::InputFormatter_Mode::Get()
.ReadFrom(&isp_mmio_local_)
.set_mode_in(0)
.set_input_bitwidth_select(0x2)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_Luma2High::Get()
.ReadFrom(&isp_mmio_local_)
.set_luma2_high_slope(0x5dc)
.set_luma2_high_offset(0)
.WriteTo(&isp_mmio_local_);
ping::InputFormatter_FactorMl::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_Luma1High::Get()
.ReadFrom(&isp_mmio_local_)
.set_luma1_high_slope(0x46)
.set_luma1_high_offset(0)
.WriteTo(&isp_mmio_local_);
ping::InputFormatter_FactorMs::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_ColorConversionMatrixCoeffGg::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x159)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_NpOff::Get()
.ReadFrom(&isp_mmio_local_)
.set_np_off(0)
.set_np_off_reflect(0)
.WriteTo(&isp_mmio_local_);
ping::InputFormatter_BlackLevel::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::InputFormatter_KneePoint::Get()
.ReadFrom(&isp_mmio_local_)
.set_knee_point0(0)
.set_knee_point1(0)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_SharpenAlternate::Get()
.ReadFrom(&isp_mmio_local_)
.set_sharp_alt_d(0x1c)
.set_sharp_alt_ud(0x1d)
.set_np_offset(0x1)
.WriteTo(&isp_mmio_local_);
ping::DownScaled::Uv::DmaWriter_Misc::Get()
.ReadFrom(&isp_mmio_local_)
.set_base_mode(0)
.set_frame_write_on(0)
.WriteTo(&isp_mmio_local_);
ping::InputFormatter_KneePoint2::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_GlobalOffset::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xccc)
.WriteTo(&isp_mmio_local_);
ping::InputFormatter_Slope::Get()
.ReadFrom(&isp_mmio_local_)
.set_slope0_select(0)
.set_slope1_select(0)
.set_slope2_select(0)
.set_slope3_select(0)
.WriteTo(&isp_mmio_local_);
ping::Sinter_Enable::Get()
.ReadFrom(&isp_mmio_local_)
.set_view_filter(0)
.set_scale_mode(0x3)
.set_enable(0x1)
.set_filter_select(0)
.set_int_select(0x1)
.set_rm_enable(0)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_UvDelta2Threshold::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_UvVar2Threshold::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::SensorOffsetWdrL_Offset0::Get()
.ReadFrom(&isp_mmio_local_)
.set_offset_00(0)
.set_offset_01(0)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::Primary::DmaWriter_Misc::Get()
.ReadFrom(&isp_mmio_local_)
.set_base_mode(0x2)
.set_plane_select(0)
.set_single_frame(0)
.set_frame_write_on(0x1)
.set_axi_xact_comp(0)
.WriteTo(&isp_mmio_local_);
ping::SensorOffsetWdrL_Offset1::Get()
.ReadFrom(&isp_mmio_local_)
.set_offset_10(0)
.set_offset_11(0)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_ColorConversionMatrixCoeffGb::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x103a)
.WriteTo(&isp_mmio_local_);
ping::SensorOffsetWdrM_Offset0::Get()
.ReadFrom(&isp_mmio_local_)
.set_offset_00(0)
.set_offset_01(0)
.WriteTo(&isp_mmio_local_);
ping::DownScaled::GammaRgb_Gain::Get()
.ReadFrom(&isp_mmio_local_)
.set_gain_r(0x100)
.set_gain_g(0x100)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_SatHigh::Get()
.ReadFrom(&isp_mmio_local_)
.set_sat_high_slope(0x1f4)
.set_sat_high_offset(0xfff)
.WriteTo(&isp_mmio_local_);
ping::SensorOffsetWdrM_Offset1::Get()
.ReadFrom(&isp_mmio_local_)
.set_offset_10(0)
.set_offset_11(0)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_DmscConfig::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::MeteringAwb_CrRefMinAwb::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x40)
.WriteTo(&isp_mmio_local_);
ping::SensorOffsetWdrS_Offset0::Get()
.ReadFrom(&isp_mmio_local_)
.set_offset_00(0)
.set_offset_01(0)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_ColorConversionMatrixCoeffRr::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x1bb)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_EffectiveKernel::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x3f)
.WriteTo(&isp_mmio_local_);
ping::MeteringAexp_HistThresh45::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xe0)
.WriteTo(&isp_mmio_local_);
ping::SensorOffsetWdrS_Offset1::Get()
.ReadFrom(&isp_mmio_local_)
.set_offset_10(0)
.set_offset_11(0)
.WriteTo(&isp_mmio_local_);
ping::Sinter_Config::Get()
.ReadFrom(&isp_mmio_local_)
.set_int_config(0xa)
.set_nlm_en(0x1)
.set_nonlinear_wkgen(0x1)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::GammaRgb_Gain::Get()
.ReadFrom(&isp_mmio_local_)
.set_gain_r(0x100)
.set_gain_g(0x100)
.WriteTo(&isp_mmio_local_);
ping::MeteringHistAexp_NodesUsed::Get()
.ReadFrom(&isp_mmio_local_)
.set_nodes_used_horiz(0x21)
.set_nodes_used_vert(0x21)
.WriteTo(&isp_mmio_local_);
ping::SensorOffsetWdrVs_Offset0::Get()
.ReadFrom(&isp_mmio_local_)
.set_offset_00(0)
.set_offset_01(0)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_DeltaFactor::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x96)
.WriteTo(&isp_mmio_local_);
ping::SensorOffsetWdrVs_Offset1::Get()
.ReadFrom(&isp_mmio_local_)
.set_offset_10(0)
.set_offset_11(0)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_ColorConversionMatrixCoeffBr::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x15)
.WriteTo(&isp_mmio_local_);
ping::SensorOffsetPreShading_Offset11::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xf000)
.WriteTo(&isp_mmio_local_);
ping::MeteringAwb_StatsMode::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_OffCenterMult::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xe95)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_AlphaChannel::Get()
.ReadFrom(&isp_mmio_local_)
.set_ac_thresh(0x1b3)
.set_ac_slope(0xcf)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_LumaLowD::Get()
.ReadFrom(&isp_mmio_local_)
.set_luma_thresh_low_d(0x8)
.set_luma_offset_low_d(0)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_DetSlope::Get()
.ReadFrom(&isp_mmio_local_)
.set_lg_det_slope(0x8000)
.set_grey_det_slope(0x157c)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_Strength1::Get()
.ReadFrom(&isp_mmio_local_)
.set_sat_strength(0xc8)
.set_luma_strength(0x400)
.WriteTo(&isp_mmio_local_);
ping::Sinter_SadFiltThresh::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x8)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_Threshold2::Get()
.ReadFrom(&isp_mmio_local_)
.set_sat_thresh(0x171)
.set_lum_thresh(0x96)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_Mode::Get()
.ReadFrom(&isp_mmio_local_)
.set_mode_in(0x2)
.set_output_select(0)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::GammaRgb_GainB::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x100)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_ExposureRatio::Get()
.ReadFrom(&isp_mmio_local_)
.set_lm_exposure_ratio(0x100)
.set_ms_exposure_ratio(0x100)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_ColorConversionMatrixCoeffBg::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x1086)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_UvDelta1Threshold::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_Umean2Offset::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0xf0)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_SvsExposureRatio::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x100)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::Primary::DmaWriter_WBank::Get()
.ReadFrom(&isp_mmio_local_)
.set_wbank_curr(0)
.set_wbank_active(0x1)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_LongMediumThresh::Get()
.ReadFrom(&isp_mmio_local_)
.set_lm_thresh_high(0xf00)
.set_lm_thresh_low(0xc00)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_FalseColor::Get()
.ReadFrom(&isp_mmio_local_)
.set_fc_slope(0x96)
.set_fc_alias_slope(0x55)
.set_fc_alias_thresh(0)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_MediumShortThresh::Get()
.ReadFrom(&isp_mmio_local_)
.set_ms_thresh_high(0xf00)
.set_ms_thresh_low(0xc00)
.WriteTo(&isp_mmio_local_);
ping::Iridix_CollectionCorrection::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x100)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_ShortVeryShortThresh::Get()
.ReadFrom(&isp_mmio_local_)
.set_svs_thresh_high(0xf00)
.set_svs_thresh_low(0xc00)
.WriteTo(&isp_mmio_local_);
ping::Sinter_RmCenter::Get()
.ReadFrom(&isp_mmio_local_)
.set_rm_center_x(0x3c0)
.set_rm_center_y(0x21c)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::Sharpen_Luma2::Get()
.ReadFrom(&isp_mmio_local_)
.set_luma_slope_low(0x3e8)
.set_luma_thresh_high(0x3e8)
.WriteTo(&isp_mmio_local_);
ping::FrameStitch_BlackLevel0::Get()
.ReadFrom(&isp_mmio_local_)
.set_black_level_long(0xf0)
.set_black_level_medium(0xf0)
.WriteTo(&isp_mmio_local_);
ping::MeteringAwb_Sum::Get()
.ReadFrom(&isp_mmio_local_)
.set_value(0x1b29ac)
.WriteTo(&isp_mmio_local_);
}
void ArmIspDevice::IspLoadCustomSequence() {
ping::DemosaicRgb_Slope::Get().ReadFrom(&isp_mmio_local_)
.set_vh_slope(175)
.set_aa_slope(190)
.set_va_slope(170)
.set_uu_slope(157)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_Threshold0::Get().ReadFrom(&isp_mmio_local_)
.set_vh_thresh(90)
.set_vh_thresh(50)
.set_vh_thresh(90)
.set_vh_thresh(90)
.WriteTo(&isp_mmio_local_);
ping::DemosaicRgb_FalseColor::Get().ReadFrom(&isp_mmio_local_)
.set_fc_slope(150)
.set_fc_alias_slope(95)
.WriteTo(&isp_mmio_local_);
ping::MeshShading_Config::Get().ReadFrom(&isp_mmio_local_)
.set_mesh_scale(2)
.WriteTo(&isp_mmio_local_);
ping::Top_Bypass2::Get().ReadFrom(&isp_mmio_local_)
.set_bypass_temper(1)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::Sharpen_Enable::Get().ReadFrom(&isp_mmio_local_)
.set_value(1)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_DeltaFactor::Get().ReadFrom(&isp_mmio_local_)
.set_value(150)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_UCenter::Get().ReadFrom(&isp_mmio_local_)
.set_value(2048)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_VCenter::Get().ReadFrom(&isp_mmio_local_)
.set_value(2048)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_GlobalOffset::Get().ReadFrom(&isp_mmio_local_)
.set_value(3276)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_GlobalSlope::Get().ReadFrom(&isp_mmio_local_)
.set_value(819)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_UvSeg1Offset::Get().ReadFrom(&isp_mmio_local_)
.set_value(1000)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_UvSeg1Slope::Get().ReadFrom(&isp_mmio_local_)
.set_value(64535)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_Umean1Offset::Get().ReadFrom(&isp_mmio_local_)
.set_value(200)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_Umean1Slope::Get().ReadFrom(&isp_mmio_local_)
.set_value(61000)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_Umean2Offset::Get().ReadFrom(&isp_mmio_local_)
.set_value(200)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_Umean2Slope::Get().ReadFrom(&isp_mmio_local_)
.set_value(61000)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_Vmean1Offset::Get().ReadFrom(&isp_mmio_local_)
.set_value(200)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_Vmean1Slope::Get().ReadFrom(&isp_mmio_local_)
.set_value(57000)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_Vmean2Offset::Get().ReadFrom(&isp_mmio_local_)
.set_value(200)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_Vmean2Slope::Get().ReadFrom(&isp_mmio_local_)
.set_value(57000)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_UvVar1Offset::Get().ReadFrom(&isp_mmio_local_)
.set_value(4095)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_UvVar1Slope::Get().ReadFrom(&isp_mmio_local_)
.set_value(65280)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_UvVar2Offset::Get().ReadFrom(&isp_mmio_local_)
.set_value(4095)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_UvVar2Slope::Get().ReadFrom(&isp_mmio_local_)
.set_value(65280)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_UvDelta1Offset::Get().ReadFrom(&isp_mmio_local_)
.set_value(500)
.WriteTo(&isp_mmio_local_);
ping::ColorNoiseReduction_UvDelta2Offset::Get().ReadFrom(&isp_mmio_local_)
.set_value(500)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::Sharpen_Misc::Get().ReadFrom(&isp_mmio_local_)
.set_alpha_undershoot(10)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::Sharpen_Luma1::Get().ReadFrom(&isp_mmio_local_)
.set_luma_thresh_low(300)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::Sharpen_Luma2::Get().ReadFrom(&isp_mmio_local_)
.set_luma_slope_low(1000)
.set_luma_thresh_high(1000)
.WriteTo(&isp_mmio_local_);
ping::FullResolution::Sharpen_Clip::Get().ReadFrom(&isp_mmio_local_)
.set_clip_str_max(256)
.set_clip_str_min(256)
.WriteTo(&isp_mmio_local_);
ping::MeteringAwb_WhiteLevelAwb::Get().ReadFrom(&isp_mmio_local_)
.set_value(900)
.WriteTo(&isp_mmio_local_);
ping::PurpleFringeCorrection_Strength2::Get().ReadFrom(&isp_mmio_local_)
.set_saturation_strength(255)
.WriteTo(&isp_mmio_local_);
ping::Top_Bypass4::Get().ReadFrom(&isp_mmio_local_)
.set_bypass_pf_correction(1)
.WriteTo(&isp_mmio_local_);
InputPort_Config0::Get().ReadFrom(&isp_mmio_)
.set_preset(1)
.WriteTo(&isp_mmio_);
ping::Sqrt_BlackLevelIn::Get().ReadFrom(&isp_mmio_local_)
.set_value(16384)
.WriteTo(&isp_mmio_local_);
ping::Sqrt_BlackLevelOut::Get().ReadFrom(&isp_mmio_local_)
.set_value(1024)
.WriteTo(&isp_mmio_local_);
ping::SquareBe_BlackLevelIn::Get().ReadFrom(&isp_mmio_local_)
.set_value(1024)
.WriteTo(&isp_mmio_local_);
ping::SquareBe_BlackLevelOut::Get().ReadFrom(&isp_mmio_local_)
.set_value(16384)
.WriteTo(&isp_mmio_local_);
}
} // namespace camera