Import S928BXXS4AXJB camera-kernel changes
Change-Id: I517c3a9eb86f2d393d9fcba54b74991f16272761
This commit is contained in:
parent
c6a5b3bae5
commit
96c68ab84e
@ -72,6 +72,81 @@ ifneq ($(KBUILD_EXTRA_CONFIGS),)
|
||||
include $(KBUILD_EXTRA_CONFIGS)
|
||||
endif
|
||||
|
||||
#sensor header path for adaptive mipi
|
||||
CAMERA_KERNEL_PATH = $(srctree)/../sm8650-modules/qcom/opensource/camera-kernel
|
||||
|
||||
ifeq ($(CONFIG_SEC_E1Q_PROJECT), y)
|
||||
SRC_WIDE_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5kgn3_2_0.h
|
||||
SRC_UW_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx564_2_0.h
|
||||
SRC_TELE_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3k1_2_0.h
|
||||
SRC_FRONT_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3lu_2_0.h
|
||||
else ifeq ($(CONFIG_SEC_E2Q_PROJECT), y)
|
||||
SRC_WIDE_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5kgn3_2_0.h
|
||||
SRC_UW_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx564_2_0.h
|
||||
SRC_TELE_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3k1_2_0.h
|
||||
SRC_FRONT_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3lu_2_0.h
|
||||
else ifeq ($(CONFIG_SEC_E3Q_PROJECT), y)
|
||||
SRC_WIDE_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5khp2_2_0.h
|
||||
SRC_UW_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx564_2_0.h
|
||||
SRC_TELE_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx754_2_0.h
|
||||
SRC_TELE2_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx854_2_0.h
|
||||
SRC_FRONT_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3lu_2_0.h
|
||||
else ifeq ($(CONFIG_SEC_Q6Q_PROJECT), y)
|
||||
SRC_WIDE_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5kgn3_2_0.h
|
||||
SRC_UW_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3lu_uw_2_0.h
|
||||
SRC_TELE_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3k1_2_0.h
|
||||
SRC_FRONT_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx374_2_0.h
|
||||
SRC_FRONT_TOP_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx471_2_0.h
|
||||
else ifeq ($(CONFIG_SEC_B6Q_PROJECT), y)
|
||||
SRC_WIDE_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5kgn3_2_0.h
|
||||
SRC_UW_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3lu_uw_2_0.h
|
||||
SRC_FRONT_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3j1_2_0.h
|
||||
else ifeq ($(CONFIG_SEC_Q6AQ_PROJECT), y)
|
||||
SRC_WIDE_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5khp2_2_0.h
|
||||
SRC_UW_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx564_2_0.h
|
||||
SRC_TELE_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3k1_2_0.h
|
||||
SRC_FRONT_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3lu_2_0_q6a.h
|
||||
SRC_FRONT_TOP_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx596_2_0.h
|
||||
endif
|
||||
|
||||
DST_WIDE_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_wide_2_0.h
|
||||
DST_UW_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_uw_2_0.h
|
||||
DST_TELE_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_tele_2_0.h
|
||||
DST_TELE2_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_tele2_2_0.h
|
||||
DST_FRONT_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_front_2_0.h
|
||||
DST_FRONT_TOP_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_front_top_2_0.h
|
||||
|
||||
#Copy sensor header for adaptive mipi
|
||||
$(info camera_adaptive_mipi="$(shell cp -f $(SRC_WIDE_FILES) $(DST_WIDE_FILES))")
|
||||
$(info camera_adaptive_mipi="$(shell cp -f $(SRC_UW_FILES) $(DST_UW_FILES))")
|
||||
$(info camera_adaptive_mipi="$(shell cp -f $(SRC_TELE_FILES) $(DST_TELE_FILES))")
|
||||
$(info camera_adaptive_mipi="$(shell cp -f $(SRC_TELE2_FILES) $(DST_TELE2_FILES))")
|
||||
$(info camera_adaptive_mipi="$(shell cp -f $(SRC_FRONT_FILES) $(DST_FRONT_FILES))")
|
||||
$(info camera_adaptive_mipi="$(shell cp -f $(SRC_FRONT_TOP_FILES) $(DST_FRONT_TOP_FILES))")
|
||||
|
||||
#csiphy header path for cphy tunning
|
||||
ifeq ($(CONFIG_SEC_E1Q_PROJECT), y)
|
||||
SRC_CPHY_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_e1.h
|
||||
else ifeq ($(CONFIG_SEC_E2Q_PROJECT), y)
|
||||
SRC_CPHY_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_e2.h
|
||||
else ifeq ($(CONFIG_SEC_E3Q_PROJECT), y)
|
||||
SRC_CPHY_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_e3.h
|
||||
else ifeq ($(CONFIG_SEC_Q6Q_PROJECT), y)
|
||||
SRC_CPHY_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_q6.h
|
||||
else ifeq ($(CONFIG_SEC_B6Q_PROJECT), y)
|
||||
SRC_CPHY_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_b6.h
|
||||
else ifeq ($(CONFIG_SEC_GTS10P_PROJECT), y)
|
||||
SRC_CPHY_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_gts10.h
|
||||
else ifeq ($(CONFIG_SEC_GTS10U_PROJECT), y)
|
||||
SRC_CPHY_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_gts10.h
|
||||
else ifeq ($(CONFIG_SEC_Q6AQ_PROJECT), y)
|
||||
SRC_CPHY_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_q6a.h
|
||||
endif
|
||||
|
||||
DST_CPHY_FILES = $(CAMERA_KERNEL_PATH)/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg.h
|
||||
|
||||
$(info camera_cphy_header="$(shell cp -f $(SRC_CPHY_FILES) $(DST_CPHY_FILES))")
|
||||
|
||||
# List of all camera-kernel headers
|
||||
cam_include_dirs := $(shell dirname `find $(CAMERA_KERNEL_ROOT) -name '*.h'` | uniq)
|
||||
|
||||
@ -321,6 +396,43 @@ camera-$(CONFIG_SPECTRA_TFE) += \
|
||||
drivers/cam_isp/isp_hw_mgr/isp_hw/tfe_csid_hw/cam_tfe_csid.o \
|
||||
drivers/cam_isp/isp_hw_mgr/cam_tfe_hw_mgr.o
|
||||
|
||||
camera-$(CONFIG_SAMSUNG_OIS_MCU_STM32) += \
|
||||
drivers/cam_sensor_module/cam_ois/cam_ois_mcu_stm32g.o \
|
||||
drivers/cam_sensor_module/cam_ois/cam_ois_thread.o \
|
||||
drivers/cam_sensor_module/cam_sensor_utils/cam_sysfs_ois_mcu.o
|
||||
|
||||
camera-$(CONFIG_CAMERA_SYSFS_V2) += \
|
||||
drivers/cam_sensor_module/cam_actuator/cam_sec_actuator_core.o \
|
||||
drivers/cam_sensor_module/cam_eeprom/cam_sec_eeprom_core.o \
|
||||
drivers/cam_sensor_module/cam_sensor_utils/cam_sysfs_init.o \
|
||||
drivers/cam_sensor_module/cam_sensor_utils/cam_hw_bigdata.o \
|
||||
drivers/cam_sensor_module/cam_sensor_utils/cam_clock_data_recovery.o
|
||||
|
||||
camera-$(CONFIG_CAMERA_FRAME_CNT_DBG) += \
|
||||
drivers/cam_sensor_module/cam_sensor/cam_sensor_thread.o
|
||||
|
||||
camera-$(CONFIG_SAMSUNG_WACOM_NOTIFIER) += \
|
||||
drivers/cam_utils/cam_notifier.o
|
||||
|
||||
camera-$(CONFIG_CAMERA_ADAPTIVE_MIPI) += \
|
||||
drivers/cam_sensor_module/cam_sensor/cam_sensor_mipi.o
|
||||
|
||||
camera-$(CONFIG_SENSOR_RETENTION) += \
|
||||
drivers/cam_sensor_module/cam_sensor/cam_sensor_retention.o \
|
||||
drivers/cam_sensor_module/cam_sensor/cam_sensor_s5khp2.o \
|
||||
drivers/cam_sensor_module/cam_sensor/cam_sensor_s5kgn3.o \
|
||||
drivers/cam_sensor_module/cam_sensor/cam_sensor_imx854.o \
|
||||
|
||||
camera-$(CONFIG_SEC_KUNIT) += \
|
||||
drivers/cam_sensor_module/cam_sensor_utils/kunit_test/cam_hw_bigdata_test.o \
|
||||
drivers/cam_sensor_module/cam_sensor_utils/kunit_test/cam_sec_eeprom_core_test.o \
|
||||
drivers/cam_sensor_module/cam_sensor_utils/kunit_test/cam_clock_data_recovery_test.o \
|
||||
drivers/kunit_test/camera_kunit_main.o \
|
||||
|
||||
GCOV_PROFILE_cam_hw_bigdata.o := $(CONFIG_SEC_KUNIT)
|
||||
GCOV_PROFILE_cam_sec_eeprom_core.o := $(CONFIG_SEC_KUNIT)
|
||||
GCOV_PROFILE_cam_clock_data_recovery.o := $(CONFIG_SEC_KUNIT)
|
||||
|
||||
camera-y += drivers/camera_main.o
|
||||
|
||||
obj-m += camera.o
|
||||
|
@ -114,3 +114,143 @@ config DYNAMIC_FD_PORT_CONFIG
|
||||
feature that allows the userspace to configure
|
||||
the FD port to secure or non-secure based on
|
||||
the FD solution in use in secure camera use cases.
|
||||
|
||||
config SAMSUNG_OIS_MCU_STM32
|
||||
bool "enable camera mcu stm32 module"
|
||||
help
|
||||
This is enabling camera mcu stm32 module.
|
||||
camera mcu module will be functional.
|
||||
This module interact with mcu HW to
|
||||
control ois and actuator.
|
||||
|
||||
config CAMERA_SYSFS_V2
|
||||
bool "enable camera sysfs v2 module"
|
||||
help
|
||||
This is enabling camera sysfs v2 module.
|
||||
camera sysfs v2 module will be functional.
|
||||
This module provide sysfs node for factory test.
|
||||
|
||||
config CAMERA_FRAME_CNT_DBG
|
||||
bool "enable camera frame count debug"
|
||||
help
|
||||
This is enabling frame count debug feature.
|
||||
camera frame count will be functional.
|
||||
|
||||
config CAMERA_FRAME_CNT_CHECK
|
||||
bool "enable frame count check feature"
|
||||
help
|
||||
This is enabling frame count check to ensure that
|
||||
sensor streams at least one frame before stream off.
|
||||
|
||||
config SAMSUNG_FRONT_EEPROM
|
||||
bool "enable front eeprom"
|
||||
help
|
||||
This is enabling front eeprom feature.
|
||||
|
||||
config SAMSUNG_REAR_DUAL
|
||||
bool "enable rear dual"
|
||||
help
|
||||
This is enabling samsung rear dual feature.
|
||||
device has at least two cameras facing rear.
|
||||
|
||||
config SAMSUNG_REAR_TRIPLE
|
||||
bool "enable rear triple"
|
||||
help
|
||||
This is enabling samsung rear triple feature.
|
||||
device has at least three cameras facing rear.
|
||||
|
||||
config SAMSUNG_REAR_QUADRA
|
||||
bool "enable rear quadra"
|
||||
help
|
||||
This is enabling samsung rear quadra feature.
|
||||
device has at least four cameras facing rear.
|
||||
|
||||
config SAMSUNG_CAMERA
|
||||
bool "enable samsung camera"
|
||||
help
|
||||
This is enabling samsung camera feature.
|
||||
samsung specialized functions will be functional.
|
||||
|
||||
config SENSOR_RETENTION
|
||||
bool "enable sensor retention"
|
||||
help
|
||||
This is enabling sensor retention feature.
|
||||
sensor retention will be functional.
|
||||
|
||||
config CAMERA_ADAPTIVE_MIPI
|
||||
bool "enable adaptive mipi module"
|
||||
help
|
||||
This is enabling adaptive mipi module.
|
||||
adaptive mipi module will be functional.
|
||||
MIPI data rate of sensor will be adjusted depends on RF.
|
||||
|
||||
config CAMERA_RF_MIPI
|
||||
bool "enable RF mipi"
|
||||
help
|
||||
This is enabling RF mipi feature.
|
||||
|
||||
config SAMSUNG_ACTUATOR_READ_HALL_VALUE
|
||||
bool "enable read hall value of actuator"
|
||||
help
|
||||
This is enabling actuator read hall value feature.
|
||||
actuator will provide api to read hall value.
|
||||
|
||||
config SAMSUNG_DEBUG_SENSOR_I2C
|
||||
bool "enable sensor i2c debug"
|
||||
help
|
||||
This is enabling sensor i2c debug feature.
|
||||
sensor will provide api to debug i2c.
|
||||
|
||||
config SAMSUNG_DEBUG_SENSOR_TIMING
|
||||
bool "enable sensor timing debug"
|
||||
help
|
||||
This is enabling sensor timing debug feature.
|
||||
sensor will provide api to debug timing.
|
||||
|
||||
config SAMSUNG_DEBUG_HW_INFO
|
||||
bool "enable sensor hw info debug"
|
||||
help
|
||||
This is enabling feature to debug sensor hw information.
|
||||
sensor will provide api to debug hardware information.
|
||||
|
||||
config USE_CAMERA_HW_BIG_DATA
|
||||
bool "enable hardware big data"
|
||||
help
|
||||
This is enabling feature to gather H/W big data.
|
||||
all sensor subdevices will provide error information
|
||||
related to H/W.
|
||||
|
||||
config CAMERA_CDR_TEST
|
||||
bool "enable CDR test"
|
||||
help
|
||||
This is enabling CDR test feature.
|
||||
|
||||
config CAMERA_HW_ERROR_DETECT
|
||||
bool "enable HW error detect"
|
||||
help
|
||||
This is enabling HW error detect.
|
||||
|
||||
config SAMSUNG_ACTUATOR_PREVENT_SHAKING
|
||||
bool "enable actuator prevent shaking"
|
||||
help
|
||||
This is enabling actuator prevent shaking feature.
|
||||
|
||||
config SAMSUNG_READ_BPC_FROM_OTP
|
||||
bool "enable read BPC from OTP"
|
||||
help
|
||||
This is enabling read BPC from OTP.
|
||||
|
||||
config SEC_E1Q_PROJECT
|
||||
bool "enable E1"
|
||||
help
|
||||
This is enabling E1 feature.
|
||||
|
||||
config SEC_E2Q_PROJECT
|
||||
bool "enable E2"
|
||||
help
|
||||
This is enabling E2 feature.
|
||||
|
||||
config SEC_E3Q_PROJECT
|
||||
bool "enable E3"
|
||||
help
|
||||
This is enabling E1 feature.
|
||||
|
@ -26,6 +26,247 @@ ccflags-y += -DCONFIG_DOMAIN_ID_SECURE_CAMERA=1
|
||||
ccflags-y += -DCONFIG_DYNAMIC_FD_PORT_CONFIG=1
|
||||
ccflags-y += -DCONFIG_CSF_2_5_SECURE_CAMERA=1
|
||||
|
||||
ifeq (y, $(filter y, \
|
||||
$(CONFIG_SEC_PLATFORM_MU1Q) \
|
||||
$(CONFIG_SEC_PLATFORM_MU2Q) \
|
||||
$(CONFIG_SEC_PLATFORM_MU3Q) \
|
||||
$(CONFIG_SEC_PLATFORM_E1Q) \
|
||||
$(CONFIG_SEC_PLATFORM_E2Q) \
|
||||
$(CONFIG_SEC_PLATFORM_E3Q) \
|
||||
$(CONFIG_SEC_PLATFORM_Q6Q) \
|
||||
$(CONFIG_SEC_PLATFORM_Q6AQ) \
|
||||
$(CONFIG_SEC_PLATFORM_B6Q) \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10P) \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10PWIFI) \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10U) \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10UWIFI)))
|
||||
CONFIG_CAMERA_SYSFS_V2 := y
|
||||
CONFIG_CAMERA_FRAME_CNT_DBG := y
|
||||
CONFIG_CAMERA_RF_MIPI := y
|
||||
CONFIG_SAMSUNG_DEBUG_SENSOR_I2C := y
|
||||
CONFIG_SAMSUNG_DEBUG_SENSOR_TIMING := y
|
||||
CONFIG_SAMSUNG_DEBUG_HW_INFO := y
|
||||
ifneq (y, $(filter y, \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10P) \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10PWIFI) \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10U) \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10UWIFI)))
|
||||
CONFIG_SAMSUNG_OIS_MCU_STM32 := y
|
||||
CONFIG_SENSOR_RETENTION := y
|
||||
CONFIG_CAMERA_ADAPTIVE_MIPI := y
|
||||
endif
|
||||
CONFIG_CAMERA_CDR_TEST := y
|
||||
CONFIG_CAMERA_HW_ERROR_DETECT := y
|
||||
CONFIG_SAMSUNG_CAMERA := y
|
||||
ifneq (y, $(filter y, \
|
||||
$(CONFIG_SEC_PLATFORM_B6Q) \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10P) \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10PWIFI) \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10U) \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10UWIFI)))
|
||||
CONFIG_SAMSUNG_REAR_TRIPLE := y
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq (y, $(filter y, \
|
||||
$(CONFIG_SEC_PLATFORM_MU1Q) \
|
||||
$(CONFIG_SEC_PLATFORM_E1Q)))
|
||||
CONFIG_SEC_E1Q_PROJECT := y
|
||||
CONFIG_SAMSUNG_FRONT_CAMERA_ACTUATOR := y
|
||||
endif
|
||||
|
||||
ifeq (y, $(filter y, \
|
||||
$(CONFIG_SEC_PLATFORM_MU2Q) \
|
||||
$(CONFIG_SEC_PLATFORM_E2Q)))
|
||||
CONFIG_SEC_E2Q_PROJECT := y
|
||||
CONFIG_SAMSUNG_FRONT_CAMERA_ACTUATOR := y
|
||||
endif
|
||||
|
||||
ifeq (y, $(filter y, \
|
||||
$(CONFIG_SEC_PLATFORM_MU3Q) \
|
||||
$(CONFIG_SEC_PLATFORM_E3Q)))
|
||||
CONFIG_SEC_E3Q_PROJECT := y
|
||||
CONFIG_SAMSUNG_REAR_QUADRA := y
|
||||
CONFIG_SAMSUNG_ACTUATOR_PREVENT_SHAKING := y
|
||||
CONFIG_SAMSUNG_READ_BPC_FROM_OTP := y
|
||||
CONFIG_SAMSUNG_WACOM_NOTIFIER := y
|
||||
CONFIG_SAMSUNG_SUPPORT_RUMBA_FW_UPDATE := y
|
||||
CONFIG_SAMSUNG_FRONT_CAMERA_ACTUATOR := y
|
||||
endif
|
||||
|
||||
ifeq (y, $(filter y, \
|
||||
$(CONFIG_SEC_PLATFORM_Q6Q)))
|
||||
CONFIG_SEC_Q6Q_PROJECT := y
|
||||
CONFIG_SAMSUNG_FRONT_TOP :=y
|
||||
CONFIG_SAMSUNG_FRONT_TOP_EEPROM :=y
|
||||
CONFIG_SOF_FREEZE_FRAME_CNT_READ :=y
|
||||
endif
|
||||
|
||||
ifeq (y, $(filter y, \
|
||||
$(CONFIG_SEC_PLATFORM_Q6AQ)))
|
||||
CONFIG_SEC_Q6AQ_PROJECT := y
|
||||
CONFIG_SAMSUNG_FRONT_TOP :=y
|
||||
CONFIG_SAMSUNG_FRONT_TOP_EEPROM :=y
|
||||
CONFIG_SAMSUNG_ACTUATOR_PREVENT_SHAKING := y
|
||||
CONFIG_SAMSUNG_READ_BPC_FROM_OTP := y
|
||||
CONFIG_SAMSUNG_SENSOR_TEMP := y
|
||||
endif
|
||||
|
||||
ifeq (y, $(filter y, \
|
||||
$(CONFIG_SEC_PLATFORM_B6Q)))
|
||||
CONFIG_SEC_B6Q_PROJECT := y
|
||||
CONFIG_SEC_GPIO_ENABLED_VREG := y
|
||||
CONFIG_SAMSUNG_PMIC_FLASH := y
|
||||
CONFIG_SAMSUNG_OIS_ADC_TEMPERATURE_SUPPORT := y
|
||||
ifeq ($(TARGET_PRODUCT), $(filter $(TARGET_PRODUCT),b6qzcx b6qzhx))
|
||||
CONFIG_SEC_B6Q_CHN_PROJECT := y
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq (y, $(filter y, \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10P) \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10PWIFI)))
|
||||
CONFIG_SEC_GTS10P_PROJECT := y
|
||||
CONFIG_HI847_OTP := y
|
||||
CONFIG_HI1337_OTP := y
|
||||
CONFIG_SAMSUNG_PMIC_FLASH := y
|
||||
CONFIG_SAMSUNG_ACTUATOR_HW_SOFTLANDING := y
|
||||
endif
|
||||
|
||||
ifeq (y, $(filter y, \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10U) \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10UWIFI)))
|
||||
CONFIG_SEC_GTS10U_PROJECT := y
|
||||
CONFIG_HI847_OTP := y
|
||||
CONFIG_SAMSUNG_PMIC_FLASH := y
|
||||
CONFIG_SAMSUNG_FRONT_DUAL := y
|
||||
CONFIG_SAMSUNG_FRONT_TOP_EEPROM := y
|
||||
CONFIG_SAMSUNG_ACTUATOR_HW_SOFTLANDING := y
|
||||
endif
|
||||
|
||||
ifeq (y, $(filter y, \
|
||||
$(CONFIG_SEC_PLATFORM_MU1Q) \
|
||||
$(CONFIG_SEC_PLATFORM_MU2Q) \
|
||||
$(CONFIG_SEC_PLATFORM_MU3Q) \
|
||||
$(CONFIG_SEC_PLATFORM_E1Q) \
|
||||
$(CONFIG_SEC_PLATFORM_E2Q) \
|
||||
$(CONFIG_SEC_PLATFORM_E3Q) \
|
||||
$(CONFIG_SEC_PLATFORM_Q6Q) \
|
||||
$(CONFIG_SEC_PLATFORM_Q6AQ) \
|
||||
$(CONFIG_SEC_PLATFORM_B6Q) \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10P) \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10PWIFI) \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10U) \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10UWIFI)))
|
||||
ccflags-y += -DCONFIG_CAMERA_SYSFS_V2=1
|
||||
ccflags-y += -DCONFIG_CAMERA_FRAME_CNT_DBG=1
|
||||
ccflags-y += -DCONFIG_CAMERA_FRAME_CNT_CHECK=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_FRONT_EEPROM=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_REAR_DUAL=1
|
||||
ifneq (y, $(filter y, \
|
||||
$(CONFIG_SEC_PLATFORM_B6Q) \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10P) \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10PWIFI) \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10U) \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10UWIFI)))
|
||||
ccflags-y += -DCONFIG_SAMSUNG_REAR_TRIPLE=1
|
||||
endif
|
||||
ccflags-y += -DCONFIG_USE_CAMERA_HW_BIG_DATA=1
|
||||
ccflags-y += -DCONFIG_CAMERA_RF_MIPI=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_DEBUG_SENSOR_I2C=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_DEBUG_SENSOR_TIMING=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_DEBUG_HW_INFO=1
|
||||
ifneq (y, $(filter y, \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10P) \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10PWIFI) \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10U) \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10UWIFI)))
|
||||
ccflags-y += -DCONFIG_SAMSUNG_ACTUATOR_READ_HALL_VALUE=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_OIS_MCU_STM32=1
|
||||
ccflags-y += -DCONFIG_SENSOR_RETENTION=1
|
||||
ccflags-y += -DCONFIG_CAMERA_ADAPTIVE_MIPI=1
|
||||
endif
|
||||
ccflags-y += -DCONFIG_CAMERA_CDR_TEST=1
|
||||
ccflags-y += -DCONFIG_CAMERA_HW_ERROR_DETECT=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_CAMERA=1
|
||||
endif
|
||||
|
||||
ifeq (y, $(filter y, \
|
||||
$(CONFIG_SEC_PLATFORM_MU1Q) \
|
||||
$(CONFIG_SEC_PLATFORM_E1Q)))
|
||||
ccflags-y += -DCONFIG_SEC_E1Q_PROJECT=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_FRONT_CAMERA_ACTUATOR=1
|
||||
endif
|
||||
|
||||
ifeq (y, $(filter y, \
|
||||
$(CONFIG_SEC_PLATFORM_MU2Q) \
|
||||
$(CONFIG_SEC_PLATFORM_E2Q)))
|
||||
ccflags-y += -DCONFIG_SEC_E2Q_PROJECT=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_FRONT_CAMERA_ACTUATOR=1
|
||||
endif
|
||||
|
||||
ifeq (y, $(filter y, \
|
||||
$(CONFIG_SEC_PLATFORM_MU3Q) \
|
||||
$(CONFIG_SEC_PLATFORM_E3Q)))
|
||||
ccflags-y += -DCONFIG_SEC_E3Q_PROJECT=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_REAR_QUADRA=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_ACTUATOR_PREVENT_SHAKING=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_READ_BPC_FROM_OTP=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_WACOM_NOTIFIER=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_SUPPORT_RUMBA_FW_UPDATE=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_FRONT_CAMERA_ACTUATOR=1
|
||||
endif
|
||||
|
||||
ifeq (y, $(filter y, \
|
||||
$(CONFIG_SEC_PLATFORM_Q6Q)))
|
||||
ccflags-y += -DCONFIG_SEC_Q6Q_PROJECT=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_FRONT_TOP=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_FRONT_TOP_EEPROM=1
|
||||
ccflags-y += -DCONFIG_SOF_FREEZE_FRAME_CNT_READ=1
|
||||
endif
|
||||
|
||||
ifeq (y, $(filter y, \
|
||||
$(CONFIG_SEC_PLATFORM_Q6AQ)))
|
||||
ccflags-y += -DCONFIG_SEC_Q6AQ_PROJECT=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_FRONT_TOP=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_FRONT_TOP_EEPROM=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_ACTUATOR_PREVENT_SHAKING=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_READ_BPC_FROM_OTP=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_SENSOR_TEMP=1
|
||||
endif
|
||||
|
||||
ifeq (y, $(filter y, \
|
||||
$(CONFIG_SEC_PLATFORM_B6Q)))
|
||||
ccflags-y += -DCONFIG_SEC_B6Q_PROJECT=1
|
||||
ccflags-y += -DCONFIG_SEC_GPIO_ENABLED_VREG=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_PMIC_FLASH=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_OIS_ADC_TEMPERATURE_SUPPORT=1
|
||||
ifeq ($(TARGET_PRODUCT), $(filter $(TARGET_PRODUCT),b6qzcx b6qzhx))
|
||||
ccflags-y += -DCONFIG_SEC_B6Q_CHN_PROJECT=1
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq (y, $(filter y, \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10P) \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10PWIFI)))
|
||||
ccflags-y += -DCONFIG_SEC_GTS10P_PROJECT=1
|
||||
ccflags-y += -DCONFIG_HI847_OTP=1
|
||||
ccflags-y += -DCONFIG_HI1337_OTP=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_PMIC_FLASH=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_ACTUATOR_HW_SOFTLANDING=1
|
||||
endif
|
||||
|
||||
ifeq (y, $(filter y, \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10U) \
|
||||
$(CONFIG_SEC_PLATFORM_GTS10UWIFI)))
|
||||
ccflags-y += -DCONFIG_SEC_GTS10U_PROJECT=1
|
||||
ccflags-y += -DCONFIG_HI847_OTP=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_PMIC_FLASH=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_FRONT_TOP_EEPROM=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_FRONT_DUAL=1
|
||||
ccflags-y += -DCONFIG_SAMSUNG_ACTUATOR_HW_SOFTLANDING=1
|
||||
endif
|
||||
|
||||
# External Dependencies
|
||||
KBUILD_CPPFLAGS += -DCONFIG_MSM_MMRM=1
|
||||
ifeq ($(CONFIG_QCOM_VA_MINIDUMP), y)
|
||||
|
@ -59,8 +59,10 @@
|
||||
/* AEB error count threshold */
|
||||
#define CAM_ISP_CONTEXT_AEB_ERROR_CNT_MAX 6
|
||||
|
||||
#define CAM_ISP_CONTEXT_MAX_INTERNAL_RECOVERY_ATTEMPTS 7
|
||||
|
||||
/* Debug Buffer length*/
|
||||
#define CAM_ISP_CONTEXT_DBG_BUF_LEN 1000
|
||||
#define CAM_ISP_CONTEXT_DBG_BUF_LEN 300
|
||||
|
||||
/* AFD pipeline delay for FCG configuration */
|
||||
#define CAM_ISP_AFD_PIPELINE_DELAY 3
|
||||
@ -182,6 +184,7 @@ struct cam_isp_ctx_irq_ops {
|
||||
* @hw_update_data: HW update data for this request
|
||||
* @reapply_type: Determines type of settings to be re-applied
|
||||
* @event_timestamp: Timestamp for different stage of request
|
||||
* @internal_recovery_attempts: Number of internal recovery attempts
|
||||
* @cdm_reset_before_apply: For bubble re-apply when buf done not coming set
|
||||
* to True
|
||||
*
|
||||
@ -202,6 +205,7 @@ struct cam_isp_ctx_req {
|
||||
enum cam_hw_config_reapply_type reapply_type;
|
||||
ktime_t event_timestamp
|
||||
[CAM_ISP_CTX_EVENT_MAX];
|
||||
uint32_t internal_recovery_attempts;
|
||||
bool bubble_detected;
|
||||
bool cdm_reset_before_apply;
|
||||
};
|
||||
|
@ -88,6 +88,11 @@ struct cam_ife_hw_mgr_debug {
|
||||
bool disable_isp_drv;
|
||||
bool enable_presil_reg_dump;
|
||||
bool enable_cdm_cmd_check;
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_TIMING)
|
||||
uint32_t csid_dbg_fps;
|
||||
uint32_t vfe_dbg_fps;
|
||||
uint32_t dbg_mode_switch;
|
||||
#endif
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -331,6 +331,11 @@ struct cam_ife_csid_debug_info {
|
||||
uint32_t test_bus_val;
|
||||
bool rx_capture_debug_set;
|
||||
bool test_bus_enabled;
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_TIMING)
|
||||
uint32_t dbg_fps;
|
||||
uint32_t dbg_mode_switch;
|
||||
uint32_t sof_path_mask;
|
||||
#endif
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -28,6 +28,42 @@
|
||||
#include "cam_subdev.h"
|
||||
#include "cam_compat.h"
|
||||
|
||||
#if defined(CONFIG_CAMERA_CDR_TEST)
|
||||
#include "cam_clock_data_recovery.h"
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_USE_CAMERA_HW_BIG_DATA)
|
||||
#include "cam_sensor_cmn_header.h"
|
||||
#include "cam_hw_bigdata.h"
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SEC_E1Q_PROJECT) || defined(CONFIG_SEC_E2Q_PROJECT) || defined(CONFIG_SEC_E3Q_PROJECT)\
|
||||
|| defined(CONFIG_SEC_Q6Q_PROJECT) || defined(CONFIG_SEC_B6Q_PROJECT) || defined(CONFIG_SEC_GTS10P_PROJECT) || defined(CONFIG_SEC_GTS10U_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT)
|
||||
// adb shell "echo 5,2115840000,4000 > /sys/module/camera/parameters/debug_hbi_vbi"
|
||||
static int debug_hbi_vbi_count;
|
||||
static unsigned int debug_hbi_vbi[3]; //phy, outputPixelClock, sensor width
|
||||
module_param_array(debug_hbi_vbi, uint, &debug_hbi_vbi_count, 0644);
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_TIMING)
|
||||
#define CAM_ISP_DBG_SOF_INTERVAL_RECORD_MAX (10)
|
||||
#define CAM_ISP_DBG_RDI0_SOF_CSID_HW_IDX_MAX (3)//2
|
||||
struct st_timing_record {
|
||||
uint32_t mup_change;
|
||||
uint32_t first_sof_after_mup;
|
||||
};
|
||||
|
||||
struct st_timing_record ts_info_by_csid[CAM_ISP_DBG_RDI0_SOF_CSID_HW_IDX_MAX] = { 0, };
|
||||
static uint32_t count_sof_record[CAM_ISP_DBG_RDI0_SOF_CSID_HW_IDX_MAX] = { 0, };
|
||||
static uint32_t ts_sof_interval[CAM_ISP_DBG_RDI0_SOF_CSID_HW_IDX_MAX][CAM_ISP_DBG_SOF_INTERVAL_RECORD_MAX] = { {0,}, };
|
||||
static void cam_ife_csid_ver2_dump_sof_ts(struct cam_ife_csid_ver2_hw* csid_hw);
|
||||
static int cam_ife_csid_ver2_sof_irq_debug_4_mode_switch(
|
||||
struct cam_ife_csid_ver2_hw* csid_hw,
|
||||
void* cmd_args, bool sof_en);
|
||||
static void cam_ife_csid_ver2_record_sof_ts(struct cam_ife_csid_ver2_hw* csid_hw,
|
||||
uint32_t irq_status);
|
||||
#endif
|
||||
|
||||
/* CSIPHY TPG VC/DT values */
|
||||
#define CAM_IFE_CPHY_TPG_VC_VAL 0x0
|
||||
#define CAM_IFE_CPHY_TPG_DT_VAL 0x2B
|
||||
@ -54,10 +90,14 @@
|
||||
#define CAM_IFE_CSID_MAX_IRQ_ERROR_COUNT 100
|
||||
|
||||
/* Max sensor switch out of sync threshold */
|
||||
#define CAM_IFE_CSID_MAX_OUT_OF_SYNC_ERR_COUNT 3
|
||||
#define CAM_IFE_CSID_MAX_OUT_OF_SYNC_ERR_COUNT 4
|
||||
|
||||
#define CAM_CSID_IRQ_CTRL_NAME_LEN 10
|
||||
|
||||
#define INC_HEAD(head, max_entries, ret) \
|
||||
div_u64_rem(atomic64_add_return(1, head),\
|
||||
max_entries, (ret))
|
||||
|
||||
static void cam_ife_csid_ver2_print_debug_reg_status(
|
||||
struct cam_ife_csid_ver2_hw *csid_hw,
|
||||
struct cam_isp_resource_node *res);
|
||||
@ -235,6 +275,10 @@ static int cam_ife_csid_ver2_set_debug(
|
||||
sizeof(struct cam_ife_csid_debug_info));
|
||||
csid_hw->debug_info.debug_val = debug_args->csid_debug;
|
||||
csid_hw->debug_info.test_bus_val = debug_args->csid_testbus_debug;
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_TIMING)
|
||||
csid_hw->debug_info.dbg_fps = debug_args->csid_dbg_fps;
|
||||
csid_hw->debug_info.dbg_mode_switch = debug_args->dbg_mode_switch;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* RX capture debug
|
||||
@ -365,6 +409,14 @@ static int cam_ife_csid_ver2_sof_irq_debug(
|
||||
sof_irq_enable, &irq_mask);
|
||||
}
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_TIMING)
|
||||
if (csid_hw->debug_info.dbg_mode_switch != 0 ||
|
||||
((csid_hw->debug_info.sof_path_mask & IFE_CSID_VER2_PATH_INFO_INPUT_SOF) ==
|
||||
IFE_CSID_VER2_PATH_INFO_INPUT_SOF)) {
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (sof_irq_enable) {
|
||||
csid_hw->debug_info.path_mask |=
|
||||
IFE_CSID_VER2_PATH_INFO_INPUT_SOF;
|
||||
@ -389,9 +441,15 @@ static int cam_ife_csid_ver2_sof_irq_debug(
|
||||
data_idx);
|
||||
cam_subdev_notify_message(CAM_CSIPHY_DEVICE_TYPE,
|
||||
CAM_SUBDEV_MESSAGE_REG_DUMP, (void *)&data_idx);
|
||||
#if defined(CONFIG_USE_CAMERA_HW_BIG_DATA)
|
||||
hw_bigdata_mipi_from_ife_csid_ver2(csid_hw->rx_cfg.phy_sel - 1);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_TIMING)
|
||||
if (csid_hw->debug_info.dbg_mode_switch != 0)
|
||||
cam_ife_csid_ver2_dump_sof_ts(csid_hw);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1511,6 +1569,20 @@ static int cam_ife_csid_ver2_rx_err_bottom_half(
|
||||
if (!event_type)
|
||||
event_type |= CAM_ISP_HW_ERROR_CSID_FATAL;
|
||||
|
||||
#if IS_ENABLED(CONFIG_SEC_ABC)
|
||||
cam_abc_send_event_mipi_error(csid_hw->rx_cfg.phy_sel - 1);
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_HW_INFO)
|
||||
cam_check_error_sensor_type(csid_hw->rx_cfg.phy_sel - 1);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_USE_CAMERA_HW_BIG_DATA)
|
||||
hw_bigdata_mipi_from_ife_csid_ver2(csid_hw->rx_cfg.phy_sel - 1);
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_CAMERA_CDR_TEST)
|
||||
cam_clock_data_recovery_set_result(CDR_ERROR_MIPI);
|
||||
#endif
|
||||
if (data_idx < 0)
|
||||
CAM_WARN(CAM_ISP, "Can't notify csiphy, incorrect phy selected=%d",
|
||||
data_idx);
|
||||
@ -1772,6 +1844,41 @@ static void cam_ife_csid_ver2_print_debug_reg_status(
|
||||
val3, res->res_name);
|
||||
}
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_TIMING)
|
||||
#include <linux/ktime.h>
|
||||
static ktime_t sof_ts, sof_curr_ts, eof_ts;
|
||||
|
||||
static void cam_ife_csid_ver2_print_debug_sensor_timing(
|
||||
struct cam_ife_csid_ver2_hw* csid_hw,
|
||||
uint32_t port_index,
|
||||
uint32_t irq_status)
|
||||
{
|
||||
uint32_t hw_idx = (csid_hw->debug_info.dbg_fps >> 4) & 0xF;
|
||||
uint32_t port_id = csid_hw->debug_info.dbg_fps & 0xF;
|
||||
|
||||
if (csid_hw->debug_info.dbg_fps == 0)
|
||||
return;
|
||||
|
||||
if ((csid_hw->hw_intf->hw_idx == hw_idx) && // csid idx
|
||||
(port_index == port_id)) // RDI 0 (2), IPP(7), ref: CAM_IFE_CSID_IRQ_REG_RDI_0
|
||||
{
|
||||
if (irq_status & IFE_CSID_VER2_PATH_INFO_INPUT_SOF) // SOF
|
||||
{
|
||||
sof_curr_ts = ktime_get();
|
||||
CAM_INFO(CAM_ISP, "sof-sof %d us",
|
||||
ktime_to_us(ktime_sub(sof_curr_ts, sof_ts)));
|
||||
sof_ts = sof_curr_ts;
|
||||
}
|
||||
else if (irq_status & IFE_CSID_VER2_PATH_INFO_INPUT_EOF)
|
||||
{
|
||||
eof_ts = ktime_get();
|
||||
CAM_INFO(CAM_ISP, "vvalid %d us",
|
||||
ktime_to_us(ktime_sub(eof_ts, sof_ts)));
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
static int cam_ife_csid_ver2_parse_path_irq_status(
|
||||
struct cam_ife_csid_ver2_hw *csid_hw,
|
||||
struct cam_isp_resource_node *res,
|
||||
@ -1814,6 +1921,21 @@ static int cam_ife_csid_ver2_parse_path_irq_status(
|
||||
csid_hw->hw_intf->hw_idx, irq_reg_tag[index],
|
||||
irq_status, log_buf);
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_TIMING)
|
||||
if (((csid_hw->debug_info.sof_path_mask & IFE_CSID_VER2_PATH_INFO_INPUT_SOF) ==
|
||||
IFE_CSID_VER2_PATH_INFO_INPUT_SOF) &&
|
||||
((csid_hw->debug_info.path_mask & IFE_CSID_VER2_PATH_INFO_INPUT_SOF) == 0)) {
|
||||
|
||||
uint32_t img_port_id = (csid_hw->flags.sfe_en == true) ? CAM_IFE_CSID_IRQ_REG_RDI_0 :
|
||||
CAM_IFE_CSID_IRQ_REG_IPP;
|
||||
|
||||
if (index == img_port_id) {
|
||||
cam_ife_csid_ver2_record_sof_ts(csid_hw, irq_status);
|
||||
}
|
||||
goto skip_irq_stat_print;
|
||||
}
|
||||
#endif
|
||||
|
||||
status = irq_status & csid_hw->debug_info.path_mask;
|
||||
bit_pos = 0;
|
||||
while (status) {
|
||||
@ -1824,6 +1946,11 @@ static int cam_ife_csid_ver2_parse_path_irq_status(
|
||||
evt_payload->timestamp.tv_sec,
|
||||
evt_payload->timestamp.tv_nsec);
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_TIMING)
|
||||
if (status & 0x1)
|
||||
cam_ife_csid_ver2_print_debug_sensor_timing(csid_hw, index, irq_status);
|
||||
#endif
|
||||
|
||||
bit_pos++;
|
||||
status >>= 1;
|
||||
}
|
||||
@ -1839,7 +1966,9 @@ static int cam_ife_csid_ver2_parse_path_irq_status(
|
||||
csid_hw->counters.irq_debug_cnt = 0;
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_TIMING)
|
||||
skip_irq_stat_print:
|
||||
#endif
|
||||
return err_type;
|
||||
}
|
||||
|
||||
@ -2514,16 +2643,17 @@ static int cam_ife_csid_ver2_wait_for_reset(
|
||||
cam_io_r_mb(
|
||||
soc_info->reg_map[CAM_IFE_CSID_CLC_MEM_BASE_ID].mem_base +
|
||||
csid_reg->cmn_reg->test_bus_debug));
|
||||
} else
|
||||
} else {
|
||||
CAM_ERR(CAM_ISP, "CSID[%u], sync-mode[%d] reset timed out",
|
||||
csid_hw->hw_intf->hw_idx, csid_hw->sync_mode);
|
||||
|
||||
}
|
||||
cam_ife_csid_ver2_dump_imp_regs(csid_hw);
|
||||
} else
|
||||
} else {
|
||||
CAM_DBG(CAM_ISP,
|
||||
"CSID[%u], sync-mode[%d] reset success",
|
||||
csid_hw->hw_intf->hw_idx,
|
||||
csid_hw->sync_mode);
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
@ -2823,6 +2953,7 @@ static int cam_ife_csid_ver2_disable_path(
|
||||
path_cfg->skip_discard_frame_cfg = false;
|
||||
path_cfg->num_frames_discard = 0;
|
||||
path_cfg->sof_cnt = 0;
|
||||
atomic64_set(&path_cfg->frame_stats_cntr, -1);
|
||||
atomic_set(&path_cfg->switch_out_of_sync_cnt, 0);
|
||||
return rc;
|
||||
}
|
||||
@ -5375,6 +5506,9 @@ static void cam_ife_csid_ver2_send_secure_info(
|
||||
secure_info.vc_mask = 0;
|
||||
secure_info.csid_hw_idx_mask = BIT(csid_hw->hw_intf->hw_idx);
|
||||
|
||||
if (csid_hw->sync_mode == CAM_ISP_HW_SYNC_MASTER)
|
||||
secure_info.csid_hw_idx_mask |= BIT(csid_hw->dual_core_idx);
|
||||
|
||||
CAM_DBG(CAM_ISP,
|
||||
"PHY secure info for CSID[%u], lane_cfg: 0x%x, ife: 0x%x, cdm: 0x%x, vc_mask: 0x%llx",
|
||||
csid_hw->hw_intf->hw_idx,
|
||||
@ -5395,6 +5529,56 @@ static void cam_ife_csid_ver2_send_secure_info(
|
||||
|
||||
}
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_I2C)
|
||||
void cam_ife_csid_ver2_debug_mup_vc_dt(struct cam_ife_csid_ver2_hw* csid_hw)
|
||||
{
|
||||
#define MAX_RES_CHK (5)
|
||||
struct sdebug_res_info {
|
||||
uint32_t id;
|
||||
const char* name;
|
||||
bool sfe_en;
|
||||
};
|
||||
uint32_t vc0 = 0, vc1 = 0, dt0 = 0, dt1 = 0;
|
||||
uint32_t val, i;
|
||||
struct sdebug_res_info check_path_res_info[MAX_RES_CHK] = {
|
||||
{CAM_IFE_PIX_PATH_RES_IPP, "IPP", false},
|
||||
{CAM_IFE_PIX_PATH_RES_PPP, "PPP", false},
|
||||
{CAM_IFE_PIX_PATH_RES_RDI_0, "RDI_0", true},
|
||||
{CAM_IFE_PIX_PATH_RES_RDI_1, "RDI_1", true},
|
||||
{CAM_IFE_PIX_PATH_RES_RDI_3, "RDI_3", true},
|
||||
};
|
||||
struct cam_hw_soc_info* soc_info;
|
||||
const struct cam_ife_csid_ver2_reg_info* csid_reg;
|
||||
void __iomem* mem_base;
|
||||
|
||||
if (csid_hw == NULL) return;
|
||||
|
||||
soc_info = &csid_hw->hw_info->soc_info;
|
||||
mem_base = soc_info->reg_map[CAM_IFE_CSID_CLC_MEM_BASE_ID].mem_base;
|
||||
csid_reg = (struct cam_ife_csid_ver2_reg_info*)
|
||||
csid_hw->core_info->csid_reg;
|
||||
|
||||
for (i = 0; i < MAX_RES_CHK; i++) {
|
||||
if (!csid_reg->path_reg[check_path_res_info[i].id]) continue;
|
||||
if ((csid_hw->flags.sfe_en && !check_path_res_info[i].sfe_en) ||
|
||||
(!csid_hw->flags.sfe_en && check_path_res_info[i].sfe_en))
|
||||
continue;
|
||||
|
||||
val = cam_io_r_mb(mem_base + csid_reg->path_reg[check_path_res_info[i].id]->cfg0_addr);
|
||||
vc0 = (val >> csid_reg->cmn_reg->vc_shift_val) & csid_reg->cmn_reg->vc_mask;
|
||||
dt0 = (val >> csid_reg->cmn_reg->dt_shift_val) & csid_reg->cmn_reg->dt_mask;
|
||||
|
||||
val = cam_io_r_mb(mem_base + csid_reg->path_reg[check_path_res_info[i].id]->multi_vcdt_cfg0_addr);
|
||||
vc1 = (val >> csid_reg->cmn_reg->multi_vcdt_vc1_shift_val) & csid_reg->cmn_reg->vc_mask;
|
||||
dt1 = (val >> csid_reg->cmn_reg->multi_vcdt_dt1_shift_val) & csid_reg->cmn_reg->dt_mask;
|
||||
|
||||
CAM_DBG(CAM_ISP, "[AEB_DBG] CSID[%d] %s vc %d:%d dt 0x%x:0x%x",
|
||||
csid_hw->hw_intf->hw_idx, check_path_res_info[i].name, vc0, vc1, dt0, dt1
|
||||
);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
int cam_ife_csid_ver2_start(void *hw_priv, void *args,
|
||||
uint32_t arg_size)
|
||||
{
|
||||
@ -5644,6 +5828,10 @@ int cam_ife_csid_ver2_start(void *hw_priv, void *args,
|
||||
csid_hw->hw_intf->hw_idx);
|
||||
}
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_I2C)
|
||||
cam_ife_csid_ver2_debug_mup_vc_dt(csid_hw);
|
||||
#endif
|
||||
|
||||
csid_hw->flags.reset_awaited = false;
|
||||
end:
|
||||
mutex_unlock(&csid_hw->hw_info->hw_mutex);
|
||||
@ -6111,6 +6299,76 @@ static int cam_ife_csid_ver2_reg_update(
|
||||
return rc;
|
||||
}
|
||||
|
||||
static int cam_ife_csid_ver2_get_path_time_stamp(
|
||||
struct cam_ife_csid_ver2_hw *csid_hw, void *cmd_args)
|
||||
{
|
||||
const struct cam_ife_csid_ver2_path_reg_info *path_reg;
|
||||
struct cam_ife_csid_ver2_path_cfg *path_cfg = NULL;
|
||||
struct cam_hw_soc_info *soc_info;
|
||||
struct cam_ife_csid_ver2_reg_info *csid_reg;
|
||||
struct cam_isp_resource_node *res;
|
||||
int i = 0;
|
||||
|
||||
csid_reg = (struct cam_ife_csid_ver2_reg_info *)
|
||||
csid_hw->core_info->csid_reg;
|
||||
soc_info = &csid_hw->hw_info->soc_info;
|
||||
|
||||
if (csid_hw->hw_info->hw_state != CAM_HW_STATE_POWER_UP) {
|
||||
CAM_ERR(CAM_ISP, "CSID:%u Invalid dev state :%d",
|
||||
csid_hw->hw_intf->hw_idx,
|
||||
csid_hw->hw_info->hw_state);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
|
||||
for (i = CAM_IFE_PIX_PATH_RES_RDI_0; i <= CAM_IFE_PIX_PATH_RES_PPP; i++) {
|
||||
res = &csid_hw->path_res[i];
|
||||
path_cfg = (struct cam_ife_csid_ver2_path_cfg *)res->res_priv;
|
||||
if (!path_cfg)
|
||||
continue;
|
||||
|
||||
path_reg = csid_reg->path_reg[i];
|
||||
if (!path_reg) {
|
||||
CAM_ERR(CAM_ISP, "CSID:%u Invalid res :%d",
|
||||
csid_hw->hw_intf->hw_idx, i);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
CAM_INFO(CAM_ISP, "CSID:%u Resource[id:%d name: %s]",
|
||||
csid_hw->hw_intf->hw_idx, res->res_id, res->res_name);
|
||||
|
||||
CAM_INFO(CAM_ISP,
|
||||
"qtimer current [SOF: 0x%llx EOF: 0x%llx] prev [SOF: 0x%llx EOF: 0x%llx]",
|
||||
__cam_ife_csid_ver2_get_time_stamp(
|
||||
soc_info->reg_map[0].mem_base,
|
||||
path_reg->timestamp_curr0_sof_addr,
|
||||
path_reg->timestamp_curr1_sof_addr,
|
||||
path_cfg->ts_comb_vcdt_en,
|
||||
csid_reg->cmn_reg->ts_comb_vcdt_mask),
|
||||
__cam_ife_csid_ver2_get_time_stamp(
|
||||
soc_info->reg_map[0].mem_base,
|
||||
path_reg->timestamp_curr0_eof_addr,
|
||||
path_reg->timestamp_curr1_eof_addr,
|
||||
path_cfg->ts_comb_vcdt_en,
|
||||
csid_reg->cmn_reg->ts_comb_vcdt_mask),
|
||||
__cam_ife_csid_ver2_get_time_stamp(
|
||||
soc_info->reg_map[0].mem_base,
|
||||
path_reg->timestamp_perv0_sof_addr,
|
||||
path_reg->timestamp_perv1_sof_addr,
|
||||
path_cfg->ts_comb_vcdt_en,
|
||||
csid_reg->cmn_reg->ts_comb_vcdt_mask),
|
||||
__cam_ife_csid_ver2_get_time_stamp(
|
||||
soc_info->reg_map[0].mem_base,
|
||||
path_reg->timestamp_perv0_eof_addr,
|
||||
path_reg->timestamp_perv1_eof_addr,
|
||||
path_cfg->ts_comb_vcdt_en,
|
||||
csid_reg->cmn_reg->ts_comb_vcdt_mask));
|
||||
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int cam_ife_csid_ver2_program_offline_go_cmd(
|
||||
struct cam_ife_csid_ver2_hw *csid_hw,
|
||||
void *cmd_args, uint32_t arg_size)
|
||||
@ -6299,6 +6557,89 @@ static int cam_ife_csid_ver2_print_hbi_vbi(
|
||||
"CSID[%u] Resource[id:%d name:%s hbi 0x%x vbi 0x%x]",
|
||||
csid_hw->hw_intf->hw_idx, res->res_id, res->res_name, hbi, vbi);
|
||||
|
||||
#if defined(CONFIG_SEC_E1Q_PROJECT) || defined(CONFIG_SEC_E2Q_PROJECT) || defined(CONFIG_SEC_E3Q_PROJECT)\
|
||||
|| defined(CONFIG_SEC_Q6Q_PROJECT) || defined(CONFIG_SEC_B6Q_PROJECT) || defined(CONFIG_SEC_GTS10P_PROJECT) || defined(CONFIG_SEC_GTS10U_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT)
|
||||
if (debug_hbi_vbi[0] == csid_hw->rx_cfg.phy_sel - 1) {
|
||||
/*
|
||||
minHorizontalBlanking= RoundUp(OutputPixClkRate*csidHBIcycles/CSIDclockRate)
|
||||
minCSIDVerticalBlanking=(csidVBIcycles/Ceiling((OutputWidthPixels+csidHBICycles),32)
|
||||
minVerticalBlanking= RoundUp(OutputPixClkRate*minCSIDVerticalBlanking)/CSIDClockRate)
|
||||
*/
|
||||
uint64_t csidClockRate = 400000000;
|
||||
uint64_t measure_h_blank = 0;
|
||||
uint64_t measure_v_blank = 0;
|
||||
uint64_t min_csid_v_blank = 0;
|
||||
uint64_t csidHBIcycles = hbi & 0xFFF;
|
||||
uint64_t csidVBIcycles = vbi & 0xFFFFFFFF;
|
||||
uint64_t temp = 0;
|
||||
|
||||
measure_h_blank = (debug_hbi_vbi[1] * csidHBIcycles) / csidClockRate;
|
||||
temp = (debug_hbi_vbi[2] + csidHBIcycles)/32;
|
||||
min_csid_v_blank = csidVBIcycles / ((temp + 1) * 32);
|
||||
measure_v_blank = (debug_hbi_vbi[1] * min_csid_v_blank) / csidClockRate;
|
||||
|
||||
if ((csid_hw->rx_cfg.phy_sel - 1) == WIDE_CAM)
|
||||
CAM_INFO(CAM_ISP, "WIDE_CAM : measure_h_blank %d, measure_v_blank %d",
|
||||
measure_h_blank, measure_v_blank);
|
||||
else if ((csid_hw->rx_cfg.phy_sel - 1) == UW_CAM)
|
||||
CAM_INFO(CAM_ISP, "UW_CAM : measure_h_blank %d, measure_v_blank %d",
|
||||
measure_h_blank, measure_v_blank);
|
||||
else if ((csid_hw->rx_cfg.phy_sel - 1) == TELE1_CAM)
|
||||
CAM_INFO(CAM_ISP, "TELE1_CAM : measure_h_blank %d, measure_v_blank %d",
|
||||
measure_h_blank, measure_v_blank);
|
||||
else if ((csid_hw->rx_cfg.phy_sel - 1) == TELE2_CAM)
|
||||
CAM_INFO(CAM_ISP, "TELE2_CAM : measure_h_blank %d, measure_v_blank %d",
|
||||
measure_h_blank, measure_v_blank);
|
||||
else if ((csid_hw->rx_cfg.phy_sel - 1) == FRONT_CAM)
|
||||
CAM_INFO(CAM_ISP, "FRONT_CAM : measure_h_blank %d, measure_v_blank %d",
|
||||
measure_h_blank, measure_v_blank);
|
||||
else if ((csid_hw->rx_cfg.phy_sel - 1) == COVER_CAM)
|
||||
CAM_INFO(CAM_ISP, "COVER_CAM : measure_h_blank %d, measure_v_blank %d",
|
||||
measure_h_blank, measure_v_blank);
|
||||
else if ((csid_hw->rx_cfg.phy_sel - 1) == FRONT_AUX)
|
||||
CAM_INFO(CAM_ISP, "FRONT_AUX : measure_h_blank %d, measure_v_blank %d",
|
||||
measure_h_blank, measure_v_blank);
|
||||
else
|
||||
CAM_ERR(CAM_ISP, "Unknown camera");
|
||||
}
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int cam_ife_csid_ver2_update_frame_stats(
|
||||
struct cam_ife_csid_ver2_hw *csid_hw)
|
||||
{
|
||||
int i;
|
||||
uint32_t index;
|
||||
struct cam_isp_resource_node *res;
|
||||
const struct cam_ife_csid_ver2_reg_info *csid_reg;
|
||||
const struct cam_ife_csid_ver2_path_reg_info *path_reg;
|
||||
struct cam_ife_csid_ver2_path_cfg *path_cfg;
|
||||
struct cam_hw_soc_info *soc_info;
|
||||
|
||||
csid_reg = (struct cam_ife_csid_ver2_reg_info *)
|
||||
csid_hw->core_info->csid_reg;
|
||||
soc_info = &csid_hw->hw_info->soc_info;
|
||||
|
||||
for (i = 0; i < CAM_IFE_PIX_PATH_RES_MAX; i++) {
|
||||
res = &csid_hw->path_res[i];
|
||||
if (res->res_state != CAM_ISP_RESOURCE_STATE_STREAMING)
|
||||
continue;
|
||||
|
||||
path_cfg = (struct cam_ife_csid_ver2_path_cfg *)res->res_priv;
|
||||
path_reg = csid_reg->path_reg[res->res_id];
|
||||
|
||||
INC_HEAD(&path_cfg->frame_stats_cntr,
|
||||
CAM_CSID_MAX_FRAME_STATS_CNTR, &index);
|
||||
path_cfg->frame_stats[index].hbi =
|
||||
cam_io_r_mb(soc_info->reg_map[0].mem_base +
|
||||
path_reg->format_measure1_addr);
|
||||
path_cfg->frame_stats[index].vbi =
|
||||
cam_io_r_mb(soc_info->reg_map[0].mem_base +
|
||||
path_reg->format_measure2_addr);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -6314,6 +6655,10 @@ static int cam_ife_csid_ver2_set_dynamic_switch_config(
|
||||
switch_update =
|
||||
(struct cam_ife_csid_mode_switch_update_args *)cmd_args;
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_TIMING)
|
||||
cam_ife_csid_ver2_dump_sof_ts(csid_hw);
|
||||
#endif
|
||||
|
||||
if (switch_update->mup_args.use_mup) {
|
||||
csid_hw->rx_cfg.mup = switch_update->mup_args.mup_val;
|
||||
CAM_DBG(CAM_ISP, "CSID[%u] MUP %u",
|
||||
@ -7106,6 +7451,15 @@ static int cam_ife_csid_ver2_process_cmd(void *hw_priv,
|
||||
cmd_args)->node_res;
|
||||
cam_ife_csid_ver2_print_hbi_vbi(csid_hw, res);
|
||||
}
|
||||
#if defined(CONFIG_SEC_E1Q_PROJECT) || defined(CONFIG_SEC_E2Q_PROJECT) || defined(CONFIG_SEC_E3Q_PROJECT)\
|
||||
|| defined(CONFIG_SEC_Q6Q_PROJECT) || defined(CONFIG_SEC_B6Q_PROJECT) || defined(CONFIG_SEC_GTS10P_PROJECT) || defined(CONFIG_SEC_GTS10U_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT)
|
||||
else if (debug_hbi_vbi[1] > 0) {
|
||||
res = ((struct cam_csid_get_time_stamp_args *)
|
||||
cmd_args)->node_res;
|
||||
cam_ife_csid_ver2_print_hbi_vbi(csid_hw, res);
|
||||
}
|
||||
#endif
|
||||
cam_ife_csid_ver2_update_frame_stats(csid_hw);
|
||||
break;
|
||||
case CAM_IFE_CSID_SET_CSID_DEBUG:
|
||||
rc = cam_ife_csid_ver2_set_debug(csid_hw,
|
||||
@ -7114,6 +7468,11 @@ static int cam_ife_csid_ver2_process_cmd(void *hw_priv,
|
||||
case CAM_IFE_CSID_SOF_IRQ_DEBUG:
|
||||
rc = cam_ife_csid_ver2_sof_irq_debug(csid_hw, cmd_args);
|
||||
break;
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_TIMING)
|
||||
case CAM_IFE_CSID_SOF_IRQ_DEBUG_FOR_MODESWITCH:
|
||||
cam_ife_csid_ver2_sof_irq_debug_4_mode_switch(csid_hw, cmd_args, true);
|
||||
break;
|
||||
#endif
|
||||
case CAM_ISP_HW_CMD_CSID_CLOCK_UPDATE:
|
||||
rc = cam_ife_csid_ver2_set_csid_clock(csid_hw, cmd_args);
|
||||
break;
|
||||
@ -7200,6 +7559,9 @@ static int cam_ife_csid_ver2_process_cmd(void *hw_priv,
|
||||
sof_addr_args);
|
||||
}
|
||||
break;
|
||||
case CAM_IFE_CSID_CMD_GET_PATH_TIME_STAMP:
|
||||
rc = cam_ife_csid_ver2_get_path_time_stamp(csid_hw, cmd_args);
|
||||
break;
|
||||
default:
|
||||
CAM_ERR(CAM_ISP, "CSID:%u unsupported cmd:%d",
|
||||
csid_hw->hw_intf->hw_idx, cmd_type);
|
||||
@ -7273,6 +7635,7 @@ static int cam_ife_ver2_hw_alloc_res(
|
||||
res->res_state = CAM_ISP_RESOURCE_STATE_AVAILABLE;
|
||||
res->hw_intf = hw_intf;
|
||||
res->res_priv = path_cfg;
|
||||
atomic64_set(&path_cfg->frame_stats_cntr, -1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -7539,6 +7902,116 @@ int cam_ife_csid_ver2_irq_line_test(void *hw_priv)
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_TIMING)
|
||||
static int cam_ife_csid_ver2_sof_irq_debug_4_mode_switch(
|
||||
struct cam_ife_csid_ver2_hw* csid_hw,
|
||||
void* cmd_args, bool sof_en)
|
||||
{
|
||||
uint32_t sof_en_val = 10;
|
||||
|
||||
if (csid_hw != NULL) {
|
||||
if (sof_en == true) {
|
||||
sof_en_val = 1;
|
||||
csid_hw->debug_info.sof_path_mask |= IFE_CSID_VER2_PATH_INFO_INPUT_SOF;
|
||||
ts_info_by_csid[csid_hw->hw_intf->hw_idx].mup_change = ktime_to_us(ktime_get());
|
||||
}
|
||||
else {
|
||||
sof_en_val = 0;
|
||||
csid_hw->debug_info.sof_path_mask &= ~IFE_CSID_VER2_PATH_INFO_INPUT_SOF;
|
||||
}
|
||||
|
||||
if (((csid_hw->debug_info.path_mask & IFE_CSID_VER2_PATH_INFO_INPUT_SOF) == 0) && // user didn't turn on SOF irq debug on purpose
|
||||
((sof_en_val == 0) || (sof_en_val == 1))) {
|
||||
cam_ife_csid_ver2_sof_irq_debug(csid_hw, &sof_en_val);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static void cam_ife_csid_ver2_dump_sof_ts(struct cam_ife_csid_ver2_hw* csid_hw)
|
||||
{
|
||||
int i, j, k = 0;
|
||||
int ts_sum = 0;
|
||||
|
||||
char out_str[15 * CAM_ISP_DBG_SOF_INTERVAL_RECORD_MAX] = "";
|
||||
char tmp_str[15] = "";
|
||||
|
||||
if (!csid_hw) {
|
||||
CAM_ERR(CAM_ISP, "csid_hw null");
|
||||
return;
|
||||
}
|
||||
|
||||
if (csid_hw->hw_intf->hw_idx >= CAM_ISP_DBG_RDI0_SOF_CSID_HW_IDX_MAX) {
|
||||
CAM_DBG(CAM_ISP, "invalid csid idx %d", csid_hw->hw_intf->hw_idx);
|
||||
return;
|
||||
}
|
||||
|
||||
if (csid_hw->debug_info.dbg_mode_switch == 0) {
|
||||
CAM_DBG(CAM_ISP, "sof_interval_debug OFF");
|
||||
return;
|
||||
}
|
||||
|
||||
for (i = 0; i < CAM_ISP_DBG_RDI0_SOF_CSID_HW_IDX_MAX; i++) {
|
||||
|
||||
ts_sum = 0;
|
||||
for (k = 0; k < CAM_ISP_DBG_RDI0_SOF_CSID_HW_IDX_MAX; k++) {
|
||||
ts_sum += ts_sof_interval[i][k];
|
||||
}
|
||||
if (ts_sum == 0) continue;
|
||||
memset(out_str, '\0', sizeof(out_str));
|
||||
|
||||
for (j = 0; j < CAM_ISP_DBG_SOF_INTERVAL_RECORD_MAX; j++) {
|
||||
memset(tmp_str, '\0', sizeof(tmp_str));
|
||||
sprintf(tmp_str, "%d.%d '", ts_sof_interval[i][j] / 1000,
|
||||
((ts_sof_interval[i][j] / 10000) % 10));
|
||||
strcat(out_str, tmp_str);
|
||||
}
|
||||
|
||||
CAM_INFO(CAM_ISP, "[SEN_DBG]csid[%d] mup[%d](%d.%d) 1st_sof(%d.%d) %s ms", i,
|
||||
csid_hw->rx_cfg.mup,
|
||||
ts_info_by_csid[i].mup_change / 1000000, ((ts_info_by_csid[i].mup_change / 10000000)),
|
||||
ts_info_by_csid[i].first_sof_after_mup / 1000000, ((ts_info_by_csid[i].first_sof_after_mup / 10000000)),
|
||||
out_str);
|
||||
|
||||
for (k = 0; k < CAM_ISP_DBG_RDI0_SOF_CSID_HW_IDX_MAX; k++) {
|
||||
ts_sof_interval[i][k] = 0;
|
||||
}
|
||||
|
||||
count_sof_record[i] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void cam_ife_csid_ver2_record_sof_ts(struct cam_ife_csid_ver2_hw* csid_hw,
|
||||
uint32_t irq_status)
|
||||
{
|
||||
static ktime_t old_sof_ts, new_sof_ts;
|
||||
|
||||
if ((csid_hw->hw_intf->hw_idx < CAM_ISP_DBG_RDI0_SOF_CSID_HW_IDX_MAX) &&
|
||||
((irq_status & csid_hw->debug_info.sof_path_mask) == IFE_CSID_VER2_PATH_INFO_INPUT_SOF) &&
|
||||
(count_sof_record[csid_hw->hw_intf->hw_idx] < CAM_ISP_DBG_SOF_INTERVAL_RECORD_MAX))
|
||||
{
|
||||
new_sof_ts = ktime_get();
|
||||
if (count_sof_record[csid_hw->hw_intf->hw_idx] == 0) {
|
||||
ts_info_by_csid[csid_hw->hw_intf->hw_idx].first_sof_after_mup = ktime_to_us(new_sof_ts);
|
||||
}
|
||||
ts_sof_interval[csid_hw->hw_intf->hw_idx][count_sof_record[csid_hw->hw_intf->hw_idx]++] = ktime_to_us(ktime_sub(new_sof_ts, old_sof_ts));
|
||||
old_sof_ts = new_sof_ts;
|
||||
|
||||
if (count_sof_record[csid_hw->hw_intf->hw_idx] == CAM_ISP_DBG_SOF_INTERVAL_RECORD_MAX) {
|
||||
uint32_t sof_en = 0;
|
||||
cam_ife_csid_ver2_sof_irq_debug_4_mode_switch(csid_hw, &sof_en, false);
|
||||
|
||||
CAM_DBG(CAM_ISP, "[%d] stop ts record", csid_hw->hw_intf->hw_idx);
|
||||
count_sof_record[csid_hw->hw_intf->hw_idx] += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
int cam_ife_csid_hw_ver2_init(struct cam_hw_intf *hw_intf,
|
||||
struct cam_ife_csid_core_info *core_info,
|
||||
bool is_custom)
|
||||
|
@ -12,6 +12,8 @@
|
||||
#include "cam_ife_csid_soc.h"
|
||||
#include "cam_ife_csid_common.h"
|
||||
|
||||
#define CAM_CSID_MAX_FRAME_STATS_CNTR 5
|
||||
|
||||
#define IFE_CSID_VER2_TOP_INFO_VOTE_UP BIT(16)
|
||||
#define IFE_CSID_VER2_TOP_INFO_VOTE_DN BIT(17)
|
||||
#define IFE_CSID_VER2_TOP_ERR_NO_VOTE_DN BIT(18)
|
||||
@ -250,6 +252,11 @@ struct cam_ife_csid_ver2_rup_aup_mask {
|
||||
uint32_t rup_aup_set_mask;
|
||||
};
|
||||
|
||||
struct cam_ife_csid_ver2_frame_statistics {
|
||||
uint32_t hbi;
|
||||
uint32_t vbi;
|
||||
};
|
||||
|
||||
/*
|
||||
* struct cam_ife_csid_ver2_path_cfg: place holder for path parameters
|
||||
*
|
||||
@ -306,6 +313,9 @@ struct cam_ife_csid_ver2_path_cfg {
|
||||
struct timespec64 eof_ts;
|
||||
struct cam_ife_csid_path_format path_format[CAM_ISP_VC_DT_CFG];
|
||||
struct cam_csid_secondary_evt_config sec_evt_config;
|
||||
atomic64_t frame_stats_cntr;
|
||||
struct cam_ife_csid_ver2_frame_statistics frame_stats[
|
||||
CAM_CSID_MAX_FRAME_STATS_CNTR];
|
||||
uint32_t cid;
|
||||
uint32_t in_format[CAM_ISP_VC_DT_CFG];
|
||||
uint32_t out_format;
|
||||
|
@ -358,11 +358,13 @@ enum cam_ife_csid_reset_type {
|
||||
* struct cam_ife_csid_reset_cfg- csid reset configuration
|
||||
* @ reset_type : Global reset or path reset
|
||||
* @res_node : resource need to be reset
|
||||
* @power_on_reset : Set if the reset is issued prior to streaming
|
||||
*
|
||||
*/
|
||||
struct cam_csid_reset_cfg_args {
|
||||
enum cam_ife_csid_reset_type reset_type;
|
||||
struct cam_isp_resource_node *node_res;
|
||||
bool power_on_reset;
|
||||
};
|
||||
|
||||
/**
|
||||
@ -568,6 +570,10 @@ struct cam_ife_csid_debug_cfg_args {
|
||||
uint32_t csid_rx_capture_debug;
|
||||
uint32_t csid_testbus_debug;
|
||||
bool rx_capture_debug_set;
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_TIMING)
|
||||
uint32_t csid_dbg_fps;
|
||||
uint32_t dbg_mode_switch;
|
||||
#endif
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -256,10 +256,14 @@ enum cam_isp_hw_cmd_type {
|
||||
CAM_ISP_HW_CMD_IRQ_INJECTION,
|
||||
CAM_ISP_HW_CMD_DUMP_IRQ_DESCRIPTION,
|
||||
CAM_ISP_HW_CMD_GET_SET_PRIM_SOF_TS_ADDR,
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_TIMING)
|
||||
CAM_IFE_CSID_SOF_IRQ_DEBUG_FOR_MODESWITCH,
|
||||
#endif
|
||||
CAM_ISP_HW_CMD_DYNAMIC_CLOCK_UPDATE,
|
||||
CAM_ISP_HW_CMD_SET_SYNC_HW_IDX,
|
||||
CAM_ISP_HW_CMD_BUS_WM_DISABLE,
|
||||
CAM_ISP_HW_CMD_BUFFER_ALIGNMENT_UPDATE,
|
||||
CAM_IFE_CSID_CMD_GET_PATH_TIME_STAMP,
|
||||
CAM_ISP_HW_CMD_MAX,
|
||||
};
|
||||
|
||||
|
@ -405,6 +405,9 @@ struct cam_vfe_generic_debug_config {
|
||||
uint32_t vfe_perf_counter_val[CAM_VFE_PERF_CNT_MAX];
|
||||
bool disable_ife_mmu_prefetch;
|
||||
bool enable_ife_frame_irqs;
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_TIMING)
|
||||
uint32_t vfe_dbg_fps;
|
||||
#endif
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -47,6 +47,9 @@ struct cam_vfe_top_ver4_priv {
|
||||
struct cam_vfe_top_ver4_perf_counter_cfg perf_counters[CAM_VFE_PERF_CNT_MAX];
|
||||
struct cam_vfe_top_ver4_prim_sof_ts_reg_addr sof_ts_reg_addr;
|
||||
bool enable_ife_frame_irqs;
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_TIMING)
|
||||
uint32_t vfe_dbg_fps;
|
||||
#endif
|
||||
};
|
||||
|
||||
enum cam_vfe_top_ver4_fsm_state {
|
||||
@ -1457,6 +1460,9 @@ int cam_vfe_top_ver4_process_cmd(void *device_priv, uint32_t cmd_type,
|
||||
debug_cfg->vfe_perf_counter_val[i];
|
||||
|
||||
top_priv->enable_ife_frame_irqs = debug_cfg->enable_ife_frame_irqs;
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_TIMING)
|
||||
top_priv->vfe_dbg_fps = debug_cfg->vfe_dbg_fps;
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
case CAM_ISP_HW_CMD_GET_SET_PRIM_SOF_TS_ADDR: {
|
||||
@ -1706,6 +1712,71 @@ static int cam_vfe_handle_eof(struct cam_vfe_mux_ver4_data *vfe_priv,
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_TIMING)
|
||||
#include <linux/ktime.h>
|
||||
static ktime_t sof_ts[CAM_SFE_HW_NUM_MAX] = { 0, },
|
||||
sof_curr_ts[CAM_SFE_HW_NUM_MAX] = { 0, },
|
||||
eof_ts[CAM_SFE_HW_NUM_MAX] = { 0, },
|
||||
epoch_ts[CAM_SFE_HW_NUM_MAX] = { 0, };
|
||||
|
||||
static void cam_vfe_print_debug_sensor_timing(
|
||||
struct cam_vfe_mux_ver4_data* vfe_priv)
|
||||
{
|
||||
uint32_t dbg_hw_idx[2] = { 0, },
|
||||
curr_idx = 0;
|
||||
bool is_vfe_idx_matching_good = false;
|
||||
|
||||
if ((vfe_priv == NULL) || (vfe_priv->top_priv == NULL) ||
|
||||
(vfe_priv->top_priv->vfe_dbg_fps == 100))// no config
|
||||
return;
|
||||
|
||||
curr_idx = vfe_priv->hw_intf->hw_idx;
|
||||
|
||||
if (vfe_priv->top_priv->vfe_dbg_fps / 100 >= 2) {
|
||||
dbg_hw_idx[0] = (vfe_priv->top_priv->vfe_dbg_fps >> 4) & 0xf;
|
||||
dbg_hw_idx[0] = dbg_hw_idx[0] > (CAM_SFE_HW_NUM_MAX -1) ?
|
||||
(CAM_SFE_HW_NUM_MAX - 1) : dbg_hw_idx[0];
|
||||
dbg_hw_idx[1] = (vfe_priv->top_priv->vfe_dbg_fps & 0xf);
|
||||
dbg_hw_idx[1] = dbg_hw_idx[1] > (CAM_SFE_HW_NUM_MAX - 1) ?
|
||||
(CAM_SFE_HW_NUM_MAX - 1) : dbg_hw_idx[1];
|
||||
|
||||
is_vfe_idx_matching_good = (curr_idx == dbg_hw_idx[0]) ||
|
||||
(curr_idx == dbg_hw_idx[1]);
|
||||
}
|
||||
else {
|
||||
dbg_hw_idx[0] = (vfe_priv->top_priv->vfe_dbg_fps & 0xf);
|
||||
dbg_hw_idx[0] = dbg_hw_idx[0] > (CAM_SFE_HW_NUM_MAX - 1) ?
|
||||
(CAM_SFE_HW_NUM_MAX - 1) : dbg_hw_idx[0];
|
||||
is_vfe_idx_matching_good = (curr_idx == dbg_hw_idx[0]);
|
||||
}
|
||||
|
||||
if (is_vfe_idx_matching_good) // vfe idx
|
||||
{
|
||||
if (vfe_priv->fsm_state == VFE_TOP_VER4_FSM_SOF) // SOF
|
||||
{
|
||||
sof_curr_ts[curr_idx] = ktime_get();
|
||||
CAM_INFO(CAM_ISP, "[%d] sof-sof %d us", curr_idx,
|
||||
ktime_to_us(ktime_sub(sof_curr_ts[curr_idx], sof_ts[curr_idx])));
|
||||
sof_ts[curr_idx] = sof_curr_ts[curr_idx];
|
||||
}
|
||||
else if (vfe_priv->fsm_state == VFE_TOP_VER4_FSM_EOF)
|
||||
{
|
||||
eof_ts[curr_idx] = ktime_get();
|
||||
CAM_INFO(CAM_ISP, "[%d] vvalid %d us", curr_idx,
|
||||
ktime_to_us(ktime_sub(eof_ts[curr_idx], sof_ts[curr_idx])));
|
||||
}
|
||||
else if (vfe_priv->fsm_state == VFE_TOP_VER4_FSM_EPOCH)
|
||||
{
|
||||
epoch_ts[curr_idx] = ktime_get();
|
||||
CAM_INFO(CAM_ISP, "[%d] sof-epoch %d us", curr_idx,
|
||||
ktime_to_us(ktime_sub(epoch_ts[curr_idx], sof_ts[curr_idx])));
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
static int __cam_vfe_handle_frame_timing_irqs(struct cam_isp_resource_node *vfe_res, bool event,
|
||||
enum cam_isp_hw_event_type event_type, cam_vfe_handle_frame_irq_t handle_irq_fn,
|
||||
struct cam_vfe_top_irq_evt_payload *payload, struct cam_isp_hw_event_info *evt_info)
|
||||
@ -1717,6 +1788,9 @@ static int __cam_vfe_handle_frame_timing_irqs(struct cam_isp_resource_node *vfe_
|
||||
cam_isp_hw_evt_type_to_string(event_type));
|
||||
} else {
|
||||
handle_irq_fn(vfe_priv, payload, evt_info);
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_TIMING)
|
||||
cam_vfe_print_debug_sensor_timing(vfe_priv);
|
||||
#endif
|
||||
if (!(vfe_priv->top_priv->enable_ife_frame_irqs)
|
||||
&& vfe_priv->event_cb)
|
||||
vfe_priv->event_cb(vfe_priv->priv, event_type, evt_info);
|
||||
|
@ -20,6 +20,9 @@
|
||||
#include "cam_common_util.h"
|
||||
#include "cam_mem_mgr.h"
|
||||
#include "cam_cpas_api.h"
|
||||
#if defined(CONFIG_CAMERA_CDR_TEST)
|
||||
#include "cam_clock_data_recovery.h"
|
||||
#endif
|
||||
|
||||
static struct cam_req_mgr_core_device *g_crm_core_dev;
|
||||
static struct cam_req_mgr_core_link g_links[MAXIMUM_LINKS_CAPACITY];
|
||||
@ -558,6 +561,38 @@ static int __cam_req_mgr_send_evt(
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_I2C)
|
||||
static int __cam_req_mgr_send_evt_to_sensor(
|
||||
uint64_t req_id,
|
||||
enum cam_req_mgr_link_evt_type type,
|
||||
enum cam_req_mgr_device_error error,
|
||||
struct cam_req_mgr_core_link *link)
|
||||
{
|
||||
int i;
|
||||
struct cam_req_mgr_link_evt_data evt_data = {0};
|
||||
struct cam_req_mgr_connected_device *device = NULL;
|
||||
|
||||
CAM_DBG(CAM_CRM,
|
||||
"Notify event type: %d to all connected devices on link: 0x%x",
|
||||
type, link->link_hdl);
|
||||
|
||||
for (i = 0; i < link->num_devs; i++) {
|
||||
device = &link->l_dev[i];
|
||||
|
||||
if ((device != NULL) && (NULL != strstr(device->dev_info.name, "sensor"))) {
|
||||
evt_data.dev_hdl = device->dev_hdl;
|
||||
evt_data.evt_type = type;
|
||||
evt_data.link_hdl = link->link_hdl;
|
||||
evt_data.req_id = req_id;
|
||||
evt_data.u.error = error;
|
||||
if (device->ops && device->ops->process_evt)
|
||||
device->ops->process_evt(&evt_data);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* __cam_req_mgr_notify_error_on_link()
|
||||
*
|
||||
@ -3784,6 +3819,11 @@ int cam_req_mgr_process_error(void *priv, void *data)
|
||||
|
||||
/* Apply immediately to highest pd device on same frame */
|
||||
__cam_req_mgr_apply_on_bubble(link, err_info);
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_I2C)
|
||||
__cam_req_mgr_send_evt_to_sensor(err_info->req_id,
|
||||
CAM_REQ_MGR_LINK_EVT_ERR, err_info->error, link);
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
case CRM_KMD_ERR_FATAL:
|
||||
@ -5541,6 +5581,10 @@ int cam_req_mgr_link_control(struct cam_req_mgr_link_control *control)
|
||||
"Activate link: 0x%x init_timeout: %d ms",
|
||||
link->link_hdl, control->init_timeout[i]);
|
||||
/* Start SOF watchdog timer */
|
||||
#if defined(CONFIG_CAMERA_CDR_TEST)
|
||||
if (cam_clock_data_recovery_is_requested())
|
||||
init_timeout = 1800;
|
||||
#endif
|
||||
rc = crm_timer_init(&link->watchdog,
|
||||
(init_timeout + CAM_REQ_MGR_WATCHDOG_TIMEOUT),
|
||||
link, &__cam_req_mgr_sof_freeze);
|
||||
|
@ -29,6 +29,9 @@
|
||||
#include "cam_cpas_hw.h"
|
||||
#include "cam_compat.h"
|
||||
#include "camera_main.h"
|
||||
#if defined(CONFIG_SEC_Q6Q_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT)
|
||||
#include <linux/gpio.h>
|
||||
#endif
|
||||
|
||||
#define CAM_REQ_MGR_EVENT_MAX 30
|
||||
#define CAM_I3C_MASTER_COMPAT "qcom,geni-i3c"
|
||||
@ -1090,6 +1093,20 @@ static int cam_req_mgr_probe(struct platform_device *pdev)
|
||||
uint32_t cam_bypass_driver = 0;
|
||||
struct device_node *of_node = NULL;
|
||||
|
||||
#if defined(CONFIG_SEC_Q6Q_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT)
|
||||
struct regulator *rgltr = NULL;
|
||||
|
||||
if (!gpio_get_value(UPPER_C2C_DET_GPIO)) {
|
||||
rgltr = devm_regulator_get_optional(dev,
|
||||
"CAM1_s2mpb03-l7");
|
||||
if (IS_ERR_OR_NULL(rgltr)) {
|
||||
CAM_ERR(CAM_CRM, "deferring probe, Wait PB03 probe");
|
||||
rc = -EPROBE_DEFER;
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(cam_component_i2c_drivers); i++) {
|
||||
while ((np = of_find_compatible_node(np, NULL,
|
||||
cam_component_i2c_drivers[i]->driver.of_match_table->compatible))) {
|
||||
|
@ -11,6 +11,22 @@
|
||||
#include "cam_trace.h"
|
||||
#include "cam_common_util.h"
|
||||
#include "cam_packet_util.h"
|
||||
#if defined(CONFIG_USE_CAMERA_HW_BIG_DATA)
|
||||
#include "cam_hw_bigdata.h"
|
||||
#endif
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32)
|
||||
#include "cam_ois_core.h"
|
||||
#include "cam_ois_mcu_stm32g.h"
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32)
|
||||
extern struct cam_ois_ctrl_t *g_o_ctrl;
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_ACTUATOR_HW_SOFTLANDING)
|
||||
#define ACTUATOR_IDLE 0x0
|
||||
#define ACTUATOR_BUSY 0x1
|
||||
#endif
|
||||
|
||||
int32_t cam_actuator_construct_default_power_setting(
|
||||
struct cam_sensor_power_ctrl_t *power_info)
|
||||
@ -51,7 +67,11 @@ free_power_settings:
|
||||
return rc;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) || defined(CONFIG_SAMSUNG_ACTUATOR_PREVENT_SHAKING)
|
||||
int32_t cam_actuator_power_up(struct cam_actuator_ctrl_t *a_ctrl)
|
||||
#else
|
||||
static int32_t cam_actuator_power_up(struct cam_actuator_ctrl_t *a_ctrl)
|
||||
#endif
|
||||
{
|
||||
int rc = 0;
|
||||
struct cam_hw_soc_info *soc_info = &a_ctrl->soc_info;
|
||||
@ -67,12 +87,21 @@ static int32_t cam_actuator_power_up(struct cam_actuator_ctrl_t *a_ctrl)
|
||||
(power_info->power_down_setting == NULL)) {
|
||||
CAM_INFO(CAM_ACTUATOR,
|
||||
"Using default power settings");
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) || defined(CONFIG_SAMSUNG_ACTUATOR_PREVENT_SHAKING)
|
||||
rc = cam_get_dt_power_setting_data(soc_info->dev->of_node,
|
||||
soc_info, power_info);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_ACTUATOR, "failed in getting power settings");
|
||||
return rc;
|
||||
}
|
||||
#else
|
||||
rc = cam_actuator_construct_default_power_setting(power_info);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_ACTUATOR,
|
||||
"Construct default actuator power setting failed.");
|
||||
return rc;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Parse and fill vreg params for power up settings */
|
||||
@ -123,7 +152,185 @@ cci_failure:
|
||||
return rc;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_ACTUATOR_HW_SOFTLANDING)
|
||||
int32_t cam_actuator_i2c_read(struct cam_actuator_ctrl_t *a_ctrl, uint32_t addr,
|
||||
uint32_t *data,
|
||||
enum camera_sensor_i2c_type addr_type,
|
||||
enum camera_sensor_i2c_type data_type)
|
||||
{
|
||||
int rc = 0;
|
||||
|
||||
if (a_ctrl == NULL) {
|
||||
CAM_ERR(CAM_ACTUATOR, "failed. a_ctrl is NULL");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
rc = camera_io_dev_read(&a_ctrl->io_master_info, addr,
|
||||
(uint32_t *)data, addr_type, data_type, false);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_ACTUATOR, "Failed to read 0x%x", addr);
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
int32_t cam_actuator_i2c_write(struct cam_actuator_ctrl_t *a_ctrl, uint32_t reg_addr,
|
||||
uint32_t reg_data, uint32_t data_type)
|
||||
{
|
||||
struct cam_sensor_i2c_reg_setting reg_setting;
|
||||
struct cam_sensor_i2c_reg_array reg_arr;
|
||||
int rc = 0;
|
||||
|
||||
memset(®_setting, 0, sizeof(reg_setting));
|
||||
memset(®_arr, 0, sizeof(reg_arr));
|
||||
|
||||
if (a_ctrl == NULL) {
|
||||
CAM_ERR(CAM_ACTUATOR, "failed. a_ctrl is NULL");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
reg_setting.size = 1;
|
||||
reg_setting.addr_type = CAMERA_SENSOR_I2C_TYPE_BYTE;
|
||||
reg_setting.data_type = data_type;
|
||||
reg_setting.reg_setting = ®_arr;
|
||||
|
||||
reg_arr.reg_addr = reg_addr;
|
||||
reg_arr.reg_data = reg_data;
|
||||
rc = camera_io_dev_write(&a_ctrl->io_master_info, ®_setting);
|
||||
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_ACTUATOR, "Failed to random write I2C settings for reg:0x%x data:0x%x err:%d", reg_addr, reg_data, rc);
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
int32_t cam_actuator_get_status(struct cam_actuator_ctrl_t *a_ctrl, uint16_t *info)
|
||||
{
|
||||
int32_t rc = 0;
|
||||
uint32_t val = 0;
|
||||
|
||||
rc = cam_actuator_i2c_read(a_ctrl, 0x05, &val, CAMERA_SENSOR_I2C_TYPE_BYTE, CAMERA_SENSOR_I2C_TYPE_BYTE);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_ACTUATOR, "get status i2c read fail:%d", rc);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
*info = ((val & 0x03) == 0) ? ACTUATOR_IDLE : ACTUATOR_BUSY;
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
void cam_actuator_busywait(struct cam_actuator_ctrl_t *a_ctrl)
|
||||
{
|
||||
uint16_t info = 0, status_check_count = 0;
|
||||
int32_t rc = 0;
|
||||
|
||||
CAM_INFO(CAM_ACTUATOR, "before to check status");
|
||||
do {
|
||||
rc = cam_actuator_get_status(a_ctrl, &info);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_ACTUATOR, "cam_actuator_get_status failed:%d", rc);
|
||||
}
|
||||
if (info) {
|
||||
CAM_DBG(CAM_ACTUATOR, "Busy");
|
||||
msleep(10);
|
||||
}
|
||||
status_check_count++;
|
||||
} while (info && status_check_count < 8);
|
||||
|
||||
if(status_check_count == 8)
|
||||
CAM_ERR(CAM_ACTUATOR, "status check failed");
|
||||
else
|
||||
CAM_INFO(CAM_ACTUATOR, "Idle");
|
||||
}
|
||||
|
||||
int32_t cam_actuator_do_soft_landing(struct cam_actuator_ctrl_t *a_ctrl)
|
||||
{
|
||||
int32_t rc = 0;
|
||||
uint32_t pos1, pos2;
|
||||
uint32_t position;
|
||||
uint32_t reg_data;
|
||||
|
||||
// Check if IC is off
|
||||
cam_actuator_busywait(a_ctrl);
|
||||
rc = cam_actuator_i2c_read(a_ctrl, 0x02, ®_data, CAMERA_SENSOR_I2C_TYPE_BYTE, CAMERA_SENSOR_I2C_TYPE_BYTE);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_ACTUATOR, "IC status - i2c read fail err:%d", rc);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if ((reg_data & 0x01) == 0x01) {
|
||||
CAM_ERR(CAM_ACTUATOR, "park lens skip for dev:0x%x reg[0x02]:0x%x", a_ctrl->io_master_info.client->addr, reg_data);
|
||||
return rc;
|
||||
}
|
||||
|
||||
// read DAC value to get position of lens
|
||||
rc = cam_actuator_i2c_read(a_ctrl, 0x03, &pos1, CAMERA_SENSOR_I2C_TYPE_BYTE, CAMERA_SENSOR_I2C_TYPE_BYTE);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_ACTUATOR, "det pos1 - i2c read fail err:%d", rc);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
rc = cam_actuator_i2c_read(a_ctrl, 0x04, &pos2, CAMERA_SENSOR_I2C_TYPE_BYTE, CAMERA_SENSOR_I2C_TYPE_BYTE);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_ACTUATOR, "det pos2 - i2c read fail err:%d", rc);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
// PRESET initial position
|
||||
pos1 = pos1 & 0x03;
|
||||
position = ((uint16_t)pos1 << 8) | pos2;
|
||||
|
||||
CAM_INFO(CAM_ACTUATOR, "current position:%d ", position);
|
||||
|
||||
/*Max position is 1023, keep half of max. lens position*/
|
||||
if( position > 512 ) {
|
||||
position = 512;
|
||||
|
||||
rc = cam_actuator_i2c_write(a_ctrl, 0x03, position - 1, CAMERA_SENSOR_I2C_TYPE_WORD);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_ACTUATOR, "preset register - i2c write fail err:%d", rc);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
cam_actuator_busywait(a_ctrl);
|
||||
CAM_INFO(CAM_ACTUATOR, "current position is set to :%d ", position);
|
||||
}
|
||||
rc = cam_actuator_i2c_write(a_ctrl, 0x0A, ((position >> 1) - 1), CAMERA_SENSOR_I2C_TYPE_BYTE);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_ACTUATOR, "preset register - i2c write fail err:%d", rc);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
CAM_INFO(CAM_ACTUATOR, "preset initial position:%d ", position);
|
||||
|
||||
// NRC Time Setting
|
||||
cam_actuator_i2c_write(a_ctrl, 0x0C, 0x85,CAMERA_SENSOR_I2C_TYPE_BYTE);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_ACTUATOR, "nrc timing issue- i2c write fail err:%d", rc);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
// Enable - softlanding
|
||||
cam_actuator_i2c_write(a_ctrl, 0x0B, 0x01,CAMERA_SENSOR_I2C_TYPE_BYTE);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_ACTUATOR, "softlanding register configuration failed, rc:%d", rc);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
// Check if busy -> wait
|
||||
cam_actuator_busywait(a_ctrl);
|
||||
|
||||
return rc;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) || defined(CONFIG_SAMSUNG_ACTUATOR_PREVENT_SHAKING)
|
||||
int32_t cam_actuator_power_down(struct cam_actuator_ctrl_t *a_ctrl)
|
||||
#else
|
||||
static int32_t cam_actuator_power_down(struct cam_actuator_ctrl_t *a_ctrl)
|
||||
#endif
|
||||
{
|
||||
int32_t rc = 0;
|
||||
struct cam_sensor_power_ctrl_t *power_info;
|
||||
@ -135,6 +342,14 @@ static int32_t cam_actuator_power_down(struct cam_actuator_ctrl_t *a_ctrl)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_ACTUATOR_HW_SOFTLANDING)
|
||||
rc = cam_actuator_do_soft_landing(a_ctrl);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_ACTUATOR, "actuator soft landing is failed:%d", rc);
|
||||
// Even if Soft landing fails, we must Power_down
|
||||
}
|
||||
#endif
|
||||
|
||||
soc_private =
|
||||
(struct cam_actuator_soc_private *)a_ctrl->soc_info.soc_private;
|
||||
power_info = &soc_private->power_info;
|
||||
@ -253,6 +468,11 @@ int32_t cam_actuator_apply_settings(struct cam_actuator_ctrl_t *a_ctrl,
|
||||
{
|
||||
struct i2c_settings_list *i2c_list;
|
||||
int32_t rc = 0;
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32)
|
||||
uint32_t i = 0;
|
||||
uint32_t size = 0;
|
||||
int position = -1;
|
||||
#endif
|
||||
|
||||
if (a_ctrl == NULL || i2c_set == NULL) {
|
||||
CAM_ERR(CAM_ACTUATOR, "Invalid Args");
|
||||
@ -278,6 +498,31 @@ int32_t cam_actuator_apply_settings(struct cam_actuator_ctrl_t *a_ctrl,
|
||||
"Success:request ID: %d",
|
||||
i2c_set->request_id);
|
||||
}
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32)
|
||||
if ((!a_ctrl->use_mcu) &&
|
||||
((a_ctrl->soc_info.index == SEC_WIDE_SENSOR) ||
|
||||
(a_ctrl->soc_info.index == SEC_TELE_SENSOR) ||
|
||||
(a_ctrl->soc_info.index == SEC_TELE2_SENSOR))) {
|
||||
size = i2c_list->i2c_settings.size;
|
||||
for (i = 0; i < size; i++) {
|
||||
if (i2c_list->i2c_settings.reg_setting[i].reg_addr == 0x00) {
|
||||
position = i2c_list->i2c_settings.reg_setting[i].reg_data >> 4; //using word data
|
||||
CAM_DBG(CAM_ACTUATOR, "Position : %d\n", position);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (g_o_ctrl != NULL) {
|
||||
mutex_lock(&(g_o_ctrl->ois_mutex));
|
||||
if (position >= 0 && position < 4096)
|
||||
// 1bit right shift af position, because OIS use 8bit af position
|
||||
cam_ois_shift_calibration(g_o_ctrl, (position >> 4), a_ctrl->soc_info.index);
|
||||
else
|
||||
CAM_DBG(CAM_ACTUATOR, "Position is invalid %d \n", position);
|
||||
mutex_unlock(&(g_o_ctrl->ois_mutex));
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
return rc;
|
||||
@ -616,6 +861,11 @@ int32_t cam_actuator_i2c_pkt_parse(struct cam_actuator_ctrl_t *a_ctrl,
|
||||
&a_ctrl->i2c_data.init_settings);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_ACTUATOR, "Cannot apply Init settings");
|
||||
#if defined(CONFIG_USE_CAMERA_HW_BIG_DATA)
|
||||
if (a_ctrl != NULL) {
|
||||
hw_bigdata_i2c_from_actuator(a_ctrl);
|
||||
}
|
||||
#endif
|
||||
goto end;
|
||||
}
|
||||
|
||||
@ -1134,3 +1384,311 @@ int32_t cam_actuator_flush_request(struct cam_req_mgr_flush_request *flush_req)
|
||||
mutex_unlock(&(a_ctrl->actuator_mutex));
|
||||
return rc;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32)
|
||||
/***** for only ois selftest , set the actuator initial position to 256 *****/
|
||||
int16_t cam_actuator_move_for_ois_test(struct cam_actuator_ctrl_t *a_ctrl)
|
||||
{
|
||||
struct cam_sensor_i2c_reg_setting reg_setting;
|
||||
int rc = 0;
|
||||
int size = 0;
|
||||
|
||||
memset(®_setting, 0, sizeof(reg_setting));
|
||||
if (a_ctrl == NULL) {
|
||||
CAM_ERR(CAM_ACTUATOR, "failed. a_ctrl is NULL");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (a_ctrl->io_master_info.master_type == CCI_MASTER)
|
||||
CAM_INFO(CAM_ACTUATOR, "Actuator[%d] sid 0x%x",
|
||||
a_ctrl->soc_info.index,
|
||||
a_ctrl->io_master_info.cci_client->sid);
|
||||
else if (a_ctrl->io_master_info.master_type == I2C_MASTER)
|
||||
CAM_INFO(CAM_ACTUATOR, "Actuator[%d] addr 0x%x",
|
||||
a_ctrl->soc_info.index,
|
||||
a_ctrl->io_master_info.client->addr);
|
||||
|
||||
reg_setting.reg_setting = kmalloc(sizeof(struct cam_sensor_i2c_reg_array) * 4, GFP_KERNEL);
|
||||
if (!reg_setting.reg_setting) {
|
||||
return -ENOMEM;
|
||||
}
|
||||
memset(reg_setting.reg_setting, 0, sizeof(struct cam_sensor_i2c_reg_array));
|
||||
|
||||
/* Init setting for ak7377 */
|
||||
/* SET Standby Mode */
|
||||
reg_setting.reg_setting[size].reg_addr = 0x02;
|
||||
reg_setting.reg_setting[size].reg_data = 0x40;
|
||||
size++;
|
||||
|
||||
reg_setting.size = size;
|
||||
reg_setting.addr_type = CAMERA_SENSOR_I2C_TYPE_BYTE;
|
||||
reg_setting.data_type = CAMERA_SENSOR_I2C_TYPE_BYTE;
|
||||
reg_setting.delay = 5; //5ms delay
|
||||
|
||||
rc = camera_io_dev_write(&a_ctrl->io_master_info,
|
||||
®_setting);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_ACTUATOR,
|
||||
"Actuator[%d] Failed to random write I2C settings: %d",
|
||||
a_ctrl->soc_info.index, rc);
|
||||
|
||||
if (reg_setting.reg_setting) {
|
||||
kfree(reg_setting.reg_setting);
|
||||
reg_setting.reg_setting = NULL;
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
memset(reg_setting.reg_setting, 0, sizeof(struct cam_sensor_i2c_reg_array));
|
||||
size = 0;
|
||||
|
||||
/* SET Position MSB - 0x00 */
|
||||
reg_setting.reg_setting[size].reg_addr = 0x00;
|
||||
reg_setting.reg_setting[size].reg_data = 0x80;
|
||||
size++;
|
||||
|
||||
/* SET Position LSB - 0x00 */
|
||||
reg_setting.reg_setting[size].reg_addr = 0x01;
|
||||
reg_setting.reg_setting[size].reg_data = 0x00;
|
||||
reg_setting.reg_setting[size].delay= 2; //2ms delay
|
||||
size++;
|
||||
|
||||
/* SET Active Mode */
|
||||
reg_setting.reg_setting[size].reg_addr = 0x02;
|
||||
reg_setting.reg_setting[size].reg_data = 0x00;
|
||||
size++;
|
||||
|
||||
reg_setting.size = size;
|
||||
reg_setting.addr_type = CAMERA_SENSOR_I2C_TYPE_BYTE;
|
||||
reg_setting.data_type = CAMERA_SENSOR_I2C_TYPE_BYTE;
|
||||
|
||||
rc = camera_io_dev_write(&a_ctrl->io_master_info,
|
||||
®_setting);
|
||||
if (rc < 0)
|
||||
CAM_ERR(CAM_ACTUATOR,
|
||||
"Actuator[%d] Failed to random write I2C settings: %d",
|
||||
a_ctrl->soc_info.index, rc);
|
||||
|
||||
if (reg_setting.reg_setting) {
|
||||
kfree(reg_setting.reg_setting);
|
||||
reg_setting.reg_setting = NULL;
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
/***** for only ois hall_cal , set the actuator position *****/
|
||||
int16_t cam_actuator_move_for_ois_read_hall_cal_test(struct cam_actuator_ctrl_t *a_ctrl,
|
||||
uint16_t af_position)
|
||||
{
|
||||
struct cam_sensor_i2c_reg_setting reg_setting;
|
||||
int rc = 0;
|
||||
int size = 0;
|
||||
|
||||
memset(®_setting, 0, sizeof(reg_setting));
|
||||
if (a_ctrl == NULL) {
|
||||
CAM_ERR(CAM_ACTUATOR, "failed. a_ctrl is NULL");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (a_ctrl->io_master_info.master_type == CCI_MASTER)
|
||||
CAM_INFO(CAM_ACTUATOR, "Actuator[%d] sid 0x%x",
|
||||
a_ctrl->soc_info.index,
|
||||
a_ctrl->io_master_info.cci_client->sid);
|
||||
else if (a_ctrl->io_master_info.master_type == I2C_MASTER)
|
||||
CAM_INFO(CAM_ACTUATOR, "Actuator[%d] addr 0x%x",
|
||||
a_ctrl->soc_info.index,
|
||||
a_ctrl->io_master_info.client->addr);
|
||||
|
||||
|
||||
reg_setting.reg_setting = kmalloc(sizeof(struct cam_sensor_i2c_reg_array) * 4, GFP_KERNEL);
|
||||
if (!reg_setting.reg_setting) {
|
||||
return -ENOMEM;
|
||||
}
|
||||
memset(reg_setting.reg_setting, 0, sizeof(struct cam_sensor_i2c_reg_array));
|
||||
|
||||
/* Init setting for ak7377 */
|
||||
/* SET Standby Mode */
|
||||
reg_setting.reg_setting[size].reg_addr = 0x02;
|
||||
reg_setting.reg_setting[size].reg_data = 0x40;
|
||||
size++;
|
||||
|
||||
reg_setting.size = size;
|
||||
reg_setting.addr_type = CAMERA_SENSOR_I2C_TYPE_BYTE;
|
||||
reg_setting.data_type = CAMERA_SENSOR_I2C_TYPE_BYTE;
|
||||
reg_setting.delay = 5; //5ms delay
|
||||
|
||||
rc = camera_io_dev_write(&a_ctrl->io_master_info,
|
||||
®_setting);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_ACTUATOR,
|
||||
"Actuator[%d] Failed to random write I2C settings: %d",
|
||||
a_ctrl->soc_info.index, rc);
|
||||
|
||||
if (reg_setting.reg_setting) {
|
||||
kfree(reg_setting.reg_setting);
|
||||
reg_setting.reg_setting = NULL;
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
memset(reg_setting.reg_setting, 0, sizeof(struct cam_sensor_i2c_reg_array));
|
||||
size = 0;
|
||||
|
||||
/* SET Position MSB - 0x00 */
|
||||
reg_setting.reg_setting[size].reg_addr = 0x00;
|
||||
reg_setting.reg_setting[size].reg_data = (af_position & 0x0FFF) >> 4;
|
||||
size++;
|
||||
|
||||
/* SET Position LSB - 0x00 */
|
||||
reg_setting.reg_setting[size].reg_addr = 0x01;
|
||||
reg_setting.reg_setting[size].reg_data = (af_position & 0x000F) << 4;
|
||||
reg_setting.reg_setting[size].delay= 2; //2ms delay
|
||||
size++;
|
||||
|
||||
/* SET Active Mode */
|
||||
reg_setting.reg_setting[size].reg_addr = 0x02;
|
||||
reg_setting.reg_setting[size].reg_data = 0x00;
|
||||
size++;
|
||||
|
||||
reg_setting.size = size;
|
||||
reg_setting.addr_type = CAMERA_SENSOR_I2C_TYPE_BYTE;
|
||||
reg_setting.data_type = CAMERA_SENSOR_I2C_TYPE_BYTE;
|
||||
|
||||
rc = camera_io_dev_write(&a_ctrl->io_master_info,
|
||||
®_setting);
|
||||
if (rc < 0)
|
||||
CAM_ERR(CAM_ACTUATOR,
|
||||
"Actuator[%d] Failed to random write I2C settings: %d",
|
||||
a_ctrl->soc_info.index, rc);
|
||||
|
||||
if (reg_setting.reg_setting) {
|
||||
kfree(reg_setting.reg_setting);
|
||||
reg_setting.reg_setting = NULL;
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_ACTUATOR_PREVENT_SHAKING)
|
||||
struct cam_sensor_i2c_reg_array wide_init_1[] = {
|
||||
{ 0x02, 0x40, 0, 0},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array wide_init_2[] = {
|
||||
{ 0x02, 0x8000, 0, 0},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array wide_init_3[] = {
|
||||
{ 0x02, 0x00, 0, 0},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_setting wide_init_setting[] = {
|
||||
{ wide_init_1,
|
||||
ARRAY_SIZE(wide_init_1),
|
||||
CAMERA_SENSOR_I2C_TYPE_BYTE,
|
||||
CAMERA_SENSOR_I2C_TYPE_BYTE,
|
||||
2
|
||||
},
|
||||
{ wide_init_2,
|
||||
ARRAY_SIZE(wide_init_2),
|
||||
CAMERA_SENSOR_I2C_TYPE_BYTE,
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
1
|
||||
},
|
||||
{ wide_init_3,
|
||||
ARRAY_SIZE(wide_init_3),
|
||||
CAMERA_SENSOR_I2C_TYPE_BYTE,
|
||||
CAMERA_SENSOR_I2C_TYPE_BYTE,
|
||||
1
|
||||
},
|
||||
};
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32)
|
||||
struct cam_sensor_i2c_reg_array tele_init_1[] = {
|
||||
{ 0x0060, 0x00, 0, 0},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array tele_init_2[] = {
|
||||
{ 0x0044, 0x8000, 0, 0},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_setting tele_init_setting[] = {
|
||||
{ tele_init_1,
|
||||
ARRAY_SIZE(tele_init_1),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
CAMERA_SENSOR_I2C_TYPE_BYTE,
|
||||
1
|
||||
},
|
||||
{ tele_init_2,
|
||||
ARRAY_SIZE(tele_init_2),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
1
|
||||
},
|
||||
};
|
||||
#endif
|
||||
|
||||
int32_t cam_actuator_default_init_setting(struct cam_actuator_ctrl_t *a_ctrl)
|
||||
{
|
||||
struct cam_sensor_i2c_reg_setting* init_setting;
|
||||
struct cam_sensor_i2c_reg_setting reg_setting;
|
||||
int rc = 0, i = 0, size = 0, init_size = 0;
|
||||
|
||||
if (a_ctrl == NULL) {
|
||||
CAM_ERR(CAM_ACTUATOR, "failed. a_ctrl is NULL");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (a_ctrl->cam_act_state != CAM_ACTUATOR_INIT)
|
||||
return rc;
|
||||
|
||||
CAM_INFO(CAM_ACTUATOR, "E");
|
||||
|
||||
init_setting = wide_init_setting;
|
||||
init_size = ARRAY_SIZE(wide_init_setting);
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32)
|
||||
if (a_ctrl->use_mcu) {
|
||||
init_setting = tele_init_setting;
|
||||
init_size = ARRAY_SIZE(tele_init_setting);
|
||||
}
|
||||
#endif
|
||||
for (i = 0; i < init_size; i++) {
|
||||
if (size < init_setting[i].size)
|
||||
size = init_setting[i].size;
|
||||
}
|
||||
|
||||
reg_setting.reg_setting = kmalloc(sizeof(struct cam_sensor_i2c_reg_array) * size, GFP_KERNEL);
|
||||
|
||||
if (!reg_setting.reg_setting) {
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
for (i = 0; i < init_size; i++) {
|
||||
size = init_setting[i].size;
|
||||
memcpy(reg_setting.reg_setting,
|
||||
init_setting[i].reg_setting,
|
||||
sizeof(struct cam_sensor_i2c_reg_array) * size);
|
||||
reg_setting.size = size;
|
||||
reg_setting.addr_type = init_setting[i].addr_type;
|
||||
reg_setting.data_type = init_setting[i].data_type;
|
||||
reg_setting.delay = init_setting[i].delay;
|
||||
rc = camera_io_dev_write(&a_ctrl->io_master_info,
|
||||
®_setting);
|
||||
if (rc < 0)
|
||||
CAM_ERR(CAM_ACTUATOR,
|
||||
"Failed to random write I2C settings[%d]: %d", i, rc);
|
||||
}
|
||||
|
||||
if (reg_setting.reg_setting) {
|
||||
kfree(reg_setting.reg_setting);
|
||||
reg_setting.reg_setting = NULL;
|
||||
}
|
||||
|
||||
CAM_INFO(CAM_ACTUATOR, "X");
|
||||
return rc;
|
||||
}
|
||||
#endif
|
||||
|
@ -66,4 +66,15 @@ void cam_actuator_shutdown(struct cam_actuator_ctrl_t *a_ctrl);
|
||||
|
||||
struct completion *cam_actuator_get_i3c_completion(uint32_t index);
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) || defined(CONFIG_SAMSUNG_ACTUATOR_PREVENT_SHAKING)
|
||||
int32_t cam_actuator_power_up(struct cam_actuator_ctrl_t *a_ctrl);
|
||||
int32_t cam_actuator_power_down(struct cam_actuator_ctrl_t *a_ctrl);
|
||||
#endif
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32)
|
||||
int16_t cam_actuator_move_for_ois_test(struct cam_actuator_ctrl_t *a_ctrl);
|
||||
int16_t cam_actuator_move_for_ois_read_hall_cal_test(struct cam_actuator_ctrl_t *a_ctrl, uint16_t af_position);
|
||||
#endif
|
||||
#if defined(CONFIG_SAMSUNG_ACTUATOR_PREVENT_SHAKING)
|
||||
int32_t cam_actuator_default_init_setting(struct cam_actuator_ctrl_t *a_ctrl);
|
||||
#endif
|
||||
#endif /* _CAM_ACTUATOR_CORE_H_ */
|
||||
|
@ -12,6 +12,35 @@
|
||||
#include "camera_main.h"
|
||||
#include "cam_compat.h"
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) || defined(CONFIG_SAMSUNG_ACTUATOR_PREVENT_SHAKING)
|
||||
struct cam_actuator_ctrl_t *g_a_ctrls[SEC_SENSOR_ID_MAX];
|
||||
#endif
|
||||
|
||||
//#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32)
|
||||
//static int32_t cam_actuator_update_i2c_info(struct cam_actuator_ctrl_t *a_ctrl,
|
||||
// struct cam_actuator_i2c_info_t *i2c_info)
|
||||
//{
|
||||
// struct cam_sensor_cci_client *cci_client = NULL;
|
||||
//
|
||||
// if (a_ctrl->io_master_info.master_type == CCI_MASTER) {
|
||||
// cci_client = a_ctrl->io_master_info.cci_client;
|
||||
// if (!cci_client) {
|
||||
// CAM_ERR(CAM_ACTUATOR, "failed: cci_client %pK",
|
||||
// cci_client);
|
||||
// return -EINVAL;
|
||||
// }
|
||||
// cci_client->cci_i2c_master = a_ctrl->cci_i2c_master;
|
||||
// cci_client->sid = (i2c_info->slave_addr) >> 1;
|
||||
// cci_client->retries = 3;
|
||||
// cci_client->id_map = 0;
|
||||
// cci_client->i2c_freq_mode = i2c_info->i2c_freq_mode;
|
||||
// }
|
||||
//
|
||||
// return 0;
|
||||
//}
|
||||
//
|
||||
//#endif
|
||||
|
||||
static struct cam_i3c_actuator_data {
|
||||
struct cam_actuator_ctrl_t *a_ctrl;
|
||||
struct completion probe_complete;
|
||||
|
@ -120,6 +120,9 @@ struct cam_actuator_ctrl_t {
|
||||
struct cam_actuator_query_cap act_info;
|
||||
struct actuator_intf_params bridge_intf;
|
||||
uint32_t last_flush_req;
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32)
|
||||
uint32_t use_mcu;
|
||||
#endif
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -23,6 +23,7 @@ int32_t cam_actuator_parse_dt(struct cam_actuator_ctrl_t *a_ctrl,
|
||||
struct cam_sensor_power_ctrl_t *power_info = &soc_private->power_info;
|
||||
struct device_node *of_node = NULL;
|
||||
struct device_node *of_parent = NULL;
|
||||
uint32_t temp = 0;
|
||||
|
||||
/* Initialize mutex */
|
||||
mutex_init(&(a_ctrl->actuator_mutex));
|
||||
@ -65,19 +66,46 @@ int32_t cam_actuator_parse_dt(struct cam_actuator_ctrl_t *a_ctrl,
|
||||
CAM_DBG(CAM_ACTUATOR, "cci-device %d", a_ctrl->cci_num);
|
||||
}
|
||||
|
||||
rc = of_property_read_u32(of_node, "slave-addr", &temp);
|
||||
soc_private->i2c_info.slave_addr = temp;
|
||||
if (rc < 0) {
|
||||
CAM_DBG(CAM_ACTUATOR, "No slave-addr found");
|
||||
rc = 0;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32)
|
||||
if (of_property_read_bool(of_node, "use-mcu")) {
|
||||
CAM_INFO(CAM_ACTUATOR,
|
||||
"actuator%u with MCU", soc_info->index);
|
||||
a_ctrl->use_mcu = true;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Initialize regulators to default parameters */
|
||||
for (i = 0; i < soc_info->num_rgltr; i++) {
|
||||
soc_info->rgltr[i] = devm_regulator_get(soc_info->dev,
|
||||
soc_info->rgltr_name[i]);
|
||||
if (IS_ERR_OR_NULL(soc_info->rgltr[i])) {
|
||||
rc = PTR_ERR(soc_info->rgltr[i]);
|
||||
rc = rc ? rc : -EINVAL;
|
||||
CAM_ERR(CAM_ACTUATOR, "get failed for regulator %s %d",
|
||||
soc_info->rgltr_name[i], rc);
|
||||
return rc;
|
||||
#if defined(CONFIG_SEC_Q6Q_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT)
|
||||
if (soc_info->rgltr_subname[i] &&
|
||||
strstr(soc_info->rgltr_subname[i], "s2mpb03")) {
|
||||
soc_info->rgltr[i] = devm_regulator_get(soc_info->dev,
|
||||
soc_info->rgltr_subname[i]);
|
||||
CAM_INFO(CAM_ACTUATOR, "get for regulator %s instead of %s",
|
||||
soc_info->rgltr_subname[i], soc_info->rgltr_name[i]);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
soc_info->rgltr[i] = devm_regulator_get(soc_info->dev,
|
||||
soc_info->rgltr_name[i]);
|
||||
if (IS_ERR_OR_NULL(soc_info->rgltr[i])) {
|
||||
rc = PTR_ERR(soc_info->rgltr[i]);
|
||||
rc = rc ? rc : -EINVAL;
|
||||
CAM_ERR(CAM_ACTUATOR, "get failed for regulator %s %d",
|
||||
soc_info->rgltr_name[i], rc);
|
||||
return rc;
|
||||
}
|
||||
CAM_DBG(CAM_ACTUATOR, "get for regulator %s",
|
||||
soc_info->rgltr_name[i]);
|
||||
}
|
||||
CAM_DBG(CAM_ACTUATOR, "get for regulator %s",
|
||||
soc_info->rgltr_name[i]);
|
||||
}
|
||||
if (!soc_info->gpio_data) {
|
||||
CAM_DBG(CAM_ACTUATOR, "No GPIO found");
|
||||
|
@ -0,0 +1,114 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <linux/module.h>
|
||||
#include <cam_sensor_cmn_header.h>
|
||||
#include "cam_sec_actuator_core.h"
|
||||
#include "cam_sensor_util.h"
|
||||
#include "cam_trace.h"
|
||||
#include "cam_common_util.h"
|
||||
#include "cam_packet_util.h"
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_ACTUATOR_READ_HALL_VALUE)
|
||||
|
||||
#define ACTUATOR_STATUS_REGISTER_ADDR 0x2
|
||||
#define ACTUATOR_HALL_REGISTER_ADDR 0x84
|
||||
|
||||
static int32_t cam_sec_actuator_i2c_read(struct cam_actuator_ctrl_t *a_ctrl, uint32_t addr,
|
||||
uint32_t *data,
|
||||
enum camera_sensor_i2c_type addr_type,
|
||||
enum camera_sensor_i2c_type data_type)
|
||||
{
|
||||
int rc = 0;
|
||||
|
||||
if (a_ctrl == NULL) {
|
||||
CAM_ERR(CAM_ACTUATOR, "failed. a_ctrl is NULL");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
rc = camera_io_dev_read(&a_ctrl->io_master_info, addr,
|
||||
(uint32_t *)data, addr_type, data_type, false);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_ACTUATOR, "Failed to read 0x%x", addr);
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
static int32_t cam_sec_actuator_get_status_for_hall_value(struct cam_actuator_ctrl_t *a_ctrl, uint16_t *info)
|
||||
{
|
||||
int32_t rc = 0;
|
||||
uint32_t val = 0;
|
||||
|
||||
rc = cam_sec_actuator_i2c_read(a_ctrl, ACTUATOR_STATUS_REGISTER_ADDR, &val, CAMERA_SENSOR_I2C_TYPE_BYTE, CAMERA_SENSOR_I2C_TYPE_BYTE);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_ACTUATOR, "get status i2c read fail:%d", rc);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
CAM_INFO(CAM_ACTUATOR, "[AF] val = 0x%x", val);
|
||||
|
||||
*info = (val & 0x60);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
static void cam_sec_actuator_busywait_for_hall_value(struct cam_actuator_ctrl_t *a_ctrl)
|
||||
{
|
||||
uint16_t info = 0, status_check_count = 0;
|
||||
int32_t rc = 0;
|
||||
|
||||
do {
|
||||
rc = cam_sec_actuator_get_status_for_hall_value(a_ctrl, &info);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_ACTUATOR, "cam_actuator_get_status failed:%d", rc);
|
||||
}
|
||||
if (info) {
|
||||
CAM_INFO(CAM_ACTUATOR, "[AF] Not Active");
|
||||
msleep(10);
|
||||
}
|
||||
|
||||
status_check_count++;
|
||||
} while (info && status_check_count < 8);
|
||||
|
||||
if (status_check_count == 8)
|
||||
CAM_ERR(CAM_ACTUATOR, "[AF] status check failed");
|
||||
else
|
||||
CAM_INFO(CAM_ACTUATOR, "[AF] Active");
|
||||
}
|
||||
|
||||
int32_t cam_sec_actuator_read_hall_value(struct cam_actuator_ctrl_t *a_ctrl, uint16_t* af_hall_value)
|
||||
{
|
||||
int32_t rc = 0;
|
||||
uint8_t value[2];
|
||||
uint16_t hallValue = 0;
|
||||
|
||||
if (a_ctrl == NULL) {
|
||||
CAM_ERR(CAM_ACTUATOR, "failed. a_ctrl is NULL");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
cam_sec_actuator_busywait_for_hall_value(a_ctrl);
|
||||
#if defined(CONFIG_SEC_FACTORY)
|
||||
msleep(50);
|
||||
#endif
|
||||
|
||||
rc = camera_io_dev_read_seq(&a_ctrl->io_master_info, ACTUATOR_HALL_REGISTER_ADDR, value, CAMERA_SENSOR_I2C_TYPE_BYTE, CAMERA_SENSOR_I2C_TYPE_BYTE, 2);
|
||||
|
||||
hallValue = (((uint16_t)value[0]) << 4) | ((uint16_t)value[1]) >> 4;
|
||||
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_ACTUATOR, "get status i2c read fail:%d", rc);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
CAM_INFO(CAM_ACTUATOR, "[AF] RAW data = %u", hallValue);
|
||||
|
||||
*af_hall_value = hallValue;
|
||||
|
||||
return rc;
|
||||
}
|
||||
#endif
|
@ -0,0 +1,16 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef _CAM_SEC_ACTUATOR_CORE_H_
|
||||
#define _CAM_SEC_ACTUATOR_CORE_H_
|
||||
|
||||
#include "cam_actuator_dev.h"
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_ACTUATOR_READ_HALL_VALUE)
|
||||
int32_t cam_sec_actuator_read_hall_value(struct cam_actuator_ctrl_t *a_ctrl, uint16_t* af_hall_value);
|
||||
#endif
|
||||
|
||||
#endif /* _CAM_SEC_ACTUATOR_CORE_H_ */
|
@ -30,6 +30,10 @@ static struct cci_irq_data cci_irq_queue[QUEUE_SIZE] = { 0 };
|
||||
static int32_t head;
|
||||
static int32_t tail;
|
||||
|
||||
#if defined(CONFIG_CAMERA_SYSFS_V2)
|
||||
struct device *is_dev = NULL;
|
||||
#endif
|
||||
|
||||
static inline int32_t increment_index(int32_t index)
|
||||
{
|
||||
return (index + 1) % QUEUE_SIZE;
|
||||
@ -830,6 +834,10 @@ static int cam_cci_platform_probe(struct platform_device *pdev)
|
||||
if (rc)
|
||||
CAM_ERR(CAM_CCI, "failed to add component rc: %d", rc);
|
||||
|
||||
#if defined(CONFIG_CAMERA_SYSFS_V2)
|
||||
is_dev = &pdev->dev;
|
||||
#endif
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
@ -17,6 +17,12 @@
|
||||
#include "cam_mem_mgr.h"
|
||||
#include "cam_cpas_api.h"
|
||||
#include "cam_compat.h"
|
||||
#if defined(CONFIG_CAMERA_ADAPTIVE_MIPI) && defined(CONFIG_CAMERA_RF_MIPI)
|
||||
#include "cam_sensor_mipi.h"
|
||||
#endif
|
||||
#if defined(CONFIG_CAMERA_CDR_TEST)
|
||||
#include "cam_clock_data_recovery.h"
|
||||
#endif
|
||||
|
||||
#define SCM_SVC_CAMERASS 0x18
|
||||
#define SECURE_SYSCALL_ID 0x6
|
||||
@ -2179,6 +2185,32 @@ static void __cam_csiphy_get_preamble_status(
|
||||
return;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_CAMERA_ADAPTIVE_MIPI) && defined(CONFIG_CAMERA_RF_MIPI)
|
||||
uint8_t cam_csiphy_core_check_rf_condition(void)
|
||||
{
|
||||
uint8_t ret = 0;
|
||||
struct cam_cp_noti_cell_infos cell_infos;
|
||||
|
||||
get_rf_info(&cell_infos);
|
||||
CAM_INFO(CAM_CSIPHY,
|
||||
"[RF_MIPI_DBG] rat : %d, band : %d, channel : %d",
|
||||
cell_infos.cell_list[0].rat,
|
||||
cell_infos.cell_list[0].band,
|
||||
cell_infos.cell_list[0].channel);
|
||||
|
||||
//add rf condition
|
||||
// if (rf_info.band == CAM_BAND_257_NR5G_N002) {
|
||||
// ret = 1;
|
||||
// }
|
||||
|
||||
if (ret != 0) {
|
||||
CAM_INFO(CAM_CSIPHY, "[RF_MIPI_DBG] Change mipi table : %d", ret);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
|
||||
int32_t cam_csiphy_core_cfg(void *phy_dev,
|
||||
void *arg)
|
||||
{
|
||||
@ -2612,6 +2644,10 @@ int32_t cam_csiphy_core_cfg(void *phy_dev,
|
||||
uint8_t data_rate_variant_idx = 0;
|
||||
unsigned long clk_rate = 0;
|
||||
|
||||
#if defined(CONFIG_CAMERA_ADAPTIVE_MIPI) && defined(CONFIG_CAMERA_RF_MIPI)
|
||||
data_rate_variant_idx = cam_csiphy_core_check_rf_condition();
|
||||
#endif
|
||||
|
||||
CAM_DBG(CAM_CSIPHY, "START_DEV Called");
|
||||
rc = copy_from_user(&config, (void __user *)cmd->handle,
|
||||
sizeof(config));
|
||||
@ -2842,6 +2878,13 @@ int32_t cam_csiphy_core_cfg(void *phy_dev,
|
||||
if (csiphy_onthego_reg_count[soc_info->index])
|
||||
cam_csiphy_apply_onthego_reg_values(csiphybase, soc_info->index);
|
||||
|
||||
#if defined(CONFIG_CAMERA_CDR_TEST)
|
||||
if (cam_clock_data_recovery_is_requested()) {
|
||||
cam_clock_data_recovery_write_register(csiphybase);
|
||||
cam_clock_data_recovery_reset_request();
|
||||
}
|
||||
#endif
|
||||
|
||||
cam_csiphy_release_from_reset_state(csiphy_dev, csiphybase, offset);
|
||||
|
||||
if (g_phy_data[soc_info->index].is_3phase) {
|
||||
|
@ -13,6 +13,13 @@
|
||||
#include <dt-bindings/msm-camera.h>
|
||||
#include "cam_cpas_api.h"
|
||||
|
||||
#if defined(CONFIG_USE_CAMERA_HW_BIG_DATA)
|
||||
#include "cam_sensor_cmn_header.h"
|
||||
#endif
|
||||
#if defined(CONFIG_CAMERA_CDR_TEST)
|
||||
#include "cam_clock_data_recovery.h"
|
||||
#endif
|
||||
|
||||
#define CSIPHY_DEBUGFS_NAME_MAX_SIZE 10
|
||||
#define CAM_MAX_PHYS_PER_CP_CTRL_REG 4
|
||||
static struct dentry *root_dentry;
|
||||
@ -208,7 +215,18 @@ static void cam_csiphy_subdev_handle_message(struct v4l2_subdev *sd,
|
||||
|
||||
switch (message_type) {
|
||||
case CAM_SUBDEV_MESSAGE_REG_DUMP: {
|
||||
#if IS_ENABLED(CONFIG_SEC_ABC)
|
||||
cam_abc_send_event_mipi_error(csiphy_dev->soc_info.index);
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_HW_INFO)
|
||||
cam_check_error_sensor_type(csiphy_dev->soc_info.index);
|
||||
#endif
|
||||
#endif
|
||||
cam_csiphy_trigger_reg_dump(csiphy_dev);
|
||||
cam_soc_util_print_clk_freq(&csiphy_dev->soc_info);
|
||||
|
||||
#if defined(CONFIG_CAMERA_CDR_TEST)
|
||||
cam_clock_data_recovery_set_result(CDR_ERROR_MIPI);
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
case CAM_SUBDEV_MESSAGE_APPLY_CSIPHY_AUX: {
|
||||
|
@ -271,14 +271,17 @@ struct csiphy_reg_t csiphy_2ph_v2_2_0_combo_mode_reg[] = {
|
||||
};
|
||||
|
||||
struct csiphy_reg_t csiphy_3ph_v2_2_0_reg[] = {
|
||||
{0x0294, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x02F4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x02F8, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x02FC, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x02F0, 0xEF, 0xD3, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0694, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x06F4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x06F8, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x06FC, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x06F0, 0xEF, 0xD3, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A94, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0AF4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0AF8, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0AFC, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
@ -348,7 +351,7 @@ struct csiphy_reg_t datarate_220_80Msps[] = {
|
||||
{0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x026C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x028C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -358,7 +361,7 @@ struct csiphy_reg_t datarate_220_80Msps[] = {
|
||||
{0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0678, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x066C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x068C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -368,7 +371,7 @@ struct csiphy_reg_t datarate_220_80Msps[] = {
|
||||
{0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A78, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A6C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -395,7 +398,7 @@ struct csiphy_reg_t datarate_220_100Msps[] = {
|
||||
{0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x026C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x028C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -405,7 +408,7 @@ struct csiphy_reg_t datarate_220_100Msps[] = {
|
||||
{0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0678, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x066C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x068C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -415,7 +418,7 @@ struct csiphy_reg_t datarate_220_100Msps[] = {
|
||||
{0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A78, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A6C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -442,7 +445,7 @@ struct csiphy_reg_t datarate_220_200Msps[] = {
|
||||
{0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x026C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x028C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -452,7 +455,7 @@ struct csiphy_reg_t datarate_220_200Msps[] = {
|
||||
{0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0678, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x066C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x068C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -462,7 +465,7 @@ struct csiphy_reg_t datarate_220_200Msps[] = {
|
||||
{0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A78, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A6C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -489,7 +492,7 @@ struct csiphy_reg_t datarate_220_300Msps[] = {
|
||||
{0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x026C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x028C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -499,7 +502,7 @@ struct csiphy_reg_t datarate_220_300Msps[] = {
|
||||
{0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0678, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x066C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x068C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -509,7 +512,7 @@ struct csiphy_reg_t datarate_220_300Msps[] = {
|
||||
{0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A78, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A6C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -536,7 +539,7 @@ struct csiphy_reg_t datarate_220_350Msps[] = {
|
||||
{0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x026C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x028C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -546,7 +549,7 @@ struct csiphy_reg_t datarate_220_350Msps[] = {
|
||||
{0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0678, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x066C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x068C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -556,7 +559,7 @@ struct csiphy_reg_t datarate_220_350Msps[] = {
|
||||
{0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A78, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A6C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -583,7 +586,7 @@ struct csiphy_reg_t datarate_220_400Msps[] = {
|
||||
{0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x026C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x028C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -593,7 +596,7 @@ struct csiphy_reg_t datarate_220_400Msps[] = {
|
||||
{0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0678, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x066C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x068C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -603,7 +606,7 @@ struct csiphy_reg_t datarate_220_400Msps[] = {
|
||||
{0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A78, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A6C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -630,7 +633,7 @@ struct csiphy_reg_t datarate_220_500Msps[] = {
|
||||
{0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x026C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x028C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -640,7 +643,7 @@ struct csiphy_reg_t datarate_220_500Msps[] = {
|
||||
{0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0678, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x066C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x068C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -650,7 +653,7 @@ struct csiphy_reg_t datarate_220_500Msps[] = {
|
||||
{0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A78, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A6C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -677,7 +680,7 @@ struct csiphy_reg_t datarate_220_600Msps[] = {
|
||||
{0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x026C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x028C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -687,7 +690,7 @@ struct csiphy_reg_t datarate_220_600Msps[] = {
|
||||
{0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0678, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x066C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x068C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -697,7 +700,7 @@ struct csiphy_reg_t datarate_220_600Msps[] = {
|
||||
{0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A78, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A6C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -724,7 +727,7 @@ struct csiphy_reg_t datarate_220_700Msps[] = {
|
||||
{0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x026C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x028C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -734,7 +737,7 @@ struct csiphy_reg_t datarate_220_700Msps[] = {
|
||||
{0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0678, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x066C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x068C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -744,7 +747,7 @@ struct csiphy_reg_t datarate_220_700Msps[] = {
|
||||
{0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A78, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A6C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -771,7 +774,7 @@ struct csiphy_reg_t datarate_220_800Msps[] = {
|
||||
{0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x026C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x028C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -781,7 +784,7 @@ struct csiphy_reg_t datarate_220_800Msps[] = {
|
||||
{0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0678, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x066C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x068C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -791,7 +794,7 @@ struct csiphy_reg_t datarate_220_800Msps[] = {
|
||||
{0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A78, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A6C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -818,7 +821,7 @@ struct csiphy_reg_t datarate_220_900Msps[] = {
|
||||
{0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x026C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x028C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -828,7 +831,7 @@ struct csiphy_reg_t datarate_220_900Msps[] = {
|
||||
{0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0678, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x066C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x068C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -838,7 +841,7 @@ struct csiphy_reg_t datarate_220_900Msps[] = {
|
||||
{0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A78, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A6C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -865,7 +868,7 @@ struct csiphy_reg_t datarate_220_1p0Gsps[] = {
|
||||
{0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x026C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x028C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -875,7 +878,7 @@ struct csiphy_reg_t datarate_220_1p0Gsps[] = {
|
||||
{0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0678, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x066C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x068C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -885,7 +888,7 @@ struct csiphy_reg_t datarate_220_1p0Gsps[] = {
|
||||
{0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A78, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A6C, 0x05, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
@ -912,31 +915,31 @@ struct csiphy_reg_t datarate_220_1p2Gsps[] = {
|
||||
{0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0278, 0x45, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x026C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x1D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x028C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x028C, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x0270, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0270, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0274, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0668, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0678, 0x45, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x066C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x1D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x068C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x068C, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x0670, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0670, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0674, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A68, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A78, 0x45, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A6C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x1D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A70, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS},
|
||||
/* Datarate Sensitive */
|
||||
{0x020C, 0x35, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
|
||||
@ -951,6 +954,9 @@ struct csiphy_reg_t datarate_220_1p2Gsps[] = {
|
||||
{0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE},
|
||||
{0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0270, 0x00, 0x00, CSIPHY_AUXILIARY_SETTING},
|
||||
{0x0670, 0x00, 0x00, CSIPHY_AUXILIARY_SETTING},
|
||||
{0x0A70, 0x00, 0x00, CSIPHY_AUXILIARY_SETTING},
|
||||
};
|
||||
|
||||
struct csiphy_reg_t datarate_220_1p5Gsps[] = {
|
||||
@ -1048,6 +1054,59 @@ struct csiphy_reg_t datarate_220_1p7Gsps[] = {
|
||||
};
|
||||
|
||||
struct csiphy_reg_t datarate_220_2p0Gsps[] = {
|
||||
/* AFE Settings */
|
||||
{0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0278, 0x28, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x026C, 0x1D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x028C, 0x88, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x0270, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0274, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0668, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0678, 0x28, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x066C, 0x1D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x068C, 0x88, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x0670, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0674, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A68, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A78, 0x28, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A6C, 0x1D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x88, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS},
|
||||
/* Datarate Sensitive */
|
||||
{0x020C, 0x27, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
|
||||
{0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE},
|
||||
{0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0214, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x060C, 0x27, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
|
||||
{0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE},
|
||||
{0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0614, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A0C, 0x27, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
|
||||
{0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE},
|
||||
{0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A14, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0270, 0x02, 0x00, CSIPHY_AUXILIARY_SETTING},
|
||||
{0x0670, 0x02, 0x00, CSIPHY_AUXILIARY_SETTING},
|
||||
{0x0A70, 0x02, 0x00, CSIPHY_AUXILIARY_SETTING},
|
||||
{0x0278, 0x25, 0x00, CSIPHY_AUXILIARY_SETTING},
|
||||
{0x0678, 0x25, 0x00, CSIPHY_AUXILIARY_SETTING},
|
||||
{0x0A78, 0x25, 0x00, CSIPHY_AUXILIARY_SETTING},
|
||||
};
|
||||
|
||||
struct csiphy_reg_t datarate_220_2p0Gsps_wide[] = {
|
||||
/* AFE Settings */
|
||||
{0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
@ -1092,6 +1151,12 @@ struct csiphy_reg_t datarate_220_2p0Gsps[] = {
|
||||
{0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE},
|
||||
{0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A14, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0270, 0x00, 0x00, CSIPHY_AUXILIARY_SETTING},
|
||||
{0x0670, 0x00, 0x00, CSIPHY_AUXILIARY_SETTING},
|
||||
{0x0A70, 0x00, 0x00, CSIPHY_AUXILIARY_SETTING},
|
||||
{0x0278, 0x2E, 0x00, CSIPHY_AUXILIARY_SETTING},
|
||||
{0x0678, 0x2E, 0x00, CSIPHY_AUXILIARY_SETTING},
|
||||
{0x0A78, 0x2E, 0x00, CSIPHY_AUXILIARY_SETTING},
|
||||
};
|
||||
|
||||
struct csiphy_reg_t datarate_220_2p1Gsps[] = {
|
||||
@ -1327,6 +1392,59 @@ struct csiphy_reg_t datarate_220_2p8Gsps[] = {
|
||||
{0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE},
|
||||
{0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A14, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0274, 0x00, 0x00, CSIPHY_AUXILIARY_SETTING},
|
||||
{0x0674, 0x00, 0x00, CSIPHY_AUXILIARY_SETTING},
|
||||
{0x0A74, 0x00, 0x00, CSIPHY_AUXILIARY_SETTING},
|
||||
};
|
||||
|
||||
struct csiphy_reg_t datarate_220_2p8Gsps_ultrawide[] = {
|
||||
/* AFE Settings */
|
||||
{0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0278, 0x17, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x026C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x026C, 0x2D, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x028C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x0270, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0274, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0668, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0678, 0x17, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x066C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x066C, 0x2D, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x068C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x0670, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0674, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A68, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A78, 0x17, 0x00, CSIPHY_CDR_LN_SETTINGS},
|
||||
{0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A6C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A6C, 0x2D, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x30, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x0A70, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A74, 0x00, 0x0A, CSIPHY_DEFAULT_PARAMS},
|
||||
/* Datarate Sensitive */
|
||||
{0x020C, 0x21, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
|
||||
{0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE},
|
||||
{0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0214, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x060C, 0x21, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
|
||||
{0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE},
|
||||
{0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0614, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A0C, 0x21, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
|
||||
{0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE},
|
||||
{0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A14, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0274, 0x03, 0x00, CSIPHY_AUXILIARY_SETTING},
|
||||
{0x0674, 0x03, 0x00, CSIPHY_AUXILIARY_SETTING},
|
||||
{0x0A74, 0x03, 0x00, CSIPHY_AUXILIARY_SETTING},
|
||||
};
|
||||
|
||||
struct csiphy_reg_t datarate_220_3p0Gsps[] = {
|
||||
@ -1474,7 +1592,7 @@ struct csiphy_reg_t datarate_220_4p0Gsps[] = {
|
||||
/* AFE Settings */
|
||||
{0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0278, 0x0C, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0278, 0x08, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0278, 0x0C, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x026C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
@ -1485,7 +1603,7 @@ struct csiphy_reg_t datarate_220_4p0Gsps[] = {
|
||||
{0x0274, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0668, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0678, 0x0C, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0678, 0x08, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0678, 0x0C, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x066C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
@ -1496,7 +1614,7 @@ struct csiphy_reg_t datarate_220_4p0Gsps[] = {
|
||||
{0x0674, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A68, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A78, 0x0C, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A78, 0x08, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
{0x0A78, 0x0C, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS},
|
||||
{0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A6C, 0x3D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS},
|
||||
@ -1922,7 +2040,7 @@ static struct data_rate_reg_info_t data_rate_settings_2_2_0[] = {
|
||||
.data_rate_reg_array[2][0] = datarate_220_2p0Gsps,
|
||||
.data_rate_reg_array[3][0] = datarate_220_2p0Gsps,
|
||||
.data_rate_reg_array[4][0] = datarate_220_2p0Gsps,
|
||||
.data_rate_reg_array[5][0] = datarate_220_2p0Gsps,
|
||||
.data_rate_reg_array[5][0] = datarate_220_2p0Gsps_wide,
|
||||
.data_rate_reg_array[6][0] = datarate_220_2p0Gsps,
|
||||
.data_rate_reg_array[7][0] = datarate_220_2p0Gsps,
|
||||
},
|
||||
@ -1984,7 +2102,7 @@ static struct data_rate_reg_info_t data_rate_settings_2_2_0[] = {
|
||||
.data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p8Gsps),
|
||||
.data_rate_reg_array[0][0] = datarate_220_2p8Gsps,
|
||||
.data_rate_reg_array[1][0] = datarate_220_2p8Gsps,
|
||||
.data_rate_reg_array[2][0] = datarate_220_2p8Gsps,
|
||||
.data_rate_reg_array[2][0] = datarate_220_2p8Gsps_ultrawide,
|
||||
.data_rate_reg_array[3][0] = datarate_220_2p8Gsps,
|
||||
.data_rate_reg_array[4][0] = datarate_220_2p8Gsps,
|
||||
.data_rate_reg_array[5][0] = datarate_220_2p8Gsps,
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -13,6 +13,12 @@
|
||||
#include "cam_debug_util.h"
|
||||
#include "cam_common_util.h"
|
||||
#include "cam_packet_util.h"
|
||||
#include "cam_hw_bigdata.h"
|
||||
|
||||
#if defined(CONFIG_CAMERA_SYSFS_V2)
|
||||
#include "cam_sec_eeprom_core.h"
|
||||
#define CAM_EEPROM_DBG 1
|
||||
#endif
|
||||
|
||||
#define MAX_READ_SIZE 0x7FFFF
|
||||
|
||||
@ -104,6 +110,45 @@ static int cam_eeprom_read_memory(struct cam_eeprom_ctrl_t *e_ctrl,
|
||||
}
|
||||
|
||||
if (emap[j].mem.valid_size) {
|
||||
#if defined(CONFIG_CAMERA_SYSFS_V2)
|
||||
uint32_t addr = 0, size = 0, read_size = 0;
|
||||
|
||||
size = emap[j].mem.valid_size;
|
||||
addr = emap[j].mem.addr;
|
||||
memptr = block->mapdata + addr;
|
||||
|
||||
CAM_DBG(CAM_EEPROM, "[%d / %d] memptr = %pK, addr = 0x%X, size = 0x%X, subdev = %d",
|
||||
j, block->num_map, memptr, emap[j].mem.addr, emap[j].mem.valid_size, e_ctrl->soc_info.index);
|
||||
|
||||
CAM_DBG(CAM_EEPROM, "addr_type = %d, data_type = %d, device_type = %d",
|
||||
emap[j].mem.addr_type, emap[j].mem.data_type, e_ctrl->eeprom_device_type);
|
||||
if (emap[j].mem.data_type == 0) {
|
||||
CAM_DBG(CAM_EEPROM,
|
||||
"skipping read as data_type 0, skipped:%d",
|
||||
read_size);
|
||||
continue;
|
||||
}
|
||||
|
||||
while(size > 0) {
|
||||
read_size = size;
|
||||
if (size > I2C_REG_DATA_MAX) {
|
||||
read_size = I2C_REG_DATA_MAX;
|
||||
}
|
||||
rc = camera_io_dev_read_seq(&e_ctrl->io_master_info,
|
||||
addr, memptr,
|
||||
emap[j].mem.addr_type,
|
||||
emap[j].mem.data_type,
|
||||
read_size);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_EEPROM, "read failed rc %d",
|
||||
rc);
|
||||
return rc;
|
||||
}
|
||||
size -= read_size;
|
||||
addr += read_size;
|
||||
memptr += read_size;
|
||||
}
|
||||
#else
|
||||
rc = camera_io_dev_read_seq(&e_ctrl->io_master_info,
|
||||
emap[j].mem.addr, memptr,
|
||||
emap[j].mem.addr_type,
|
||||
@ -115,6 +160,8 @@ static int cam_eeprom_read_memory(struct cam_eeprom_ctrl_t *e_ctrl,
|
||||
return rc;
|
||||
}
|
||||
memptr += emap[j].mem.valid_size;
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
if (emap[j].pageen.valid_size) {
|
||||
@ -191,6 +238,10 @@ static int cam_eeprom_power_up(struct cam_eeprom_ctrl_t *e_ctrl,
|
||||
goto cci_failure;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_CAMERA)
|
||||
usleep_range(5000, 5010);
|
||||
#endif
|
||||
|
||||
return rc;
|
||||
cci_failure:
|
||||
if (cam_sensor_util_power_down(power_info, soc_info))
|
||||
@ -234,6 +285,10 @@ static int cam_eeprom_power_down(struct cam_eeprom_ctrl_t *e_ctrl)
|
||||
|
||||
camera_io_release(&(e_ctrl->io_master_info));
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_CAMERA)
|
||||
msleep(40);
|
||||
#endif
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
@ -276,6 +331,12 @@ int32_t cam_eeprom_parse_read_memory_map(struct device_node *of_node,
|
||||
struct cam_eeprom_soc_private *soc_private;
|
||||
struct cam_sensor_power_ctrl_t *power_info;
|
||||
|
||||
#if defined(CONFIG_CAMERA_SYSFS_V2)
|
||||
int i;
|
||||
int normal_crc_value = 0;
|
||||
#endif
|
||||
|
||||
|
||||
if (!e_ctrl) {
|
||||
CAM_ERR(CAM_EEPROM, "failed: e_ctrl is NULL");
|
||||
return -EINVAL;
|
||||
@ -304,12 +365,48 @@ int32_t cam_eeprom_parse_read_memory_map(struct device_node *of_node,
|
||||
goto power_down;
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(CONFIG_CAMERA_SYSFS_V2)
|
||||
normal_crc_value = 0;
|
||||
for (i = 0; i < e_ctrl->cal_data.num_map>>1; i++)
|
||||
normal_crc_value |= (1 << i);
|
||||
|
||||
e_ctrl->camera_normal_cal_crc = normal_crc_value;
|
||||
CAM_INFO(CAM_EEPROM, "num_map = %d, CAMERA_NORMAL_CAL_CRC = 0x%X",
|
||||
e_ctrl->cal_data.num_map, e_ctrl->camera_normal_cal_crc);
|
||||
#endif
|
||||
|
||||
rc = cam_eeprom_read_memory(e_ctrl, &e_ctrl->cal_data);
|
||||
if (rc) {
|
||||
CAM_ERR(CAM_EEPROM, "read_eeprom_memory failed");
|
||||
goto power_down;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_CAMERA_SYSFS_V2)
|
||||
e_ctrl->is_supported |= cam_sec_eeprom_match_crc(&e_ctrl->cal_data, e_ctrl->soc_info.index);
|
||||
|
||||
if (e_ctrl->is_supported != normal_crc_value)
|
||||
CAM_ERR(CAM_EEPROM, "Any CRC values at F-ROM are not matched.");
|
||||
else
|
||||
CAM_INFO(CAM_EEPROM, "All CRC values are matched.");
|
||||
|
||||
rc = cam_sec_eeprom_update_module_info(e_ctrl);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_EEPROM, "cam_sec_eeprom_update_module_info failed");
|
||||
goto power_down;
|
||||
}
|
||||
|
||||
#ifdef CAM_EEPROM_DBG_DUMP
|
||||
if (e_ctrl->soc_info.index == 1 || e_ctrl->soc_info.index == 8 ) {
|
||||
rc = cam_sec_eeprom_dump(e_ctrl->soc_info.index, e_ctrl->cal_data.mapdata, 0x0000, 0x7DF);
|
||||
}
|
||||
else if (e_ctrl->soc_info.index == 2) {
|
||||
rc = cam_sec_eeprom_dump(e_ctrl->soc_info.index, e_ctrl->cal_data.mapdata, 0x0000, 0x7DF);
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
rc = cam_eeprom_power_down(e_ctrl);
|
||||
if (rc)
|
||||
CAM_ERR(CAM_EEPROM, "failed: eeprom power down rc %d", rc);
|
||||
@ -1235,6 +1332,12 @@ static int32_t cam_eeprom_pkt_parse(struct cam_eeprom_ctrl_t *e_ctrl, void *arg)
|
||||
(struct cam_eeprom_soc_private *)e_ctrl->soc_info.soc_private;
|
||||
struct cam_sensor_power_ctrl_t *power_info = &soc_private->power_info;
|
||||
|
||||
#if defined(CONFIG_CAMERA_SYSFS_V2)
|
||||
uint8_t crc_check_retry_cnt = 0;
|
||||
int i;
|
||||
int normal_crc_value = 0;
|
||||
#endif
|
||||
|
||||
ioctl_ctrl = (struct cam_control *)arg;
|
||||
|
||||
if (copy_from_user(&dev_config,
|
||||
@ -1289,6 +1392,8 @@ static int32_t cam_eeprom_pkt_parse(struct cam_eeprom_ctrl_t *e_ctrl, void *arg)
|
||||
|
||||
vfree(e_ctrl->cal_data.mapdata);
|
||||
vfree(e_ctrl->cal_data.map);
|
||||
e_ctrl->cal_data.mapdata = NULL;
|
||||
e_ctrl->cal_data.map = NULL;
|
||||
e_ctrl->cal_data.num_data = 0;
|
||||
e_ctrl->cal_data.num_map = 0;
|
||||
CAM_DBG(CAM_EEPROM,
|
||||
@ -1303,6 +1408,24 @@ static int32_t cam_eeprom_pkt_parse(struct cam_eeprom_ctrl_t *e_ctrl, void *arg)
|
||||
return rc;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_CAMERA_SYSFS_V2)
|
||||
if ((e_ctrl->cal_data.num_map == 0) &&
|
||||
(e_ctrl->cal_data.map != NULL)) {
|
||||
vfree(e_ctrl->cal_data.map);
|
||||
e_ctrl->cal_data.map = NULL;
|
||||
CAM_INFO(CAM_EEPROM, "No read settings privided");
|
||||
return rc;
|
||||
}
|
||||
|
||||
e_ctrl->cal_data.num_data = cam_sec_eeprom_calc_calmap_size(e_ctrl);
|
||||
|
||||
if (e_ctrl->cal_data.num_data == 0) {
|
||||
rc = -ENOMEM;
|
||||
CAM_ERR(CAM_EEPROM, "failed");
|
||||
goto error;
|
||||
}
|
||||
#endif
|
||||
|
||||
e_ctrl->cal_data.mapdata =
|
||||
vzalloc(e_ctrl->cal_data.num_data);
|
||||
if (!e_ctrl->cal_data.mapdata) {
|
||||
@ -1320,6 +1443,9 @@ static int32_t cam_eeprom_pkt_parse(struct cam_eeprom_ctrl_t *e_ctrl, void *arg)
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(CONFIG_CAMERA_SYSFS_V2)
|
||||
eeropm_crc_check :
|
||||
#endif
|
||||
rc = cam_eeprom_power_up(e_ctrl,
|
||||
&soc_private->power_info);
|
||||
if (rc) {
|
||||
@ -1328,13 +1454,146 @@ static int32_t cam_eeprom_pkt_parse(struct cam_eeprom_ctrl_t *e_ctrl, void *arg)
|
||||
}
|
||||
|
||||
e_ctrl->cam_eeprom_state = CAM_EEPROM_CONFIG;
|
||||
#if defined(CONFIG_CAMERA_SYSFS_V2)
|
||||
normal_crc_value = 0;
|
||||
for (i = 0; i < e_ctrl->cal_data.num_map>>1; i++)
|
||||
normal_crc_value |= (1 << i);
|
||||
|
||||
e_ctrl->camera_normal_cal_crc = normal_crc_value;
|
||||
CAM_INFO(CAM_EEPROM, "num_map = %d, CAMERA_NORMAL_CAL_CRC = 0x%X",
|
||||
e_ctrl->cal_data.num_map, e_ctrl->camera_normal_cal_crc);
|
||||
#endif
|
||||
#if defined(CONFIG_SEC_GTS10U_PROJECT)
|
||||
if (e_ctrl->soc_info.index == 2){
|
||||
CAM_ERR(CAM_EEPROM, "HI847 REAR UW");
|
||||
rc = cam_otp_hi847_read_memory(e_ctrl, &e_ctrl->cal_data);
|
||||
}
|
||||
else {
|
||||
rc = cam_eeprom_read_memory(e_ctrl, &e_ctrl->cal_data);
|
||||
}
|
||||
#elif defined(CONFIG_SEC_GTS10P_PROJECT)
|
||||
if (e_ctrl->soc_info.index == 1){
|
||||
CAM_INFO(CAM_EEPROM, "HI1337 FRONT");
|
||||
rc = cam_otp_hi1337_read_memory(e_ctrl, &e_ctrl->cal_data);
|
||||
}
|
||||
else if (e_ctrl->soc_info.index == 2){
|
||||
CAM_ERR(CAM_EEPROM, "HI847 REAR UW");
|
||||
rc = cam_otp_hi847_read_memory(e_ctrl, &e_ctrl->cal_data);
|
||||
}
|
||||
else if (e_ctrl->soc_info.index == 12){
|
||||
CAM_INFO(CAM_EEPROM, "HI1337 FRONT FULL");
|
||||
rc = cam_otp_hi1337_read_memory(e_ctrl, &e_ctrl->cal_data);
|
||||
}
|
||||
else {
|
||||
rc = cam_eeprom_read_memory(e_ctrl, &e_ctrl->cal_data);
|
||||
}
|
||||
#else
|
||||
rc = cam_eeprom_read_memory(e_ctrl, &e_ctrl->cal_data);
|
||||
#endif
|
||||
if (rc) {
|
||||
CAM_ERR(CAM_EEPROM,
|
||||
"read_eeprom_memory failed");
|
||||
hw_bigdata_i2c_from_eeprom(e_ctrl);
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_CAMERA)
|
||||
CAM_ERR(CAM_EEPROM, "Retry to read F-ROM");
|
||||
rc = cam_eeprom_power_down(e_ctrl);
|
||||
if (rc) {
|
||||
CAM_ERR(CAM_EEPROM, "failed power down rc %d", rc);
|
||||
goto memdata_free;
|
||||
}
|
||||
|
||||
usleep_range(10*1000, 11*1000);
|
||||
|
||||
rc = cam_eeprom_power_up(e_ctrl,
|
||||
&soc_private->power_info);
|
||||
if (rc) {
|
||||
CAM_ERR(CAM_EEPROM, "failed power up rc %d", rc);
|
||||
goto memdata_free;
|
||||
}
|
||||
|
||||
rc = cam_eeprom_read_memory(e_ctrl, &e_ctrl->cal_data);
|
||||
if (rc) {
|
||||
CAM_ERR(CAM_EEPROM,
|
||||
"read_eeprom_memory failed (retry)");
|
||||
hw_bigdata_i2c_from_eeprom(e_ctrl);
|
||||
cam_sec_eeprom_reset_module_info(e_ctrl);
|
||||
|
||||
goto power_down;
|
||||
}
|
||||
#else
|
||||
goto power_down;
|
||||
#endif
|
||||
}
|
||||
|
||||
#if defined(CONFIG_CAMERA_SYSFS_V2)
|
||||
if (1 < e_ctrl->cal_data.num_map) {
|
||||
if (crc_check_retry_cnt == 0) {
|
||||
rc = cam_sec_eeprom_get_customInfo(e_ctrl, csl_packet);
|
||||
if (rc < 0) {
|
||||
CAM_INFO(CAM_EEPROM, "cam_sec_eeprom_get_customInfo failed");
|
||||
}
|
||||
}
|
||||
|
||||
e_ctrl->is_supported |= cam_sec_eeprom_match_crc(&e_ctrl->cal_data,
|
||||
e_ctrl->soc_info.index);
|
||||
|
||||
if (e_ctrl->is_supported != normal_crc_value) {
|
||||
CAM_ERR(CAM_EEPROM, "Any CRC values at F-ROM are not matched.");
|
||||
hw_bigdata_crc_from_eeprom(e_ctrl);
|
||||
if (crc_check_retry_cnt < 10) {
|
||||
crc_check_retry_cnt++;
|
||||
CAM_ERR(CAM_EEPROM, "Retry to read F-ROM : %d", crc_check_retry_cnt);
|
||||
cam_eeprom_power_down(e_ctrl);
|
||||
goto eeropm_crc_check;
|
||||
|
||||
}
|
||||
} else {
|
||||
CAM_INFO(CAM_EEPROM, "All CRC values are matched.");
|
||||
crc_check_retry_cnt = 0;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_CAMERA_HW_ERROR_DETECT)
|
||||
if (crc_check_retry_cnt > 0) {
|
||||
if (e_ctrl->soc_info.index == SEC_WIDE_SENSOR) {
|
||||
sprintf(retry_cnt[INDEX_REAR], "%d\n", crc_check_retry_cnt);
|
||||
} else if (e_ctrl->soc_info.index == SEC_ULTRA_WIDE_SENSOR) {
|
||||
sprintf(retry_cnt[INDEX_REAR2], "%d\n", crc_check_retry_cnt);
|
||||
} else if (e_ctrl->soc_info.index == SEC_TELE_SENSOR) {
|
||||
sprintf(retry_cnt[INDEX_REAR3], "%d\n", crc_check_retry_cnt);
|
||||
} else if (e_ctrl->soc_info.index == SEC_TELE2_SENSOR) {
|
||||
sprintf(retry_cnt[INDEX_REAR4], "%d\n", crc_check_retry_cnt);
|
||||
} else if (e_ctrl->soc_info.index == SEC_FRONT_SENSOR) {
|
||||
sprintf(retry_cnt[INDEX_FRONT], "%d\n", crc_check_retry_cnt);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
rc = cam_sec_eeprom_update_module_info(e_ctrl);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_EEPROM, "cam_sec_eeprom_update_module_info failed");
|
||||
goto power_down;
|
||||
}
|
||||
|
||||
#ifdef CAM_EEPROM_DBG_DUMP
|
||||
if (e_ctrl->soc_info.index == 1 || e_ctrl->soc_info.index == 8)
|
||||
rc = cam_sec_eeprom_dump(e_ctrl->soc_info.index,
|
||||
e_ctrl->cal_data.mapdata, 0x0, 0x7DF);
|
||||
else if (e_ctrl->soc_info.index == 2)
|
||||
rc = cam_sec_eeprom_dump(e_ctrl->soc_info.index,
|
||||
e_ctrl->cal_data.mapdata, 0x0, 0x7DF);
|
||||
#endif
|
||||
} else if (e_ctrl->cal_data.num_map == 1 &&
|
||||
e_ctrl->cal_data.num_data == FROM_REAR_HEADER_SIZE) {
|
||||
// run this on eebin check
|
||||
rc = cam_sec_eeprom_get_phone_ver(e_ctrl, csl_packet);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_EEPROM, "cam_sec_eeprom_get_phone_ver failed");
|
||||
goto power_down;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
rc = cam_eeprom_get_cal_data(e_ctrl, csl_packet);
|
||||
if (rc)
|
||||
CAM_WARN(CAM_EEPROM, "failed to get calibration data rc %d", rc);
|
||||
@ -1343,6 +1602,8 @@ static int32_t cam_eeprom_pkt_parse(struct cam_eeprom_ctrl_t *e_ctrl, void *arg)
|
||||
e_ctrl->cam_eeprom_state = CAM_EEPROM_ACQUIRE;
|
||||
vfree(e_ctrl->cal_data.mapdata);
|
||||
vfree(e_ctrl->cal_data.map);
|
||||
e_ctrl->cal_data.mapdata = NULL;
|
||||
e_ctrl->cal_data.map = NULL;
|
||||
kfree(power_info->power_setting);
|
||||
kfree(power_info->power_down_setting);
|
||||
power_info->power_setting = NULL;
|
||||
@ -1426,6 +1687,8 @@ error:
|
||||
vfree(e_ctrl->cal_data.map);
|
||||
e_ctrl->cal_data.num_data = 0;
|
||||
e_ctrl->cal_data.num_map = 0;
|
||||
e_ctrl->cal_data.mapdata = NULL;
|
||||
e_ctrl->cal_data.map = NULL;
|
||||
e_ctrl->cam_eeprom_state = CAM_EEPROM_ACQUIRE;
|
||||
return rc;
|
||||
}
|
||||
|
@ -37,6 +37,380 @@
|
||||
#define EEPROM_DRIVER_I2C "cam-i2c-eeprom"
|
||||
#define EEPROM_DRIVER_I3C "i3c_camera_eeprom"
|
||||
|
||||
#define OK 1
|
||||
#define CRASH 0
|
||||
|
||||
#define SYSFS_FW_VER_SIZE 40
|
||||
#define SYSFS_MODULE_INFO_SIZE 96
|
||||
|
||||
#define FROM_MODULE_FW_INFO_SIZE 11
|
||||
#define FROM_MTF_SIZE 54
|
||||
#define FROM_MODULE_ID_SIZE 10
|
||||
|
||||
#define FROM_REAR_AF_CAL_SIZE 10
|
||||
#define FROM_SENSOR_ID_SIZE 16
|
||||
|
||||
#define FROM_REAR_DUAL_CAL_SIZE 89
|
||||
#define FROM_FRONT_DUAL_CAL_SIZE 1024
|
||||
#define FROM_MAX_DUAL_CAL_SIZE ((FROM_REAR_DUAL_CAL_SIZE > FROM_FRONT_DUAL_CAL_SIZE) ? FROM_REAR_DUAL_CAL_SIZE : FROM_FRONT_DUAL_CAL_SIZE)
|
||||
|
||||
#define PAF_2PD_CAL_INFO_SIZE 4096
|
||||
#define PAF_SPARSEPD_CAL_INFO_SIZE 2048
|
||||
#define PAF_CAL_ERR_CHECK_OFFSET 0x14
|
||||
|
||||
#define CAMERA_CAL_CRC_WIDE 0x1FFF
|
||||
#define FROM_REAR_HEADER_SIZE 0x0200
|
||||
|
||||
#define HW_INFO_MAX_SIZE (6)
|
||||
#define SW_INFO_MAX_SIZE (5)
|
||||
#define VENDOR_INFO_MAX_SIZE (2)
|
||||
#define PROCESS_INFO_MAX_SIZE (2)
|
||||
#define PROJECT_CAL_TYPE_MAX_SIZE (20)
|
||||
|
||||
#define MAKE_STRINGIZE(arg) #arg
|
||||
|
||||
#define X_ENUMS \
|
||||
X(DEF_M_CORE_VER) \
|
||||
X(DEF_M_VER_HW) \
|
||||
X(DEF_M_VER_SW) \
|
||||
X(DEF_M_VER_ETC) \
|
||||
X(DEF_S_VER_HW) \
|
||||
X(DEF_M_CHK_VER) \
|
||||
X(SIZE_M_PAF_CAL) \
|
||||
X(SIZE_S_PAF_CAL) \
|
||||
X(SIZE_M_DUAL_CAL) \
|
||||
X(SIZE_S_DUAL_CAL) \
|
||||
X(SIZE_ONLY_M_CAL_CRC) \
|
||||
X(ADDR_M_HEADER) \
|
||||
X(ADDR_S_FW_VER) \
|
||||
X(ADDR_M_FW_VER) \
|
||||
X(ADDR_M_CALMAP_VER) \
|
||||
X(ADDR_M_DLL_VER) \
|
||||
X(ADDR_S_DLL_VER) \
|
||||
X(ADDR_M_MODULE_ID) \
|
||||
X(ADDR_M_SENSOR_ID) \
|
||||
X(ADDR_M_SENSOR_VER) \
|
||||
X(ADDR_S_SENSOR_ID) \
|
||||
X(ADDR_M0_MTF) \
|
||||
X(ADDR_M1_MTF) \
|
||||
X(ADDR_M2_MTF) \
|
||||
X(ADDR_S0_MTF) \
|
||||
X(ADDR_M0_LSC) \
|
||||
X(ADDR_M1_LSC) \
|
||||
X(ADDR_M2_LSC) \
|
||||
X(ADDR_M0_PAF) \
|
||||
X(ADDR_M0_BP) \
|
||||
X(ADDR_M0_PLC) \
|
||||
X(ADDR_M1_PAF) \
|
||||
X(ADDR_M1_BP) \
|
||||
X(ADDR_M1_PLC) \
|
||||
X(ADDR_M2_PAF) \
|
||||
X(ADDR_M2_BP) \
|
||||
X(ADDR_M2_PLC) \
|
||||
X(ADDR_M_AF) \
|
||||
X(ADDR_M0_MODULE_AWB) \
|
||||
X(ADDR_M1_MODULE_AWB) \
|
||||
X(ADDR_M2_MODULE_AWB) \
|
||||
X(ADDR_M0_AE) \
|
||||
X(ADDR_M1_AE) \
|
||||
X(ADDR_M2_AE) \
|
||||
X(ADDR_M_OIS) \
|
||||
X(ADDR_M_CAL_VER_WHEN_CAL) \
|
||||
X(ADDR_M_DUAL_CAL) \
|
||||
X(ADDR_S_DUAL_CAL) \
|
||||
X(ADDR_M_ATC_CAL) \
|
||||
X(ADDR_S0_LSC) \
|
||||
X(ADDR_S0_PAF) \
|
||||
X(ADDR_S0_BP) \
|
||||
X(ADDR_S0_PLC) \
|
||||
X(ADDR_S0_AF) \
|
||||
X(ADDR_S0_MODULE_AWB) \
|
||||
X(ADDR_S0_AE) \
|
||||
X(ADDR_S_OIS) \
|
||||
X(ADDR_4PDC_CAL) \
|
||||
X(ADDR_TCLSC_CAL) \
|
||||
X(ADDR_SPDC_CAL) \
|
||||
X(ADDR_PDXTC_CAL) \
|
||||
X(ADDR_M_XTALK_CAL) \
|
||||
X(ADDR_TOFCAL_START) \
|
||||
X(ADDR_TOFCAL_SIZE) \
|
||||
X(ADDR_TOFCAL_UID) \
|
||||
X(ADDR_TOFCAL_RESULT) \
|
||||
X(ADDR_VALIDATION_500) \
|
||||
X(ADDR_VALIDATION_300) \
|
||||
X(ADDR_CUSTOM_FW_VER) \
|
||||
X(ADDR_CUSTOM_SENSOR_ID)
|
||||
|
||||
typedef enum _ConfigNameInfoIdx {
|
||||
#define X(Enum) Enum,
|
||||
X_ENUMS
|
||||
#undef X
|
||||
MAX_CONFIG_INFO_IDX
|
||||
} eConfigNameInfoIdx;
|
||||
|
||||
static const char* ConfigInfoStrs[] =
|
||||
{
|
||||
#define X(String) MAKE_STRINGIZE(String),
|
||||
X_ENUMS
|
||||
#undef X
|
||||
};
|
||||
|
||||
typedef enum _DualTiltMode {
|
||||
DUAL_TILT_NONE,
|
||||
DUAL_TILT_REAR_WIDE,
|
||||
DUAL_TILT_REAR_UW,
|
||||
DUAL_TILT_REAR_TELE,
|
||||
DUAL_TILT_FRONT,
|
||||
DUAL_TILT_TOF_REAR ,
|
||||
DUAL_TILT_TOF_REAR2,
|
||||
DUAL_TILT_TOF_REAR3,
|
||||
DUAL_TILT_TOF_FRONT,
|
||||
DUAL_TILT_MAX
|
||||
} eDualTiltMode;
|
||||
|
||||
#define MaximumCustomStringLength (25) // should have the same value in chivendortag.h, camxpropertydefs.h
|
||||
|
||||
typedef struct _cam_eeprom_configInfo_t {
|
||||
uint32_t isSet;
|
||||
uint32_t value;
|
||||
} ConfigInfo_t;
|
||||
|
||||
typedef enum _MainOrSub {
|
||||
MAIN_MODULE,
|
||||
SUB_MODULE,
|
||||
} eMainSub;
|
||||
|
||||
typedef struct _cam_eeprom_dual_tilt_t {
|
||||
int x;
|
||||
int y;
|
||||
int z;
|
||||
int sx;
|
||||
int sy;
|
||||
int range;
|
||||
int max_err;
|
||||
int avg_err;
|
||||
int dll_ver;
|
||||
char project_cal_type[PROJECT_CAL_TYPE_MAX_SIZE];
|
||||
} DualTilt_t;
|
||||
|
||||
typedef struct _cam_eeprom_module_ver_t {
|
||||
char *sensor_id;
|
||||
char *sensor2_id;
|
||||
char *module_id;
|
||||
|
||||
char phone_hw_info[HW_INFO_MAX_SIZE];
|
||||
char phone_sw_info[SW_INFO_MAX_SIZE];
|
||||
char phone_vendor_info[VENDOR_INFO_MAX_SIZE];
|
||||
char phone_process_info[PROCESS_INFO_MAX_SIZE];
|
||||
|
||||
char module_fw_ver[FROM_MODULE_FW_INFO_SIZE+1];
|
||||
char load_fw_ver[FROM_MODULE_FW_INFO_SIZE+1];
|
||||
char phone_fw_ver[FROM_MODULE_FW_INFO_SIZE+1];
|
||||
|
||||
char *module_info;
|
||||
char *cam_cal_ack;
|
||||
char *cam_fw_ver;
|
||||
char *cam_fw_full_ver;
|
||||
|
||||
char *fw_factory_ver;
|
||||
char *fw_user_ver;
|
||||
|
||||
uint8_t *dual_cal;
|
||||
DualTilt_t *DualTilt;
|
||||
} ModuleVer_t;
|
||||
|
||||
typedef struct _cam_eeprom_module_info_t {
|
||||
ModuleVer_t mVer;
|
||||
uint32_t type;
|
||||
uint8_t mapVer;
|
||||
eMainSub M_or_S;
|
||||
char typeStr[FROM_MODULE_FW_INFO_SIZE];
|
||||
} ModuleInfo_t;
|
||||
|
||||
typedef enum _AfOffsetIdx {
|
||||
AF_CAL_NEAR_IDX = 0,
|
||||
AF_CAL_FAR_IDX,
|
||||
AF_CAL_M1_IDX,
|
||||
AF_CAL_M2_IDX,
|
||||
AF_CAL_M3_IDX,
|
||||
AF_CAL_M4_IDX,
|
||||
AF_CAL_M5_IDX,
|
||||
AF_CAL_M6_IDX,
|
||||
AF_CAL_M7_IDX,
|
||||
AF_CAL_M8_IDX,
|
||||
AF_CAL_IDX_MAX
|
||||
} eAfOffsetIdx;
|
||||
|
||||
typedef struct _cam_eeprom_af_idx_t {
|
||||
eAfOffsetIdx idx;
|
||||
uint32_t offset;
|
||||
} AfIdx_t;
|
||||
|
||||
#define AF_CAL_NEAR_OFFSET_FROM_AF 0x0010
|
||||
#define AF_CAL_FAR_OFFSET_FROM_AF 0x0004
|
||||
#define AF_CAL_M1_OFFSET_FROM_AF 0x0008
|
||||
#define AF_CAL_M2_OFFSET_FROM_AF 0x000C
|
||||
|
||||
#define PAF_OFFSET_CAL_ERR_CHECK (0x0014)
|
||||
#define PAF_MID_SIZE 936
|
||||
#define PAF_MID_OFFSET (0x0730)
|
||||
|
||||
#define PAF_FAR_SIZE 234
|
||||
#define PAF_FAR_OFFSET (0x0CD0)
|
||||
|
||||
#define TOFCAL_START_ADDR 0x0100
|
||||
#define TOFCAL_END_ADDR 0x11A3
|
||||
#define TOFCAL_TOTAL_SIZE (TOFCAL_END_ADDR - TOFCAL_START_ADDR + 1)
|
||||
#define TOFCAL_SIZE (4096 - 1)
|
||||
#define TOFCAL_EXTRA_SIZE (TOFCAL_TOTAL_SIZE - TOFCAL_SIZE)
|
||||
#define TOFCAL_UID_ADDR 0x11A4
|
||||
#define TOFCAL_UID (TOFCAL_UID_ADDR + 0x0000)
|
||||
#define TOFCAL_RESULT_ADDR 0x00CA
|
||||
|
||||
#if 1
|
||||
#define REAR_TOF_DUAL_CAL_SIZE (0x08FC)
|
||||
#define FRONT_TOF_DUAL_CAL_SIZE (0x0800)
|
||||
#else
|
||||
#define REAR_TOF_DUAL_CAL_ADDR 0xB800
|
||||
#define REAR_TOF_DUAL_CAL_END_ADDR 0xC0FB
|
||||
#define REAR_TOF_DUAL_CAL_SIZE (REAR_TOF_DUAL_CAL_END_ADDR - REAR_TOF_DUAL_CAL_ADDR + 1)
|
||||
#define REAR_TOF_DUAL_TILT_DLL_VERSION (REAR_TOF_DUAL_CAL_ADDR + 0x0000)
|
||||
#define REAR_TOF_DUAL_TILT_X (REAR_TOF_DUAL_CAL_ADDR + 0x006C)
|
||||
#define REAR_TOF_DUAL_TILT_Y (REAR_TOF_DUAL_CAL_ADDR + 0x0070)
|
||||
#define REAR_TOF_DUAL_TILT_Z (REAR_TOF_DUAL_CAL_ADDR + 0x0074)
|
||||
#define REAR_TOF_DUAL_TILT_SX (REAR_TOF_DUAL_CAL_ADDR + 0x03C0)
|
||||
#define REAR_TOF_DUAL_TILT_SY (REAR_TOF_DUAL_CAL_ADDR + 0x03C4)
|
||||
#define REAR_TOF_DUAL_TILT_RANGE (REAR_TOF_DUAL_CAL_ADDR + 0x04E0)
|
||||
#define REAR_TOF_DUAL_TILT_MAX_ERR (REAR_TOF_DUAL_CAL_ADDR + 0x04E4)
|
||||
#define REAR_TOF_DUAL_TILT_AVG_ERR (REAR_TOF_DUAL_CAL_ADDR + 0x04E8)
|
||||
|
||||
#define REAR2_TOF_DUAL_CAL_ADDR 0xB800
|
||||
#define REAR2_TOF_DUAL_TILT_DLL_VERSION (REAR2_TOF_DUAL_CAL_ADDR + 0x0000)
|
||||
#define REAR2_TOF_DUAL_TILT_X (REAR2_TOF_DUAL_CAL_ADDR + 0x0160)
|
||||
#define REAR2_TOF_DUAL_TILT_Y (REAR2_TOF_DUAL_CAL_ADDR + 0x0164)
|
||||
#define REAR2_TOF_DUAL_TILT_Z (REAR2_TOF_DUAL_CAL_ADDR + 0x0168)
|
||||
#define REAR2_TOF_DUAL_TILT_SX (REAR2_TOF_DUAL_CAL_ADDR + 0x05C8)
|
||||
#define REAR2_TOF_DUAL_TILT_SY (REAR2_TOF_DUAL_CAL_ADDR + 0x05CC)
|
||||
#define REAR2_TOF_DUAL_TILT_RANGE (REAR2_TOF_DUAL_CAL_ADDR + 0x06E8)
|
||||
#define REAR2_TOF_DUAL_TILT_MAX_ERR (REAR2_TOF_DUAL_CAL_ADDR + 0x06EC)
|
||||
#define REAR2_TOF_DUAL_TILT_AVG_ERR (REAR2_TOF_DUAL_CAL_ADDR + 0x06F0)
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_FRONT_TOF)
|
||||
#define FRONT_TOF_DUAL_CAL_ADDR 0x2200
|
||||
#define FRONT_TOF_DUAL_CAL_END_ADDR 0x29FF
|
||||
#define FRONT_TOF_DUAL_CAL_SIZE (FRONT_TOF_DUAL_CAL_END_ADDR - FRONT_TOF_DUAL_CAL_ADDR + 1)
|
||||
#define FRONT_TOF_DUAL_TILT_DLL_VERSION (FRONT_TOF_DUAL_CAL_ADDR + 0x07F4) // 29F4
|
||||
#define FRONT_TOF_DUAL_TILT_X (FRONT_TOF_DUAL_CAL_ADDR + 0x04B8) // 26B8
|
||||
#define FRONT_TOF_DUAL_TILT_Y (FRONT_TOF_DUAL_CAL_ADDR + 0x04BC) // 26BC
|
||||
#define FRONT_TOF_DUAL_TILT_Z (FRONT_TOF_DUAL_CAL_ADDR + 0x04C0) // 26C0
|
||||
#define FRONT_TOF_DUAL_TILT_SX (FRONT_TOF_DUAL_CAL_ADDR + 0x04DC) // 26DC
|
||||
#define FRONT_TOF_DUAL_TILT_SY (FRONT_TOF_DUAL_CAL_ADDR + 0x04E0) // 26E0
|
||||
#define FRONT_TOF_DUAL_TILT_RANGE (FRONT_TOF_DUAL_CAL_ADDR + 0x07EC) // 29EC
|
||||
#define FRONT_TOF_DUAL_TILT_MAX_ERR (FRONT_TOF_DUAL_CAL_ADDR + 0x07E8) // 29E8
|
||||
#define FRONT_TOF_DUAL_TILT_AVG_ERR (FRONT_TOF_DUAL_CAL_ADDR + 0x07E4) // 29E4
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*************************************************************************************************/
|
||||
enum sysfs_index {
|
||||
INDEX_REAR,
|
||||
INDEX_REAR2,
|
||||
INDEX_REAR3,
|
||||
INDEX_REAR4,
|
||||
INDEX_FRONT,
|
||||
INDEX_FRONT2,
|
||||
INDEX_FRONT3,
|
||||
INDEX_MAX,
|
||||
};
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) || defined(CONFIG_SAMSUNG_OIS_RUMBA_S4)
|
||||
#define OIS_XYGG_SIZE 8
|
||||
#define OIS_CENTER_SHIFT_SIZE 4
|
||||
#define OIS_XYSR_SIZE 4
|
||||
#define OIS_CROSSTALK_SIZE 4
|
||||
#define OIS_XYGG_START_OFFSET 0x10
|
||||
#define OIS_CROSSTALK_START_OFFSET 0x1C
|
||||
#define OIS_CAL_MARK_START_OFFSET 0x30
|
||||
#define OIS_XYSR_START_OFFSET 0x38
|
||||
#if defined(CONFIG_SAMSUNG_REAR_TRIPLE)
|
||||
#define WIDE_OIS_CENTER_SHIFT_START_OFFSET 0x2AE
|
||||
#define TELE_OIS_CENTER_SHIFT_START_OFFSET 0x2AA
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define MAX_AF_CAL_STR_SIZE 256
|
||||
|
||||
//extern int rear_af_cal[FROM_REAR_AF_CAL_SIZE + 1];
|
||||
extern char af_cal_str[INDEX_MAX][MAX_AF_CAL_STR_SIZE];
|
||||
extern char sensor_id[INDEX_MAX][FROM_SENSOR_ID_SIZE + 1];
|
||||
extern uint8_t module_id[INDEX_MAX][FROM_MODULE_ID_SIZE + 1];
|
||||
extern char module_info[INDEX_MAX][SYSFS_MODULE_INFO_SIZE];
|
||||
extern char mtf_exif[INDEX_MAX][FROM_MTF_SIZE + 1];
|
||||
extern char fw_ver[INDEX_MAX][SYSFS_FW_VER_SIZE];
|
||||
extern char fw_full_ver[INDEX_MAX][SYSFS_FW_VER_SIZE];
|
||||
extern char fw_factory_ver[INDEX_MAX][SYSFS_FW_VER_SIZE];
|
||||
extern char fw_user_ver[INDEX_MAX][SYSFS_FW_VER_SIZE];
|
||||
extern uint32_t paf_err_data_result[INDEX_MAX];
|
||||
#if defined(CONFIG_SAMSUNG_REAR_DUAL)
|
||||
extern uint8_t dual_cal[INDEX_MAX][FROM_MAX_DUAL_CAL_SIZE + 1];
|
||||
extern DualTilt_t dual_tilt[INDEX_MAX];
|
||||
#endif
|
||||
#if defined(CONFIG_CAMERA_HW_ERROR_DETECT)
|
||||
extern char retry_cnt[INDEX_MAX][5];
|
||||
#endif
|
||||
|
||||
extern char cal_crc[SYSFS_FW_VER_SIZE];
|
||||
extern char rear_mtf2_exif[FROM_MTF_SIZE + 1];
|
||||
extern char rear_paf_cal_data_far[PAF_2PD_CAL_INFO_SIZE];
|
||||
extern char rear_paf_cal_data_mid[PAF_2PD_CAL_INFO_SIZE];
|
||||
extern char rear_f2_paf_cal_data_far[PAF_2PD_CAL_INFO_SIZE];
|
||||
extern char rear_f2_paf_cal_data_mid[PAF_2PD_CAL_INFO_SIZE];
|
||||
extern uint32_t f2_paf_err_data_result;
|
||||
|
||||
/* phone fw info */
|
||||
extern uint32_t CAMERA_NORMAL_CAL_CRC;
|
||||
|
||||
#if !defined(CONFIG_SAMSUNG_FRONT_TOP_EEPROM)
|
||||
extern uint32_t front_af_cal_pan;
|
||||
extern uint32_t front_af_cal_macro;
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_REAR_TOF)
|
||||
extern char rear_tof_fw_ver[SYSFS_FW_VER_SIZE];
|
||||
extern char rear_tof_fw_full_ver[SYSFS_FW_VER_SIZE];
|
||||
extern char rear_tof_fw_user_ver[SYSFS_FW_VER_SIZE];
|
||||
extern char rear_tof_fw_factory_ver[SYSFS_FW_VER_SIZE];
|
||||
extern char rear_tof_module_info[SYSFS_MODULE_INFO_SIZE];
|
||||
extern char rear_tof_sensor_id[FROM_SENSOR_ID_SIZE + 1];
|
||||
extern uint8_t rear_tof_module_id[FROM_MODULE_ID_SIZE + 1];
|
||||
|
||||
extern int rear_tof_uid;
|
||||
extern int rear_tof_validation_500;
|
||||
extern int rear_tof_validation_300;
|
||||
extern uint8_t rear_tof_cal[TOFCAL_SIZE + 1];
|
||||
extern uint8_t rear_tof_cal_extra[TOFCAL_EXTRA_SIZE + 1];
|
||||
extern uint8_t rear_tof_cal_result;
|
||||
|
||||
extern uint8_t rear_tof_dual_cal[REAR_TOF_DUAL_CAL_SIZE + 1];
|
||||
extern DualTilt_t rear_tof_dual;
|
||||
extern DualTilt_t rear2_tof_dual;
|
||||
#endif
|
||||
#if defined(CONFIG_SAMSUNG_FRONT_TOF)
|
||||
extern char front_tof_cam_fw_ver[SYSFS_FW_VER_SIZE];
|
||||
extern char front_tof_cam_fw_full_ver[SYSFS_FW_VER_SIZE];
|
||||
extern char front_tof_cam_fw_user_ver[SYSFS_FW_VER_SIZE];
|
||||
extern char front_tof_cam_fw_factory_ver[SYSFS_FW_VER_SIZE];
|
||||
extern char front_tof_module_info[SYSFS_MODULE_INFO_SIZE];
|
||||
extern char front_tof_sensor_id[FROM_SENSOR_ID_SIZE + 1];
|
||||
|
||||
extern int front_tof_uid;
|
||||
extern uint8_t front_tof_cal[TOFCAL_SIZE + 1];
|
||||
extern uint8_t front_tof_cal_extra[TOFCAL_EXTRA_SIZE+1];
|
||||
extern uint8_t front_tof_cal_result;
|
||||
|
||||
extern uint8_t front_tof_dual_cal[FRONT_TOF_DUAL_CAL_SIZE + 1];
|
||||
extern DualTilt_t front_tof_dual;
|
||||
#endif
|
||||
|
||||
enum cam_eeprom_state {
|
||||
CAM_EEPROM_INIT,
|
||||
@ -197,6 +571,9 @@ struct cam_eeprom_ctrl_t {
|
||||
uint16_t is_multimodule_mode;
|
||||
struct i2c_settings_array wr_settings;
|
||||
struct eebin_info eebin_info;
|
||||
|
||||
uint32_t is_supported;
|
||||
uint32_t camera_normal_cal_crc;
|
||||
};
|
||||
|
||||
int32_t cam_eeprom_update_i2c_info(struct cam_eeprom_ctrl_t *e_ctrl,
|
||||
|
@ -395,17 +395,28 @@ int cam_eeprom_parse_dt(struct cam_eeprom_ctrl_t *e_ctrl)
|
||||
|
||||
/* Initialize regulators to default parameters */
|
||||
for (i = 0; i < soc_info->num_rgltr; i++) {
|
||||
soc_info->rgltr[i] = devm_regulator_get(soc_info->dev,
|
||||
soc_info->rgltr_name[i]);
|
||||
if (IS_ERR_OR_NULL(soc_info->rgltr[i])) {
|
||||
rc = PTR_ERR(soc_info->rgltr[i]);
|
||||
rc = rc ? rc : -EINVAL;
|
||||
CAM_ERR(CAM_EEPROM, "get failed for regulator %s",
|
||||
soc_info->rgltr_name[i]);
|
||||
return rc;
|
||||
#if defined(CONFIG_SEC_Q6Q_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT)
|
||||
if (soc_info->rgltr_subname[i] &&
|
||||
strstr(soc_info->rgltr_subname[i], "s2mpb03")) {
|
||||
soc_info->rgltr[i] = devm_regulator_get(soc_info->dev,
|
||||
soc_info->rgltr_subname[i]);
|
||||
CAM_INFO(CAM_EEPROM, "get for regulator %s instead of %s",
|
||||
soc_info->rgltr_subname[i], soc_info->rgltr_name[i]);
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
soc_info->rgltr[i] = devm_regulator_get(soc_info->dev,
|
||||
soc_info->rgltr_name[i]);
|
||||
if (IS_ERR_OR_NULL(soc_info->rgltr[i])) {
|
||||
rc = PTR_ERR(soc_info->rgltr[i]);
|
||||
rc = rc ? rc : -EINVAL;
|
||||
CAM_ERR(CAM_EEPROM, "get failed for regulator %s",
|
||||
soc_info->rgltr_name[i]);
|
||||
return rc;
|
||||
}
|
||||
CAM_DBG(CAM_EEPROM, "get for regulator %s",
|
||||
soc_info->rgltr_name[i]);
|
||||
}
|
||||
CAM_DBG(CAM_EEPROM, "get for regulator %s",
|
||||
soc_info->rgltr_name[i]);
|
||||
}
|
||||
|
||||
return rc;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,45 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
#ifndef _CAM_SEC_EEPROM_CORE_H_
|
||||
#define _CAM_SEC_EEPROM_CORE_H_
|
||||
|
||||
#include "cam_eeprom_dev.h"
|
||||
|
||||
typedef enum{
|
||||
EEPROM_FW_VER = 1,
|
||||
PHONE_FW_VER,
|
||||
LOAD_FW_VER
|
||||
} cam_eeprom_fw_version_idx;
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32)
|
||||
extern uint8_t ois_xygg[INDEX_MAX][OIS_XYGG_SIZE];
|
||||
extern uint8_t ois_cal_mark[INDEX_MAX];
|
||||
extern int ois_gain_result[INDEX_MAX];
|
||||
extern int ois_sr_result[INDEX_MAX];
|
||||
extern uint8_t ois_center_shift[INDEX_MAX][OIS_CENTER_SHIFT_SIZE];
|
||||
extern int ois_cross_talk_result[INDEX_MAX];
|
||||
#endif
|
||||
|
||||
int cam_sec_eeprom_dump(uint32_t subdev_id, uint8_t *mapdata, uint32_t addr, uint32_t size);
|
||||
void cam_sec_eeprom_reset_module_info(struct cam_eeprom_ctrl_t *e_ctrl);
|
||||
int cam_sec_eeprom_update_module_info(struct cam_eeprom_ctrl_t *e_ctrl);
|
||||
int32_t cam_sec_eeprom_check_firmware_cal(uint32_t camera_cal_crc, uint32_t camera_normal_cal_crc, ModuleInfo_t *mInfo);
|
||||
uint32_t cam_sec_eeprom_match_crc(struct cam_eeprom_memory_block_t *data, uint32_t subdev_id);
|
||||
int32_t cam_sec_eeprom_calc_calmap_size(struct cam_eeprom_ctrl_t *e_ctrl);
|
||||
int32_t cam_sec_eeprom_fill_configInfo(char *configString, uint32_t value, ConfigInfo_t *ConfigInfo);
|
||||
int32_t cam_sec_eeprom_get_customInfo(struct cam_eeprom_ctrl_t *e_ctrl, struct cam_packet *csl_packet);
|
||||
int32_t cam_sec_eeprom_get_phone_ver(struct cam_eeprom_ctrl_t *e_ctrl, struct cam_packet *csl_packet);
|
||||
#if defined(CONFIG_HI847_OTP)
|
||||
int cam_otp_hi847_read_memory(struct cam_eeprom_ctrl_t *e_ctrl,
|
||||
struct cam_eeprom_memory_block_t *block);
|
||||
#endif
|
||||
#if defined(CONFIG_HI1337_OTP)
|
||||
int cam_otp_hi1337_read_memory( struct cam_eeprom_ctrl_t *e_ctrl,
|
||||
struct cam_eeprom_memory_block_t *block);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
/* _CAM_SEC_EEPROM_CORE_H_ */
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,277 @@
|
||||
#ifndef HI847_OTP_H
|
||||
#define HI847_OTP_H
|
||||
|
||||
|
||||
#define SENSOR_HI847_OTP_BANK_SELECT_REGISTER 0x0700
|
||||
|
||||
struct cam_sensor_i2c_reg_array load_sensor_hi847_otp_setfile_reg[] = {
|
||||
{0x0B00, 0x0000},
|
||||
{0x0790, 0x0100},
|
||||
{0x2000, 0x1001},
|
||||
{0x2002, 0x007F},
|
||||
{0x2006, 0x4130},
|
||||
{0x3800, 0x0000},
|
||||
{0x3802, 0x0000},
|
||||
{0x3804, 0x0000},
|
||||
{0x3806, 0x0000},
|
||||
{0x3808, 0x0000},
|
||||
{0x380A, 0x0000},
|
||||
{0x380C, 0x0000},
|
||||
{0x026A, 0xFFFF},
|
||||
{0x026C, 0x00FF},
|
||||
{0x026E, 0x0000},
|
||||
{0x0360, 0x1E8E},
|
||||
{0x040E, 0x01EB},
|
||||
{0x0600, 0x1130},
|
||||
{0x0602, 0x3112},
|
||||
{0x0604, 0x8048},
|
||||
{0x0606, 0x00E9},
|
||||
{0x067A, 0x0404},
|
||||
{0x067C, 0x0404},
|
||||
{0x06A8, 0x0240},
|
||||
{0x06AA, 0x00CA},
|
||||
{0x06AC, 0x0041},
|
||||
{0x06B4, 0x3FFF},
|
||||
{0x06DE, 0x0404},
|
||||
{0x06E0, 0x0404},
|
||||
{0x06E2, 0xFF00},
|
||||
{0x06E4, 0x8333},
|
||||
{0x06E6, 0x8333},
|
||||
{0x06E8, 0x8333},
|
||||
{0x06EA, 0x8333},
|
||||
{0x052A, 0x0000},
|
||||
{0x052C, 0x0000},
|
||||
{0x0F06, 0x0002},
|
||||
{0x0A04, 0xB4C5},
|
||||
{0x0A06, 0xC400},
|
||||
{0x0A08, 0x988A},
|
||||
{0x0A0A, 0xA387},
|
||||
{0x0A0E, 0xEEC0},
|
||||
{0x0A12, 0x0000},
|
||||
{0x0A18, 0x0010},
|
||||
{0x0A1C, 0x0040},
|
||||
{0x0A20, 0x0015},
|
||||
{0x0C00, 0x0021},
|
||||
{0x0C16, 0x0002},
|
||||
{0x0708, 0x6FC0},
|
||||
{0x070C, 0x0000},
|
||||
{0x1244, 0x0000},
|
||||
{0x105C, 0x0F0B},
|
||||
{0x1958, 0x0000},
|
||||
{0x195A, 0x004C},
|
||||
{0x195C, 0x0097},
|
||||
{0x195E, 0x0221},
|
||||
{0x1960, 0x03FE},
|
||||
{0x1980, 0x00E0},
|
||||
{0x1982, 0x0010},
|
||||
{0x1984, 0x2018},
|
||||
{0x1986, 0x0008},
|
||||
{0x1988, 0x0000},
|
||||
{0x198A, 0x0000},
|
||||
{0x198C, 0x0880},
|
||||
{0x198E, 0x0000},
|
||||
{0x1990, 0x1A00},
|
||||
{0x1992, 0x0000},
|
||||
{0x1994, 0x2800},
|
||||
{0x1996, 0x0002},
|
||||
{0x1962, 0x0000},
|
||||
{0x1964, 0x004C},
|
||||
{0x1966, 0x0097},
|
||||
{0x1968, 0x0221},
|
||||
{0x196A, 0x03FE},
|
||||
{0x19C0, 0x00E0},
|
||||
{0x19C2, 0x0010},
|
||||
{0x19C4, 0x2018},
|
||||
{0x19C6, 0x0008},
|
||||
{0x19C8, 0x0000},
|
||||
{0x19CA, 0x0000},
|
||||
{0x19CC, 0x0880},
|
||||
{0x19CE, 0x0000},
|
||||
{0x19D0, 0x1A00},
|
||||
{0x19D2, 0x0000},
|
||||
{0x19D4, 0x2800},
|
||||
{0x19D6, 0x0002},
|
||||
{0x196C, 0x0000},
|
||||
{0x196E, 0x004C},
|
||||
{0x1970, 0x0097},
|
||||
{0x1972, 0x0221},
|
||||
{0x1974, 0x03FE},
|
||||
{0x1A00, 0x00E0},
|
||||
{0x1A02, 0x0010},
|
||||
{0x1A04, 0x2018},
|
||||
{0x1A06, 0x0008},
|
||||
{0x1A08, 0x0000},
|
||||
{0x1A0A, 0x0000},
|
||||
{0x1A0C, 0x0880},
|
||||
{0x1A0E, 0x0000},
|
||||
{0x1A10, 0x1A00},
|
||||
{0x1A12, 0x0000},
|
||||
{0x1A14, 0x2800},
|
||||
{0x1A16, 0x0002},
|
||||
{0x1976, 0x0000},
|
||||
{0x1978, 0x004C},
|
||||
{0x197A, 0x0097},
|
||||
{0x197C, 0x0221},
|
||||
{0x197E, 0x03FE},
|
||||
{0x1A40, 0x00E0},
|
||||
{0x1A42, 0x0010},
|
||||
{0x1A44, 0x2018},
|
||||
{0x1A46, 0x0008},
|
||||
{0x1A48, 0x0000},
|
||||
{0x1A4A, 0x0000},
|
||||
{0x1A4C, 0x0880},
|
||||
{0x1A4E, 0x0000},
|
||||
{0x1A50, 0x1A00},
|
||||
{0x1A52, 0x0000},
|
||||
{0x1A54, 0x2800},
|
||||
{0x1A56, 0x0002},
|
||||
{0x192A, 0x0201},
|
||||
{0x0384, 0x0000},
|
||||
{0x027E, 0x0100},
|
||||
{0x0204, 0x0000},
|
||||
{0x0206, 0x033C},
|
||||
{0x020A, 0x0B26},
|
||||
{0x020E, 0x0B2A},
|
||||
{0x0214, 0x0200},
|
||||
{0x0216, 0x0200},
|
||||
{0x0218, 0x0200},
|
||||
{0x021A, 0x0200},
|
||||
{0x0224, 0x00B6},
|
||||
{0x022A, 0x0017},
|
||||
{0x022C, 0x0E1F},
|
||||
{0x022E, 0x0939},
|
||||
{0x0234, 0x1111},
|
||||
{0x0236, 0x1111},
|
||||
{0x0238, 0x1111},
|
||||
{0x023A, 0x1111},
|
||||
{0x0250, 0x0000},
|
||||
{0x0252, 0x0006},
|
||||
{0x0254, 0x0000},
|
||||
{0x0256, 0x0000},
|
||||
{0x0258, 0x0000},
|
||||
{0x025A, 0x0000},
|
||||
{0x025C, 0x0000},
|
||||
{0x025E, 0x0202},
|
||||
{0x0268, 0x00CB},
|
||||
{0x0440, 0x001D},
|
||||
{0x0F00, 0x0000},
|
||||
{0x0F04, 0x00C0},
|
||||
{0x0B02, 0x0100},
|
||||
{0x0B04, 0x00DC},
|
||||
{0x0B12, 0x0B50},
|
||||
{0x0B14, 0x0880},
|
||||
{0x0B20, 0x0100},
|
||||
{0x1100, 0x1100},
|
||||
{0x1102, 0x0008},
|
||||
{0x1108, 0x0002},
|
||||
{0x1118, 0x0086},
|
||||
{0x0A10, 0xB040},
|
||||
{0x0C14, 0x00C0},
|
||||
{0x0C18, 0x0B50},
|
||||
{0x0C1A, 0x0880},
|
||||
{0x0730, 0x0001},
|
||||
{0x0732, 0x0000},
|
||||
{0x0734, 0x0300},
|
||||
{0x0736, 0x004A},
|
||||
{0x0738, 0x0001},
|
||||
{0x073C, 0x0900},
|
||||
{0x0740, 0x0000},
|
||||
{0x0742, 0x0000},
|
||||
{0x0744, 0x0300},
|
||||
{0x0746, 0x005F},
|
||||
{0x0748, 0x0001},
|
||||
{0x074A, 0x0900},
|
||||
{0x074C, 0x0000},
|
||||
{0x074E, 0x0100},
|
||||
{0x0750, 0x0000},
|
||||
{0x1200, 0x0526},
|
||||
{0x1202, 0x0E00},
|
||||
{0x120E, 0xF027},
|
||||
{0x1210, 0x8027},
|
||||
{0x1246, 0x0102},
|
||||
{0x1000, 0x0300},
|
||||
{0x1002, 0xC311},
|
||||
{0x1004, 0x2BAB},
|
||||
{0x1010, 0x0100},
|
||||
{0x1012, 0x015E},
|
||||
{0x1014, 0x006E},
|
||||
{0x1016, 0x006E},
|
||||
{0x101A, 0x006E},
|
||||
{0x1020, 0xC107},
|
||||
{0x1022, 0x0922},
|
||||
{0x1024, 0x0409},
|
||||
{0x1026, 0x0C0C},
|
||||
{0x1028, 0x150A},
|
||||
{0x102A, 0x0D0A},
|
||||
{0x102C, 0x1700},
|
||||
{0x1038, 0x1100},
|
||||
{0x103E, 0x0001},
|
||||
{0x1040, 0x0000},
|
||||
{0x1042, 0x0108},
|
||||
{0x1044, 0x00B4},
|
||||
{0x1046, 0x0004},
|
||||
{0x1048, 0x00B4},
|
||||
{0x1066, 0x0100},
|
||||
{0x1600, 0xE000},
|
||||
{0x1608, 0x00C8},
|
||||
{0x160A, 0x0B40},
|
||||
{0x160C, 0x0002},
|
||||
{0x160E, 0x0880},
|
||||
{0x0B00, 0x0100},
|
||||
{0x0B00, 0x0000},
|
||||
{0x027E, 0x0000},
|
||||
{0x0700, 0x0117},
|
||||
{0x0700, 0x0017},
|
||||
{0x0790, 0x0100},
|
||||
{0x2000, 0x0001},
|
||||
{0x2002, 0x0058},
|
||||
{0x2006, 0x1292},
|
||||
{0x2008, 0x8446},
|
||||
{0x200A, 0x90F2},
|
||||
{0x200C, 0x0010},
|
||||
{0x200E, 0x0260},
|
||||
{0x2010, 0x23FC},
|
||||
{0x2012, 0x1292},
|
||||
{0x2014, 0x84BC},
|
||||
{0x2016, 0x3FF9},
|
||||
{0x2018, 0x4130},
|
||||
{0x0708, 0xEF82},
|
||||
{0x070C, 0x0000},
|
||||
{0x0732, 0x0300},
|
||||
{0x0734, 0x0300},
|
||||
{0x0736, 0x0064},
|
||||
{0x0738, 0x0003},
|
||||
{0x0742, 0x0300},
|
||||
{0x0746, 0x00FA},
|
||||
{0x0748, 0x0003},
|
||||
{0x074C, 0x0000},
|
||||
{0x0266, 0x0000},
|
||||
{0x0360, 0x2C8E},
|
||||
{0x027E, 0x0100},
|
||||
{0x0B00, 0x0000},
|
||||
};
|
||||
|
||||
|
||||
struct cam_sensor_i2c_reg_array hi847_otp_init_reg1[] = {
|
||||
{0x0B00, 0x00, 0},
|
||||
{0x027E, 0x00, 0},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array hi847_otp_init_reg2[] = {
|
||||
{0x0260, 0x10, 0},
|
||||
{0x027E, 0x01, 0},
|
||||
{0x0B00, 0x01, 0},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array hi847_otp_finish_reg1[] = {
|
||||
{0x0B00, 0x00, 0},
|
||||
{0x027E, 0x00, 0},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array hi847_otp_finish_reg2[] = {
|
||||
{0x0260, 0x00, 0},
|
||||
{0x027E, 0x01, 0},
|
||||
{0x0B00, 0x01, 0},
|
||||
};
|
||||
|
||||
#endif /* HI847_OTP_H */
|
@ -11,6 +11,13 @@
|
||||
#include "cam_res_mgr_api.h"
|
||||
#include "cam_common_util.h"
|
||||
#include "cam_packet_util.h"
|
||||
#if IS_REACHABLE(CONFIG_LEDS_S2MPB02)
|
||||
#include <linux/leds-s2mpb02.h>
|
||||
#endif
|
||||
#if defined(CONFIG_SAMSUNG_PMIC_FLASH)
|
||||
extern struct cam_flash_ctrl *g_flash_ctrl;
|
||||
struct cam_flash_frame_setting g_flash_data;
|
||||
#endif
|
||||
|
||||
int cam_flash_led_prepare(struct led_trigger *trigger, int options,
|
||||
int *max_current, bool is_wled)
|
||||
@ -385,6 +392,12 @@ static int cam_flash_ops(struct cam_flash_ctrl *flash_ctrl,
|
||||
for (i = 0; i < flash_ctrl->torch_num_sources; i++) {
|
||||
if (flash_ctrl->torch_trigger[i]) {
|
||||
max_current = soc_private->torch_max_current[i];
|
||||
#if IS_REACHABLE(CONFIG_LEDS_S2MPB02)
|
||||
curr = DIV_ROUND_CLOSEST(flash_data->led_current_ma[i], S2MPB02_TORCH_STEP_MA);
|
||||
CAM_INFO(CAM_FLASH, "Led_Torch[%d]: Current: %dma (0x%x)",
|
||||
i, flash_data->led_current_ma[i], curr);
|
||||
flash_data->led_current_ma[i] = curr;
|
||||
#endif
|
||||
if (flash_data->led_current_ma[i] <=
|
||||
max_current)
|
||||
curr = flash_data->led_current_ma[i];
|
||||
@ -401,6 +414,12 @@ static int cam_flash_ops(struct cam_flash_ctrl *flash_ctrl,
|
||||
for (i = 0; i < flash_ctrl->flash_num_sources; i++) {
|
||||
if (flash_ctrl->flash_trigger[i]) {
|
||||
max_current = soc_private->flash_max_current[i];
|
||||
#if IS_REACHABLE(CONFIG_LEDS_S2MPB02)
|
||||
curr = DIV_ROUND_CLOSEST(flash_data->led_current_ma[i], S2MPB02_FLASH_STEP_MA);
|
||||
CAM_INFO(CAM_FLASH, "LED_Flash[%d]: Current: %dma (0x%x)",
|
||||
i, flash_data->led_current_ma[i], curr);
|
||||
flash_data->led_current_ma[i] = curr;
|
||||
#endif
|
||||
if (flash_data->led_current_ma[i] <=
|
||||
max_current)
|
||||
curr = flash_data->led_current_ma[i];
|
||||
@ -455,6 +474,10 @@ static int cam_flash_ops(struct cam_flash_ctrl *flash_ctrl,
|
||||
|
||||
int cam_flash_off(struct cam_flash_ctrl *flash_ctrl)
|
||||
{
|
||||
#if IS_REACHABLE(CONFIG_LEDS_S2MPB02)
|
||||
int i = 0;
|
||||
#endif
|
||||
|
||||
if (!flash_ctrl) {
|
||||
CAM_ERR(CAM_FLASH, "Flash control Null");
|
||||
return -EINVAL;
|
||||
@ -463,6 +486,18 @@ int cam_flash_off(struct cam_flash_ctrl *flash_ctrl)
|
||||
if (flash_ctrl->switch_trigger)
|
||||
cam_res_mgr_led_trigger_event(flash_ctrl->switch_trigger,
|
||||
(enum led_brightness)LED_SWITCH_OFF);
|
||||
#if IS_REACHABLE(CONFIG_LEDS_S2MPB02)
|
||||
for (i = 0; i < flash_ctrl->flash_num_sources; i++)
|
||||
if (flash_ctrl->flash_trigger[i])
|
||||
cam_res_mgr_led_trigger_event(
|
||||
flash_ctrl->flash_trigger[i],
|
||||
LED_OFF);
|
||||
for (i = 0; i < flash_ctrl->torch_num_sources; i++)
|
||||
if (flash_ctrl->torch_trigger[i])
|
||||
cam_res_mgr_led_trigger_event(
|
||||
flash_ctrl->torch_trigger[i],
|
||||
LED_OFF);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -470,18 +505,33 @@ static int cam_flash_low(
|
||||
struct cam_flash_ctrl *flash_ctrl,
|
||||
struct cam_flash_frame_setting *flash_data)
|
||||
{
|
||||
#if !IS_REACHABLE(CONFIG_LEDS_S2MPB02)
|
||||
int i = 0, rc = 0;
|
||||
#else
|
||||
int rc = 0;
|
||||
#endif
|
||||
|
||||
if (!flash_data) {
|
||||
CAM_ERR(CAM_FLASH, "Flash Data Null");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
#if !IS_REACHABLE(CONFIG_LEDS_S2MPB02)
|
||||
for (i = 0; i < flash_ctrl->flash_num_sources; i++)
|
||||
if (flash_ctrl->flash_trigger[i])
|
||||
cam_res_mgr_led_trigger_event(
|
||||
flash_ctrl->flash_trigger[i],
|
||||
LED_OFF);
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_PMIC_FLASH)
|
||||
if (flash_data->led_current_ma[0] != 0) {
|
||||
uint32_t temp = flash_data->led_current_ma[0];
|
||||
for (i = 0; i < CAM_FLASH_MAX_LED_TRIGGERS; i++) {
|
||||
flash_data->led_current_ma[i] = temp / CAM_FLASH_MAX_LED_TRIGGERS;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
rc = cam_flash_ops(flash_ctrl, flash_data,
|
||||
CAMERA_SENSOR_FLASH_OP_FIRELOW);
|
||||
@ -495,18 +545,33 @@ static int cam_flash_high(
|
||||
struct cam_flash_ctrl *flash_ctrl,
|
||||
struct cam_flash_frame_setting *flash_data)
|
||||
{
|
||||
#if !IS_REACHABLE(CONFIG_LEDS_S2MPB02)
|
||||
int i = 0, rc = 0;
|
||||
#else
|
||||
int rc = 0;
|
||||
#endif
|
||||
|
||||
if (!flash_data) {
|
||||
CAM_ERR(CAM_FLASH, "Flash Data Null");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
#if !IS_REACHABLE(CONFIG_LEDS_S2MPB02)
|
||||
for (i = 0; i < flash_ctrl->torch_num_sources; i++)
|
||||
if (flash_ctrl->torch_trigger[i])
|
||||
cam_res_mgr_led_trigger_event(
|
||||
flash_ctrl->torch_trigger[i],
|
||||
LED_OFF);
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_PMIC_FLASH)
|
||||
if (flash_data->led_current_ma[0] != 0) {
|
||||
uint32_t temp = flash_data->led_current_ma[0];
|
||||
for (i = 0; i < CAM_FLASH_MAX_LED_TRIGGERS; i++) {
|
||||
flash_data->led_current_ma[i] = temp / CAM_FLASH_MAX_LED_TRIGGERS;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
rc = cam_flash_ops(flash_ctrl, flash_data,
|
||||
CAMERA_SENSOR_FLASH_OP_FIREHIGH);
|
||||
@ -1694,6 +1759,7 @@ int cam_flash_pmic_pkt_parser(struct cam_flash_ctrl *fctrl, void *arg)
|
||||
}
|
||||
flash_query_info =
|
||||
(struct cam_flash_query_curr *)cmd_buf;
|
||||
#if !IS_REACHABLE(CONFIG_LEDS_S2MPB02) && !defined(CONFIG_SAMSUNG_PMIC_FLASH)
|
||||
#if __or(IS_REACHABLE(CONFIG_LEDS_QPNP_FLASH_V2), \
|
||||
IS_REACHABLE(CONFIG_LEDS_QTI_FLASH))
|
||||
rc = cam_flash_led_prepare(fctrl->switch_trigger,
|
||||
@ -1704,6 +1770,7 @@ int cam_flash_pmic_pkt_parser(struct cam_flash_ctrl *fctrl, void *arg)
|
||||
query_curr_ma);
|
||||
#else
|
||||
rc = -EOPNOTSUPP;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
if (rc) {
|
||||
@ -1954,3 +2021,58 @@ int cam_flash_apply_request(struct cam_req_mgr_apply_request *apply)
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_PMIC_FLASH)
|
||||
ssize_t flash_power_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t size)
|
||||
{
|
||||
uint32_t value;
|
||||
|
||||
if(g_flash_ctrl == NULL) {
|
||||
CAM_ERR(CAM_FLASH, "g_flash_ctrl handle is NULL");
|
||||
return size;
|
||||
}
|
||||
|
||||
if ((buf == NULL) || kstrtouint(buf, 10, &value)) {
|
||||
CAM_ERR(CAM_FLASH, "Invalid Buffer");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
//default value
|
||||
#if defined(CONFIG_SEC_B6Q_PROJECT)
|
||||
g_flash_data.led_current_ma[0] = 100;
|
||||
#else
|
||||
g_flash_data.led_current_ma[0] = 75;
|
||||
#endif
|
||||
|
||||
CAM_INFO(CAM_FLASH,"torch value=%u", value);
|
||||
|
||||
switch (buf[0]) {
|
||||
case '0':
|
||||
cam_flash_off(g_flash_ctrl);
|
||||
g_flash_ctrl->flash_sysfs_control = false;
|
||||
CAM_INFO(CAM_FLASH,"torch off");
|
||||
break;
|
||||
case '1':
|
||||
case '2':
|
||||
case '3':
|
||||
case '4':
|
||||
case '5':
|
||||
case '6':
|
||||
case '7':
|
||||
case '8':
|
||||
case '9':
|
||||
cam_flash_off(g_flash_ctrl);
|
||||
g_flash_data.led_current_ma[0] = value;
|
||||
g_flash_data.led_current_ma[1] = 0;
|
||||
g_flash_data.opcode = CAMERA_SENSOR_FLASH_OP_FIRELOW;
|
||||
cam_flash_low(g_flash_ctrl,&g_flash_data);
|
||||
g_flash_ctrl->flash_sysfs_control = true;
|
||||
CAM_INFO(CAM_FLASH,"torch on");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return size;
|
||||
}
|
||||
EXPORT_SYMBOL(flash_power_store);
|
||||
#endif
|
||||
|
@ -16,6 +16,9 @@ int cam_flash_process_evt(struct cam_req_mgr_link_evt_data *event_data);
|
||||
int cam_flash_flush_request(struct cam_req_mgr_flush_request *flush);
|
||||
int cam_flash_led_prepare(struct led_trigger *trigger, int options,
|
||||
int *max_current, bool is_wled);
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_PMIC_FLASH)
|
||||
ssize_t flash_power_store(struct device *dev, struct device_attribute *attr,
|
||||
const char *buf, size_t size);
|
||||
#endif
|
||||
|
||||
#endif /*_CAM_FLASH_CORE_H_*/
|
||||
|
@ -10,7 +10,15 @@
|
||||
#include "cam_flash_core.h"
|
||||
#include "cam_common_util.h"
|
||||
#include "camera_main.h"
|
||||
|
||||
#if IS_REACHABLE(CONFIG_LEDS_S2MPB02)
|
||||
#include <cam_sensor_cmn_header.h>
|
||||
#include <cam_sensor_util.h>
|
||||
struct msm_pinctrl_info flash_pctrl;
|
||||
#endif
|
||||
#if defined(CONFIG_SAMSUNG_PMIC_FLASH)
|
||||
struct msm_pinctrl_info flash_pctrl;
|
||||
struct cam_flash_ctrl *g_flash_ctrl;
|
||||
#endif
|
||||
static int32_t cam_flash_driver_cmd(struct cam_flash_ctrl *fctrl,
|
||||
void *arg, struct cam_flash_private_soc *soc_private)
|
||||
{
|
||||
@ -135,6 +143,9 @@ static int32_t cam_flash_driver_cmd(struct cam_flash_ctrl *fctrl,
|
||||
}
|
||||
|
||||
fctrl->flash_state = CAM_FLASH_STATE_INIT;
|
||||
#if defined(CONFIG_SAMSUNG_PMIC_FLASH)
|
||||
g_flash_ctrl->flash_sysfs_control = false;
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
case CAM_QUERY_CAP: {
|
||||
@ -189,6 +200,9 @@ static int32_t cam_flash_driver_cmd(struct cam_flash_ctrl *fctrl,
|
||||
|
||||
fctrl->func_tbl.flush_req(fctrl, FLUSH_ALL, 0);
|
||||
fctrl->last_flush_req = 0;
|
||||
#if defined(CONFIG_SAMSUNG_PMIC_FLASH)
|
||||
if (g_flash_ctrl->flash_sysfs_control == false)
|
||||
#endif
|
||||
cam_flash_off(fctrl);
|
||||
fctrl->flash_state = CAM_FLASH_STATE_ACQUIRE;
|
||||
break;
|
||||
@ -206,6 +220,11 @@ static int32_t cam_flash_driver_cmd(struct cam_flash_ctrl *fctrl,
|
||||
}
|
||||
break;
|
||||
}
|
||||
#if IS_REACHABLE(CONFIG_LEDS_S2MPB02)
|
||||
case CAM_FLUSH_REQ:
|
||||
CAM_DBG(CAM_FLASH, "Flush recveived");
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
CAM_ERR(CAM_FLASH, "Invalid Opcode: %d", cmd->op_code);
|
||||
rc = -EINVAL;
|
||||
@ -524,7 +543,21 @@ static int cam_flash_component_bind(struct device *dev,
|
||||
|
||||
mutex_init(&(fctrl->flash_mutex));
|
||||
|
||||
#if IS_REACHABLE(CONFIG_LEDS_S2MPB02) || defined(CONFIG_SAMSUNG_PMIC_FLASH)
|
||||
if (msm_camera_pinctrl_init(&flash_pctrl, &pdev->dev) >= 0) {
|
||||
// make pin state to suspend
|
||||
rc = pinctrl_select_state(flash_pctrl.pinctrl, flash_pctrl.gpio_state_suspend);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_FLASH, "Cannot set pin to suspend state %d", rc);
|
||||
rc = 0;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
fctrl->flash_state = CAM_FLASH_STATE_INIT;
|
||||
#if defined(CONFIG_SAMSUNG_PMIC_FLASH)
|
||||
g_flash_ctrl = fctrl;
|
||||
#endif
|
||||
CAM_DBG(CAM_FLASH, "Component bound successfully");
|
||||
return rc;
|
||||
|
||||
@ -703,7 +736,9 @@ static int cam_flash_i2c_component_bind(struct device *dev,
|
||||
|
||||
mutex_init(&(fctrl->flash_mutex));
|
||||
fctrl->flash_state = CAM_FLASH_STATE_INIT;
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_PMIC_FLASH)
|
||||
g_flash_ctrl = fctrl;
|
||||
#endif
|
||||
return rc;
|
||||
|
||||
unreg_subdev:
|
||||
|
@ -218,6 +218,9 @@ struct cam_flash_ctrl {
|
||||
struct camera_io_master io_master_info;
|
||||
struct i2c_data_settings i2c_data;
|
||||
uint32_t last_flush_req;
|
||||
#if defined(CONFIG_SAMSUNG_PMIC_FLASH)
|
||||
bool flash_sysfs_control;
|
||||
#endif
|
||||
};
|
||||
|
||||
int cam_flash_pmic_pkt_parser(struct cam_flash_ctrl *fctrl, void *arg);
|
||||
|
@ -8,6 +8,9 @@
|
||||
#include <linux/of_gpio.h>
|
||||
#include "cam_flash_soc.h"
|
||||
#include "cam_res_mgr_api.h"
|
||||
#if IS_REACHABLE(CONFIG_LEDS_S2MPB02)
|
||||
#include <linux/leds-s2mpb02.h>
|
||||
#endif
|
||||
|
||||
void cam_flash_put_source_node_data(struct cam_flash_ctrl *fctrl)
|
||||
{
|
||||
@ -59,7 +62,117 @@ void cam_flash_put_source_node_data(struct cam_flash_ctrl *fctrl)
|
||||
}
|
||||
}
|
||||
}
|
||||
#if IS_REACHABLE(CONFIG_LEDS_S2MPB02)
|
||||
static int32_t cam_get_source_node_info(
|
||||
struct device_node *of_node,
|
||||
struct cam_flash_ctrl *fctrl,
|
||||
struct cam_flash_private_soc *soc_private)
|
||||
{
|
||||
int32_t rc = 0;
|
||||
uint32_t count = 0, i = 0;
|
||||
struct device_node *flash_src_node = NULL;
|
||||
struct device_node *torch_src_node = NULL;
|
||||
|
||||
if (of_get_property(of_node, "flash-source", &count)) {
|
||||
count /= sizeof(uint32_t);
|
||||
|
||||
if (count > CAM_FLASH_MAX_LED_TRIGGERS) {
|
||||
CAM_ERR(CAM_FLASH, "Invalid LED count: %d", count);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
fctrl->flash_num_sources = count;
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
flash_src_node = of_parse_phandle(of_node,
|
||||
"flash-source", i);
|
||||
if (!flash_src_node) {
|
||||
CAM_WARN(CAM_FLASH, "flash_src_node NULL");
|
||||
continue;
|
||||
}
|
||||
|
||||
rc = of_property_read_string(flash_src_node,
|
||||
"default-trigger",
|
||||
&soc_private->flash_trigger_name[i]);
|
||||
if (rc) {
|
||||
CAM_WARN(CAM_FLASH,
|
||||
"defalut-trigger read failed rc=%d", rc);
|
||||
of_node_put(flash_src_node);
|
||||
continue;
|
||||
}
|
||||
|
||||
CAM_DBG(CAM_FLASH, "Flash default trigger %s",
|
||||
soc_private->flash_trigger_name[i]);
|
||||
cam_res_mgr_led_trigger_register(
|
||||
soc_private->flash_trigger_name[i],
|
||||
&fctrl->flash_trigger[i]);
|
||||
|
||||
soc_private->flash_max_current[i] = S2MPB02_FLASH_TORCH_CURRENT_MAX;
|
||||
|
||||
/* Read max-duration */
|
||||
rc = of_property_read_u32(flash_src_node,
|
||||
"timeout",
|
||||
&soc_private->flash_max_duration[i]);
|
||||
if (rc) {
|
||||
CAM_DBG(CAM_FLASH,
|
||||
"max-duration prop unavailable: %d",
|
||||
rc);
|
||||
rc = 0;
|
||||
}
|
||||
of_node_put(flash_src_node);
|
||||
|
||||
CAM_DBG(CAM_FLASH, "MainFlashMaxCurrent[%d]: %d",
|
||||
i, soc_private->flash_max_current[i]);
|
||||
}
|
||||
}
|
||||
|
||||
if (of_get_property(of_node, "torch-source", &count)) {
|
||||
count /= sizeof(uint32_t);
|
||||
if (count > CAM_FLASH_MAX_LED_TRIGGERS) {
|
||||
CAM_ERR(CAM_FLASH, "Invalid LED count : %d", count);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
fctrl->torch_num_sources = count;
|
||||
|
||||
CAM_DBG(CAM_FLASH, "torch_num_sources = %d",
|
||||
fctrl->torch_num_sources);
|
||||
for (i = 0; i < count; i++) {
|
||||
torch_src_node = of_parse_phandle(of_node,
|
||||
"torch-source", i);
|
||||
if (!torch_src_node) {
|
||||
CAM_WARN(CAM_FLASH, "torch_src_node NULL");
|
||||
continue;
|
||||
}
|
||||
|
||||
rc = of_property_read_string(torch_src_node,
|
||||
"default-trigger",
|
||||
&soc_private->torch_trigger_name[i]);
|
||||
if (rc < 0) {
|
||||
CAM_WARN(CAM_FLASH,
|
||||
"default-trigger read failed");
|
||||
of_node_put(torch_src_node);
|
||||
continue;
|
||||
}
|
||||
|
||||
CAM_DBG(CAM_FLASH, "Torch default trigger %s",
|
||||
soc_private->torch_trigger_name[i]);
|
||||
cam_res_mgr_led_trigger_register(
|
||||
soc_private->torch_trigger_name[i],
|
||||
&fctrl->torch_trigger[i]);
|
||||
|
||||
soc_private->torch_max_current[i] = S2MPB02_FLASH_TORCH_CURRENT_MAX;
|
||||
|
||||
of_node_put(torch_src_node);
|
||||
|
||||
CAM_DBG(CAM_FLASH, "TorchMaxCurrent[%d]: %d",
|
||||
i, soc_private->torch_max_current[i]);
|
||||
}
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
#else
|
||||
#if __or(IS_REACHABLE(CONFIG_LEDS_QPNP_FLASH_V2), \
|
||||
IS_REACHABLE(CONFIG_LEDS_QTI_FLASH))
|
||||
static int32_t cam_get_source_node_info(
|
||||
@ -269,6 +382,7 @@ static int32_t cam_get_source_node_info(
|
||||
return rc;
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
int cam_flash_get_dt_data(struct cam_flash_ctrl *fctrl,
|
||||
struct cam_hw_soc_info *soc_info)
|
||||
@ -302,8 +416,9 @@ int cam_flash_get_dt_data(struct cam_flash_ctrl *fctrl,
|
||||
goto free_soc_private;
|
||||
}
|
||||
|
||||
#if __or(IS_ENABLED(CONFIG_LEDS_QPNP_FLASH_V2), \
|
||||
IS_ENABLED(CONFIG_LEDS_QTI_FLASH))
|
||||
#if __or(__or(IS_ENABLED(CONFIG_LEDS_QPNP_FLASH_V2), \
|
||||
IS_ENABLED(CONFIG_LEDS_QTI_FLASH)), \
|
||||
IS_ENABLED(CONFIG_LEDS_S2MPB02))
|
||||
rc = cam_get_source_node_info(of_node, fctrl, soc_info->soc_private);
|
||||
if (rc) {
|
||||
CAM_ERR(CAM_FLASH,
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -36,5 +36,11 @@ void cam_ois_shutdown(struct cam_ois_ctrl_t *o_ctrl);
|
||||
|
||||
struct completion *cam_ois_get_i3c_completion(uint32_t index);
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32)
|
||||
int cam_ois_power_up(struct cam_ois_ctrl_t *o_ctrl);
|
||||
int cam_ois_power_down(struct cam_ois_ctrl_t *o_ctrl);
|
||||
int cam_ois_apply_settings(struct cam_ois_ctrl_t *o_ctrl,
|
||||
struct i2c_settings_array *i2c_set);
|
||||
#endif
|
||||
#endif
|
||||
/* _CAM_OIS_CORE_H_ */
|
||||
|
@ -11,6 +11,18 @@
|
||||
#include "cam_debug_util.h"
|
||||
#include "camera_main.h"
|
||||
#include "cam_compat.h"
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32)
|
||||
#include "cam_ois_mcu_stm32g.h"
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32)
|
||||
struct cam_ois_ctrl_t *g_o_ctrl;
|
||||
|
||||
static struct ois_sensor_interface ois_reset;
|
||||
#if IS_ENABLED(CONFIG_ADSP_FACTORY)
|
||||
extern int ois_reset_register(struct ois_sensor_interface *ois);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
static struct cam_i3c_ois_data {
|
||||
struct cam_ois_ctrl_t *o_ctrl;
|
||||
@ -192,13 +204,18 @@ static int cam_ois_i2c_component_bind(struct device *dev,
|
||||
struct i2c_client *client = NULL;
|
||||
struct cam_ois_ctrl_t *o_ctrl = NULL;
|
||||
struct cam_ois_soc_private *soc_private = NULL;
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32)
|
||||
int i = 0;
|
||||
#endif
|
||||
|
||||
client = container_of(dev, struct i2c_client, dev);
|
||||
#if 0
|
||||
if (client == NULL) {
|
||||
CAM_ERR(CAM_OIS, "Invalid Args client: %pK",
|
||||
client);
|
||||
return -EINVAL;
|
||||
}
|
||||
#endif
|
||||
|
||||
o_ctrl = kzalloc(sizeof(*o_ctrl), GFP_KERNEL);
|
||||
if (!o_ctrl) {
|
||||
@ -223,6 +240,13 @@ static int cam_ois_i2c_component_bind(struct device *dev,
|
||||
}
|
||||
|
||||
o_ctrl->soc_info.soc_private = soc_private;
|
||||
#if 1
|
||||
INIT_LIST_HEAD(&(o_ctrl->i2c_init_data.list_head));
|
||||
INIT_LIST_HEAD(&(o_ctrl->i2c_calib_data.list_head));
|
||||
INIT_LIST_HEAD(&(o_ctrl->i2c_mode_data.list_head));
|
||||
INIT_LIST_HEAD(&(o_ctrl->i2c_time_data.list_head));
|
||||
mutex_init(&(o_ctrl->ois_mutex));
|
||||
#endif
|
||||
rc = cam_ois_driver_soc_init(o_ctrl);
|
||||
if (rc) {
|
||||
CAM_ERR(CAM_OIS, "failed: cam_sensor_parse_dt rc %d", rc);
|
||||
@ -238,6 +262,41 @@ static int cam_ois_i2c_component_bind(struct device *dev,
|
||||
mutex_init(&(o_ctrl->ois_mutex));
|
||||
o_ctrl->cam_ois_state = CAM_OIS_INIT;
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32)
|
||||
for (i = 0; i < MAX_BRIDGE_COUNT; i++)
|
||||
o_ctrl->bridge_intf[i].device_hdl = -1;
|
||||
o_ctrl->bridge_cnt = 0;
|
||||
o_ctrl->start_cnt = 0;
|
||||
|
||||
o_ctrl->is_power_up = false;
|
||||
o_ctrl->is_servo_on = false;
|
||||
|
||||
o_ctrl->gyro_raw_x = 0;
|
||||
o_ctrl->gyro_raw_y = 0;
|
||||
o_ctrl->gyro_raw_z = 0;
|
||||
o_ctrl->efs_cal = 0;
|
||||
|
||||
mutex_init(&(o_ctrl->ois_mode_mutex));
|
||||
o_ctrl->is_thread_started = false;
|
||||
o_ctrl->ois_thread = NULL;
|
||||
INIT_LIST_HEAD(&(o_ctrl->i2c_mode_data.list_head));
|
||||
INIT_LIST_HEAD(&(o_ctrl->i2c_time_data.list_head));
|
||||
INIT_LIST_HEAD(&(o_ctrl->list_head_thread.list));
|
||||
init_waitqueue_head(&(o_ctrl->wait));
|
||||
spin_lock_init(&(o_ctrl->thread_spinlock));
|
||||
mutex_init(&(o_ctrl->i2c_init_data_mutex));
|
||||
mutex_init(&(o_ctrl->i2c_mode_data_mutex));
|
||||
mutex_init(&(o_ctrl->i2c_time_data_mutex));
|
||||
|
||||
g_o_ctrl = o_ctrl;
|
||||
|
||||
ois_reset.core = o_ctrl;
|
||||
ois_reset.ois_func = &cam_ois_reset;
|
||||
#if IS_ENABLED(CONFIG_ADSP_FACTORY)
|
||||
ois_reset_register(&ois_reset);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
return rc;
|
||||
|
||||
soc_free:
|
||||
@ -402,7 +461,9 @@ static int cam_ois_component_bind(struct device *dev,
|
||||
CAM_ERR(CAM_OIS, "failed: to update i2c info rc %d", rc);
|
||||
goto unreg_subdev;
|
||||
}
|
||||
#if !defined(CONFIG_SAMSUNG_OIS_MCU_STM32)
|
||||
o_ctrl->bridge_intf.device_hdl = -1;
|
||||
#endif
|
||||
|
||||
cam_sensor_module_add_i2c_device((void *) o_ctrl, CAM_SENSOR_OIS);
|
||||
|
||||
@ -412,6 +473,39 @@ static int cam_ois_component_bind(struct device *dev,
|
||||
g_i3c_ois_data[o_ctrl->soc_info.index].o_ctrl = o_ctrl;
|
||||
init_completion(&g_i3c_ois_data[o_ctrl->soc_info.index].probe_complete);
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32)
|
||||
for (i = 0; i < MAX_BRIDGE_COUNT; i++)
|
||||
o_ctrl->bridge_intf[i].device_hdl = -1;
|
||||
o_ctrl->bridge_cnt = 0;
|
||||
o_ctrl->start_cnt = 0;
|
||||
|
||||
o_ctrl->is_power_up = false;
|
||||
o_ctrl->is_servo_on = false;
|
||||
|
||||
o_ctrl->gyro_raw_x = 0;
|
||||
o_ctrl->gyro_raw_y = 0;
|
||||
o_ctrl->gyro_raw_z = 0;
|
||||
o_ctrl->efs_cal = 0;
|
||||
|
||||
mutex_init(&(o_ctrl->ois_mode_mutex));
|
||||
o_ctrl->is_thread_started = false;
|
||||
o_ctrl->ois_thread = NULL;
|
||||
INIT_LIST_HEAD(&(o_ctrl->list_head_thread.list));
|
||||
init_waitqueue_head(&(o_ctrl->wait));
|
||||
spin_lock_init(&(o_ctrl->thread_spinlock));
|
||||
mutex_init(&(o_ctrl->i2c_init_data_mutex));
|
||||
mutex_init(&(o_ctrl->i2c_mode_data_mutex));
|
||||
mutex_init(&(o_ctrl->i2c_time_data_mutex));
|
||||
|
||||
g_o_ctrl = o_ctrl;
|
||||
|
||||
ois_reset.core = o_ctrl;
|
||||
ois_reset.ois_func = &cam_ois_reset;
|
||||
#if IS_ENABLED(CONFIG_ADSP_FACTORY)
|
||||
ois_reset_register(&ois_reset);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
CAM_DBG(CAM_OIS, "Component bound successfully");
|
||||
return rc;
|
||||
unreg_subdev:
|
||||
|
@ -22,6 +22,12 @@
|
||||
#include <cam_subdev.h>
|
||||
#include "cam_soc_util.h"
|
||||
#include "cam_context.h"
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32)
|
||||
#include <linux/wait.h>
|
||||
#include <linux/freezer.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/spinlock.h>
|
||||
#endif
|
||||
|
||||
#define DEFINE_MSM_MUTEX(mutexname) \
|
||||
static struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
|
||||
@ -29,6 +35,47 @@
|
||||
#define OIS_DRIVER_I2C "cam-i2c-ois"
|
||||
#define OIS_DRIVER_I3C "i3c_camera_ois"
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32)
|
||||
#if defined(CONFIG_SEC_E3Q_PROJECT)
|
||||
#define MAX_BRIDGE_COUNT (3)
|
||||
#else
|
||||
#define MAX_BRIDGE_COUNT (2)
|
||||
#endif
|
||||
|
||||
#define OIS_VER_SIZE (8)
|
||||
#define NUM_AF_POSITION (4096)
|
||||
|
||||
struct cam_ois_shift_table_t {
|
||||
bool ois_shift_used;
|
||||
int16_t ois_shift_x[NUM_AF_POSITION];
|
||||
int16_t ois_shift_y[NUM_AF_POSITION];
|
||||
};
|
||||
|
||||
enum cam_ois_thread_msg_type {
|
||||
CAM_OIS_THREAD_MSG_START,
|
||||
CAM_OIS_THREAD_MSG_APPLY_SETTING,
|
||||
CAM_OIS_THREAD_MSG_RESET,
|
||||
CAM_OIS_THREAD_MSG_MAX
|
||||
};
|
||||
|
||||
struct cam_ois_thread_msg_t {
|
||||
struct list_head list;
|
||||
int msg_type;
|
||||
uint16_t ois_mode;
|
||||
struct i2c_settings_array *i2c_reg_settings;
|
||||
};
|
||||
|
||||
typedef struct sysboot_info_type_t{
|
||||
uint32_t ver;
|
||||
uint32_t id;
|
||||
} sysboot_info_type;
|
||||
|
||||
struct ois_sensor_interface {
|
||||
void *core;
|
||||
void (*ois_func)(void *);
|
||||
};
|
||||
#endif
|
||||
|
||||
enum cam_ois_state {
|
||||
CAM_OIS_INIT,
|
||||
CAM_OIS_ACQUIRE,
|
||||
@ -75,6 +122,18 @@ struct cam_ois_intf_params {
|
||||
struct cam_req_mgr_crm_cb *crm_cb;
|
||||
};
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_OIS_ADC_TEMPERATURE_SUPPORT)
|
||||
/**
|
||||
* struct adc_temperature_table - adc_temperature table params
|
||||
* @adc : adc
|
||||
* @temperature : temperature
|
||||
*/
|
||||
struct adc_temperature_table {
|
||||
uint32_t adc;
|
||||
int temperature;
|
||||
};
|
||||
#endif
|
||||
|
||||
/**
|
||||
* struct cam_ois_ctrl_t - OIS ctrl private data
|
||||
* @device_name : ois device_name
|
||||
@ -109,7 +168,12 @@ struct cam_ois_ctrl_t {
|
||||
enum cci_device_num cci_num;
|
||||
struct cam_subdev v4l2_dev_str;
|
||||
bool is_i3c_device;
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32)
|
||||
struct cam_ois_intf_params bridge_intf[MAX_BRIDGE_COUNT];
|
||||
int bridge_cnt;
|
||||
#else
|
||||
struct cam_ois_intf_params bridge_intf;
|
||||
#endif
|
||||
struct i2c_settings_array i2c_fwinit_data;
|
||||
struct i2c_settings_array i2c_init_data;
|
||||
struct i2c_settings_array i2c_calib_data;
|
||||
@ -125,6 +189,56 @@ struct cam_ois_ctrl_t {
|
||||
struct i2c_settings_array i2c_fw_init_data[MAX_OIS_FW_COUNT];
|
||||
struct i2c_settings_array i2c_fw_finalize_data[MAX_OIS_FW_COUNT];
|
||||
struct i2c_settings_array i2c_fw_version_data;
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32)
|
||||
int start_cnt;
|
||||
bool is_power_up;
|
||||
bool is_servo_on;
|
||||
bool is_config;
|
||||
char cal_ver[OIS_VER_SIZE + 1];
|
||||
char module_ver[OIS_VER_SIZE + 1];
|
||||
char phone_ver[OIS_VER_SIZE + 1];
|
||||
char load_fw_name[256];
|
||||
struct cam_ois_shift_table_t shift_tbl[2];
|
||||
uint16_t module;
|
||||
uint16_t ois_mode;
|
||||
uint32_t x_center;
|
||||
uint32_t y_center;
|
||||
uint32_t err_reg;
|
||||
uint32_t gyro_raw_x;
|
||||
uint32_t gyro_raw_y;
|
||||
uint32_t gyro_raw_z;
|
||||
uint32_t efs_cal;
|
||||
uint32_t poles[MAX_BRIDGE_COUNT * 2];
|
||||
uint32_t gyro_orientation;
|
||||
struct mutex ois_mode_mutex;
|
||||
struct task_struct *ois_thread;
|
||||
bool is_thread_started;
|
||||
struct cam_ois_thread_msg_t list_head_thread;
|
||||
spinlock_t thread_spinlock;
|
||||
wait_queue_head_t wait;
|
||||
struct mutex i2c_init_data_mutex;
|
||||
struct mutex i2c_mode_data_mutex;
|
||||
struct mutex i2c_time_data_mutex;
|
||||
uint32_t driver_output_mask;
|
||||
|
||||
uint32_t slave_addr;
|
||||
uint32_t slave_id;
|
||||
sysboot_info_type info;
|
||||
uint32_t reset_ctrl_gpio;
|
||||
uint32_t boot0_ctrl_gpio;
|
||||
bool sysfs_ois_power;
|
||||
#if defined(CONFIG_SAMSUNG_OIS_ADC_TEMPERATURE_SUPPORT)
|
||||
struct adc_temperature_table *adc_temperature_table;
|
||||
uint32_t adc_arr_size;
|
||||
bool sysfs_ois_init;
|
||||
#endif
|
||||
#if defined(CONFIG_SAMSUNG_SUPPORT_RUMBA_FW_UPDATE)
|
||||
uint32_t module_vendor_code;
|
||||
uint32_t module_rumba_ver;
|
||||
uint32_t phone_rumba_ver;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
};
|
||||
|
||||
/**
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,449 @@
|
||||
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
#ifndef _CAM_OIS_MCU_STM32_H_
|
||||
#define _CAM_OIS_MCU_STM32_H_
|
||||
|
||||
#include "cam_ois_dev.h"
|
||||
|
||||
#define MAX_MODULE_NUM (3)
|
||||
#if defined(CONFIG_SAMSUNG_REAR_QUADRA)
|
||||
#define CUR_MODULE_NUM (3)
|
||||
#elif defined(CONFIG_SAMSUNG_REAR_DUAL) && defined(CONFIG_SEC_B6Q_PROJECT)
|
||||
#define CUR_MODULE_NUM (1)
|
||||
#else
|
||||
#define CUR_MODULE_NUM (2)
|
||||
#endif
|
||||
|
||||
#define INIT_X_TARGET (800)
|
||||
#define STEP_VALUE (300)
|
||||
#define STEP_COUNT (10)
|
||||
#define RUMBA_WRITE_UILD (0x48)
|
||||
#define RUMBA_READ_UILD (0x49)
|
||||
|
||||
#define AKM_W_X_WRITE_UCLD (0x1C)
|
||||
#define AKM_W_X_READ_UCLD (0x1D)
|
||||
#define AKM_W_Y_WRITE_UCLD (0x9C)
|
||||
#define AKM_W_Y_READ_UCLD (0x9D)
|
||||
#define AKM_T_X_WRITE_UCLD (0xE8)
|
||||
#define AKM_T_X_READ_UCLD (0xE9)
|
||||
#define AKM_T_Y_WRITE_UCLD (0x68)
|
||||
#define AKM_T_Y_READ_UCLD (0x69)
|
||||
#define HALL_CAL_COUNT (8)
|
||||
|
||||
#define CAMERA_OIS_EXT_CLK_12MHZ 0xB71B00
|
||||
#define CAMERA_OIS_EXT_CLK_17MHZ 0x1036640
|
||||
#define CAMERA_OIS_EXT_CLK_19P2MHZ 0x124F800
|
||||
#define CAMERA_OIS_EXT_CLK_24MHZ 0x16E3600
|
||||
#define CAMERA_OIS_EXT_CLK_26MHZ 0x18CBA80
|
||||
|
||||
#define MAX_EFS_DATA_LENGTH (30)
|
||||
|
||||
enum cam_ois_sinewave_log_t
|
||||
{
|
||||
SINX_COUNT,
|
||||
SINY_COUNT,
|
||||
SINX,
|
||||
SINY,
|
||||
SINX2Y2_COUNT,
|
||||
SINX2Y2,
|
||||
SINEWAVE_MAX,
|
||||
};
|
||||
|
||||
int cam_ois_offset_test(struct cam_ois_ctrl_t *o_ctrl,
|
||||
long *raw_data_x, long *raw_data_y, long *raw_data_z, bool is_need_cal);
|
||||
int cam_ois_parsing_raw_data(struct cam_ois_ctrl_t *o_ctrl,
|
||||
uint8_t *buf, uint32_t buf_size, long *raw_data_x, long *raw_data_y, long *raw_data_z);
|
||||
int cam_ois_gyro_sensor_calibration(struct cam_ois_ctrl_t *o_ctrl,
|
||||
long *raw_data_x, long *raw_data_y,long *raw_data_z);
|
||||
int cam_ois_gyro_sensor_noise_check(struct cam_ois_ctrl_t *o_ctrl,
|
||||
long *stdev_data_x, long *stdev_data_y);
|
||||
uint32_t cam_ois_self_test(struct cam_ois_ctrl_t *o_ctrl);
|
||||
bool cam_ois_sine_wavecheck(struct cam_ois_ctrl_t *o_ctrl, uint32_t threshold,
|
||||
uint32_t frequency, uint32_t amplitude, char* buf, uint32_t module_mask);
|
||||
int cam_ois_check_fw(struct cam_ois_ctrl_t *o_ctrl);
|
||||
int cam_ois_wait_idle(struct cam_ois_ctrl_t *o_ctrl, int retries);
|
||||
int cam_ois_init(struct cam_ois_ctrl_t *o_ctrl);
|
||||
int cam_ois_i2c_write(struct cam_ois_ctrl_t *o_ctrl,
|
||||
uint32_t addr, uint32_t data,
|
||||
enum camera_sensor_i2c_type addr_type,
|
||||
enum camera_sensor_i2c_type data_type);
|
||||
int cam_ois_shift_calibration(struct cam_ois_ctrl_t *o_ctrl, uint16_t af_position, uint16_t subdev_id);
|
||||
int32_t cam_ois_set_debug_info(struct cam_ois_ctrl_t *o_ctrl, uint16_t mode);
|
||||
int cam_ois_set_servo_ctrl(struct cam_ois_ctrl_t *o_ctrl, uint32_t en);
|
||||
int cam_ois_get_ois_mode(struct cam_ois_ctrl_t *o_ctrl, uint16_t *mode);
|
||||
int cam_ois_set_ois_mode(struct cam_ois_ctrl_t *o_ctrl, uint16_t mode);
|
||||
int cam_ois_set_shift(struct cam_ois_ctrl_t *o_ctrl);
|
||||
int cam_ois_set_angle_for_compensation(struct cam_ois_ctrl_t *o_ctrl);
|
||||
int cam_ois_set_ggfadeup(struct cam_ois_ctrl_t *o_ctrl, uint16_t value);
|
||||
int cam_ois_set_ggfadedown(struct cam_ois_ctrl_t *o_ctrl, uint16_t value);
|
||||
int cam_ois_fixed_aperture(struct cam_ois_ctrl_t *o_ctrl);
|
||||
int cam_ois_write_xgg_ygg(struct cam_ois_ctrl_t *o_ctrl);
|
||||
#if defined(CONFIG_SAMSUNG_REAR_TRIPLE)
|
||||
int cam_ois_write_dual_cal(struct cam_ois_ctrl_t *o_ctrl);
|
||||
#endif
|
||||
int cam_ois_write_gyro_orientation(struct cam_ois_ctrl_t *o_ctrl);
|
||||
int cam_ois_mcu_init(struct cam_ois_ctrl_t *o_ctrl);
|
||||
void cam_ois_reset(void *ctrl);
|
||||
int cam_ois_read_hall_position(struct cam_ois_ctrl_t *o_ctrl,
|
||||
uint32_t* targetPosition, uint32_t* hallPosition);
|
||||
int cam_ois_center_shift(struct cam_ois_ctrl_t *o_ctrl, int16_t* shift);
|
||||
#if defined(CONFIG_SAMSUNG_OIS_TAMODE_CONTROL)
|
||||
int ps_notifier_cb(struct notifier_block *nb, unsigned long event, void *data);
|
||||
int cam_ois_add_tamode_msg(struct cam_ois_ctrl_t *o_ctrl);
|
||||
int cam_ois_set_ta_mode(struct cam_ois_ctrl_t *o_ctrl);
|
||||
#endif
|
||||
int cam_ois_check_tele_cross_talk(struct cam_ois_ctrl_t *o_ctrl, uint16_t *result);
|
||||
int cam_ois_check_ois_valid_show(struct cam_ois_ctrl_t *o_ctrl, uint16_t *result);
|
||||
uint32_t cam_ois_check_ext_clk(struct cam_ois_ctrl_t *o_ctrl);
|
||||
int32_t cam_ois_set_ext_clk(struct cam_ois_ctrl_t *o_ctrl, uint32_t clk);
|
||||
int cam_ois_read_hall_cal(struct cam_ois_ctrl_t *o_ctrl, uint16_t subdev_id, uint16_t *result);
|
||||
uint32_t cam_ois_get_mgless(struct cam_ois_ctrl_t *o_ctrl);
|
||||
#if defined(CONFIG_SAMSUNG_OIS_ADC_TEMPERATURE_SUPPORT)
|
||||
int get_ois_adc_value(struct cam_ois_ctrl_t *o_ctrl, uint32_t *result);
|
||||
#endif
|
||||
#if defined(CONFIG_SAMSUNG_SUPPORT_RUMBA_FW_UPDATE)
|
||||
int cam_ois_rumba_check_fw(struct cam_ois_ctrl_t *o_ctrl);
|
||||
int cam_ois_rumba_check_validation(struct cam_ois_ctrl_t *o_ctrl);
|
||||
#endif
|
||||
|
||||
#define OISCTRL (0x0000) // OIS Control Register
|
||||
#define OISSTS (0x0001) // OIS Status Register
|
||||
#define OISMODE (0x0002) // OIS Mode Select Register
|
||||
#define OISERR (0x0004) // OIS Error Register
|
||||
#define FWUPERR (0x0006) // Actuator Driver's FW Update Error
|
||||
#define FWUPINDEX (0x0007) // FW Update Index
|
||||
#define FWUPCHKSUM (0x0008) // FW Checksum Data
|
||||
#define FWSIZE (0x000A) // FW Update Size
|
||||
#define FWUPCTRL (0x000C) // FW Update Control Register
|
||||
#define DFLSCTRL (0x000D) // DFSCTRL
|
||||
#define DFLSCMD (0x000E) // DFLSCMD
|
||||
#define DFLSSIZE_W (0x000F) // DFLSSIZE_W
|
||||
#define DFLSADR (0x0010) // DFLSADR
|
||||
#define GCCTRL (0x0014) // Gyro Calibration Control Register
|
||||
#define XTARGET (0x0022) // X axis Fixed Mode Target
|
||||
#define YTARGET (0x0024) // Y axis Fixed Mode Target
|
||||
#define ByPassCtrl (0x0028) // By Pass Mode Control
|
||||
#define GN_MSRCTRL (0x0029) // Gyro Noise Measure Contorl Register
|
||||
#define MGLESS_KEY (0x002A) // MGLess Module Register
|
||||
#define TACTRL (0x0035) // TA Mode Control
|
||||
#define CACTRL (0x0039) // OIS Center Shift Compensation Control Register
|
||||
#define CAAFPOSM1 (0x003A) // AF Position for Module1
|
||||
#define CAAFPOSM2 (0x003B) // AF Position for Module2
|
||||
#define AFTARGET_M1 (0x003C) // Target Position for Wide AF
|
||||
#define AFTARGET_M2 (0x003E) // Target Position for Tele AF
|
||||
#define AFHALL_M1 (0x0040) // Hall Position for Wide AF
|
||||
#define AFHALL_M2 (0x0042) // Hall Position for Tele AF
|
||||
#define AFTARGET_M3 (0x0044) // Target Position for Tele2 AF
|
||||
#define AFHALL_M3 (0x0046) // Hall Position for Tele2 AF
|
||||
#define CAAFPOSM3 (0x0048) // AF Position for Module3
|
||||
#define MCERR_W (0x004C) // Module Test Error Register
|
||||
#define MCSTH_M3 (0x004E) // Sinewave Check Error Decision Threshold Setting M3
|
||||
#define MCCTRL (0x0050) // Module Check Control Register
|
||||
#define MCERR_B (0x0051) // Module Test Error Register
|
||||
#define MCSTH_M1 (0x0052) // Sinewave Check Error Decision Threshold Setting
|
||||
#define MCSERRC (0x0053) // Sinewave Check Error Decision Count Setting
|
||||
#define MCSFREQ (0x0054) // Sinewave Operation Frequency Register
|
||||
#define MCSAMP (0x0055) // Sinewave Operation Amplitude Setting Register
|
||||
#define MCSSKIPNUM (0x0056) // Sinewave Measurement Skip Frequency Setting Register
|
||||
#define MCSNUM (0x0057) // Sinewave Measurement Skip Frequency Setting Register
|
||||
#define MCSTH_M2 (0x005B) // Sinewave Check Error Decision Threshold Setting M2
|
||||
#if defined(CONFIG_SAMSUNG_OIS_ADC_TEMPERATURE_SUPPORT)
|
||||
#define GETADC (0x0070) // GETADC Information
|
||||
#endif
|
||||
#define VDRINFO (0x007C) // Vendor Information
|
||||
#define FWINFO_CTRL (0x0080) // F/W Internal Information Update Register
|
||||
#define X_GYRO_CALC_M1 (0x0086) // X Target M1
|
||||
#define Y_GYRO_CALC_M1 (0x0088) // Y Target M1
|
||||
#define HAX_OUT_M1 (0x008E) // X Hall M1
|
||||
#define HAY_OUT_M1 (0x0090) // Y Hall M1
|
||||
#define X_GYRO_CALC_M3 (0x009E) // X Target M3
|
||||
#define Y_GYRO_CALC_M3 (0x00A0) // Y Target M3
|
||||
#define HAX_OUT_M3 (0x00A6) // X Hall M3
|
||||
#define HAY_OUT_M3 (0x00A8) // Y Hall M3
|
||||
#define X_GYRO_CALC_M2 (0x00AC) // X Target M2
|
||||
#define Y_GYRO_CALC_M2 (0x00AE) // Y Target M2
|
||||
#define HAX_OUT_M2 (0x00B4) // X Hall M2
|
||||
#define HAY_OUT_M2 (0x00B6) // Y Hall M2
|
||||
#define OISSEL (0x00BE) // OIS Driver Output Select Register
|
||||
#define LGMCRES0_M1 (0x00C0) // LoopGain ModuleCheck M1 result1
|
||||
#define LGMCRES1_M1 (0x00C2) // LoopGain ModuleCheck M1 result2
|
||||
#define LGMCRES2_M1 (0x00C4) // LoopGain ModuleCheck M1 result3
|
||||
#define LGMCRES3_M1 (0x00C6) // LoopGain ModuleCheck M1 result4
|
||||
#define LGMCRES0_M3 (0x00D8) // LoopGain ModuleCheck M3 result0
|
||||
#define LGMCRES1_M3 (0x00DA) // LoopGain ModuleCheck M3 result1
|
||||
#define LGMCRES2_M3 (0x00DC) // LoopGain ModuleCheck M3 result2
|
||||
#define LGMCRES3_M3 (0x00DE) // LoopGain ModuleCheck M3 result3
|
||||
#define LGMCRES0_M2 (0x00E4) // LoopGain ModuleCheck M2 result0
|
||||
#define LGMCRES1_M2 (0x00E6) // LoopGain ModuleCheck M2 result1
|
||||
#define LGMCRES2_M2 (0x00E8) // LoopGain ModuleCheck M2 result2
|
||||
#define LGMCRES3_M2 (0x00EA) // LoopGain ModuleCheck M2 result3
|
||||
#define GSTLOG0 (0x00EC) // Gyro SelfTest X Result
|
||||
#define GSTLOG1 (0x00EE) // Gyro SelfTest Y Result
|
||||
#define GSTLOG2 (0x00F0) // Gyro SelfTest Z Result
|
||||
#define HWVER (0x00F8) // HW Version
|
||||
#define FLS_DATA (0x0100) // Code Flash Data Buffer
|
||||
#define XCENTER_M1 (0x021A) // X Hall Center M1
|
||||
#define YCENTER_M1 (0x021C) // Y Hall Center M1
|
||||
#define GGFADEUP (0x0238) // Gyro Gain Fade Up Time Setting
|
||||
#define GGFADEDOWN (0x023A) // Gyro Gain Fade Down Time Setting
|
||||
#define GYRO_POLA_X_M1 (0x0240) // X Gyro Pola M1
|
||||
#define GYRO_POLA_Y_M1 (0x0241) // Y Gyro Pola M1
|
||||
#define GYRO_ORIENT (0x0242) // Gyro Cal. running time
|
||||
#define XGZERO (0x0248) // X axis Gyro 0 Point Offset Setting Register
|
||||
#define YGZERO (0x024A) // Y axis Gyro 0 Point Offset Setting Register
|
||||
#define ZGZERO (0x024C) // Z axis Gyro 0 Point Offset Setting Register
|
||||
#define XGN_STDEV (0x024E) // X axis Gyro Noise Standard Deviation Result
|
||||
#define YGN_STDEV (0x0250) // Y axis Gyro Noise Standard Deviation Result
|
||||
#define XGG_M1 (0x0254) // X axis Gyro Gain Coefficient Setting Module#1 Register
|
||||
#define YGG_M1 (0x0258) // Y axis Gyro Gain Coefficient Setting Module#1 Register
|
||||
#define COCTRL (0x0440) // Dual Cal. Center Offset Enable
|
||||
#define XCOFFSET_M1 (0x0442) // Dual Cal. Offset X M1
|
||||
#define YCOFFSET_M1 (0x0444) // Dual Cal. Offset Y M1
|
||||
#define XCOFFSET_M2 (0x0446) // Dual Cal. Offset X M2
|
||||
#define YCOFFSET_M2 (0x0448) // Dual Cal. Offset Y M2
|
||||
#define XCOFFSET_M3 (0x044A) // Dual Cal. Offset X M3
|
||||
#define YCOFFSET_M3 (0x044C) // Dual Cal. Offset Y M3
|
||||
#define XGG_M3 (0x0514) // X axis Gyro Gain Coefficient Setting Module#3 Register
|
||||
#define YGG_M3 (0x0518) // Y axis Gyro Gain Coefficient Setting Module#3 Register
|
||||
#define GYRO_POLA_X_M2 (0x0552) // X Gyro Pola M2
|
||||
#define GYRO_POLA_Y_M2 (0x0553) // Y Gyro Pola M2
|
||||
#define XGG_M2 (0x0554) // X axis Gyro Gain Coefficient Setting Module#2 Register
|
||||
#define YGG_M2 (0x0558) // Y axis Gyro Gain Coefficient Setting Module#2 Register
|
||||
#define GYRO_POLA_X_M3 (0x054E) // X Gyro Pola M3
|
||||
#define GYRO_POLA_Y_M3 (0x054F) // Y Gyro Pola M3
|
||||
|
||||
#define OIS_FW_FORCE_UPDATE_BIT_MCU (0x01)
|
||||
#define OIS_FW_FORCE_UPDATE_BIT_RUMBA (0x02)
|
||||
#define OIS_FW_FORCE_UPDATE_BIT_ALL (0x03)
|
||||
|
||||
#define OIS_FW_STATUS_OFFSET (0x00FC)
|
||||
#define OIS_FW_STATUS_SIZE (4)
|
||||
#define OIS_HW_VERSION_SIZE (3)
|
||||
#define OIS_MCU_VERSION_SIZE (4)
|
||||
#define OIS_MCU_VDRINFO_SIZE (4)
|
||||
#define OIS_HW_VERSION_OFFSET (0xAFF1)
|
||||
#define OIS_FW_VERSION_OFFSET (0xAFED)
|
||||
#define OIS_MCU_VERSION_OFFSET (0x80F8)
|
||||
#define OIS_MCU_VDRINFO_OFFSET (0x807C)
|
||||
#define OIS_MCU_FW_NAME "ois_mcu_stm32g_fw.bin"
|
||||
#define OIS_USER_DATA_START_ADDR (0xB400)
|
||||
#define OIS_FW_UPDATE_PACKET_SIZE (256)
|
||||
#define PROGCODE_SIZE (1024 * 44)
|
||||
#define MAX_RETRY_COUNT (3)
|
||||
#define OIS_GYRO_SCALE_FACTOR_LSM6DSO (114)
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_SUPPORT_RUMBA_FW_UPDATE)
|
||||
#define OIS_RUMBA_FW_NAME "ois_rumba_fw.bin"
|
||||
#define OIS_RUMBA_FWUP_SUPPORT_MCU_VERSION "QK2M"
|
||||
#define OIS_TELE_5X_MODULE_VERSION_PREFIX "H50"
|
||||
#define OIS_TELE_5X_MODULE_VERSION_SIZE (3)
|
||||
#define OIS_TELE_5X_MODULE_VALID_MARK 'H'
|
||||
#define OIS_TELE_5X_MODULE_VENDOR_NAME 'S'
|
||||
#define OIS_TELE_5X_MODULE_VENDOR_OFFSET (9)
|
||||
|
||||
#define OIS_RUMBA_VERSION_BASIS (38726)
|
||||
#define OIS_RUMBA_VERSION_MAX (50000)
|
||||
#define OIS_RUMBA_VERSION_PHONE_OFFSET (0xAFF4)
|
||||
#define OIS_RUMBA_VERSION_MODULE_OFFSET (0x0064)
|
||||
#define OIS_RUMBA_VERSION_SIZE (4)
|
||||
|
||||
#define OIS_RUMBA_VENDOR_CODE_INVALID (0xFF)
|
||||
#define OIS_RUMBA_VENDOR_CODE_SUNNY (0x02)
|
||||
#define OIS_RUMBA_VENDOR_CODE_SEMCO (0x03)
|
||||
#define OIS_RUMBA_VENDOR_CODE_MASK (0x0F)
|
||||
#define OIS_RUMBA_VENDOR_CODE_OFFSET (0x0068)
|
||||
|
||||
#define OIS_RUMBA_FWUPERR (0x0006)
|
||||
#define OIS_RUMBA_FWUPINDEX (0x0007)
|
||||
#define OIS_RUMBA_FWUPCHKSUM (0x0008)
|
||||
#define OIS_RUMBA_FWUPSIZE (0x000A)
|
||||
#define OIS_RUMBA_FWUPCTRL (0x000C)
|
||||
#define OIS_RUMBA_FWUPBUFFER (0x0100)
|
||||
|
||||
#define OIS_RUMBA_FWUP_START (0x01)
|
||||
#define OIS_RUMBA_FWUP_WRITE_PROG (0x02)
|
||||
#define OIS_RUMBA_FWUP_CHECKSUM (0x03)
|
||||
#define OIS_RUMBA_FWUP_DATAWRITE (0x04)
|
||||
#define OIS_RUMBA_FWUP_END (0x05)
|
||||
#define OIS_RUMBA_FWUP_PACKET_SIZE (64)
|
||||
#define OIS_RUMBA_FWUP_CTRLBIT_ENABLE (0x01)
|
||||
#define OIS_RUMBA_FWUP_CTRLBIT_WRITE (0x10)
|
||||
|
||||
#define OIS_RUMBA_FWUPERR_E_NOROM (0x01U)
|
||||
#define OIS_RUMBA_FWUPERR_E_WAIT (0x02U)
|
||||
#define OIS_RUMBA_FWUPERR_E_ERASE (0x04U)
|
||||
#define OIS_RUMBA_FWUPERR_E_DATAWRITE (0x08U)
|
||||
#define OIS_RUMBA_FWUPERR_E_WRITE (0x10U)
|
||||
#define OIS_RUMBA_FWUPERR_E_VERIFY (0x20U)
|
||||
#define OIS_RUMBA_FWUPERR_E_CHKSUM (0x40U)
|
||||
#endif
|
||||
|
||||
/*
|
||||
*Below code add for MCU sysboot cmd operation
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
uint32_t page;
|
||||
uint32_t count;
|
||||
} sysboot_erase_param_type;
|
||||
|
||||
/* Target specific definitions
|
||||
*/
|
||||
#define BOOT_I2C_STARTUP_DELAY (sysboot_i2c_startup_delay) /* msecs */
|
||||
#define BOOT_I2C_TARGET_PID (product_id)
|
||||
#define BOOT_I2C_ADDR (sysboot_i2c_slave_address << 1) /* it used directly as parameter of I2C HAL API */
|
||||
|
||||
#define BOOT_I2C_HANDLE (hi2c1)
|
||||
#define BOOT_I2C_LPHANDLE (&(BOOT_I2C_HANDLE))
|
||||
|
||||
/* Protocol specific definitions
|
||||
* NOTE: timeout interval unit: msec
|
||||
*/
|
||||
|
||||
#define BOOT_I2C_INTER_PKT_FRONT_INTVL (1)
|
||||
#define BOOT_I2C_INTER_PKT_BACK_INTVL (1)
|
||||
|
||||
#define BOOT_I2C_SYNC_RETRY_COUNT (3)
|
||||
#define BOOT_I2C_SYNC_RETRY_INTVL (50)
|
||||
|
||||
#define BOOT_I2C_CMD_TMOUT (30)
|
||||
#define BOOT_I2C_WRITE_TMOUT (flash_prog_time)
|
||||
#define BOOT_I2C_FULL_ERASE_TMOUT (flash_full_erase_time)
|
||||
#define BOOT_I2C_PAGE_ERASE_TMOUT(n) (flash_page_erase_time * n)
|
||||
#define BOOT_I2C_WAIT_RESP_TMOUT (30)
|
||||
#define BOOT_I2C_WAIT_MAX_RESP_TMOUT (1500)
|
||||
#define BOOT_I2C_WAIT_RESP_POLL_TMOUT (500)
|
||||
#define BOOT_I2C_WAIT_RESP_POLL_INTVL (3)
|
||||
#define BOOT_I2C_WAIT_RESP_POLL_RETRY (BOOT_I2C_WAIT_RESP_POLL_TMOUT / BOOT_I2C_WAIT_RESP_POLL_INTVL)
|
||||
#define BOOT_I2C_XMIT_TMOUT(count) (5 + (1 * count))
|
||||
#define BOOT_I2C_RECV_TMOUT(count) BOOT_I2C_XMIT_TMOUT(count)
|
||||
|
||||
/* Payload length info. */
|
||||
|
||||
#define BOOT_I2C_CMD_LEN (1)
|
||||
#define BOOT_I2C_ADDRESS_LEN (4)
|
||||
#define BOOT_I2C_NUM_READ_LEN (1)
|
||||
#define BOOT_I2C_NUM_WRITE_LEN (1)
|
||||
#define BOOT_I2C_NUM_ERASE_LEN (2)
|
||||
#define BOOT_I2C_CHECKSUM_LEN (1)
|
||||
|
||||
#define BOOT_I2C_MAX_WRITE_LEN (256) /* Protocol limitation */
|
||||
#define BOOT_I2C_MAX_ERASE_PARAM_LEN (4096) /* In case of erase parameter with 2048 pages */
|
||||
#define BOOT_I2C_MAX_PAYLOAD_LEN (BOOT_I2C_MAX_ERASE_PARAM_LEN) /* Larger one between write and erase., */
|
||||
|
||||
#define BOOT_I2C_REQ_CMD_LEN (BOOT_I2C_CMD_LEN + BOOT_I2C_CHECKSUM_LEN)
|
||||
#define BOOT_I2C_REQ_ADDRESS_LEN (BOOT_I2C_ADDRESS_LEN + BOOT_I2C_CHECKSUM_LEN)
|
||||
#define BOOT_I2C_READ_PARAM_LEN (BOOT_I2C_NUM_READ_LEN + BOOT_I2C_CHECKSUM_LEN)
|
||||
#define BOOT_I2C_WRITE_PARAM_LEN(len) (BOOT_I2C_NUM_WRITE_LEN + len + BOOT_I2C_CHECKSUM_LEN)
|
||||
#define BOOT_I2C_ERASE_PARAM_LEN(len) (len + BOOT_I2C_CHECKSUM_LEN)
|
||||
|
||||
#define BOOT_I2C_RESP_GET_VER_LEN (0x01) /* bootloader version(1) */
|
||||
#define BOOT_I2C_RESP_GET_ID_LEN (0x03) /* number of bytes - 1(1) + product ID(2) */
|
||||
|
||||
/* Commands and Response */
|
||||
|
||||
#define BOOT_I2C_CMD_GET (0x00)
|
||||
#define BOOT_I2C_CMD_GET_VER (0x01)
|
||||
#define BOOT_I2C_CMD_GET_ID (0x02)
|
||||
#define BOOT_I2C_CMD_READ (0x11)
|
||||
#define BOOT_I2C_CMD_GO (0x21)
|
||||
#define BOOT_I2C_CMD_WRITE (0x31)
|
||||
#define BOOT_I2C_CMD_ERASE (0x44)
|
||||
#define BOOT_I2C_CMD_WRITE_UNPROTECT (0x73)
|
||||
#define BOOT_I2C_CMD_READ_UNPROTECT (0x92)
|
||||
#define BOOT_I2C_CMD_SYNC (0xFF)
|
||||
|
||||
#define BOOT_I2C_RESP_ACK (0x79)
|
||||
#define BOOT_I2C_RESP_NACK (0x1F)
|
||||
#define BOOT_I2C_RESP_BUSY (0x76)
|
||||
|
||||
/* Exported functions ------------------------------------------------------- */
|
||||
int sysboot_i2c_sync(struct cam_ois_ctrl_t *o_ctrl, uint8_t *cmd);
|
||||
int sysboot_i2c_info(struct cam_ois_ctrl_t *o_ctrl);
|
||||
int sysboot_i2c_read(struct cam_ois_ctrl_t *o_ctrl, uint32_t address, uint8_t *dst, size_t len);
|
||||
int sysboot_i2c_write(struct cam_ois_ctrl_t *o_ctrl, uint32_t address, uint8_t *src, size_t len);
|
||||
int sysboot_i2c_erase(struct cam_ois_ctrl_t *o_ctrl, uint32_t address, size_t len);
|
||||
int sysboot_i2c_go(struct cam_ois_ctrl_t *o_ctrl, uint32_t address);
|
||||
int sysboot_i2c_write_unprotect(struct cam_ois_ctrl_t *o_ctrl);
|
||||
int sysboot_i2c_read_unprotect(struct cam_ois_ctrl_t *o_ctrl);
|
||||
|
||||
/* Private definitaions ----------------------------------------------------- */
|
||||
#define BOOT_NRST_PULSE_INTVL (2) /* msec */
|
||||
|
||||
/* Utility MACROs */
|
||||
|
||||
#ifndef NTOHL
|
||||
#define NTOHL(x) ((((x) & 0xFF000000U) >> 24) | \
|
||||
(((x) & 0x00FF0000U) >> 8) | \
|
||||
(((x) & 0x0000FF00U) << 8) | \
|
||||
(((x) & 0x000000FFU) << 24))
|
||||
#endif
|
||||
#ifndef HTONL
|
||||
#define HTONL(x) NTOHL(x)
|
||||
#endif
|
||||
|
||||
#ifndef NTOHS
|
||||
#define NTOHS(x) (((x >> 8) & 0x00FF) | ((x << 8) & 0xFF00))
|
||||
#endif
|
||||
#ifndef HTONS
|
||||
#define HTONS(x) NTOHS(x)
|
||||
#endif
|
||||
|
||||
/* ERROR definitions -------------------------------------------------------- */
|
||||
|
||||
enum
|
||||
{
|
||||
/* BASE ERROR ------------------------------------------------------------- */
|
||||
BOOT_ERR_BASE = -999, /* -9xx */
|
||||
BOOT_ERR_INVALID_PROTOCOL_GET_INFO,
|
||||
BOOT_ERR_INVALID_PROTOCOL_SYNC,
|
||||
BOOT_ERR_INVALID_PROTOCOL_READ,
|
||||
BOOT_ERR_INVALID_PROTOCOL_WRITE,
|
||||
BOOT_ERR_INVALID_PROTOCOL_ERASE,
|
||||
BOOT_ERR_INVALID_PROTOCOL_GO,
|
||||
BOOT_ERR_INVALID_PROTOCOL_WRITE_UNPROTECT,
|
||||
BOOT_ERR_INVALID_PROTOCOL_READ_UNPROTECT,
|
||||
BOOT_ERR_INVALID_MAX_WRITE_BYTES,
|
||||
|
||||
/* I2C ERROR -------------------------------------------------------------- */
|
||||
BOOT_ERR_I2C_BASE = -899, /* -8xx */
|
||||
BOOT_ERR_I2C_RESP_NACK,
|
||||
BOOT_ERR_I2C_RESP_UNKNOWN,
|
||||
BOOT_ERR_I2C_RESP_API_FAIL,
|
||||
BOOT_ERR_I2C_XMIT_API_FAIL,
|
||||
BOOT_ERR_I2C_RECV_API_FAIL,
|
||||
|
||||
/* SPI ERROR -------------------------------------------------------------- */
|
||||
BOOT_ERR_SPI_BASE = -799, /* -7xx */
|
||||
|
||||
/* UART ERROR ------------------------------------------------------------- */
|
||||
BOOT_ERR_UART_BASE = -699, /* -6xx */
|
||||
|
||||
/* DEVICE ERROR ----------------------------------------------------------- */
|
||||
BOOT_ERR_DEVICE_MEMORY_MAP = -599, /* -5xx */
|
||||
BOOT_ERR_DEVICE_PAGE_SIZE_NOT_FOUND,
|
||||
|
||||
/* API ERROR (OFFSET) ----------------------------------------------------- */
|
||||
BOOT_ERR_API_GET = -1000,
|
||||
BOOT_ERR_API_GET_ID = -2000,
|
||||
BOOT_ERR_API_GET_VER = -3000,
|
||||
BOOT_ERR_API_SYNC = -4000,
|
||||
BOOT_ERR_API_READ = -5000,
|
||||
BOOT_ERR_API_WRITE = -6000,
|
||||
BOOT_ERR_API_ERASE = -7000,
|
||||
BOOT_ERR_API_GO = -8000,
|
||||
BOOT_ERR_API_WRITE_UNPROTECT = -9000,
|
||||
BOOT_ERR_API_READ_UNPROTECT = -10000,
|
||||
BOOT_ERR_API_SAVE_CONTENTS = -11000,
|
||||
BOOT_ERR_API_RESTORE_CONTENTS = -12000,
|
||||
};
|
||||
#endif/* _CAM_OIS_MCU_STM32_H_ */
|
@ -27,6 +27,10 @@ static int cam_ois_get_dt_data(struct cam_ois_ctrl_t *o_ctrl)
|
||||
(struct cam_ois_soc_private *)o_ctrl->soc_info.soc_private;
|
||||
struct cam_sensor_power_ctrl_t *power_info = &soc_private->power_info;
|
||||
struct device_node *of_node = NULL;
|
||||
#if defined(CONFIG_SAMSUNG_OIS_ADC_TEMPERATURE_SUPPORT)
|
||||
int adc_arr_len;
|
||||
uint32_t adc, tp;
|
||||
#endif
|
||||
|
||||
of_node = soc_info->dev->of_node;
|
||||
|
||||
@ -52,17 +56,28 @@ static int cam_ois_get_dt_data(struct cam_ois_ctrl_t *o_ctrl)
|
||||
|
||||
/* Initialize regulators to default parameters */
|
||||
for (i = 0; i < soc_info->num_rgltr; i++) {
|
||||
soc_info->rgltr[i] = devm_regulator_get(soc_info->dev,
|
||||
soc_info->rgltr_name[i]);
|
||||
if (IS_ERR_OR_NULL(soc_info->rgltr[i])) {
|
||||
rc = PTR_ERR(soc_info->rgltr[i]);
|
||||
rc = rc ? rc : -EINVAL;
|
||||
CAM_ERR(CAM_OIS, "get failed for regulator %s",
|
||||
soc_info->rgltr_name[i]);
|
||||
return rc;
|
||||
#if defined(CONFIG_SEC_Q6Q_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT)
|
||||
if (soc_info->rgltr_subname[i] &&
|
||||
strstr(soc_info->rgltr_subname[i], "s2mpb03")) {
|
||||
soc_info->rgltr[i] = devm_regulator_get(soc_info->dev,
|
||||
soc_info->rgltr_subname[i]);
|
||||
CAM_INFO(CAM_OIS, "get for regulator %s instead of %s",
|
||||
soc_info->rgltr_subname[i], soc_info->rgltr_name[i]);
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
soc_info->rgltr[i] = devm_regulator_get(soc_info->dev,
|
||||
soc_info->rgltr_name[i]);
|
||||
if (IS_ERR_OR_NULL(soc_info->rgltr[i])) {
|
||||
rc = PTR_ERR(soc_info->rgltr[i]);
|
||||
rc = rc ? rc : -EINVAL;
|
||||
CAM_ERR(CAM_OIS, "get failed for regulator %s",
|
||||
soc_info->rgltr_name[i]);
|
||||
return rc;
|
||||
}
|
||||
CAM_DBG(CAM_OIS, "get for regulator %s",
|
||||
soc_info->rgltr_name[i]);
|
||||
}
|
||||
CAM_DBG(CAM_OIS, "get for regulator %s",
|
||||
soc_info->rgltr_name[i]);
|
||||
}
|
||||
|
||||
if (!soc_info->gpio_data) {
|
||||
@ -97,6 +112,65 @@ static int cam_ois_get_dt_data(struct cam_ois_ctrl_t *o_ctrl)
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32)
|
||||
rc = of_property_read_u32(of_node, "slave-addr",
|
||||
&o_ctrl->slave_addr);
|
||||
if (rc < 0) {
|
||||
pr_err("%s failed rc %d\n", __func__, rc);
|
||||
}
|
||||
o_ctrl->io_master_info.client->addr = o_ctrl->slave_addr;
|
||||
o_ctrl->reset_ctrl_gpio =
|
||||
power_info->gpio_num_info->gpio_num[SENSOR_RESET];
|
||||
o_ctrl->boot0_ctrl_gpio =
|
||||
power_info->gpio_num_info->gpio_num[SENSOR_CUSTOM_GPIO1];
|
||||
|
||||
rc = of_property_read_u32_array(of_node, "pole-values",
|
||||
o_ctrl->poles, sizeof(o_ctrl->poles)/sizeof(o_ctrl->poles[0]));
|
||||
if (rc) {
|
||||
CAM_ERR(CAM_OIS, "No pole value found, rc=%d", rc);
|
||||
}
|
||||
#if defined(CONFIG_SEC_B6Q_CHN_PROJECT)
|
||||
else {
|
||||
o_ctrl->poles[0] = 0x01;
|
||||
}
|
||||
#endif
|
||||
|
||||
rc = of_property_read_u32(of_node, "gyro-orientation",
|
||||
&o_ctrl->gyro_orientation);
|
||||
if (rc) {
|
||||
CAM_ERR(CAM_OIS, "failed to read gyro-orientation");
|
||||
}
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_OIS_ADC_TEMPERATURE_SUPPORT)
|
||||
if(of_get_property(of_node, "adc_array", &adc_arr_len)) {
|
||||
o_ctrl->adc_arr_size = adc_arr_len / sizeof(uint32_t);
|
||||
o_ctrl->adc_temperature_table =
|
||||
kzalloc(sizeof(*o_ctrl->adc_temperature_table) * o_ctrl->adc_arr_size, GFP_KERNEL);
|
||||
} else {
|
||||
CAM_ERR(CAM_OIS, "failed to read adc_array");
|
||||
}
|
||||
|
||||
if(o_ctrl->adc_temperature_table) {
|
||||
for (i = 0; i < o_ctrl->adc_arr_size; i++) {
|
||||
if (of_property_read_u32_index(of_node, "adc_array", i, &adc)) {
|
||||
CAM_ERR(CAM_OIS, "failed to read adc_array");
|
||||
}
|
||||
|
||||
if (of_property_read_u32_index(of_node, "temp_array", i, &tp)) {
|
||||
CAM_ERR(CAM_OIS, "failed to read temp_array");
|
||||
}
|
||||
|
||||
o_ctrl->adc_temperature_table[i].adc = (int)adc;
|
||||
o_ctrl->adc_temperature_table[i].temperature = (int)tp;
|
||||
|
||||
//CAM_INFO(CAM_OIS, "adc =%d temperature=%d",o_ctrl->adc_temperature_table[i].adc, o_ctrl->adc_temperature_table[i].temperature);
|
||||
}
|
||||
} else {
|
||||
CAM_ERR(CAM_OIS, "o_ctrl->adc_table is NULL");
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
return rc;
|
||||
}
|
||||
/**
|
||||
|
@ -0,0 +1,258 @@
|
||||
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#include <linux/module.h>
|
||||
#include <linux/firmware.h>
|
||||
#include <cam_sensor_cmn_header.h>
|
||||
#include "cam_ois_thread.h"
|
||||
#include "cam_ois_soc.h"
|
||||
#include "cam_ois_core.h"
|
||||
#include "cam_sensor_util.h"
|
||||
#include "cam_debug_util.h"
|
||||
|
||||
#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32)
|
||||
#include "cam_ois_mcu_stm32g.h"
|
||||
#endif
|
||||
#if defined(CONFIG_SAMSUNG_OIS_RUMBA_S4)
|
||||
#include "cam_ois_rumba_s4.h"
|
||||
#endif
|
||||
|
||||
/**
|
||||
* cam_ois_thread_add_msg - add msg to list
|
||||
* @o_ctrl: ctrl structure
|
||||
* @msg: Camera control command argument
|
||||
*
|
||||
* Returns success or failure
|
||||
*/
|
||||
int cam_ois_thread_add_msg(
|
||||
struct cam_ois_ctrl_t *o_ctrl,
|
||||
struct cam_ois_thread_msg_t *msg)
|
||||
{
|
||||
unsigned long flags;
|
||||
|
||||
if (!o_ctrl) {
|
||||
CAM_ERR(CAM_OIS, "Invalid Args");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (!o_ctrl->is_thread_started) {
|
||||
CAM_ERR(CAM_OIS, "Thread is not started");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
spin_lock_irqsave(&(o_ctrl->thread_spinlock), flags);
|
||||
list_add_tail(&(msg->list),
|
||||
&(o_ctrl->list_head_thread.list));
|
||||
spin_unlock_irqrestore(&(o_ctrl->thread_spinlock), flags);
|
||||
wake_up(&(o_ctrl->wait));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* cam_ois_thread_func - create thread
|
||||
* @data: ctrl structure
|
||||
*
|
||||
* Returns success or failure
|
||||
*/
|
||||
static int cam_ois_thread_func(void *data)
|
||||
{
|
||||
int rc = 0;
|
||||
struct cam_ois_ctrl_t *o_ctrl = NULL;
|
||||
struct cam_ois_thread_msg_t *msg = NULL;
|
||||
unsigned long flags;
|
||||
|
||||
if (!data) {
|
||||
CAM_ERR(CAM_OIS, "Invalid Args");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
CAM_INFO(CAM_OIS, "E");
|
||||
|
||||
o_ctrl = (struct cam_ois_ctrl_t *)data;
|
||||
o_ctrl->is_thread_started = true;
|
||||
|
||||
while (true) {
|
||||
wait_event_freezable(
|
||||
o_ctrl->wait,
|
||||
(!list_empty(&(o_ctrl->list_head_thread.list)))
|
||||
|| kthread_should_stop());
|
||||
|
||||
if (!o_ctrl->is_thread_started) {
|
||||
CAM_INFO(CAM_OIS, "Thread is stopped");
|
||||
break;
|
||||
}
|
||||
|
||||
spin_lock_irqsave(&(o_ctrl->thread_spinlock), flags);
|
||||
msg = list_first_entry_or_null(
|
||||
&o_ctrl->list_head_thread.list,
|
||||
struct cam_ois_thread_msg_t, list);
|
||||
if (msg != NULL) {
|
||||
list_del(&(msg->list));
|
||||
spin_unlock_irqrestore(&(o_ctrl->thread_spinlock), flags);
|
||||
if ((msg->msg_type >= 0) &&
|
||||
(msg->msg_type < CAM_OIS_THREAD_MSG_MAX)) {
|
||||
switch (msg->msg_type) {
|
||||
case CAM_OIS_THREAD_MSG_START:
|
||||
mutex_lock(&(o_ctrl->ois_mode_mutex));
|
||||
CAM_DBG(CAM_OIS, "CAM_OIS_THREAD_MSG_START");
|
||||
usleep_range(10000, 10050);
|
||||
rc = cam_ois_init(o_ctrl);
|
||||
if (rc < 0)
|
||||
CAM_ERR(CAM_OIS, "OIS init failed %d", rc);
|
||||
#if !defined(CONFIG_SAMSUNG_OIS_RUMBA_S4)
|
||||
// OIS centering
|
||||
cam_ois_set_ois_mode(o_ctrl, 0x05);
|
||||
if (rc < 0)
|
||||
CAM_ERR(CAM_OIS, "OIS centering failed %d", rc);
|
||||
#endif
|
||||
msleep(40);
|
||||
mutex_unlock(&(o_ctrl->ois_mode_mutex));
|
||||
break;
|
||||
case CAM_OIS_THREAD_MSG_APPLY_SETTING:
|
||||
mutex_lock(&(o_ctrl->ois_mode_mutex));
|
||||
CAM_DBG(CAM_OIS, "CAM_OIS_THREAD_MSG_APPLY_SETTING");
|
||||
|
||||
mutex_lock(&(o_ctrl->i2c_mode_data_mutex));
|
||||
if (msg->i2c_reg_settings->is_settings_valid == 1) {
|
||||
rc = cam_ois_apply_settings(o_ctrl, msg->i2c_reg_settings);
|
||||
if (rc < 0)
|
||||
CAM_ERR(CAM_OIS, "Cannot apply settings");
|
||||
|
||||
rc = delete_request(msg->i2c_reg_settings);
|
||||
if (rc < 0)
|
||||
CAM_ERR(CAM_OIS,
|
||||
"delete request: %lld rc: %d",
|
||||
msg->i2c_reg_settings->request_id, rc);
|
||||
}
|
||||
mutex_unlock(&(o_ctrl->i2c_mode_data_mutex));
|
||||
mutex_unlock(&(o_ctrl->ois_mode_mutex));
|
||||
break;
|
||||
case CAM_OIS_THREAD_MSG_RESET:
|
||||
mutex_lock(&(o_ctrl->ois_mode_mutex));
|
||||
CAM_DBG(CAM_OIS, "CAM_OIS_THREAD_MSG_RESET_MCU");
|
||||
|
||||
rc = cam_ois_set_ois_mode(o_ctrl, 0x16);
|
||||
if (rc < 0)
|
||||
CAM_ERR(CAM_OIS, "OIS centering failed %d", rc);
|
||||
mutex_unlock(&(o_ctrl->ois_mode_mutex));
|
||||
break;
|
||||
#if defined(CONFIG_SAMSUNG_OIS_TAMODE_CONTROL)
|
||||
case CAM_OIS_THREAD_MSG_SET_TAMODE:
|
||||
mutex_lock(&(o_ctrl->ois_mode_mutex));
|
||||
CAM_DBG(CAM_OIS, "CAM_OIS_THREAD_MSG_SET_TAMODE");
|
||||
rc = cam_ois_set_ta_mode(o_ctrl);
|
||||
if (rc < 0)
|
||||
CAM_ERR(CAM_OIS, "set ta mode failed %d", rc);
|
||||
mutex_unlock(&(o_ctrl->ois_mode_mutex));
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
kfree(msg);
|
||||
msg = NULL;
|
||||
} else {
|
||||
spin_unlock_irqrestore(&(o_ctrl->thread_spinlock), flags);
|
||||
}
|
||||
}
|
||||
|
||||
CAM_INFO(CAM_OIS, "X");
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
/**
|
||||
* cam_ois_thread_create - create thread
|
||||
* @o_ctrl: ctrl structure
|
||||
*
|
||||
* Returns success or failure
|
||||
*/
|
||||
int cam_ois_thread_create(struct cam_ois_ctrl_t *o_ctrl)
|
||||
{
|
||||
int rc = 0;
|
||||
int retries = 100;
|
||||
|
||||
CAM_INFO(CAM_OIS, "E");
|
||||
|
||||
if (!o_ctrl) {
|
||||
CAM_ERR(CAM_OIS, "Invalid Args");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (o_ctrl->is_thread_started) {
|
||||
CAM_ERR(CAM_OIS, "Already started");
|
||||
return -EBUSY;
|
||||
}
|
||||
|
||||
INIT_LIST_HEAD(&o_ctrl->list_head_thread.list);
|
||||
spin_lock_init(&(o_ctrl->thread_spinlock));
|
||||
o_ctrl->is_thread_started = false;
|
||||
o_ctrl->ois_thread = kthread_run(cam_ois_thread_func, (void *)o_ctrl, "CAM_OIS");
|
||||
if (IS_ERR(o_ctrl->ois_thread))
|
||||
return -EINVAL;
|
||||
|
||||
while (o_ctrl->is_thread_started == false) {
|
||||
usleep_range(2000, 2100);
|
||||
if (retries < 0) {
|
||||
CAM_ERR(CAM_OIS, "Fail to start thread");
|
||||
rc = -EBUSY;
|
||||
break;
|
||||
}
|
||||
retries--;
|
||||
}
|
||||
|
||||
CAM_INFO(CAM_OIS, "X");
|
||||
return rc;
|
||||
}
|
||||
|
||||
/**
|
||||
* cam_ois_thread_destroy - destroy thread
|
||||
* @o_ctrl: ctrl structure
|
||||
*
|
||||
* Returns success or failure
|
||||
*/
|
||||
int cam_ois_thread_destroy(struct cam_ois_ctrl_t *o_ctrl)
|
||||
{
|
||||
struct cam_ois_thread_msg_t *msg_list = NULL, *msg_next = NULL;
|
||||
unsigned long flags;
|
||||
|
||||
CAM_INFO(CAM_OIS, "E");
|
||||
|
||||
if (!o_ctrl) {
|
||||
CAM_ERR(CAM_OIS, "Invalid Args");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (!o_ctrl->is_thread_started) {
|
||||
CAM_WARN(CAM_OIS, "Thread is not started");
|
||||
return 0;
|
||||
}
|
||||
|
||||
o_ctrl->is_thread_started = false;
|
||||
if (o_ctrl->ois_thread) {
|
||||
spin_lock_irqsave(&(o_ctrl->thread_spinlock), flags);
|
||||
list_for_each_entry_safe(msg_list, msg_next,
|
||||
&o_ctrl->list_head_thread.list, list) {
|
||||
list_del(&(msg_list->list));
|
||||
kfree(msg_list);
|
||||
}
|
||||
spin_unlock_irqrestore(&(o_ctrl->thread_spinlock), flags);
|
||||
|
||||
kthread_stop(o_ctrl->ois_thread);
|
||||
wake_up(&o_ctrl->wait);
|
||||
o_ctrl->ois_thread = NULL;
|
||||
}
|
||||
|
||||
CAM_INFO(CAM_OIS, "X");
|
||||
|
||||
return 0;
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
#ifndef _CAM_OIS_THREAD_H_
|
||||
#define _CAM_OIS_THREAD_H_
|
||||
|
||||
#include "cam_ois_dev.h"
|
||||
|
||||
int cam_ois_thread_add_msg(struct cam_ois_ctrl_t *o_ctrl, struct cam_ois_thread_msg_t *msg);
|
||||
int cam_ois_thread_create(struct cam_ois_ctrl_t *o_ctrl);
|
||||
int cam_ois_thread_destroy(struct cam_ois_ctrl_t *o_ctrl);
|
||||
|
||||
#endif
|
||||
/* _CAM_OIS_THREAD_H_ */
|
@ -0,0 +1,444 @@
|
||||
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef _CAM_SENSOR_ADAPTIVE_MIPI_IMX258_H_
|
||||
#define _CAM_SENSOR_ADAPTIVE_MIPI_IMX258_H_
|
||||
|
||||
#include "cam_sensor_dev.h"
|
||||
|
||||
int num_uw_mipi_setting = 1;
|
||||
|
||||
/*************************************/
|
||||
/* ========== Mode A =============== */
|
||||
/*************************************/
|
||||
enum {
|
||||
CAM_IMX258_SET_A_505_MHZ = 0,
|
||||
CAM_IMX258_SET_A_646_MHZ = 1,
|
||||
CAM_IMX258_SET_A_540_MHZ = 2,
|
||||
CAM_IMX258_SET_A_566_MHZ = 3,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_505_MHZ_REG_ARRAY[] = {
|
||||
{0x030F, 0x9E, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_646_MHZ_REG_ARRAY[] = {
|
||||
{0x030F, 0xCA, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_540_MHZ_REG_ARRAY[] = {
|
||||
{0x030F, 0xA9, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_566_MHZ_REG_ARRAY[] = {
|
||||
{0x030F, 0xB1, 0x00, 0x00},
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx258_setfile_A_mipi_505_mhz[] = {
|
||||
{ MIPI_505_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_505_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx258_setfile_A_mipi_646_mhz[] = {
|
||||
{ MIPI_646_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_646_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx258_setfile_A_mipi_540_mhz[] = {
|
||||
{ MIPI_540_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_540_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx258_setfile_A_mipi_566_mhz[] = {
|
||||
{ MIPI_566_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_566_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_imx258_setfile_A_mipi_setting[] = {
|
||||
{ "505 Mhz",
|
||||
sensor_imx258_setfile_A_mipi_505_mhz, ARRAY_SIZE(sensor_imx258_setfile_A_mipi_505_mhz) },
|
||||
{ "646 Mhz",
|
||||
sensor_imx258_setfile_A_mipi_646_mhz, ARRAY_SIZE(sensor_imx258_setfile_A_mipi_646_mhz) },
|
||||
{ "540 Mhz",
|
||||
sensor_imx258_setfile_A_mipi_540_mhz, ARRAY_SIZE(sensor_imx258_setfile_A_mipi_540_mhz) },
|
||||
{ "566 Mhz",
|
||||
sensor_imx258_setfile_A_mipi_566_mhz, ARRAY_SIZE(sensor_imx258_setfile_A_mipi_566_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_imx258_setfile_A_mipi_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10580, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10581, 10628, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10629, 10649, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10650, 10706, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10707, 10781, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10782, 10832, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10833, 10838, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9696, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9697, 9733, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9734, 9770, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9771, 9821, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9822, 9832, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9833, 9885, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9886, 9896, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9897, 9938, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1200, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1201, 1263, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1264, 1335, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1336, 1373, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1374, 1389, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1390, 1441, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1442, 1476, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1477, 1513, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1555, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1556, 1603, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1604, 1624, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1625, 1681, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1682, 1738, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4386, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4387, 4400, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4401, 4458, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2252, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2253, 2308, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2309, 2359, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2360, 2405, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2406, 2413, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2414, 2434, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2435, 2485, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2486, 2500, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2501, 2543, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2544, 2563, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2948, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2949, 3002, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3003, 3014, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3015, 3065, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3066, 3088, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 60, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 61, 156, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 157, 198, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 199, 312, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 313, 462, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 463, 565, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 566, 599, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 690, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 691, 693, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 694, 766, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 767, 840, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 841, 943, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 944, 964, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 965, 1069, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1070, 1093, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1094, 1199, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1300, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1301, 1426, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1427, 1571, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1572, 1647, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1648, 1679, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1680, 1782, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1783, 1851, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1852, 1932, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1933, 1949, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2010, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2011, 2106, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2107, 2148, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2149, 2262, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2263, 2399, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2482, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2483, 2511, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2512, 2632, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2633, 2649, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2766, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2767, 2804, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2805, 2916, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2917, 3018, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3019, 3110, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3111, 3127, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3128, 3168, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3169, 3271, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3272, 3300, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3301, 3386, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3387, 3421, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3422, 3449, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3478, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3479, 3497, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3498, 3604, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3605, 3628, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3629, 3731, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3732, 3799, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5087, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5088, 5126, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5127, 5179, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5228, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5229, 5279, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5358, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5359, 5379, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5757, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5758, 5796, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5797, 5849, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5901, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5902, 5920, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5921, 5999, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6022, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6023, 6051, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6052, 6149, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6254, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6255, 6276, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6277, 6386, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6387, 6404, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6405, 6449, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6481, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6482, 6583, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6584, 6599, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8130, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8131, 8206, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8207, 8280, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8281, 8383, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8384, 8404, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8405, 8509, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8510, 8533, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8534, 8636, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8637, 8689, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8751, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8752, 8770, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8771, 8872, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8873, 8901, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8902, 9022, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9023, 9039, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9288, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9289, 9391, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9392, 9396, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9397, 9461, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9462, 9541, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9542, 9644, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9645, 9659, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9746, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9747, 9769, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9819, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9820, 9855, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9856, 9869, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9987, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9988, 10018, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10019, 10137, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10138, 10240, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10241, 10338, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10339, 10359, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36249, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36250, 36349, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37760, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37761, 37830, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37831, 37910, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37911, 38013, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38014, 38154, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38155, 38163, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38164, 38249, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38334, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38335, 38448, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38449, 38484, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38485, 38587, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38588, 38593, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38594, 38649, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38729, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38730, 38832, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38833, 38896, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38897, 38979, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38980, 38982, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38983, 39085, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39086, 39199, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39200, 39235, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39236, 39338, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39339, 39488, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39489, 39590, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39591, 39641, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39642, 39649, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39792, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39793, 39903, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39904, 39974, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39975, 40044, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40045, 40165, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40166, 40297, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40298, 40400, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40401, 40470, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40471, 40550, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40551, 40653, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40654, 40794, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40795, 40803, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40804, 40906, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40907, 40944, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40945, 41056, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41057, 41158, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41159, 41250, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41251, 41267, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41268, 41308, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41309, 41411, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41412, 41440, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41441, 41526, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41527, 41561, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41562, 41589, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41643, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41644, 41774, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41775, 41793, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41794, 41910, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41911, 42045, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42046, 42182, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42183, 42247, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42248, 42298, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42299, 42401, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42402, 42459, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42460, 42546, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42547, 42551, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42552, 42654, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42655, 42762, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42763, 42804, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42805, 42907, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42908, 43057, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43058, 43159, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43160, 43212, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43213, 43309, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43310, 43412, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43413, 43478, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43479, 43511, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43512, 43562, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43563, 43589, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55309, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55310, 55362, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55363, 55459, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55460, 55562, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55563, 55628, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55629, 55661, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55662, 55712, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55713, 55815, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55816, 55863, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55864, 55898, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55899, 55940, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55941, 56068, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56069, 56186, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56187, 56208, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56209, 56321, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56322, 56336, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56337, 56471, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56472, 56581, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56582, 56659, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56660, 56723, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56724, 56739, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66496, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66497, 66592, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66593, 66634, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66635, 66748, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66749, 66898, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66899, 67001, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67002, 67042, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67043, 67065, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67066, 67151, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67152, 67254, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67255, 67313, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67314, 67335, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68660, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68661, 68804, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68805, 68810, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68811, 68935, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 174540, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 174541, 176480, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176481, 178580, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178581, 178780, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 185640, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185641, 186860, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186861, 189720, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189721, 189840, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189841, 191580, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191581, 191980, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 147340, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147341, 149200, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 159120, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159121, 159220, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159221, 160000, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160001, 163000, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163001, 164180, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 153260, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153261, 154060, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154061, 154320, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154321, 154860, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154861, 156840, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156841, 159120, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159121, 159380, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159381, 159820, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159821, 160580, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 123980, CAM_IMX258_SET_A_505_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123981, 126860, CAM_IMX258_SET_A_646_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126861, 127380, CAM_IMX258_SET_A_540_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127381, 128800, CAM_IMX258_SET_A_566_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128801, 130380, CAM_IMX258_SET_A_505_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_uw_mipi_A_mode[] = {
|
||||
{
|
||||
sensor_imx258_setfile_A_mipi_channel, ARRAY_SIZE(sensor_imx258_setfile_A_mipi_channel),
|
||||
sensor_imx258_setfile_A_mipi_setting, ARRAY_SIZE(sensor_imx258_setfile_A_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
/*************************************/
|
||||
/* ========== DUMMY ================ */
|
||||
/*************************************/
|
||||
enum {
|
||||
CAM_UW_SET_DUMMY_MHZ = 0,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_UW_DUMMY_MHZ_REG_ARRAY[] = {
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_uw_setfile_dummy_mhz[] = {
|
||||
{ MIPI_UW_DUMMY_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_UW_DUMMY_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_uw_setfile_dummy_mipi_setting[] = {
|
||||
{ "DUMMY Mhz",
|
||||
sensor_uw_setfile_dummy_mhz, ARRAY_SIZE(sensor_uw_setfile_dummy_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_uw_setfile_dummy_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_UW_SET_DUMMY_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_uw_mipi_B_mode[] = {
|
||||
{
|
||||
sensor_uw_setfile_dummy_channel, ARRAY_SIZE(sensor_uw_setfile_dummy_channel),
|
||||
sensor_uw_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_uw_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
static const struct cam_mipi_sensor_mode sensor_uw_mipi_C_mode[] = {
|
||||
{
|
||||
sensor_uw_setfile_dummy_channel, ARRAY_SIZE(sensor_uw_setfile_dummy_channel),
|
||||
sensor_uw_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_uw_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_uw_mipi_D_mode[] = {
|
||||
{
|
||||
sensor_uw_setfile_dummy_channel, ARRAY_SIZE(sensor_uw_setfile_dummy_channel),
|
||||
sensor_uw_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_uw_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
#endif /* _CAM_SENSOR_ADAPTIVE_MIPI_IMX258_H_ */
|
@ -0,0 +1,568 @@
|
||||
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef _CAM_SENSOR_ADAPTIVE_MIPI_IMX374_H_
|
||||
#define _CAM_SENSOR_ADAPTIVE_MIPI_IMX374_H_
|
||||
|
||||
#include "cam_sensor_dev.h"
|
||||
|
||||
int num_front_mipi_setting = 2;
|
||||
|
||||
/*
|
||||
Mode A : Full mode (860.8 / 995.2 / 1011.2 / 1046.4)
|
||||
Mode B : 4k2k 60fps mode (1196.8 / 1011.2 / 1139.2 / 1094.4)
|
||||
*/
|
||||
|
||||
/*************************************/
|
||||
/* ========== Mode A =============== */
|
||||
/*************************************/
|
||||
|
||||
enum {
|
||||
|
||||
CAM_IMX374_SET_A_FULL_860_MHZ = 0,
|
||||
CAM_IMX374_SET_A_FULL_995_MHZ = 1,
|
||||
CAM_IMX374_SET_A_FULL_1011_MHZ = 2,
|
||||
CAM_IMX374_SET_A_FULL_1046_MHZ = 3,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_FULL_1046_MHZ_REG_ARRAY[] = {
|
||||
{0x030F, 0x47, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_FULL_860_MHZ_REG_ARRAY[] = {
|
||||
{0x030F, 0x0D, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_FULL_995_MHZ_REG_ARRAY[] = {
|
||||
{0x030F, 0x37, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_FULL_1011_MHZ_REG_ARRAY[] = {
|
||||
{0x030F, 0x3C, 0x00, 0x00},
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx374_setfile_A_mipi_FULL_1046_mhz[] = {
|
||||
{ MIPI_FULL_1046_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_FULL_1046_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx374_setfile_A_mipi_FULL_860_mhz[] = {
|
||||
{ MIPI_FULL_860_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_FULL_860_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx374_setfile_A_mipi_FULL_995_mhz[] = {
|
||||
{ MIPI_FULL_995_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_FULL_995_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx374_setfile_A_mipi_FULL_1011_mhz[] = {
|
||||
{ MIPI_FULL_1011_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_FULL_1011_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_imx374_setfile_A_mipi_setting_FULL[] = {
|
||||
{ "860 Mhz",
|
||||
sensor_imx374_setfile_A_mipi_FULL_860_mhz, ARRAY_SIZE(sensor_imx374_setfile_A_mipi_FULL_860_mhz) },
|
||||
{ "995 Mhz",
|
||||
sensor_imx374_setfile_A_mipi_FULL_995_mhz, ARRAY_SIZE(sensor_imx374_setfile_A_mipi_FULL_995_mhz) },
|
||||
{ "1011 Mhz",
|
||||
sensor_imx374_setfile_A_mipi_FULL_1011_mhz, ARRAY_SIZE(sensor_imx374_setfile_A_mipi_FULL_1011_mhz) },
|
||||
{ "1046 Mhz",
|
||||
sensor_imx374_setfile_A_mipi_FULL_1046_mhz, ARRAY_SIZE(sensor_imx374_setfile_A_mipi_FULL_1046_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_imx374_setfile_A_mipi_channel_FULL[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10582, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10583, 10722, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10723, 10735, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10736, 10797, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10798, 10838, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9665, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9666, 9721, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9722, 9861, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9862, 9914, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9915, 9936, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9937, 9938, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1200, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1201, 1341, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1342, 1368, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1369, 1416, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1417, 1513, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1557, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1558, 1697, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1698, 1710, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1711, 1738, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4458, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4413, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2273, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2274, 2289, CAM_IMX374_SET_A_FULL_1046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2290, 2429, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2430, 2504, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2505, 2563, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2996, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2997, 3064, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3065, 3071, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3072, 3088, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 763, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 64, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 65, 344, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 345, 371, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 372, 494, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 495, 599, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 631, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 632, 742, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 743, 1023, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1024, 1128, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1129, 1173, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1174, 1199, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1301, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1302, 1582, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1583, 1636, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1637, 1732, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1733, 1949, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2014, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2015, 2294, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2295, 2321, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2322, 2399, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2649, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2847, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2848, 2879, CAM_IMX374_SET_A_FULL_1046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2880, 3159, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3160, 3309, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3310, 3449, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3593, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3594, 3729, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3730, 3743, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3744, 3799, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5108, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5109, 5111, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5112, 5179, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5279, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5372, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5373, 5379, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5778, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5779, 5781, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5782, 5849, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5932, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5933, 5999, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6149, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6342, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6343, 6449, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6479, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6480, 6493, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6494, 6599, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8071, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8072, 8182, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8183, 8463, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8464, 8568, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8569, 8613, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8614, 8689, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8782, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8783, 9039, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9302, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9303, 9452, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9453, 9659, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9731, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9732, 9769, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9866, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9867, 9869, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9958, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9959, 10108, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10109, 10359, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36253, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36254, 36349, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37798, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37799, 37850, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37851, 37910, CAM_IMX374_SET_A_FULL_1046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37911, 37948, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37949, 38229, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38230, 38249, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38312, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38313, 38433, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38434, 38462, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38463, 38649, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38816, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38817, 38962, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38963, 38966, CAM_IMX374_SET_A_FULL_1046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38967, 39246, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39247, 39396, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39397, 39649, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39728, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39729, 40008, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40009, 40044, CAM_IMX374_SET_A_FULL_1046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40045, 40142, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40143, 40158, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40159, 40438, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40439, 40490, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40491, 40550, CAM_IMX374_SET_A_FULL_1046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40551, 40588, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40589, 40869, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40870, 40987, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40988, 41019, CAM_IMX374_SET_A_FULL_1046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41020, 41299, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41300, 41449, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41450, 41589, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41666, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41667, 41947, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41948, 41999, CAM_IMX374_SET_A_FULL_1046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42000, 42097, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42098, 42377, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42378, 42401, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42402, 42497, CAM_IMX374_SET_A_FULL_1046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42498, 42527, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42528, 42807, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42808, 42844, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42845, 42907, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42908, 42957, CAM_IMX374_SET_A_FULL_1046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42958, 43238, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43239, 43342, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43343, 43388, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43389, 43589, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55388, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55389, 55492, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55493, 55538, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55539, 55818, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55819, 55968, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55969, 56249, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56250, 56399, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56400, 56679, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56680, 56739, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66500, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66501, 66780, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66781, 66807, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66808, 66930, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66931, 67211, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67212, 67305, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67306, 67335, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68796, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68797, 68809, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68810, 68913, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68914, 68935, CAM_IMX374_SET_A_FULL_1046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 174540, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 174541, 178360, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178361, 178780, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186960, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186961, 190230, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 190231, 191480, CAM_IMX374_SET_A_FULL_1046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191481, 191760, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191761, 191980, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 147760, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147761, 147820, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147821, 149200, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 162040, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162041, 164180, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 152540, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 152541, 156820, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156821, 157340, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157341, 160580, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 126700, CAM_IMX374_SET_A_FULL_860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126701, 126960, CAM_IMX374_SET_A_FULL_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126961, 129040, CAM_IMX374_SET_A_FULL_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129041, 130380, CAM_IMX374_SET_A_FULL_1046_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_front_mipi_A_mode[] = {
|
||||
{
|
||||
sensor_imx374_setfile_A_mipi_channel_FULL, ARRAY_SIZE(sensor_imx374_setfile_A_mipi_channel_FULL),
|
||||
sensor_imx374_setfile_A_mipi_setting_FULL, ARRAY_SIZE(sensor_imx374_setfile_A_mipi_setting_FULL)
|
||||
},
|
||||
};
|
||||
|
||||
/*************************************/
|
||||
/* ========== Mode B =============== */
|
||||
/*************************************/
|
||||
enum {
|
||||
CAM_IMX374_SET_B_4K2K_1196_MHZ = 0,
|
||||
CAM_IMX374_SET_B_4K2K_1011_MHZ = 1,
|
||||
CAM_IMX374_SET_B_4K2K_1139_MHZ = 2,
|
||||
CAM_IMX374_SET_B_4K2K_1094_MHZ = 3,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_4K2K_1196_MHZ_REG_ARRAY[] = {
|
||||
{0x030F, 0x76, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_4K2K_1011_MHZ_REG_ARRAY[] = {
|
||||
{0x030F, 0x3C, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_4K2K_1139_MHZ_REG_ARRAY[] = {
|
||||
{0x030F, 0x64, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_4K2K_1094_MHZ_REG_ARRAY[] = {
|
||||
{0x030F, 0x56, 0x00, 0x00},
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx374_setfile_B_mipi_4K2K_1196_mhz[] = {
|
||||
{ MIPI_4K2K_1196_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_4K2K_1196_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx374_setfile_B_mipi_4K2K_1011_mhz[] = {
|
||||
{ MIPI_4K2K_1011_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_4K2K_1011_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx374_setfile_B_mipi_4K2K_1139_mhz[] = {
|
||||
{ MIPI_4K2K_1139_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_4K2K_1139_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx374_setfile_B_mipi_4K2K_1094_mhz[] = {
|
||||
{ MIPI_4K2K_1094_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_4K2K_1094_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_imx374_setfile_B_mipi_setting_4K2K[] = {
|
||||
{ "1196 Mhz",
|
||||
sensor_imx374_setfile_B_mipi_4K2K_1196_mhz, ARRAY_SIZE(sensor_imx374_setfile_B_mipi_4K2K_1196_mhz) },
|
||||
{ "1011 Mhz",
|
||||
sensor_imx374_setfile_B_mipi_4K2K_1011_mhz, ARRAY_SIZE(sensor_imx374_setfile_B_mipi_4K2K_1011_mhz) },
|
||||
{ "1139 Mhz",
|
||||
sensor_imx374_setfile_B_mipi_4K2K_1139_mhz, ARRAY_SIZE(sensor_imx374_setfile_B_mipi_4K2K_1139_mhz) },
|
||||
{ "1094 Mhz",
|
||||
sensor_imx374_setfile_B_mipi_4K2K_1094_mhz, ARRAY_SIZE(sensor_imx374_setfile_B_mipi_4K2K_1094_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_imx374_setfile_B_mipi_channel_4K2K[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10733, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10734, 10781, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10782, 10808, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10809, 10838, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9686, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9687, 9761, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9762, 9836, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9837, 9896, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9897, 9911, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9912, 9938, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1362, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1363, 1437, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1438, 1513, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1708, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1709, 1738, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4450, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4451, 4458, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2258, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2259, 2308, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2309, 2327, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2328, 2551, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2552, 2560, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2561, 2563, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 3049, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3050, 3065, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3066, 3088, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 367, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 368, 462, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 463, 517, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 518, 599, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 672, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 673, 822, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 823, 972, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 973, 1093, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1094, 1122, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1123, 1199, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1625, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1626, 1775, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1776, 1949, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2317, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2318, 2399, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2610, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2611, 2632, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2633, 2649, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2815, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2816, 2916, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2917, 2954, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2955, 3402, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3403, 3421, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3422, 3449, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3699, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3700, 3731, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3732, 3799, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5124, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5125, 5179, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5228, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5229, 5274, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5275, 5279, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5379, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5794, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5795, 5849, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5999, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6149, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6449, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6525, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6526, 6599, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8112, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8113, 8262, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8263, 8412, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8413, 8533, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8534, 8562, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8563, 8689, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 9000, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9001, 9022, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9023, 9039, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9334, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9335, 9484, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9485, 9659, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9745, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9746, 9769, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9869, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10284, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10285, 10359, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36349, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37760, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37761, 37856, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37857, 38249, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38523, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38524, 38587, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38588, 38649, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38912, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38913, 38954, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38955, 38982, CAM_IMX374_SET_B_4K2K_1094_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38983, 39062, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39063, 39510, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39511, 39590, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39591, 39648, CAM_IMX374_SET_B_4K2K_1094_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39649, 39649, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39747, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39748, 39894, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39895, 39897, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39898, 40046, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40047, 40196, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40197, 40346, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40347, 40400, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40401, 40496, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40497, 40955, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40956, 41056, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41057, 41094, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41095, 41542, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41543, 41561, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41562, 41589, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41623, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41624, 41643, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41644, 41691, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41692, 41744, CAM_IMX374_SET_B_4K2K_1094_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41745, 41923, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41924, 42045, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42046, 42073, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42074, 42222, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42223, 42372, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42373, 42820, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42821, 42907, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42908, 42970, CAM_IMX374_SET_B_4K2K_1094_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42971, 43419, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43420, 43549, CAM_IMX374_SET_B_4K2K_1094_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43550, 43562, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43563, 43569, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43570, 43589, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55569, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55570, 55699, CAM_IMX374_SET_B_4K2K_1094_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55700, 55712, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55713, 55719, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55720, 56167, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56168, 56218, CAM_IMX374_SET_B_4K2K_1094_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56219, 56317, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56318, 56739, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66803, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66804, 66898, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66899, 66953, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66954, 67335, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68923, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68924, 68935, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, CAM_IMX374_SET_B_4K2K_1094_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 177100, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 177101, 178780, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 189080, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189081, 189720, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189721, 191260, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191261, 191980, CAM_IMX374_SET_B_4K2K_1094_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 149200, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 164180, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 153180, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153181, 154060, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154061, 157980, CAM_IMX374_SET_B_4K2K_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157981, 160580, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 129240, CAM_IMX374_SET_B_4K2K_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129241, 130380, CAM_IMX374_SET_B_4K2K_1139_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_front_mipi_B_mode[] = {
|
||||
{
|
||||
sensor_imx374_setfile_B_mipi_channel_4K2K, ARRAY_SIZE(sensor_imx374_setfile_B_mipi_channel_4K2K),
|
||||
sensor_imx374_setfile_B_mipi_setting_4K2K, ARRAY_SIZE(sensor_imx374_setfile_B_mipi_setting_4K2K)
|
||||
},
|
||||
};
|
||||
|
||||
/*************************************/
|
||||
/* ========== DUMMY ================ */
|
||||
/*************************************/
|
||||
enum {
|
||||
CAM_FRONT_SET_DUMMY_MHZ = 0,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_FRONT_DUMMY_MHZ_REG_ARRAY[] = {
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_front_setfile_dummy_mhz[] = {
|
||||
{ MIPI_FRONT_DUMMY_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_FRONT_DUMMY_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_front_setfile_dummy_mipi_setting[] = {
|
||||
{ "DUMMY Mhz",
|
||||
sensor_front_setfile_dummy_mhz, ARRAY_SIZE(sensor_front_setfile_dummy_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_front_setfile_dummy_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_FRONT_SET_DUMMY_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_front_mipi_C_mode[] = {
|
||||
{
|
||||
sensor_front_setfile_dummy_channel, ARRAY_SIZE(sensor_front_setfile_dummy_channel),
|
||||
sensor_front_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_front_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_front_mipi_D_mode[] = {
|
||||
{
|
||||
sensor_front_setfile_dummy_channel, ARRAY_SIZE(sensor_front_setfile_dummy_channel),
|
||||
sensor_front_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_front_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
#endif /* _CAM_SENSOR_ADAPTIVE_MIPI_IMX374_H_ */
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,409 @@
|
||||
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef _CAM_SENSOR_ADAPTIVE_MIPI_IMX471_H_
|
||||
#define _CAM_SENSOR_ADAPTIVE_MIPI_IMX471_H_
|
||||
|
||||
#include "cam_sensor_dev.h"
|
||||
|
||||
int num_front_top_mipi_setting = 1;
|
||||
|
||||
/*************************************/
|
||||
/* ========== Mode A =============== */
|
||||
/*************************************/
|
||||
|
||||
enum {
|
||||
CAM_IMX471_SET_A_Full_793p6_MHZ = 0,
|
||||
CAM_IMX471_SET_A_Full_723p2_MHZ = 1,
|
||||
CAM_IMX471_SET_A_Full_771p2_MHZ = 2,
|
||||
CAM_IMX471_SET_A_Full_774p4_MHZ = 3,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_FULL_793p6_MHZ_REG_ARRAY[] = {
|
||||
{0x030F, 0xF8, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_FULL_723p2_MHZ_REG_ARRAY[] = {
|
||||
{0x030F, 0xE2, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_FULL_771p2_MHZ_REG_ARRAY[] = {
|
||||
{0x030F, 0xF1, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_FULL_774p4_MHZ_REG_ARRAY[] = {
|
||||
{0x030F, 0xF2, 0x00, 0x00},
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx471_setfile_A_mipi_FULL_793p6_mhz[] = {
|
||||
{ MIPI_FULL_793p6_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_FULL_793p6_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx471_setfile_A_mipi_FULL_723p2_mhz[] = {
|
||||
{ MIPI_FULL_723p2_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_FULL_723p2_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx471_setfile_A_mipi_FULL_771p2_mhz[] = {
|
||||
{ MIPI_FULL_771p2_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_FULL_771p2_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx471_setfile_A_mipi_FULL_774p4_mhz[] = {
|
||||
{ MIPI_FULL_774p4_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_FULL_774p4_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_imx471_setfile_A_mipi_setting_FULL[] = {
|
||||
{ "793.6 Mhz",
|
||||
sensor_imx471_setfile_A_mipi_FULL_793p6_mhz, ARRAY_SIZE(sensor_imx471_setfile_A_mipi_FULL_793p6_mhz) },
|
||||
{ "723.2 Mhz",
|
||||
sensor_imx471_setfile_A_mipi_FULL_723p2_mhz, ARRAY_SIZE(sensor_imx471_setfile_A_mipi_FULL_723p2_mhz) },
|
||||
{ "771.2 Mhz",
|
||||
sensor_imx471_setfile_A_mipi_FULL_771p2_mhz, ARRAY_SIZE(sensor_imx471_setfile_A_mipi_FULL_771p2_mhz) },
|
||||
{ "774.4 Mhz",
|
||||
sensor_imx471_setfile_A_mipi_FULL_774p4_mhz, ARRAY_SIZE(sensor_imx471_setfile_A_mipi_FULL_774p4_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_imx471_setfile_A_mipi_channel_FULL[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10676, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10677, 10704, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10705, 10751, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10752, 10838, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9684, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9685, 9725, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9726, 9759, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9760, 9882, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9883, 9906, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9907, 9938, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1213, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1214, 1288, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1289, 1412, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1413, 1487, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1488, 1513, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1651, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1652, 1679, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1680, 1726, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1727, 1738, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4376, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4377, 4402, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4403, 4458, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2256, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2257, 2380, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2381, 2455, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2456, 2563, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 3024, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3025, 3038, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3039, 3088, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 5, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 6, 252, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 253, 309, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 310, 402, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 403, 599, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 668, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 669, 751, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 752, 818, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 819, 1064, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1065, 1112, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1113, 1199, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1327, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1328, 1477, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1478, 1724, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1725, 1874, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1875, 1949, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1955, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1956, 2202, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2203, 2259, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2260, 2352, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2353, 2399, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2463, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2464, 2514, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2515, 2649, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2813, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2814, 3060, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3061, 3210, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3211, 3449, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3648, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3649, 3676, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3677, 3799, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5179, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5184, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5185, 5238, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5239, 5279, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5314, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5315, 5379, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5849, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5904, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5905, 5999, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6003, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6004, 6054, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6055, 6149, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6250, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6251, 6449, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6494, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6495, 6599, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8108, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8109, 8191, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8192, 8258, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8259, 8504, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8505, 8552, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8553, 8654, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8655, 8689, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8754, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8755, 8853, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8854, 8904, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8905, 9039, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9244, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9245, 9490, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9491, 9510, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9511, 9640, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9641, 9659, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9707, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9708, 9769, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9869, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10006, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10007, 10150, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10151, 10156, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10157, 10359, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36261, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36262, 36274, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36275, 36349, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37766, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37767, 37798, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37799, 37916, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37917, 38163, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38164, 38249, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38421, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38422, 38539, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38540, 38571, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38572, 38649, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38717, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38718, 38739, CAM_IMX471_SET_A_Full_774p4_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38740, 38986, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38987, 39078, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39079, 39096, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39097, 39136, CAM_IMX471_SET_A_Full_774p4_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39137, 39382, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39383, 39440, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39441, 39482, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39483, 39532, CAM_IMX471_SET_A_Full_774p4_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39533, 39649, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39678, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39679, 39715, CAM_IMX471_SET_A_Full_774p4_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39716, 39763, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39764, 40010, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40011, 40064, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40065, 40076, CAM_IMX471_SET_A_Full_774p4_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40077, 40160, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40161, 40406, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40407, 40438, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40439, 40556, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40557, 40803, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40804, 40953, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40954, 41200, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41201, 41350, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41351, 41589, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41639, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41640, 41655, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41656, 41789, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41790, 42036, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42037, 42186, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42187, 42433, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42434, 42583, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42584, 42830, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42831, 42951, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42952, 42980, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42981, 43227, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43228, 43313, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43314, 43375, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43376, 43377, CAM_IMX471_SET_A_Full_774p4_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43378, 43589, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55377, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55378, 55463, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55464, 55525, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55526, 55527, CAM_IMX471_SET_A_Full_774p4_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55528, 55773, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55774, 55825, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55826, 55911, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55912, 55923, CAM_IMX471_SET_A_Full_774p4_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55924, 56170, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56171, 56186, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56187, 56297, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56298, 56320, CAM_IMX471_SET_A_Full_774p4_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56321, 56567, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56568, 56682, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56683, 56698, CAM_IMX471_SET_A_Full_774p4_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56699, 56717, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56718, 56739, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66441, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66442, 66688, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66689, 66745, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66746, 66838, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66839, 67084, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67085, 67106, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67107, 67234, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67235, 67335, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68689, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68690, 68839, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68840, 68935, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 174960, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 174961, 175830, CAM_IMX471_SET_A_Full_774p4_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175831, 178380, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178381, 178780, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 185620, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185621, 187480, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187481, 190380, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 190381, 190420, CAM_IMX471_SET_A_Full_774p4_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 190421, 191980, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 148380, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148381, 148920, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148921, 149200, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 159540, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159541, 160660, CAM_IMX471_SET_A_Full_774p4_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160661, 161500, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 161501, 163920, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163921, 164180, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 152820, CAM_IMX471_SET_A_Full_774p4_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 152821, 154260, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154261, 156700, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156701, 159540, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159541, 160580, CAM_IMX471_SET_A_Full_774p4_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 637567, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637568, 638147, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638148, 638567, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638568, 640207, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640208, 640547, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640548, 641127, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641128, 641207, CAM_IMX471_SET_A_Full_774p4_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641208, 642867, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642868, 642967, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642968, 643707, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643708, 643867, CAM_IMX471_SET_A_Full_774p4_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643868, 645507, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645508, 646267, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646268, 646387, CAM_IMX471_SET_A_Full_774p4_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646388, 646507, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646508, 646666, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124950, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124951, 125780, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125781, 126300, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126301, 129300, CAM_IMX471_SET_A_Full_774p4_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129301, 130380, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 621380, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621381, 625540, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625541, 627880, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627881, 628300, CAM_IMX471_SET_A_Full_774p4_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628301, 634600, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634601, 637580, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637581, 640740, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640741, 641540, CAM_IMX471_SET_A_Full_774p4_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641541, 647820, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647821, 649640, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649641, 653580, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653581, 654660, CAM_IMX471_SET_A_Full_774p4_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654661, 661060, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661061, 661700, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661701, 666440, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666441, 667980, CAM_IMX471_SET_A_Full_774p4_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667981, 674280, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674281, 679300, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679301, 680000, CAM_IMX471_SET_A_Full_774p4_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620900, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620901, 623760, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623761, 625380, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625381, 628580, CAM_IMX471_SET_A_Full_774p4_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628581, 633540, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633541, 636200, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636201, 638260, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638261, 641640, CAM_IMX471_SET_A_Full_774p4_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641641, 646180, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646181, 648660, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648661, 651140, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651141, 653333, CAM_IMX471_SET_A_Full_774p4_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 694434, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694435, 700734, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700735, 704794, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704795, 707674, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707675, 713954, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713955, 716834, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716835, 720894, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720895, 727194, CAM_IMX471_SET_A_Full_793p6_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727195, 728894, CAM_IMX471_SET_A_Full_771p2_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728895, 733333, CAM_IMX471_SET_A_Full_723p2_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_front_top_mipi_A_mode[] = {
|
||||
{
|
||||
sensor_imx471_setfile_A_mipi_channel_FULL, ARRAY_SIZE(sensor_imx471_setfile_A_mipi_channel_FULL),
|
||||
sensor_imx471_setfile_A_mipi_setting_FULL, ARRAY_SIZE(sensor_imx471_setfile_A_mipi_setting_FULL)
|
||||
},
|
||||
};
|
||||
|
||||
/*************************************/
|
||||
/* ========== DUMMY ================ */
|
||||
/*************************************/
|
||||
enum {
|
||||
CAM_FRONT_TOP_SET_DUMMY_MHZ = 0,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_FRONT_TOP_DUMMY_MHZ_REG_ARRAY[] = {
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_front_top_setfile_dummy_mhz[] = {
|
||||
{ MIPI_FRONT_TOP_DUMMY_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_FRONT_TOP_DUMMY_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_front_top_setfile_dummy_mipi_setting[] = {
|
||||
{ "DUMMY Mhz",
|
||||
sensor_front_top_setfile_dummy_mhz, ARRAY_SIZE(sensor_front_top_setfile_dummy_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_front_top_setfile_dummy_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_FRONT_TOP_SET_DUMMY_MHZ },
|
||||
};
|
||||
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_front_top_mipi_B_mode[] = {
|
||||
{
|
||||
sensor_front_top_setfile_dummy_channel, ARRAY_SIZE(sensor_front_top_setfile_dummy_channel),
|
||||
sensor_front_top_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_front_top_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
static const struct cam_mipi_sensor_mode sensor_front_top_mipi_C_mode[] = {
|
||||
{
|
||||
sensor_front_top_setfile_dummy_channel, ARRAY_SIZE(sensor_front_top_setfile_dummy_channel),
|
||||
sensor_front_top_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_front_top_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_front_top_mipi_D_mode[] = {
|
||||
{
|
||||
sensor_front_top_setfile_dummy_channel, ARRAY_SIZE(sensor_front_top_setfile_dummy_channel),
|
||||
sensor_front_top_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_front_top_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
#endif /* _CAM_SENSOR_ADAPTIVE_MIPI_IMX471_H_ */
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,994 @@
|
||||
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef _CAM_SENSOR_ADAPTIVE_MIPI_IMX564_H_
|
||||
#define _CAM_SENSOR_ADAPTIVE_MIPI_IMX564_H_
|
||||
|
||||
#include "cam_sensor_dev.h"
|
||||
|
||||
int num_uw_mipi_setting = 4;
|
||||
|
||||
/*
|
||||
Mode A : 4x4 (10/12bit) (2713.6 / 2720.0 / 2784.0)
|
||||
Mode B : FastAE/SM 4x4&2x2 (10bit) (2988.8 / 2944 / 2860.8)
|
||||
Mode C : SSM 4x4&2x2 (10bit) (1356.8 / 1331.2 / 1382.4 / 1414.4)
|
||||
Mode D : Pro Video 120Fps non bin (10bit) (3379.2 / 3331.2)
|
||||
*/
|
||||
|
||||
/*************************************/
|
||||
/* ========== Mode A =============== */
|
||||
/*************************************/
|
||||
|
||||
enum {
|
||||
CAM_IMX564_SET_A_2713_MHZ = 0,
|
||||
CAM_IMX564_SET_A_2720_MHZ = 1,
|
||||
CAM_IMX564_SET_A_2784_MHZ = 2,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_A_2713_MHZ_REG_ARRAY[] = {
|
||||
{0x030B, 0x01, 0x00, 0x00},
|
||||
{0x030D, 0x03, 0x00, 0x00},
|
||||
{0x030E, 0x01, 0x00, 0x00},
|
||||
{0x030F, 0xA8, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_A_2720_MHZ_REG_ARRAY[] = {
|
||||
{0x030B, 0x01, 0x00, 0x00},
|
||||
{0x030D, 0x03, 0x00, 0x00},
|
||||
{0x030E, 0x01, 0x00, 0x00},
|
||||
{0x030F, 0xA9, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_A_2784_MHZ_REG_ARRAY[] = {
|
||||
{0x030B, 0x01, 0x00, 0x00},
|
||||
{0x030D, 0x02, 0x00, 0x00},
|
||||
{0x030E, 0x01, 0x00, 0x00},
|
||||
{0x030F, 0x22, 0x00, 0x00},
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx564_setfile_A_2713_mhz[] = {
|
||||
{ MIPI_A_2713_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_A_2713_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx564_setfile_A_2720_mhz[] = {
|
||||
{ MIPI_A_2720_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_A_2720_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx564_setfile_A_2784_mhz[] = {
|
||||
{ MIPI_A_2784_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_A_2784_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_imx564_setfile_A_mipi_setting[] = {
|
||||
{ "2713 Msps",
|
||||
sensor_imx564_setfile_A_2713_mhz, ARRAY_SIZE(sensor_imx564_setfile_A_2713_mhz) },
|
||||
{ "2720 Msps",
|
||||
sensor_imx564_setfile_A_2720_mhz, ARRAY_SIZE(sensor_imx564_setfile_A_2720_mhz) },
|
||||
{ "2784 Msps",
|
||||
sensor_imx564_setfile_A_2784_mhz, ARRAY_SIZE(sensor_imx564_setfile_A_2784_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_imx564_setfile_A_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10570, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10571, 10640, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10641, 10838, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9907, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9908, 9938, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1369, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1370, 1439, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1440, 1513, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1545, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1546, 1615, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1616, 1738, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4458, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4413, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2347, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2348, 2385, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2386, 2417, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2418, 2563, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 3088, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 763, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 41, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 42, 181, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 182, 599, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 1115, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1116, 1199, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1639, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1640, 1779, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1780, 1949, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1991, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1992, 2131, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2132, 2399, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2649, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2994, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2995, 3071, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3072, 3134, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3135, 3449, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3799, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5179, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5279, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5379, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5849, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5999, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6149, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6449, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6599, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8555, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8556, 8689, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 9039, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9313, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9314, 9331, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9332, 9453, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9454, 9659, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9667, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9668, 9769, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9869, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10052, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10053, 10359, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36349, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37831, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37832, 37924, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37925, 37971, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37972, 38249, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38602, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38603, 38649, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38779, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38780, 38907, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38908, 39442, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39443, 39562, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39563, 39649, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39808, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39809, 39913, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39914, 40471, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40472, 40564, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40565, 40611, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40612, 41134, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41135, 41211, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41212, 41274, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41275, 41589, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41763, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41764, 41843, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41844, 41903, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41904, 42409, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42410, 42491, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42492, 42549, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42550, 43055, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43056, 43139, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43140, 43195, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43196, 43589, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55289, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55290, 55345, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55346, 55851, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55852, 55936, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55937, 55991, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55992, 56497, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56498, 56584, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56585, 56637, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56638, 56739, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66477, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66478, 66617, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66618, 67140, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67141, 67280, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67281, 67335, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68806, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68807, 68822, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68823, 68935, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 178500, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178501, 178780, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 191420, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191421, 191880, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191881, 191980, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 149200, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 164180, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 152660, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 152661, 153020, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153021, 157070, CAM_IMX564_SET_A_2784_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157071, 160580, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 126800, CAM_IMX564_SET_A_2713_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126801, 127120, CAM_IMX564_SET_A_2720_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127121, 130380, CAM_IMX564_SET_A_2784_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_uw_mipi_A_mode[] = {
|
||||
{
|
||||
sensor_imx564_setfile_A_channel, ARRAY_SIZE(sensor_imx564_setfile_A_channel),
|
||||
sensor_imx564_setfile_A_mipi_setting, ARRAY_SIZE(sensor_imx564_setfile_A_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
/*************************************/
|
||||
/* ========== Mode B =============== */
|
||||
/*************************************/
|
||||
|
||||
enum {
|
||||
CAM_IMX564_SET_B_2988_MHZ = 0,
|
||||
CAM_IMX564_SET_B_2944_MHZ = 1,
|
||||
CAM_IMX564_SET_B_2860_MHZ = 2,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_B_2988_MHZ_REG_ARRAY[] = {
|
||||
{0x030B, 0x01, 0x00, 0x00},
|
||||
{0x030D, 0x03, 0x00, 0x00},
|
||||
{0x030E, 0x01, 0x00, 0x00},
|
||||
{0x030F, 0xD3, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_B_2944_MHZ_REG_ARRAY[] = {
|
||||
{0x030B, 0x01, 0x00, 0x00},
|
||||
{0x030D, 0x03, 0x00, 0x00},
|
||||
{0x030E, 0x01, 0x00, 0x00},
|
||||
{0x030F, 0xCC, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_B_2860_MHZ_REG_ARRAY[] = {
|
||||
{0x030B, 0x01, 0x00, 0x00},
|
||||
{0x030D, 0x03, 0x00, 0x00},
|
||||
{0x030E, 0x01, 0x00, 0x00},
|
||||
{0x030F, 0xBF, 0x00, 0x00},
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx564_setfile_B_2988_mhz[] = {
|
||||
{ MIPI_B_2988_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_B_2988_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx564_setfile_B_2944_mhz[] = {
|
||||
{ MIPI_B_2944_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_B_2944_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx564_setfile_B_2860_mhz[] = {
|
||||
{ MIPI_B_2860_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_B_2860_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_imx564_setfile_B_mipi_setting[] = {
|
||||
{ "2988 Mhz",
|
||||
sensor_imx564_setfile_B_2988_mhz, ARRAY_SIZE(sensor_imx564_setfile_B_2988_mhz) },
|
||||
{ "2944 Mhz",
|
||||
sensor_imx564_setfile_B_2944_mhz, ARRAY_SIZE(sensor_imx564_setfile_B_2944_mhz) },
|
||||
{ "2860 Mhz",
|
||||
sensor_imx564_setfile_B_2860_mhz, ARRAY_SIZE(sensor_imx564_setfile_B_2860_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_imx564_setfile_B_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10620, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10621, 10639, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10640, 10709, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10710, 10838, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9927, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9928, 9938, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1348, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1349, 1359, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1360, 1411, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1412, 1429, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1430, 1499, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1500, 1513, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1595, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1596, 1614, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1615, 1684, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1685, 1738, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4393, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4394, 4458, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4393, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4394, 4413, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2254, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2255, 2324, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2325, 2563, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2960, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2961, 3088, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 718, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 719, 763, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 0, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 1, 140, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 141, 178, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 179, 318, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 319, 599, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 1155, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1156, 1199, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1596, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1597, 1619, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1620, 1722, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1723, 1759, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1760, 1899, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1900, 1949, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1950, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1951, 2090, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2091, 2128, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2129, 2268, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2269, 2399, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2497, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2498, 2649, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2771, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2772, 2809, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2810, 2949, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2950, 3449, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3521, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3522, 3799, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5121, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5122, 5146, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5147, 5179, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5261, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5262, 5279, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5379, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5791, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5792, 5816, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5817, 5849, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5859, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5860, 5897, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5898, 5906, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5907, 5999, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6037, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6038, 6149, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6449, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6504, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6505, 6599, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8595, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8596, 8689, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8709, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8710, 8747, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8748, 8756, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8757, 8887, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8888, 9039, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9387, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9388, 9410, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9411, 9527, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9528, 9659, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9676, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9677, 9769, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9823, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9824, 9861, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9862, 9869, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10273, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10274, 10359, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36349, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 38131, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38132, 38249, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38593, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38594, 38649, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 39063, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39064, 39203, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39204, 39241, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39242, 39381, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39382, 39649, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39666, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39667, 40238, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40239, 40378, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40379, 40771, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40772, 40911, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40912, 40949, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40950, 41089, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41090, 41589, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41717, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41718, 42088, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42089, 42228, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42229, 42258, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42259, 42398, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42399, 42939, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42940, 43079, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43080, 43280, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43281, 43408, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43409, 43420, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43421, 43589, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55430, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55431, 55558, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55559, 55570, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55571, 55770, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55771, 55910, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55911, 56451, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56452, 56470, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56471, 56591, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56592, 56622, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56623, 56739, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66436, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66437, 66576, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66577, 66614, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66615, 66754, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66755, 67326, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67327, 67335, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68619, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68620, 68654, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68655, 68712, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68713, 68750, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68751, 68794, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68795, 68890, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68891, 68935, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 174120, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 174121, 176740, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176741, 178780, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 187420, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187421, 191980, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 147020, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147021, 149200, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 158940, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158941, 164180, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 151810, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151811, 154140, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154141, 156600, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156601, 158940, CAM_IMX564_SET_B_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158941, 160580, CAM_IMX564_SET_B_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 128560, CAM_IMX564_SET_B_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128561, 130380, CAM_IMX564_SET_B_2944_MHZ },
|
||||
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_uw_mipi_B_mode[] = {
|
||||
{
|
||||
sensor_imx564_setfile_B_channel, ARRAY_SIZE(sensor_imx564_setfile_B_channel),
|
||||
sensor_imx564_setfile_B_mipi_setting, ARRAY_SIZE(sensor_imx564_setfile_B_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
/*************************************/
|
||||
/* ========== Mode C =============== */
|
||||
/*************************************/
|
||||
|
||||
enum {
|
||||
CAM_IMX564_SET_C_1356_MHZ = 0,
|
||||
CAM_IMX564_SET_C_1331_MHZ = 1,
|
||||
CAM_IMX564_SET_C_1382_MHZ = 2,
|
||||
CAM_IMX564_SET_C_1414_MHZ = 3,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_C_1356_MHZ_REG_ARRAY[] = {
|
||||
{0x030B, 0x02, 0x00, 0x00},
|
||||
{0x030D, 0x03, 0x00, 0x00},
|
||||
{0x030E, 0x01, 0x00, 0x00},
|
||||
{0x030F, 0xA8, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_C_1331_MHZ_REG_ARRAY[] = {
|
||||
{0x030B, 0x02, 0x00, 0x00},
|
||||
{0x030D, 0x03, 0x00, 0x00},
|
||||
{0x030E, 0x01, 0x00, 0x00},
|
||||
{0x030F, 0xA0, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_C_1382_MHZ_REG_ARRAY[] = {
|
||||
{0x030B, 0x02, 0x00, 0x00},
|
||||
{0x030D, 0x03, 0x00, 0x00},
|
||||
{0x030E, 0x01, 0x00, 0x00},
|
||||
{0x030F, 0xB0, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_C_1414_MHZ_REG_ARRAY[] = {
|
||||
{0x030B, 0x02, 0x00, 0x00},
|
||||
{0x030D, 0x03, 0x00, 0x00},
|
||||
{0x030E, 0x01, 0x00, 0x00},
|
||||
{0x030F, 0xBA, 0x00, 0x00},
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx564_setfile_C_1356_mhz[] = {
|
||||
{ MIPI_C_1356_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_C_1356_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx564_setfile_C_1331_mhz[] = {
|
||||
{ MIPI_C_1331_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_C_1331_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx564_setfile_C_1382_mhz[] = {
|
||||
{ MIPI_C_1382_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_C_1382_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx564_setfile_C_1414_mhz[] = {
|
||||
{ MIPI_C_1414_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_C_1414_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_imx564_setfile_C_mipi_setting[] = {
|
||||
{ "1356 Mhz",
|
||||
sensor_imx564_setfile_C_1356_mhz, ARRAY_SIZE(sensor_imx564_setfile_C_1356_mhz) },
|
||||
{ "1331 Mhz",
|
||||
sensor_imx564_setfile_C_1331_mhz, ARRAY_SIZE(sensor_imx564_setfile_C_1331_mhz) },
|
||||
{ "1382 Mhz",
|
||||
sensor_imx564_setfile_C_1382_mhz, ARRAY_SIZE(sensor_imx564_setfile_C_1382_mhz) },
|
||||
{ "1414 Mhz",
|
||||
sensor_imx564_setfile_C_1414_mhz, ARRAY_SIZE(sensor_imx564_setfile_C_1414_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_imx564_setfile_C_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10625, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10626, 10652, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10653, 10695, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10696, 10787, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10788, 10811, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10812, 10838, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9674, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9675, 9702, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9703, 9726, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9727, 9817, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9818, 9839, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9840, 9860, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9861, 9887, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9888, 9938, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1188, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1189, 1205, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1206, 1296, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1297, 1305, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1306, 1351, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1352, 1366, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1367, 1458, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1459, 1470, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1471, 1510, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1511, 1513, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1600, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1601, 1627, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1628, 1670, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1671, 1738, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4396, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4397, 4458, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4396, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4397, 4413, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2243, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2244, 2334, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2335, 2401, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2402, 2404, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2405, 2496, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2497, 2560, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2561, 2563, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2949, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2950, 3019, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3020, 3088, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 721, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 722, 763, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 151, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 152, 205, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 206, 291, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 292, 474, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 475, 522, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 523, 599, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 612, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 613, 649, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 650, 704, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 705, 752, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 753, 935, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 936, 978, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 979, 1021, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1022, 1075, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1076, 1199, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1276, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1277, 1310, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1311, 1493, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1494, 1511, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1512, 1602, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1603, 1633, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1634, 1816, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1817, 1841, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1842, 1920, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1921, 1949, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2101, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2102, 2155, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2156, 2241, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2242, 2399, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2502, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2503, 2649, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2786, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2787, 2969, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2970, 3103, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3104, 3109, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3110, 3292, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3293, 3420, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3421, 3432, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3433, 3449, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3498, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3499, 3638, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3639, 3799, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5080, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5081, 5179, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5220, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5221, 5279, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5379, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5750, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5751, 5849, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5902, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5903, 5999, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6042, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6043, 6149, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6246, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6247, 6386, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6387, 6449, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6599, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8052, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8053, 8089, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8090, 8144, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8145, 8192, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8193, 8375, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8376, 8418, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8419, 8461, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8462, 8515, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8516, 8689, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8752, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8753, 8892, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8893, 9039, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9313, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9314, 9453, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9454, 9636, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9637, 9659, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9667, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9668, 9769, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9782, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9783, 9794, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9795, 9869, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9952, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9953, 10007, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10008, 10190, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10191, 10254, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10255, 10330, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10331, 10359, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36349, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37823, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37824, 37963, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37964, 38146, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38147, 38249, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38256, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38257, 38439, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38440, 38470, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38471, 38537, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38538, 38579, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38580, 38649, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38656, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38657, 38839, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38840, 38857, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38858, 38979, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38980, 39162, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39163, 39174, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39175, 39302, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39303, 39485, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39486, 39491, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39492, 39625, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39626, 39649, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39817, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39818, 39957, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39958, 40140, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40141, 40280, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40281, 40463, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40464, 40603, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40604, 40786, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40787, 40926, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40927, 41109, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41110, 41243, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41244, 41249, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41250, 41432, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41433, 41560, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41561, 41572, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41573, 41589, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41763, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41764, 41880, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41881, 41903, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41904, 42086, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42087, 42207, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42208, 42226, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42227, 42409, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42410, 42524, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42525, 42549, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42550, 42732, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42733, 42738, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42739, 42841, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42842, 42872, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42873, 43055, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43056, 43067, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43068, 43158, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43159, 43195, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43196, 43378, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43379, 43396, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43397, 43475, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43476, 43518, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43519, 43589, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55308, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55309, 55345, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55346, 55528, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55529, 55546, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55547, 55625, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55626, 55668, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55669, 55851, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55852, 55875, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55876, 55942, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55943, 55991, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55992, 56174, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56175, 56204, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56205, 56259, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56260, 56314, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56315, 56497, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56498, 56534, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56535, 56576, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56577, 56637, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56638, 56739, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66587, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66588, 66641, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66642, 66727, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66728, 66910, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66911, 66958, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66959, 67050, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67051, 67233, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67234, 67275, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67276, 67335, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68623, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68624, 68806, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68807, 68825, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68826, 68935, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 175080, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175081, 176080, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176081, 178500, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178501, 178780, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186200, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186201, 187760, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187761, 189130, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189131, 191420, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191421, 191980, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146710, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146711, 148180, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148181, 149200, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 159120, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159121, 159810, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159811, 160860, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160861, 163160, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163161, 164180, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 153230, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153231, 154520, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154521, 156680, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156681, 157460, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157461, 159120, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159121, 159810, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159811, 160580, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124380, CAM_IMX564_SET_C_1331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124381, 125140, CAM_IMX564_SET_C_1414_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125141, 127130, CAM_IMX564_SET_C_1356_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127131, 129180, CAM_IMX564_SET_C_1382_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129181, 130380, CAM_IMX564_SET_C_1331_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_uw_mipi_C_mode[] = {
|
||||
{
|
||||
sensor_imx564_setfile_C_channel, ARRAY_SIZE(sensor_imx564_setfile_C_channel),
|
||||
sensor_imx564_setfile_C_mipi_setting, ARRAY_SIZE(sensor_imx564_setfile_C_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
/*************************************/
|
||||
/* ========== Mode D =============== */
|
||||
/*************************************/
|
||||
|
||||
enum {
|
||||
CAM_IMX564_SET_D_3379_MHZ = 0,
|
||||
CAM_IMX564_SET_D_3331_MHZ = 1,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_D_3379_MHZ_REG_ARRAY[] = {
|
||||
{0x030B, 0x01, 0x00, 0x00},
|
||||
{0x030D, 0x02, 0x00, 0x00},
|
||||
{0x030E, 0x01, 0x00, 0x00},
|
||||
{0x030F, 0x60, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_D_3331_MHZ_REG_ARRAY[] = {
|
||||
{0x030B, 0x01, 0x00, 0x00},
|
||||
{0x030D, 0x02, 0x00, 0x00},
|
||||
{0x030E, 0x01, 0x00, 0x00},
|
||||
{0x030F, 0x5B, 0x00, 0x00},
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx564_setfile_D_3379_mhz[] = {
|
||||
{ MIPI_D_3379_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_D_3379_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx564_setfile_D_3331_mhz[] = {
|
||||
{ MIPI_D_3331_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_D_3331_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_imx564_setfile_D_mipi_setting[] = {
|
||||
{ "3379 Mhz",
|
||||
sensor_imx564_setfile_D_3379_mhz, ARRAY_SIZE(sensor_imx564_setfile_D_3379_mhz) },
|
||||
{ "3331 Mhz",
|
||||
sensor_imx564_setfile_D_3331_mhz, ARRAY_SIZE(sensor_imx564_setfile_D_3331_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_imx564_setfile_D_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10594, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10595, 10826, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10827, 10838, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9685, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9686, 9820, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9821, 9885, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9886, 9938, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1261, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1262, 1311, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1312, 1342, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1343, 1412, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1413, 1513, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1569, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1570, 1738, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4394, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4395, 4458, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4394, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4395, 4413, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2365, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2366, 2435, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2436, 2465, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2466, 2535, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2536, 2563, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 3023, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3024, 3088, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 719, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 720, 763, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 89, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 90, 553, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 554, 599, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 670, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 671, 941, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 942, 1070, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1071, 1199, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1423, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1424, 1523, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1524, 1585, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1586, 1725, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1726, 1949, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2039, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2040, 2399, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2497, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2498, 2649, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 3030, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3031, 3170, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3171, 3231, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3232, 3371, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3372, 3449, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3647, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3648, 3786, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3787, 3799, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5179, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5279, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5379, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5849, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5904, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5905, 5999, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6037, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6038, 6149, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6228, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6229, 6449, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6490, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6491, 6599, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8110, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8111, 8381, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8382, 8510, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8511, 8689, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8754, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8755, 8887, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8888, 9039, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9491, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9492, 9618, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9619, 9659, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9680, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9681, 9769, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9869, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10359, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36284, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36285, 36349, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37866, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37867, 38249, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38649, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38912, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38913, 39052, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39053, 39515, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39516, 39649, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39963, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39964, 40052, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40053, 40366, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40367, 40506, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40507, 41170, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41171, 41310, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41311, 41371, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41372, 41511, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41512, 41589, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41625, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41626, 41765, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41766, 42238, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42239, 42360, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42361, 42418, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42419, 42558, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42559, 43211, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43212, 43351, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43352, 43589, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55361, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55362, 55501, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55502, 55758, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55759, 55887, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55888, 56154, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56155, 56286, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56287, 56739, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66525, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66526, 66989, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66990, 67129, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67130, 67335, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68691, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68692, 68807, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68808, 68935, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 175740, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175741, 178780, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 187940, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187941, 191980, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 149200, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 159760, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159761, 164140, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 164141, 164180, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 156220, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156221, 160580, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124500, CAM_IMX564_SET_D_3331_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124501, 127810, CAM_IMX564_SET_D_3379_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127811, 130380, CAM_IMX564_SET_D_3331_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_uw_mipi_D_mode[] = {
|
||||
{
|
||||
sensor_imx564_setfile_D_channel, ARRAY_SIZE(sensor_imx564_setfile_D_channel),
|
||||
sensor_imx564_setfile_D_mipi_setting, ARRAY_SIZE(sensor_imx564_setfile_D_mipi_setting)
|
||||
},
|
||||
};
|
||||
#endif /* _CAM_SENSOR_ADAPTIVE_MIPI_IMX564_H_ */
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,518 @@
|
||||
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef _CAM_SENSOR_ADAPTIVE_MIPI_IMX754_H_
|
||||
#define _CAM_SENSOR_ADAPTIVE_MIPI_IMX754_H_
|
||||
|
||||
#include "cam_sensor_dev.h"
|
||||
|
||||
int num_tele_mipi_setting = 2;
|
||||
|
||||
/*
|
||||
Mode A : Full mode, 2-Binning 120fps (1708.8 / 1660.8 / 1670.4)
|
||||
Mode B : 2-Binning 240fps (1968 / 1900.8 / 1910.4)
|
||||
*/
|
||||
|
||||
/*************************************/
|
||||
/* ========== Mode A =============== */
|
||||
/*************************************/
|
||||
|
||||
enum {
|
||||
CAM_IMX754_SET_A_FULL_1660_MHZ = 0,
|
||||
CAM_IMX754_SET_A_FULL_1670_MHZ = 1,
|
||||
CAM_IMX754_SET_A_FULL_1708_MHZ = 2,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_FULL_1660_MHZ_REG_ARRAY[] = {
|
||||
{0x030F, 0x07, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_FULL_1670_MHZ_REG_ARRAY[] = {
|
||||
{0x030F, 0x0A, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_FULL_1708_MHZ_REG_ARRAY[] = {
|
||||
{0x030F, 0x16, 0x00, 0x00},
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx754_setfile_A_mipi_FULL_1660_mhz[] = {
|
||||
{ MIPI_FULL_1660_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_FULL_1660_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx754_setfile_A_mipi_FULL_1670_mhz[] = {
|
||||
{ MIPI_FULL_1670_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_FULL_1670_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx754_setfile_A_mipi_FULL_1708_mhz[] = {
|
||||
{ MIPI_FULL_1708_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_FULL_1708_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_imx754_setfile_A_mipi_setting_FULL[] = {
|
||||
{ "1660 Mhz",
|
||||
sensor_imx754_setfile_A_mipi_FULL_1660_mhz, ARRAY_SIZE(sensor_imx754_setfile_A_mipi_FULL_1660_mhz) },
|
||||
{ "1670 Mhz",
|
||||
sensor_imx754_setfile_A_mipi_FULL_1670_mhz, ARRAY_SIZE(sensor_imx754_setfile_A_mipi_FULL_1670_mhz) },
|
||||
{ "1708 Mhz",
|
||||
sensor_imx754_setfile_A_mipi_FULL_1708_mhz, ARRAY_SIZE(sensor_imx754_setfile_A_mipi_FULL_1708_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_imx754_setfile_A_mipi_channel_FULL[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10588, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10589, 10757, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10758, 10820, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10821, 10829, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10830, 10838, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9808, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9809, 9874, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9875, 9938, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1221, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1222, 1285, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1286, 1429, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1430, 1483, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1484, 1513, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1563, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1564, 1732, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1733, 1738, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4377, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4378, 4426, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4427, 4458, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4413, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2255, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2256, 2330, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2331, 2492, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2493, 2563, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2964, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2965, 3088, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 751, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 752, 763, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 76, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 77, 415, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 416, 540, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 541, 558, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 559, 599, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 917, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 918, 1049, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1050, 1199, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1343, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1344, 1471, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1472, 1758, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1759, 1866, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1867, 1949, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2026, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2027, 2365, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2366, 2399, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2413, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2414, 2464, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2465, 2563, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2564, 2649, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2810, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2811, 2960, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2961, 3285, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3286, 3435, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3436, 3449, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3528, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3529, 3799, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5042, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5043, 5149, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5150, 5179, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5279, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5379, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5819, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5820, 5849, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5953, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5954, 5999, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6004, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6005, 6103, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6104, 6149, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6449, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6599, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8357, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8358, 8489, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8490, 8689, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8803, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8804, 8854, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8855, 8953, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8954, 9039, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9384, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9385, 9429, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9430, 9534, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9535, 9659, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9769, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9826, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9827, 9869, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10006, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10007, 10272, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10273, 10359, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36325, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36326, 36349, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37836, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37837, 37985, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37986, 37986, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37987, 38249, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38592, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38593, 38649, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38692, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38693, 38721, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38722, 38738, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38739, 39063, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39064, 39206, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39207, 39537, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39538, 39649, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39670, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39671, 39676, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39677, 40001, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40002, 40148, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40149, 40151, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40152, 40476, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40477, 40625, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40626, 40626, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40627, 40950, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40951, 41100, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41101, 41425, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41426, 41575, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41576, 41589, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41592, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41593, 41917, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41918, 42067, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42068, 42391, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42392, 42541, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42542, 42807, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42808, 43014, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43015, 43340, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43341, 43490, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43491, 43589, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55490, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55491, 55640, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55641, 55965, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55966, 56115, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56116, 56439, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56440, 56589, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56590, 56739, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66512, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66513, 66851, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66852, 66976, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66977, 66994, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66995, 67325, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67326, 67335, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68604, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68605, 68718, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68719, 68746, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68747, 68751, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68752, 68840, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68841, 68935, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 174180, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 174181, 177940, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 177941, 178780, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 187420, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187421, 191980, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 149200, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 158830, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158831, 163660, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163661, 164180, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 154200, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154201, 155100, CAM_IMX754_SET_A_FULL_1670_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155101, 158830, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158831, 160580, CAM_IMX754_SET_A_FULL_1660_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 130380, CAM_IMX754_SET_A_FULL_1708_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_tele_mipi_A_mode[] = {
|
||||
{
|
||||
sensor_imx754_setfile_A_mipi_channel_FULL, ARRAY_SIZE(sensor_imx754_setfile_A_mipi_channel_FULL),
|
||||
sensor_imx754_setfile_A_mipi_setting_FULL, ARRAY_SIZE(sensor_imx754_setfile_A_mipi_setting_FULL)
|
||||
},
|
||||
};
|
||||
|
||||
/*************************************/
|
||||
/* ========== Mode B =============== */
|
||||
/*************************************/
|
||||
enum {
|
||||
CAM_IMX754_SET_B_2BIN240_1900_MHZ = 0,
|
||||
CAM_IMX754_SET_B_2BIN240_1910_MHZ = 1,
|
||||
CAM_IMX754_SET_B_2BIN240_1968_MHZ = 2,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_2BIN240_1900_MHZ_REG_ARRAY[] = {
|
||||
{0x030F, 0x52, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_2BIN240_1910_MHZ_REG_ARRAY[] = {
|
||||
{0x030F, 0x55, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_2BIN240_1968_MHZ_REG_ARRAY[] = {
|
||||
{0x030F, 0x67, 0x00, 0x00},
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx754_setfile_B_mipi_2BIN240_1900_mhz[] = {
|
||||
{ MIPI_2BIN240_1900_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_2BIN240_1900_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx754_setfile_B_mipi_2BIN240_1910_mhz[] = {
|
||||
{ MIPI_2BIN240_1910_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_2BIN240_1910_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_imx754_setfile_B_mipi_2BIN240_1968_mhz[] = {
|
||||
{ MIPI_2BIN240_1968_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_2BIN240_1968_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_imx754_setfile_B_mipi_setting_2BIN240[] = {
|
||||
{ "1900 Mhz",
|
||||
sensor_imx754_setfile_B_mipi_2BIN240_1900_mhz, ARRAY_SIZE(sensor_imx754_setfile_B_mipi_2BIN240_1900_mhz) },
|
||||
{ "1910 Mhz",
|
||||
sensor_imx754_setfile_B_mipi_2BIN240_1910_mhz, ARRAY_SIZE(sensor_imx754_setfile_B_mipi_2BIN240_1910_mhz) },
|
||||
{ "1968 Mhz",
|
||||
sensor_imx754_setfile_B_mipi_2BIN240_1968_mhz, ARRAY_SIZE(sensor_imx754_setfile_B_mipi_2BIN240_1968_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_imx754_setfile_B_mipi_channel_2BIN240[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10654, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10655, 10708, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10709, 10763, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10764, 10838, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9873, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9874, 9923, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9924, 9938, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1184, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1185, 1245, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1246, 1455, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1456, 1503, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1504, 1513, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1629, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1630, 1683, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1684, 1738, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4442, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4443, 4458, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4413, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2257, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2258, 2296, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2297, 2323, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2324, 2332, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2333, 2528, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2529, 2563, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 3014, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3015, 3038, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3039, 3088, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 763, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 208, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 209, 316, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 317, 426, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 427, 599, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 601, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 602, 639, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 640, 1047, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1048, 1147, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1148, 1192, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1193, 1199, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1268, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1269, 1389, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1390, 1811, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1812, 1906, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1907, 1949, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2158, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2159, 2266, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2267, 2376, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2377, 2399, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2595, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2596, 2641, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2642, 2649, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2814, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2815, 2892, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2893, 2947, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2948, 2964, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2965, 3357, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3358, 3449, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3628, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3629, 3676, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3677, 3778, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3779, 3799, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5013, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5014, 5075, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5076, 5179, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5279, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5379, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5849, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5999, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6135, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6136, 6149, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6189, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6190, 6449, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6500, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6501, 6599, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8041, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8042, 8079, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8080, 8487, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8488, 8587, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8588, 8632, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8633, 8689, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8985, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8986, 9031, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9032, 9039, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9429, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9430, 9469, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9470, 9579, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9580, 9659, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9692, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9693, 9746, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9747, 9769, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9819, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9820, 9869, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10259, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10260, 10359, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36349, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37771, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37772, 37901, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37902, 37921, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37922, 38110, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38111, 38249, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38382, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38383, 38478, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38479, 38532, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38533, 38649, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38656, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38657, 38772, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38773, 38806, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38807, 39199, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39200, 39318, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39319, 39478, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39479, 39649, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39868, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39869, 39996, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39997, 40018, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40019, 40411, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40412, 40541, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40542, 40561, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40562, 40750, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40751, 40891, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40892, 40954, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40955, 41032, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41033, 41087, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41088, 41104, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41105, 41497, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41498, 41589, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41607, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41608, 42000, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42001, 42150, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42151, 42544, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42545, 42694, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42695, 43087, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43088, 43286, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43287, 43589, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55436, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55437, 55780, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55781, 55930, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55931, 56323, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56324, 56473, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56474, 56739, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66644, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66645, 66752, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66753, 66862, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66863, 67255, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67256, 67335, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68586, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68587, 68618, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68619, 68736, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68737, 68935, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 176800, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176801, 177720, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 177721, 178780, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 187660, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187661, 188620, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 188621, 191980, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 149200, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 159880, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159881, 164180, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 155080, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155081, 155880, CAM_IMX754_SET_B_2BIN240_1910_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155881, 159880, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159881, 160580, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 127100, CAM_IMX754_SET_B_2BIN240_1968_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127101, 130380, CAM_IMX754_SET_B_2BIN240_1900_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_tele_mipi_B_mode[] = {
|
||||
{
|
||||
sensor_imx754_setfile_B_mipi_channel_2BIN240, ARRAY_SIZE(sensor_imx754_setfile_B_mipi_channel_2BIN240),
|
||||
sensor_imx754_setfile_B_mipi_setting_2BIN240, ARRAY_SIZE(sensor_imx754_setfile_B_mipi_setting_2BIN240)
|
||||
},
|
||||
};
|
||||
|
||||
/*************************************/
|
||||
/* ========== DUMMY ================ */
|
||||
/*************************************/
|
||||
enum {
|
||||
CAM_TELE_SET_DUMMY_MHZ = 0,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_TELE_DUMMY_MHZ_REG_ARRAY[] = {
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_tele_setfile_dummy_mhz[] = {
|
||||
{ MIPI_TELE_DUMMY_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_TELE_DUMMY_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_tele_setfile_dummy_mipi_setting[] = {
|
||||
{ "DUMMY Mhz",
|
||||
sensor_tele_setfile_dummy_mhz, ARRAY_SIZE(sensor_tele_setfile_dummy_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_tele_setfile_dummy_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_TELE_SET_DUMMY_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_tele_mipi_C_mode[] = {
|
||||
{
|
||||
sensor_tele_setfile_dummy_channel, ARRAY_SIZE(sensor_tele_setfile_dummy_channel),
|
||||
sensor_tele_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_tele_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_tele_mipi_D_mode[] = {
|
||||
{
|
||||
sensor_tele_setfile_dummy_channel, ARRAY_SIZE(sensor_tele_setfile_dummy_channel),
|
||||
sensor_tele_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_tele_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
#endif /* _CAM_SENSOR_ADAPTIVE_MIPI_IMX754_H_ */
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,259 @@
|
||||
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef _CAM_SENSOR_ADAPTIVE_MIPI_S5K2LD_H_
|
||||
#define _CAM_SENSOR_ADAPTIVE_MIPI_S5K2LD_H_
|
||||
|
||||
#include "cam_sensor_dev.h"
|
||||
|
||||
int num_wide_mipi_setting = 1;
|
||||
|
||||
/*************************************/
|
||||
/* ========== Mode A =============== */
|
||||
/*************************************/
|
||||
|
||||
enum {
|
||||
CAM_S5K2LD_SET_A_FULL_3142_MHZ = 0,
|
||||
CAM_S5K2LD_SET_A_FULL_3232_MHZ = 1,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_FULL_3142_MHZ_REG_ARRAY[] = {
|
||||
{0x0310, 0x01EB, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_FULL_3232_MHZ_REG_ARRAY[] = {
|
||||
{0x0310, 0x01F9, 0x00, 0x00},
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5k2ld_setfile_A_mipi_FULL_3142_mhz[] = {
|
||||
{ MIPI_FULL_3142_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_FULL_3142_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5k2ld_setfile_A_mipi_FULL_3232_mhz[] = {
|
||||
{ MIPI_FULL_3232_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_FULL_3232_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_s5k2ld_setfile_A_mipi_setting_FULL[] = {
|
||||
{ "3142 Mhz",
|
||||
sensor_s5k2ld_setfile_A_mipi_FULL_3142_mhz, ARRAY_SIZE(sensor_s5k2ld_setfile_A_mipi_FULL_3142_mhz) },
|
||||
{ "3232 Mhz",
|
||||
sensor_s5k2ld_setfile_A_mipi_FULL_3232_mhz, ARRAY_SIZE(sensor_s5k2ld_setfile_A_mipi_FULL_3232_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_s5k2ld_setfile_A_mipi_channel_FULL[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10735, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10736, 10787, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10788, 10838, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9744, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9745, 9791, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9792, 9938, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1177, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1178, 1252, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1253, 1324, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1325, 1396, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1397, 1513, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1710, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1711, 1738, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4414, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4415, 4458, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4413, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2292, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2293, 2563, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2954, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2955, 2975, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2976, 3050, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3051, 3088, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 739, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 740, 763, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 371, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 372, 475, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 476, 599, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 613, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 614, 789, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 790, 883, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 884, 1199, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1254, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1255, 1404, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1405, 1549, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1550, 1693, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1694, 1929, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1930, 1949, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2321, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2322, 2399, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2538, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2539, 2649, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2884, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2885, 3449, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3509, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3510, 3551, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3552, 3701, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3702, 3799, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5051, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5052, 5179, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5279, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5320, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5321, 5379, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5849, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5928, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5929, 5999, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6078, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6079, 6149, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6244, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6245, 6394, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6395, 6449, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6599, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8053, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8054, 8229, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8230, 8323, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8324, 8672, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8673, 8689, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8778, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8779, 8928, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8929, 9039, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9250, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9251, 9400, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9401, 9634, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9635, 9659, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9769, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9770, 9945, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9946, 10095, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10096, 10138, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10139, 10288, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10289, 10359, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36224, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36225, 36349, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 38138, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38139, 38249, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38369, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38370, 38613, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38614, 38649, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38660, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38661, 38789, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38790, 39141, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39142, 39217, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39218, 39430, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39431, 39549, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39550, 39649, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39678, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39679, 40009, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40010, 40106, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40107, 40249, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40250, 40351, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40352, 40778, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40779, 40876, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40877, 40910, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40911, 41455, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41456, 41589, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41707, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41708, 41968, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41969, 42081, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42082, 42253, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42254, 42362, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42363, 42679, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42680, 42829, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42830, 42867, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42868, 42965, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42966, 43428, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43429, 43589, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55578, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55579, 55821, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55822, 56326, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56327, 56476, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56477, 56739, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66807, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66808, 66911, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66912, 67335, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68647, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68648, 68935, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 177310, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 177311, 178780, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 190920, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 190921, 191980, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 149200, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 159340, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159341, 163090, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163091, 164180, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 155500, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155501, 159340, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159341, 160580, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 440000, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 125520, CAM_S5K2LD_SET_A_FULL_3142_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125521, 130380, CAM_S5K2LD_SET_A_FULL_3232_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_wide_mipi_A_mode[] = {
|
||||
{
|
||||
sensor_s5k2ld_setfile_A_mipi_channel_FULL, ARRAY_SIZE(sensor_s5k2ld_setfile_A_mipi_channel_FULL),
|
||||
sensor_s5k2ld_setfile_A_mipi_setting_FULL, ARRAY_SIZE(sensor_s5k2ld_setfile_A_mipi_setting_FULL)
|
||||
},
|
||||
};
|
||||
|
||||
/*************************************/
|
||||
/* ========== DUMMY ================ */
|
||||
/*************************************/
|
||||
enum {
|
||||
CAM_WIDE_SET_DUMMY_MHZ = 0,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_WIDE_DUMMY_MHZ_REG_ARRAY[] = {
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_wide_setfile_dummy_mhz[] = {
|
||||
{ MIPI_WIDE_DUMMY_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_WIDE_DUMMY_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_wide_setfile_dummy_mipi_setting[] = {
|
||||
{ "DUMMY Mhz",
|
||||
sensor_wide_setfile_dummy_mhz, ARRAY_SIZE(sensor_wide_setfile_dummy_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_wide_setfile_dummy_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_WIDE_SET_DUMMY_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_wide_mipi_B_mode[] = {
|
||||
{
|
||||
sensor_wide_setfile_dummy_channel, ARRAY_SIZE(sensor_wide_setfile_dummy_channel),
|
||||
sensor_wide_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_wide_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_wide_mipi_C_mode[] = {
|
||||
{
|
||||
sensor_wide_setfile_dummy_channel, ARRAY_SIZE(sensor_wide_setfile_dummy_channel),
|
||||
sensor_wide_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_wide_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_wide_mipi_D_mode[] = {
|
||||
{
|
||||
sensor_wide_setfile_dummy_channel, ARRAY_SIZE(sensor_wide_setfile_dummy_channel),
|
||||
sensor_wide_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_wide_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
#endif /* _CAM_SENSOR_ADAPTIVE_MIPI_S5K2LD_H_ */
|
@ -0,0 +1,623 @@
|
||||
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef _CAM_SENSOR_ADAPTIVE_MIPI_S5K3J1_H_
|
||||
#define _CAM_SENSOR_ADAPTIVE_MIPI_S5K3J1_H_
|
||||
|
||||
#include "cam_sensor_dev.h"
|
||||
|
||||
int num_front_mipi_setting = 2;
|
||||
|
||||
/*
|
||||
SET A : Other
|
||||
SET B : M3 4k 60fps
|
||||
*/
|
||||
|
||||
/*************************************/
|
||||
/* ========== Mode A =============== */
|
||||
/*************************************/
|
||||
|
||||
enum {
|
||||
CAM_S5K3J1_SET_A_all_992_MHZ = 0,
|
||||
CAM_S5K3J1_SET_A_all_995_MHZ = 1,
|
||||
CAM_S5K3J1_SET_A_all_956_MHZ = 2,
|
||||
CAM_S5K3J1_SET_A_all_950_MHZ = 3
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_ALL_992_MHZ_REG_ARRAY[] = {
|
||||
{0x030E, 0x0003, 0x00, 0x00},
|
||||
{0x0310, 0x0136, 0x00, 0x00},
|
||||
{0x0312, 0x0001, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_ALL_995_MHZ_REG_ARRAY[] = {
|
||||
{0x030E, 0x0003, 0x00, 0x00},
|
||||
{0x0310, 0x0137, 0x00, 0x00},
|
||||
{0x0312, 0x0001, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_ALL_956_MHZ_REG_ARRAY[] = {
|
||||
{0x030E, 0x0003, 0x00, 0x00},
|
||||
{0x0310, 0x012B, 0x00, 0x00},
|
||||
{0x0312, 0x0001, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_ALL_950_MHZ_REG_ARRAY[] = {
|
||||
{0x030E, 0x0003, 0x00, 0x00},
|
||||
{0x0310, 0x0129, 0x00, 0x00},
|
||||
{0x0312, 0x0001, 0x00, 0x00},
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5k3j1_setfile_A_mipi_all_992_mhz[] = {
|
||||
{ MIPI_ALL_992_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_ALL_992_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5k3j1_setfile_A_mipi_all_995_mhz[] = {
|
||||
{ MIPI_ALL_995_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_ALL_995_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5k3j1_setfile_A_mipi_all_956_mhz[] = {
|
||||
{ MIPI_ALL_956_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_ALL_956_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5k3j1_setfile_A_mipi_all_950_mhz[] = {
|
||||
{ MIPI_ALL_950_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_ALL_950_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_s5k3j1_setfile_A_mipi_setting_ALL[] = {
|
||||
{ "992 Mhz",
|
||||
sensor_s5k3j1_setfile_A_mipi_all_992_mhz, ARRAY_SIZE(sensor_s5k3j1_setfile_A_mipi_all_992_mhz) },
|
||||
{ "995 Mhz",
|
||||
sensor_s5k3j1_setfile_A_mipi_all_995_mhz, ARRAY_SIZE(sensor_s5k3j1_setfile_A_mipi_all_995_mhz) },
|
||||
{ "956 Mhz",
|
||||
sensor_s5k3j1_setfile_A_mipi_all_956_mhz, ARRAY_SIZE(sensor_s5k3j1_setfile_A_mipi_all_956_mhz) },
|
||||
{ "950 Mhz",
|
||||
sensor_s5k3j1_setfile_A_mipi_all_950_mhz, ARRAY_SIZE(sensor_s5k3j1_setfile_A_mipi_all_950_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_s5k3j1_setfile_A_mipi_channel_ALL[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10654, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10655, 10726, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10727, 10729, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10730, 10838, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9665, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9666, 9704, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9705, 9709, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9710, 9740, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9741, 9759, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9760, 9769, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9770, 9779, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9780, 9938, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1293, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1294, 1338, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1339, 1368, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1369, 1423, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1424, 1462, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1463, 1492, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1493, 1513, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1629, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1630, 1701, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1702, 1704, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1705, 1738, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4377, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4378, 4391, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4392, 4440, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4441, 4458, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4391, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4392, 4413, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2273, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2274, 2306, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2307, 2348, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2349, 2522, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2523, 2554, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2555, 2563, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2989, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2990, 3048, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3049, 3064, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3065, 3088, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 716, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 717, 763, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 208, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 209, 352, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 353, 358, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 359, 599, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 631, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 632, 708, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 709, 718, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 719, 781, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 782, 819, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 820, 839, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 840, 858, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 859, 1183, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1184, 1199, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1486, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1487, 1576, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1577, 1636, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1637, 1746, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1747, 1824, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1825, 1884, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1885, 1949, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2158, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2159, 2302, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2303, 2308, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2309, 2399, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2464, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2465, 2492, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2493, 2591, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2592, 2649, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2847, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2848, 2912, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2913, 2997, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2998, 3345, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3346, 3408, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3409, 3449, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3579, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3580, 3695, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3696, 3729, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3730, 3799, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5108, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5109, 5179, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5234, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5235, 5258, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5259, 5279, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5379, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5778, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5779, 5849, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5882, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5883, 5936, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5937, 5999, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6004, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6005, 6032, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6033, 6131, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6132, 6149, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6250, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6251, 6276, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6277, 6449, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6493, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6494, 6599, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8071, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8072, 8148, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8149, 8158, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8159, 8221, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8222, 8259, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8260, 8279, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8280, 8298, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8299, 8623, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8624, 8689, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8732, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8733, 8786, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8787, 8854, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8855, 8882, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8883, 8981, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8982, 9039, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9516, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9517, 9640, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9641, 9659, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9769, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9869, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9927, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9928, 10204, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10205, 10252, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10253, 10305, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10306, 10354, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10355, 10359, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36221, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36222, 36267, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36268, 36349, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37850, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37851, 37916, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37917, 38000, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38001, 38098, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38099, 38164, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38165, 38248, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38249, 38249, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38283, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38284, 38372, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38373, 38433, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38434, 38649, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38859, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38860, 39009, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39010, 39334, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39335, 39494, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39495, 39644, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39645, 39649, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39992, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39993, 40060, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40061, 40142, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40143, 40490, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40491, 40556, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40557, 40640, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40641, 40738, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40739, 40804, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40805, 40888, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40889, 40987, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40988, 41052, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41053, 41137, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41138, 41485, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41486, 41548, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41549, 41589, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41739, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41740, 41849, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41850, 41889, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41890, 42235, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42236, 42348, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42349, 42385, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42386, 42497, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42498, 42844, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42845, 42881, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42882, 42994, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42995, 43342, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43343, 43377, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43378, 43475, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43476, 43492, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43493, 43589, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55492, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55493, 55527, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55528, 55625, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55626, 55642, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55643, 55741, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55742, 55775, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55776, 55873, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55874, 55891, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55892, 55989, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55990, 56023, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56024, 56139, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56140, 56487, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56488, 56510, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56511, 56637, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56638, 56739, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66644, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66645, 66788, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66789, 66794, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66795, 67120, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67121, 67267, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67268, 67270, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67271, 67335, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68690, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68691, 68710, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68711, 68809, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68810, 68935, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 174620, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 174621, 175980, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175981, 176140, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176141, 176540, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176541, 176720, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176721, 178780, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186680, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186681, 189900, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189901, 191480, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191481, 191980, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146860, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146861, 149200, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 160670, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160671, 161620, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 161621, 164180, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 151660, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151661, 156820, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156821, 160580, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 126380, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126381, 126540, CAM_S5K3J1_SET_A_all_992_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126541, 126780, CAM_S5K3J1_SET_A_all_950_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126781, 126960, CAM_S5K3J1_SET_A_all_995_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126961, 130380, CAM_S5K3J1_SET_A_all_956_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_front_mipi_A_mode[] = {
|
||||
{
|
||||
sensor_s5k3j1_setfile_A_mipi_channel_ALL, ARRAY_SIZE(sensor_s5k3j1_setfile_A_mipi_channel_ALL),
|
||||
sensor_s5k3j1_setfile_A_mipi_setting_ALL, ARRAY_SIZE(sensor_s5k3j1_setfile_A_mipi_setting_ALL)
|
||||
},
|
||||
};
|
||||
|
||||
/*************************************/
|
||||
/* ========== Mode B =============== */
|
||||
/*************************************/
|
||||
|
||||
enum {
|
||||
CAM_S5K3J1_SET_B_all_1196_MHZ = 0,
|
||||
CAM_S5K3J1_SET_B_all_1011_MHZ = 1,
|
||||
CAM_S5K3J1_SET_B_all_1139_MHZ = 2,
|
||||
CAM_S5K3J1_SET_B_all_1094_MHZ = 3
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_ALL_1196_MHZ_REG_ARRAY[] = {
|
||||
{0x030E, 0x0003, 0x00, 0x00},
|
||||
{0x0310, 0x00BB, 0x00, 0x00},
|
||||
{0x0312, 0x0000, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_ALL_1011_MHZ_REG_ARRAY[] = {
|
||||
{0x030E, 0x0003, 0x00, 0x00},
|
||||
{0x0310, 0x013C, 0x00, 0x00},
|
||||
{0x0312, 0x0001, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_ALL_1139_MHZ_REG_ARRAY[] = {
|
||||
{0x030E, 0x0003, 0x00, 0x00},
|
||||
{0x0310, 0x00B2, 0x00, 0x00},
|
||||
{0x0312, 0x0000, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_ALL_1094_MHZ_REG_ARRAY[] = {
|
||||
{0x030E, 0x0003, 0x00, 0x00},
|
||||
{0x0310, 0x0156, 0x00, 0x00},
|
||||
{0x0312, 0x0001, 0x00, 0x00},
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5k3j1_setfile_B_mipi_all_1196_mhz[] = {
|
||||
{ MIPI_ALL_1196_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_ALL_1196_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5k3j1_setfile_B_mipi_all_1011_mhz[] = {
|
||||
{ MIPI_ALL_1011_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_ALL_1011_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5k3j1_setfile_B_mipi_all_1139_mhz[] = {
|
||||
{ MIPI_ALL_1139_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_ALL_1139_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5k3j1_setfile_B_mipi_all_1094_mhz[] = {
|
||||
{ MIPI_ALL_1094_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_ALL_1094_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_s5k3j1_setfile_B_mipi_setting_ALL[] = {
|
||||
{ "1196 Mhz",
|
||||
sensor_s5k3j1_setfile_B_mipi_all_1196_mhz, ARRAY_SIZE(sensor_s5k3j1_setfile_B_mipi_all_1196_mhz) },
|
||||
{ "1011 Mhz",
|
||||
sensor_s5k3j1_setfile_B_mipi_all_1011_mhz, ARRAY_SIZE(sensor_s5k3j1_setfile_B_mipi_all_1011_mhz) },
|
||||
{ "1139 Mhz",
|
||||
sensor_s5k3j1_setfile_B_mipi_all_1139_mhz, ARRAY_SIZE(sensor_s5k3j1_setfile_B_mipi_all_1139_mhz) },
|
||||
{ "1094 Mhz",
|
||||
sensor_s5k3j1_setfile_B_mipi_all_1094_mhz, ARRAY_SIZE(sensor_s5k3j1_setfile_B_mipi_all_1094_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_s5k3j1_setfile_B_mipi_channel_ALL[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10733, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10734, 10781, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10782, 10808, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10809, 10838, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9686, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9687, 9761, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9762, 9836, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9837, 9896, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9897, 9911, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9912, 9938, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1362, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1363, 1437, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1438, 1513, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1708, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1709, 1738, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4450, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4451, 4458, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2258, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2259, 2308, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2309, 2327, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2328, 2551, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2552, 2560, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2561, 2563, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 3049, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3050, 3065, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3066, 3088, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 367, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 368, 462, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 463, 517, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 518, 599, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 672, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 673, 822, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 823, 972, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 973, 1093, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1094, 1122, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1123, 1199, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1625, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1626, 1775, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1776, 1949, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2317, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2318, 2399, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2610, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2611, 2632, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2633, 2649, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2815, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2816, 2916, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2917, 2954, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2955, 3402, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3403, 3421, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3422, 3449, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3699, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3700, 3731, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3732, 3799, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5124, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5125, 5179, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5228, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5229, 5274, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5275, 5279, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5379, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5794, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5795, 5849, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5999, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6149, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6449, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6525, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6526, 6599, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8112, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8113, 8262, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8263, 8412, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8413, 8533, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8534, 8562, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8563, 8689, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 9000, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9001, 9022, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9023, 9039, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9334, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9335, 9484, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9485, 9659, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9745, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9746, 9769, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9869, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10284, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10285, 10359, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36349, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37760, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37761, 37856, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37857, 38249, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38523, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38524, 38587, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38588, 38649, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38912, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38913, 38954, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38955, 38982, CAM_S5K3J1_SET_B_all_1094_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38983, 39062, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39063, 39510, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39511, 39590, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39591, 39648, CAM_S5K3J1_SET_B_all_1094_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39649, 39649, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39747, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39748, 39894, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39895, 39897, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39898, 40046, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40047, 40196, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40197, 40346, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40347, 40400, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40401, 40496, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40497, 40955, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40956, 41056, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41057, 41094, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41095, 41542, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41543, 41561, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41562, 41589, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41623, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41624, 41643, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41644, 41691, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41692, 41744, CAM_S5K3J1_SET_B_all_1094_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41745, 41923, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41924, 42045, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42046, 42073, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42074, 42222, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42223, 42372, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42373, 42820, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42821, 42907, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42908, 42970, CAM_S5K3J1_SET_B_all_1094_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42971, 43419, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43420, 43549, CAM_S5K3J1_SET_B_all_1094_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43550, 43562, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43563, 43569, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43570, 43589, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55569, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55570, 55699, CAM_S5K3J1_SET_B_all_1094_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55700, 55712, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55713, 55719, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55720, 56167, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56168, 56218, CAM_S5K3J1_SET_B_all_1094_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56219, 56317, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56318, 56739, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66803, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66804, 66898, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66899, 66953, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66954, 67335, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68923, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68924, 68935, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, CAM_S5K3J1_SET_B_all_1094_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, CAM_S5K3J1_SET_B_all_1011_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 177100, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 177101, 178780, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 189080, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189081, 191980, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146000, CAM_S5K3J1_SET_B_all_1094_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146001, 147180, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147181, 149200, CAM_S5K3J1_SET_B_all_1094_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 164180, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 151980, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151981, 153180, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153181, 157080, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157081, 157980, CAM_S5K3J1_SET_B_all_1094_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157981, 160580, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 129240, CAM_S5K3J1_SET_B_all_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129241, 130380, CAM_S5K3J1_SET_B_all_1139_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_front_mipi_B_mode[] = {
|
||||
{
|
||||
sensor_s5k3j1_setfile_B_mipi_channel_ALL, ARRAY_SIZE(sensor_s5k3j1_setfile_B_mipi_channel_ALL),
|
||||
sensor_s5k3j1_setfile_B_mipi_setting_ALL, ARRAY_SIZE(sensor_s5k3j1_setfile_B_mipi_setting_ALL)
|
||||
},
|
||||
};
|
||||
|
||||
/*************************************/
|
||||
/* ========== DUMMY ================ */
|
||||
/*************************************/
|
||||
enum {
|
||||
CAM_FRONT_SET_DUMMY_MHZ = 0,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_FRONT_DUMMY_MHZ_REG_ARRAY[] = {
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_front_setfile_dummy_mhz[] = {
|
||||
{ MIPI_FRONT_DUMMY_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_FRONT_DUMMY_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_front_setfile_dummy_mipi_setting[] = {
|
||||
{ "DUMMY Mhz",
|
||||
sensor_front_setfile_dummy_mhz, ARRAY_SIZE(sensor_front_setfile_dummy_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_front_setfile_dummy_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_FRONT_SET_DUMMY_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_front_mipi_C_mode[] = {
|
||||
{
|
||||
sensor_front_setfile_dummy_channel, ARRAY_SIZE(sensor_front_setfile_dummy_channel),
|
||||
sensor_front_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_front_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_front_mipi_D_mode[] = {
|
||||
{
|
||||
sensor_front_setfile_dummy_channel, ARRAY_SIZE(sensor_front_setfile_dummy_channel),
|
||||
sensor_front_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_front_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
#endif /* _CAM_SENSOR_ADAPTIVE_MIPI_S5K3J1_H_ */
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,302 @@
|
||||
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef _CAM_SENSOR_ADAPTIVE_MIPI_S5K3K1_H_
|
||||
#define _CAM_SENSOR_ADAPTIVE_MIPI_S5K3K1_H_
|
||||
|
||||
#include "cam_sensor_dev.h"
|
||||
|
||||
int num_tele_mipi_setting = 1;
|
||||
|
||||
/*
|
||||
Mode A : Full mode, 2-Binning (1152 / 1196.8 / 1139.2)
|
||||
*/
|
||||
|
||||
/*************************************/
|
||||
/* ========== Mode A =============== */
|
||||
/*************************************/
|
||||
|
||||
enum {
|
||||
CAM_S5K3K1_SET_A_FULL_1152_MHZ = 0,
|
||||
CAM_S5K3K1_SET_A_FULL_1196_MHZ = 1,
|
||||
CAM_S5K3K1_SET_A_FULL_1139_MHZ = 2,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_FULL_1152_MHZ_REG_ARRAY[] = {
|
||||
{0x0310, 0x00B4, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_FULL_1196_MHZ_REG_ARRAY[] = {
|
||||
{0x0310, 0x00BB, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_FULL_1139_MHZ_REG_ARRAY[] = {
|
||||
{0x0310, 0x00B2, 0x00, 0x00},
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5k3k1_setfile_A_mipi_FULL_1152_mhz[] = {
|
||||
{ MIPI_FULL_1152_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_FULL_1152_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5k3k1_setfile_A_mipi_FULL_1196_mhz[] = {
|
||||
{ MIPI_FULL_1196_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_FULL_1196_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5k3k1_setfile_A_mipi_FULL_1139_mhz[] = {
|
||||
{ MIPI_FULL_1139_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_FULL_1139_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_s5k3k1_setfile_A_mipi_setting_FULL[] = {
|
||||
{ "1152 Mhz",
|
||||
sensor_s5k3k1_setfile_A_mipi_FULL_1152_mhz, ARRAY_SIZE(sensor_s5k3k1_setfile_A_mipi_FULL_1152_mhz) },
|
||||
{ "1196 Mhz",
|
||||
sensor_s5k3k1_setfile_A_mipi_FULL_1196_mhz, ARRAY_SIZE(sensor_s5k3k1_setfile_A_mipi_FULL_1196_mhz) },
|
||||
{ "1139 Mhz",
|
||||
sensor_s5k3k1_setfile_A_mipi_FULL_1139_mhz, ARRAY_SIZE(sensor_s5k3k1_setfile_A_mipi_FULL_1139_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_s5k3k1_setfile_A_mipi_channel_FULL[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10597, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10598, 10618, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10619, 10693, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10694, 10838, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9754, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9755, 9829, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9830, 9938, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1207, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1208, 1282, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1283, 1303, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1304, 1362, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1363, 1378, CAM_S5K3K1_SET_A_FULL_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1379, 1513, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1572, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1573, 1593, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1594, 1668, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1669, 1738, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4458, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4413, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2335, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2336, 2410, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2411, 2527, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2528, 2551, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2552, 2563, CAM_S5K3K1_SET_A_FULL_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2945, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2946, 3073, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3074, 3088, CAM_S5K3K1_SET_A_FULL_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 763, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 94, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 95, 136, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 137, 286, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 287, 599, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 808, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 809, 958, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 959, 1199, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1314, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1315, 1464, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1465, 1506, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1507, 1625, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1626, 1656, CAM_S5K3K1_SET_A_FULL_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1657, 1949, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2044, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2045, 2086, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2087, 2236, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2237, 2399, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2424, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2425, 2649, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2970, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2971, 3120, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3121, 3354, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3355, 3402, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3403, 3449, CAM_S5K3K1_SET_A_FULL_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3490, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3491, 3746, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3747, 3799, CAM_S5K3K1_SET_A_FULL_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5132, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5133, 5179, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5279, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5304, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5305, 5379, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5802, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5803, 5849, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5964, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5965, 5999, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6149, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6259, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6260, 6293, CAM_S5K3K1_SET_A_FULL_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6294, 6378, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6379, 6449, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6525, CAM_S5K3K1_SET_A_FULL_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6526, 6541, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6542, 6599, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8248, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8249, 8398, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8399, 8689, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8814, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8815, 9039, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9234, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9235, 9334, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9335, 9384, CAM_S5K3K1_SET_A_FULL_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9385, 9659, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9769, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9810, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9811, 9869, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10300, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10301, 10359, CAM_S5K3K1_SET_A_FULL_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36335, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36336, 36349, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37894, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37895, 37905, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37906, 38044, CAM_S5K3K1_SET_A_FULL_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38045, 38249, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38428, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38429, 38523, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38524, 38532, CAM_S5K3K1_SET_A_FULL_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38533, 38574, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38575, 38649, CAM_S5K3K1_SET_A_FULL_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38663, CAM_S5K3K1_SET_A_FULL_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38664, 38764, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38765, 39190, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39191, 39340, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39341, 39611, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39612, 39649, CAM_S5K3K1_SET_A_FULL_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39688, CAM_S5K3K1_SET_A_FULL_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39689, 39724, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39725, 39958, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39959, 40108, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40109, 40534, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40535, 40545, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40546, 40684, CAM_S5K3K1_SET_A_FULL_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40685, 41110, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41111, 41260, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41261, 41494, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41495, 41542, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41543, 41589, CAM_S5K3K1_SET_A_FULL_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41623, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41624, 41649, CAM_S5K3K1_SET_A_FULL_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41650, 42075, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42076, 42222, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42223, 42225, CAM_S5K3K1_SET_A_FULL_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42226, 42651, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42652, 42801, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42802, 43035, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43036, 43185, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43186, 43227, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43228, 43377, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43378, 43589, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55335, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55336, 55377, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55378, 55527, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55528, 55953, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55954, 56103, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56104, 56145, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56146, 56218, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56219, 56295, CAM_S5K3K1_SET_A_FULL_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56296, 56529, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56530, 56566, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56567, 56679, CAM_S5K3K1_SET_A_FULL_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56680, 56739, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66530, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66531, 66572, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66573, 66722, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66723, 67148, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67149, 67224, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67225, 67298, CAM_S5K3K1_SET_A_FULL_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67299, 67335, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68676, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68677, 68826, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68827, 68935, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, CAM_S5K3K1_SET_A_FULL_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 175180, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175181, 178780, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186700, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186701, 191980, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 147340, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147341, 149200, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 160370, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160371, 161960, CAM_S5K3K1_SET_A_FULL_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 161961, 163660, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163661, 164180, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 153730, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153731, 155980, CAM_S5K3K1_SET_A_FULL_1139_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155981, 160580, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124300, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124301, 129100, CAM_S5K3K1_SET_A_FULL_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129101, 130380, CAM_S5K3K1_SET_A_FULL_1152_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_tele_mipi_A_mode[] = {
|
||||
{
|
||||
sensor_s5k3k1_setfile_A_mipi_channel_FULL, ARRAY_SIZE(sensor_s5k3k1_setfile_A_mipi_channel_FULL),
|
||||
sensor_s5k3k1_setfile_A_mipi_setting_FULL, ARRAY_SIZE(sensor_s5k3k1_setfile_A_mipi_setting_FULL)
|
||||
},
|
||||
};
|
||||
|
||||
/*************************************/
|
||||
/* ========== DUMMY ================ */
|
||||
/*************************************/
|
||||
enum {
|
||||
CAM_TELE_SET_DUMMY_MHZ = 0,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_TELE_DUMMY_MHZ_REG_ARRAY[] = {
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_tele_setfile_dummy_mhz[] = {
|
||||
{ MIPI_TELE_DUMMY_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_TELE_DUMMY_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_tele_setfile_dummy_mipi_setting[] = {
|
||||
{ "DUMMY Mhz",
|
||||
sensor_tele_setfile_dummy_mhz, ARRAY_SIZE(sensor_tele_setfile_dummy_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_tele_setfile_dummy_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_TELE_SET_DUMMY_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_tele_mipi_B_mode[] = {
|
||||
{
|
||||
sensor_tele_setfile_dummy_channel, ARRAY_SIZE(sensor_tele_setfile_dummy_channel),
|
||||
sensor_tele_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_tele_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_tele_mipi_C_mode[] = {
|
||||
{
|
||||
sensor_tele_setfile_dummy_channel, ARRAY_SIZE(sensor_tele_setfile_dummy_channel),
|
||||
sensor_tele_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_tele_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_tele_mipi_D_mode[] = {
|
||||
{
|
||||
sensor_tele_setfile_dummy_channel, ARRAY_SIZE(sensor_tele_setfile_dummy_channel),
|
||||
sensor_tele_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_tele_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
#endif /* _CAM_SENSOR_ADAPTIVE_MIPI_S5K3K1_H_ */
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,734 @@
|
||||
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef _CAM_SENSOR_ADAPTIVE_MIPI_S5K3LU_H_
|
||||
#define _CAM_SENSOR_ADAPTIVE_MIPI_S5K3LU_H_
|
||||
|
||||
#include "cam_sensor_dev.h"
|
||||
|
||||
int num_front_mipi_setting = 2;
|
||||
|
||||
/*
|
||||
3LU_220830
|
||||
Mode A : no-bin (10/12bit) (1862.4 / 1849.6 / 1811.2)
|
||||
Mode B : FastAE/SM 2x2 bin (10bit) (1164.8 / 1062.4 / 1116.8 / 1196.8)
|
||||
Mode C : Min power 2x2 bin + skipping (10bit) (478.4 / 462.4 / 451.2 / 419.2)
|
||||
*/
|
||||
|
||||
/*************************************/
|
||||
/* ========== Mode A =============== */
|
||||
/*************************************/
|
||||
|
||||
enum {
|
||||
CAM_S5K3LU_SET_A_1862_MHZ = 0,
|
||||
CAM_S5K3LU_SET_A_1849_MHZ = 1,
|
||||
CAM_S5K3LU_SET_A_1811_MHZ = 2,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_SET_A_1862_MHZ_REG_ARRAY[] = {
|
||||
{0x030E, 0x0003, 0x00, 0x00},
|
||||
{0x0310, 0x0123, 0x00, 0x00},
|
||||
{0x0312, 0x0001, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_SET_A_1849_MHZ_REG_ARRAY[] = {
|
||||
{0x030E, 0x0003, 0x00, 0x00},
|
||||
{0x0310, 0x0121, 0x00, 0x00},
|
||||
{0x0312, 0x0001, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_SET_A_1811_MHZ_REG_ARRAY[] = {
|
||||
{0x030E, 0x0003, 0x00, 0x00},
|
||||
{0x0310, 0x011B, 0x00, 0x00},
|
||||
{0x0312, 0x0001, 0x00, 0x00},
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5k3lu_setfile_A_mipi_1862_mhz[] = {
|
||||
{ MIPI_SET_A_1862_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_1862_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5k3lu_setfile_A_mipi_1849_mhz[] = {
|
||||
{ MIPI_SET_A_1849_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_1849_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5k3lu_setfile_A_mipi_1811_mhz[] = {
|
||||
{ MIPI_SET_A_1811_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_1811_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_s5k3lu_setfile_A_mipi_setting[] = {
|
||||
{ "1862 Msps",
|
||||
sensor_s5k3lu_setfile_A_mipi_1862_mhz, ARRAY_SIZE(sensor_s5k3lu_setfile_A_mipi_1862_mhz) },
|
||||
{ "1849 Msps",
|
||||
sensor_s5k3lu_setfile_A_mipi_1849_mhz, ARRAY_SIZE(sensor_s5k3lu_setfile_A_mipi_1849_mhz) },
|
||||
{ "1811 Msps",
|
||||
sensor_s5k3lu_setfile_A_mipi_1811_mhz, ARRAY_SIZE(sensor_s5k3lu_setfile_A_mipi_1811_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_s5k3lu_setfile_A_mipi_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10600, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10601, 10745, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10746, 10754, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10755, 10815, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10816, 10838, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9695, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9696, 9737, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9738, 9775, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9776, 9845, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9846, 9883, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9884, 9938, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1184, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1185, 1250, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1251, 1308, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1309, 1361, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1362, 1404, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1405, 1431, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1432, 1513, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1575, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1576, 1720, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1721, 1729, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1730, 1738, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4399, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4400, 4438, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4439, 4458, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4399, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4400, 4413, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2242, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2243, 2261, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2262, 2326, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2327, 2366, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2367, 2458, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2459, 2521, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2522, 2528, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2529, 2563, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2958, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2959, 2990, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2991, 3088, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 724, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 725, 763, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 100, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 101, 391, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 392, 408, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 409, 531, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 532, 599, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 691, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 692, 775, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 776, 851, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 852, 991, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 992, 1066, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1067, 1186, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1187, 1199, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1268, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1269, 1400, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1401, 1517, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1518, 1623, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1624, 1709, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1710, 1763, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1764, 1946, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1947, 1949, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2050, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2051, 2341, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2342, 2358, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2359, 2399, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2508, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2509, 2587, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2588, 2648, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2649, 2649, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2785, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2786, 2822, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2823, 2953, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2954, 3033, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3034, 3216, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3217, 3343, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3344, 3356, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3357, 3449, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3517, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3518, 3581, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3582, 3799, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5179, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5188, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5189, 5236, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5237, 5279, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5308, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5309, 5379, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5849, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5855, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5856, 5999, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6048, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6049, 6127, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6128, 6149, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6151, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6152, 6236, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6237, 6291, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6292, 6449, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6497, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6498, 6524, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6525, 6599, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8131, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8132, 8215, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8216, 8291, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8292, 8431, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8432, 8506, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8507, 8626, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8627, 8646, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8647, 8689, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8705, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8706, 8898, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8899, 8977, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8978, 9038, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9039, 9039, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9238, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9239, 9319, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9320, 9364, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9365, 9459, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9460, 9541, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9542, 9626, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9627, 9659, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9769, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9869, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9963, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9964, 10052, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10053, 10213, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10214, 10359, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36322, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36323, 36349, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37778, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37779, 37854, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37855, 37962, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37963, 37994, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37995, 38249, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38316, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38317, 38452, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38453, 38494, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38495, 38649, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38866, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38867, 38960, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38961, 39060, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39061, 39114, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39115, 39298, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39299, 39360, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39361, 39438, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39439, 39649, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39721, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39722, 39771, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39772, 40063, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40064, 40203, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40204, 40290, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40291, 40418, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40419, 40494, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40495, 40602, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40603, 40634, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40635, 40925, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40926, 40962, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40963, 41093, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41094, 41173, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41174, 41356, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41357, 41483, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41484, 41496, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41497, 41589, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41664, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41665, 41804, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41805, 42107, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42108, 42200, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42201, 42241, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42242, 42440, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42441, 42450, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42451, 42690, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42691, 43052, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43053, 43134, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43135, 43216, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43217, 43321, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43322, 43356, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43357, 43437, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43438, 43577, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43578, 43589, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55284, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55285, 55366, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55367, 55471, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55472, 55506, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55507, 55587, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55588, 55727, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55728, 56031, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56032, 56221, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56222, 56282, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56283, 56474, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56475, 56648, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56649, 56739, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66536, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66537, 66827, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66828, 66844, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66845, 66967, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66968, 67151, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67152, 67285, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67286, 67335, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68651, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68652, 68693, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68694, 68935, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 174960, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 174961, 178540, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178541, 178780, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 187340, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187341, 188620, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 188621, 191980, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 149200, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 160920, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160921, 162020, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162021, 164180, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 160580, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 125700, CAM_S5K3LU_SET_A_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125701, 126540, CAM_S5K3LU_SET_A_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126541, 130380, CAM_S5K3LU_SET_A_1862_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_front_mipi_A_mode[] = {
|
||||
{
|
||||
sensor_s5k3lu_setfile_A_mipi_channel, ARRAY_SIZE(sensor_s5k3lu_setfile_A_mipi_channel),
|
||||
sensor_s5k3lu_setfile_A_mipi_setting, ARRAY_SIZE(sensor_s5k3lu_setfile_A_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
/*************************************/
|
||||
/* ========== Mode B =============== */
|
||||
/*************************************/
|
||||
enum {
|
||||
CAM_S5K3LU_SET_B_1164_MHZ = 0,
|
||||
CAM_S5K3LU_SET_B_1062_MHZ = 1,
|
||||
CAM_S5K3LU_SET_B_1116_MHZ = 2,
|
||||
CAM_S5K3LU_SET_B_1196_MHZ = 3,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_SET_B_1164_MHZ_REG_ARRAY[] = {
|
||||
{0x030E, 0x0003, 0x00, 0x00},
|
||||
{0x0310, 0x00B6, 0x00, 0x00},
|
||||
{0x0312, 0x0001, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_SET_B_1062_MHZ_REG_ARRAY[] = {
|
||||
{0x030E, 0x0003, 0x00, 0x00},
|
||||
{0x0310, 0x014C, 0x00, 0x00},
|
||||
{0x0312, 0x0002, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_SET_B_1116_MHZ_REG_ARRAY[] = {
|
||||
{0x030E, 0x0003, 0x00, 0x00},
|
||||
{0x0310, 0x015D, 0x00, 0x00},
|
||||
{0x0312, 0x0002, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_SET_B_1196_MHZ_REG_ARRAY[] = {
|
||||
{0x030E, 0x0003, 0x00, 0x00},
|
||||
{0x0310, 0x00BB, 0x00, 0x00},
|
||||
{0x0312, 0x0001, 0x00, 0x00},
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5k3lu_setfile_B_mipi_1164_mhz[] = {
|
||||
{ MIPI_SET_B_1164_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_SET_B_1164_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5k3lu_setfile_B_mipi_1062_mhz[] = {
|
||||
{ MIPI_SET_B_1062_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_SET_B_1062_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5k3lu_setfile_B_mipi_1116_mhz[] = {
|
||||
{ MIPI_SET_B_1116_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_SET_B_1116_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5k3lu_setfile_B_mipi_1196_mhz[] = {
|
||||
{ MIPI_SET_B_1196_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_SET_B_1196_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_s5k3lu_setfile_B_mipi_setting[] = {
|
||||
{ "1164 Msps",
|
||||
sensor_s5k3lu_setfile_B_mipi_1164_mhz, ARRAY_SIZE(sensor_s5k3lu_setfile_B_mipi_1164_mhz) },
|
||||
{ "1062 Msps",
|
||||
sensor_s5k3lu_setfile_B_mipi_1062_mhz, ARRAY_SIZE(sensor_s5k3lu_setfile_B_mipi_1062_mhz) },
|
||||
{ "1116 Msps",
|
||||
sensor_s5k3lu_setfile_B_mipi_1116_mhz, ARRAY_SIZE(sensor_s5k3lu_setfile_B_mipi_1116_mhz) },
|
||||
{ "1196 Msps",
|
||||
sensor_s5k3lu_setfile_B_mipi_1196_mhz, ARRAY_SIZE(sensor_s5k3lu_setfile_B_mipi_1196_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_s5k3lu_setfile_B_mipi_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10573, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10574, 10642, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10643, 10654, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10655, 10712, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10713, 10780, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10781, 10785, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10786, 10838, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9671, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9672, 9713, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9714, 9740, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9741, 9741, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9742, 9810, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9811, 9848, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9849, 9873, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9874, 9880, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9881, 9938, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1173, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1174, 1241, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1242, 1265, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1266, 1311, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1312, 1380, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1381, 1392, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1393, 1449, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1450, 1450, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1451, 1513, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1548, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1549, 1617, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1618, 1629, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1630, 1687, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1688, 1738, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4412, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4413, 4458, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4413, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2265, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2266, 2313, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2314, 2333, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2334, 2406, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2407, 2439, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2440, 2471, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2472, 2546, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2547, 2563, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2984, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2985, 3014, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3015, 3049, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3050, 3088, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 737, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 738, 763, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 47, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 48, 184, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 185, 209, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 210, 324, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 325, 461, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 462, 470, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 471, 583, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 584, 599, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 643, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 644, 727, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 728, 781, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 782, 783, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 784, 920, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 921, 996, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 997, 1046, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1047, 1060, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1061, 1197, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1198, 1199, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1246, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1247, 1383, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1384, 1430, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1431, 1523, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1524, 1661, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1662, 1685, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1686, 1798, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1799, 1801, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1802, 1938, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1939, 1949, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1997, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1998, 2134, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2135, 2159, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2160, 2274, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2275, 2399, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2534, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2535, 2633, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2634, 2649, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2831, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2832, 2927, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2928, 2966, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2967, 3112, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3113, 3179, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3180, 3243, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3244, 3393, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3394, 3432, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3433, 3449, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3568, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3569, 3629, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3630, 3699, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3700, 3799, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5137, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5138, 5179, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5238, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5239, 5277, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5278, 5279, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5379, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5807, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5808, 5849, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5917, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5918, 5999, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6074, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6075, 6149, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6212, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6213, 6276, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6277, 6352, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6353, 6449, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6451, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6452, 6485, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6486, 6536, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6537, 6599, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8083, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8084, 8167, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8168, 8221, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8222, 8223, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8224, 8360, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8361, 8436, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8437, 8486, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8487, 8500, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8501, 8637, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8638, 8689, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8767, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8768, 8924, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8925, 9023, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9024, 9039, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9325, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9326, 9401, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9402, 9411, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9412, 9465, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9466, 9602, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9603, 9659, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9755, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9756, 9769, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9773, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9774, 9864, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9865, 9869, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10028, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10029, 10094, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10095, 10141, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10142, 10168, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10169, 10305, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10306, 10359, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36349, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37771, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37772, 37781, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37782, 37911, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37912, 38050, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38051, 38174, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38175, 38189, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38190, 38249, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38351, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38352, 38378, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38379, 38515, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38516, 38608, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38609, 38649, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38726, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38727, 38875, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38876, 38985, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38986, 39015, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39016, 39153, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39154, 39244, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39245, 39293, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39294, 39430, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39431, 39497, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39498, 39570, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39571, 39649, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39662, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39663, 39707, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39708, 39857, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39858, 39915, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39916, 39989, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39990, 40134, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40135, 40168, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40169, 40270, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40271, 40411, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40412, 40421, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40422, 40551, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40552, 40690, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40691, 40814, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40815, 40829, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40830, 40971, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40972, 41067, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41068, 41106, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41107, 41252, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41253, 41319, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41320, 41383, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41384, 41533, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41534, 41572, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41573, 41589, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41632, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41633, 41668, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41669, 41695, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41696, 41772, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41773, 41909, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41910, 41921, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41922, 41961, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41962, 42049, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42050, 42186, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42187, 42227, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42228, 42314, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42315, 42326, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42327, 42464, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42465, 42493, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42494, 42567, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42568, 42604, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42605, 42741, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42742, 42759, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42760, 42820, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42821, 42881, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42882, 43018, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43019, 43025, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43026, 43073, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43074, 43158, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43159, 43296, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43297, 43326, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43327, 43436, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43437, 43573, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43574, 43579, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43580, 43589, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55308, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55309, 55446, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55447, 55476, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55477, 55586, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55587, 55723, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55724, 55729, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55730, 55842, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55843, 55861, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55862, 56000, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56001, 56095, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56096, 56098, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56099, 56140, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56141, 56278, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56279, 56348, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56349, 56364, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56365, 56418, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56419, 56555, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56556, 56601, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56602, 56630, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56631, 56695, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56696, 56739, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66483, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66484, 66620, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66621, 66645, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66646, 66760, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66761, 66897, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66898, 66906, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66907, 67019, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67020, 67037, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67038, 67175, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67176, 67272, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67273, 67315, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67316, 67335, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68587, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68588, 68724, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68725, 68741, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68742, 68809, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68810, 68864, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68865, 68935, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 174300, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 174301, 176480, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176481, 178780, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 185420, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185421, 187350, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187351, 189310, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189311, 190150, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 190151, 190980, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 190981, 191980, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146550, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146551, 148220, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148221, 149200, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 158830, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158831, 160710, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160711, 162460, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162461, 163050, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163051, 164180, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 151980, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151981, 153530, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153531, 155340, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155341, 156620, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156621, 157140, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157141, 157430, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157431, 158830, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158831, 160580, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124240, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124241, 125160, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125161, 126490, CAM_S5K3LU_SET_B_1116_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126491, 128760, CAM_S5K3LU_SET_B_1196_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128761, 129540, CAM_S5K3LU_SET_B_1062_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129541, 130380, CAM_S5K3LU_SET_B_1164_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_front_mipi_B_mode[] = {
|
||||
{
|
||||
sensor_s5k3lu_setfile_B_mipi_channel, ARRAY_SIZE(sensor_s5k3lu_setfile_B_mipi_channel),
|
||||
sensor_s5k3lu_setfile_B_mipi_setting, ARRAY_SIZE(sensor_s5k3lu_setfile_B_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
/*************************************/
|
||||
/* ========== DUMMY ================ */
|
||||
/*************************************/
|
||||
enum {
|
||||
CAM_FRONT_SET_DUMMY_MHZ = 0,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_FRONT_DUMMY_MHZ_REG_ARRAY[] = {
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_front_setfile_dummy_mhz[] = {
|
||||
{ MIPI_FRONT_DUMMY_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_FRONT_DUMMY_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_front_setfile_dummy_mipi_setting[] = {
|
||||
{ "DUMMY Msps",
|
||||
sensor_front_setfile_dummy_mhz, ARRAY_SIZE(sensor_front_setfile_dummy_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_front_setfile_dummy_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_FRONT_SET_DUMMY_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_front_mipi_C_mode[] = {
|
||||
{
|
||||
sensor_front_setfile_dummy_channel, ARRAY_SIZE(sensor_front_setfile_dummy_channel),
|
||||
sensor_front_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_front_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_front_mipi_D_mode[] = {
|
||||
{
|
||||
sensor_front_setfile_dummy_channel, ARRAY_SIZE(sensor_front_setfile_dummy_channel),
|
||||
sensor_front_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_front_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
#endif /* _CAM_SENSOR_ADAPTIVE_MIPI_S5K3LU_H_ */
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,996 @@
|
||||
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef _CAM_SENSOR_ADAPTIVE_MIPI_S5KGN3_H_
|
||||
#define _CAM_SENSOR_ADAPTIVE_MIPI_S5KGN3_H_
|
||||
|
||||
#include "cam_sensor_dev.h"
|
||||
|
||||
int num_wide_mipi_setting = 3;
|
||||
|
||||
/*
|
||||
SET A : Full-Remosaic, 4SUM (10Bit)
|
||||
SET B : 4SUM+A2A2 (10Bit), 8k (10Bit)
|
||||
SET C : Full-Remosaic, 4SUM (12Bit)
|
||||
*/
|
||||
|
||||
/*************************************/
|
||||
/* ========== Mode A =============== */
|
||||
/*************************************/
|
||||
|
||||
enum {
|
||||
CAM_S5KGN3_SET_A_3046_MHZ = 0,
|
||||
CAM_S5KGN3_SET_A_3008_MHZ = 1,
|
||||
CAM_S5KGN3_SET_A_2982_MHZ = 2,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_A_3046_MHZ_REG_ARRAY[] = {
|
||||
{0x0310, 0x00EE, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_A_3008_MHZ_REG_ARRAY[] = {
|
||||
{0x0310, 0x00EB, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_A_2982_MHZ_REG_ARRAY[] = {
|
||||
{0x0310, 0x00E9, 0x00, 0x00},
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5kgn3_setfile_A_3046_mhz[] = {
|
||||
{ MIPI_A_3046_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_A_3046_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5kgn3_setfile_A_3008_mhz[] = {
|
||||
{ MIPI_A_3008_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_A_3008_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5kgn3_setfile_A_2982_mhz[] = {
|
||||
{ MIPI_A_2982_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_A_2982_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_s5kgn3_setfile_A_mipi_setting[] = {
|
||||
{ "3046 Mhz",
|
||||
sensor_s5kgn3_setfile_A_3046_mhz, ARRAY_SIZE(sensor_s5kgn3_setfile_A_3046_mhz) },
|
||||
{ "3008 Mhz",
|
||||
sensor_s5kgn3_setfile_A_3008_mhz, ARRAY_SIZE(sensor_s5kgn3_setfile_A_3008_mhz) },
|
||||
{ "2982 Mhz",
|
||||
sensor_s5kgn3_setfile_A_2982_mhz, ARRAY_SIZE(sensor_s5kgn3_setfile_A_2982_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_s5kgn3_setfile_A_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10626, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10627, 10635, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10636, 10692, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10693, 10771, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10772, 10778, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10779, 10838, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9683, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9684, 9756, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9757, 9776, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9777, 9828, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9829, 9901, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9902, 9919, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9920, 9938, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1184, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1185, 1227, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1228, 1300, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1301, 1328, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1329, 1372, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1373, 1445, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1446, 1471, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1472, 1513, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1601, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1602, 1610, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1611, 1668, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1669, 1738, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4388, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4389, 4404, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4405, 4458, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4413, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2289, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2290, 2362, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2363, 2389, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2390, 2434, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2435, 2507, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2508, 2532, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2533, 2563, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2978, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2979, 2991, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2992, 3051, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3052, 3088, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 729, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 730, 763, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 152, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 153, 170, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 171, 285, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 286, 442, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 443, 457, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 458, 572, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 573, 599, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 666, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 667, 811, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 812, 851, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 852, 956, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 957, 1101, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1102, 1138, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1139, 1199, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1210, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1211, 1269, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1270, 1355, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1356, 1500, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1501, 1556, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1557, 1645, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1646, 1791, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1792, 1842, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1843, 1936, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1937, 1949, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2102, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2103, 2120, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2121, 2235, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2236, 2392, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2393, 2399, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2486, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2487, 2519, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2520, 2631, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2632, 2649, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2793, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2794, 2879, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2880, 3024, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3025, 3078, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3079, 3169, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3170, 3314, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3315, 3364, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3365, 3449, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3556, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3557, 3582, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3583, 3701, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3702, 3799, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5045, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5046, 5096, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5097, 5179, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5190, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5191, 5279, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5315, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5316, 5363, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5364, 5379, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5766, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5767, 5849, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5881, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5882, 5999, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6026, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6027, 6059, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6060, 6149, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6189, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6190, 6291, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6292, 6436, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6437, 6449, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6467, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6468, 6505, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6506, 6599, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8106, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8107, 8251, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8252, 8291, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8292, 8396, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8397, 8541, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8542, 8578, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8579, 8686, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8687, 8689, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8731, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8732, 8876, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8877, 8909, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8910, 9021, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9022, 9039, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9245, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9246, 9293, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9294, 9391, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9392, 9536, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9537, 9579, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9580, 9659, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9670, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9671, 9769, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9843, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9844, 9869, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9979, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9980, 10090, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10091, 10124, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10125, 10269, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10270, 10359, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36224, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36225, 36336, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36337, 36349, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37799, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37800, 37944, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37945, 38008, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38009, 38089, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38090, 38234, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38235, 38249, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38381, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38382, 38429, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38430, 38526, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38527, 38649, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38755, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38756, 38788, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38789, 38933, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38934, 39041, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39042, 39078, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39079, 39223, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39224, 39326, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39327, 39368, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39369, 39513, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39514, 39611, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39612, 39649, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39713, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39714, 39792, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39793, 39859, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39860, 40004, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40005, 40077, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40078, 40149, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40150, 40294, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40295, 40363, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40364, 40439, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40440, 40584, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40585, 40648, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40649, 40729, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40730, 40874, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40875, 40933, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40934, 41019, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41020, 41164, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41165, 41218, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41219, 41309, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41310, 41454, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41455, 41504, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41505, 41589, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41608, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41609, 41609, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41610, 41753, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41754, 41898, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41899, 42041, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42042, 42188, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42189, 42329, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42330, 42478, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42479, 42617, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42618, 42768, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42769, 42906, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42907, 43058, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43059, 43194, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43195, 43348, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43349, 43483, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43484, 43589, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55344, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55345, 55498, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55499, 55633, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55634, 55789, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55790, 55921, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55922, 56079, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56080, 56209, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56210, 56369, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56370, 56497, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56498, 56659, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56660, 56739, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66588, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66589, 66606, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66607, 66721, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66722, 66878, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66879, 66893, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66894, 67008, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67009, 67168, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67169, 67179, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67180, 67295, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67296, 67335, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68646, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68647, 68726, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68727, 68874, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68875, 68933, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68934, 68935, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 175520, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175521, 176180, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176181, 178420, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178421, 178780, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 187120, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187121, 187640, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187641, 190020, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 190021, 191980, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146500, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146501, 147520, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147521, 149200, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 158980, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158981, 161020, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 161021, 163920, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163921, 164180, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 152300, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 152301, 153260, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153261, 155220, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155221, 158120, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158121, 158980, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158981, 160580, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124600, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124601, 126200, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126201, 129160, CAM_S5KGN3_SET_A_3046_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129161, 130340, CAM_S5KGN3_SET_A_2982_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 130341, 130380, CAM_S5KGN3_SET_A_3008_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_wide_mipi_A_mode[] = {
|
||||
{
|
||||
sensor_s5kgn3_setfile_A_channel, ARRAY_SIZE(sensor_s5kgn3_setfile_A_channel),
|
||||
sensor_s5kgn3_setfile_A_mipi_setting, ARRAY_SIZE(sensor_s5kgn3_setfile_A_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
/*************************************/
|
||||
/* ========== Mode B =============== */
|
||||
/*************************************/
|
||||
enum {
|
||||
CAM_S5KGN3_SET_B_2585_MHZ = 0,
|
||||
CAM_S5KGN3_SET_B_2547_MHZ = 1,
|
||||
CAM_S5KGN3_SET_B_2483_MHZ = 2,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_B_2585_MHZ_REG_ARRAY[] = {
|
||||
{0x0310, 0x00CA, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_B_2547_MHZ_REG_ARRAY[] = {
|
||||
{0x0310, 0x00C7, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_B_2483_MHZ_REG_ARRAY[] = {
|
||||
{0x0310, 0x00C2, 0x00, 0x00},
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5kgn3_setfile_B_2585_mhz[] = {
|
||||
{ MIPI_B_2585_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_B_2585_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5kgn3_setfile_B_2547_mhz[] = {
|
||||
{ MIPI_B_2547_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_B_2547_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5kgn3_setfile_B_2483_mhz[] = {
|
||||
{ MIPI_B_2483_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_B_2483_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_s5kgn3_setfile_B_mipi_setting[] = {
|
||||
{ "2585 Mhz",
|
||||
sensor_s5kgn3_setfile_B_2585_mhz, ARRAY_SIZE(sensor_s5kgn3_setfile_B_2585_mhz) },
|
||||
{ "2547 Mhz",
|
||||
sensor_s5kgn3_setfile_B_2547_mhz, ARRAY_SIZE(sensor_s5kgn3_setfile_B_2547_mhz) },
|
||||
{ "2483 Mhz",
|
||||
sensor_s5kgn3_setfile_B_2483_mhz, ARRAY_SIZE(sensor_s5kgn3_setfile_B_2483_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_s5kgn3_setfile_B_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10619, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10620, 10643, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10644, 10680, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10681, 10742, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10743, 10764, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10765, 10804, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10805, 10838, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9673, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9674, 9696, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9697, 9772, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9773, 9795, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9796, 9819, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9820, 9892, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9893, 9916, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9917, 9938, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1205, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1206, 1290, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1291, 1328, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1329, 1412, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1413, 1451, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1452, 1513, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1594, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1595, 1619, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1620, 1656, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1657, 1718, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1719, 1738, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4396, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4397, 4401, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4402, 4458, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4413, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2255, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2256, 2268, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2269, 2330, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2331, 2376, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2377, 2391, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2392, 2453, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2454, 2497, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2498, 2514, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2515, 2563, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2945, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2946, 3009, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3010, 3066, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3067, 3088, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 721, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 722, 726, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 727, 763, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 15, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 16, 138, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 139, 187, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 188, 261, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 262, 385, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 386, 429, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 430, 508, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 509, 599, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 646, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 647, 691, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 692, 842, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 843, 889, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 890, 938, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 939, 1084, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1085, 1131, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1132, 1184, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1185, 1199, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1310, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1311, 1480, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1481, 1557, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1558, 1724, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1725, 1803, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1804, 1949, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1965, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1966, 2088, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2089, 2137, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2138, 2211, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2212, 2335, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2336, 2379, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2380, 2399, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2503, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2504, 2513, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2514, 2636, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2637, 2649, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2810, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2811, 2836, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2837, 2960, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2961, 3053, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3054, 3083, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3084, 3206, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3207, 3295, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3296, 3329, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3330, 3449, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3479, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3480, 3489, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3490, 3618, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3619, 3732, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3733, 3799, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5045, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5046, 5179, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5279, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5379, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5849, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5930, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5931, 5999, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6043, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6044, 6053, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6054, 6149, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6183, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6184, 6304, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6305, 6427, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6428, 6449, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6573, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6574, 6592, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6593, 6599, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8086, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8087, 8131, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8132, 8282, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8283, 8329, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8330, 8378, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8379, 8524, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8525, 8571, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8572, 8624, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8625, 8689, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8780, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8781, 8893, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8894, 8903, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8904, 9026, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9027, 9039, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9329, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9330, 9448, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9449, 9573, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9574, 9659, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9700, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9701, 9769, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9848, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9849, 9869, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9990, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9991, 10016, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10017, 10113, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10114, 10236, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10237, 10258, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10259, 10359, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36230, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36231, 36349, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37825, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37826, 37917, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37918, 38067, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38068, 38090, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38091, 38213, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38214, 38249, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38311, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38312, 38349, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38350, 38509, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38510, 38553, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38554, 38595, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38596, 38649, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38735, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38736, 38858, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38859, 38878, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38879, 38981, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38982, 39105, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39106, 39120, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39121, 39228, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39229, 39351, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39352, 39361, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39362, 39474, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39475, 39601, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39602, 39649, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39737, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39738, 39745, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39746, 39868, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39869, 39980, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39981, 39991, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39992, 40144, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40145, 40238, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40239, 40361, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40362, 40465, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40466, 40557, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40558, 40707, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40708, 40730, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40731, 40853, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40854, 40950, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40951, 40976, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40977, 41100, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41101, 41193, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41194, 41223, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41224, 41346, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41347, 41435, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41436, 41469, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41470, 41589, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41633, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41634, 41719, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41720, 41756, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41757, 41879, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41880, 41959, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41960, 42003, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42004, 42126, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42127, 42198, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42199, 42249, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42250, 42372, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42373, 42438, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42439, 42495, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42496, 42618, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42619, 42677, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42678, 42741, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42742, 42864, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42865, 42917, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42918, 42988, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42989, 43111, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43112, 43157, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43158, 43234, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43235, 43357, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43358, 43396, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43397, 43480, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43481, 43589, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55261, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55262, 55307, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55308, 55384, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55385, 55507, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55508, 55546, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55547, 55630, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55631, 55789, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55790, 55876, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55877, 56033, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56034, 56123, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56124, 56278, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56279, 56369, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56370, 56523, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56524, 56615, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56616, 56739, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66451, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66452, 66574, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66575, 66623, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66624, 66697, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66698, 66821, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66822, 66865, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66866, 66944, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66945, 67067, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67068, 67108, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67109, 67190, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67191, 67313, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67314, 67335, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68648, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68649, 68756, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68757, 68892, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68893, 68935, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 175860, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175861, 176060, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176061, 178520, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178521, 178780, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 185580, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185581, 185770, CAM_S5KGN3_SET_B_2483_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185771, 188360, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 188361, 190630, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 190631, 191980, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146500, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146501, 149070, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 149071, 149200, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 158850, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158851, 161280, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 161281, 163740, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163741, 164180, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 153970, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153971, 156360, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156361, 158850, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158851, 160580, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124630, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124631, 126800, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126801, 129520, CAM_S5KGN3_SET_B_2585_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129521, 130380, CAM_S5KGN3_SET_B_2547_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_wide_mipi_B_mode[] = {
|
||||
{
|
||||
sensor_s5kgn3_setfile_B_channel, ARRAY_SIZE(sensor_s5kgn3_setfile_B_channel),
|
||||
sensor_s5kgn3_setfile_B_mipi_setting, ARRAY_SIZE(sensor_s5kgn3_setfile_B_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
/*************************************/
|
||||
/* ========== Mode C =============== */
|
||||
/*************************************/
|
||||
enum {
|
||||
CAM_S5KGN3_SET_C_3315_MHZ = 0,
|
||||
CAM_S5KGN3_SET_C_3456_MHZ = 1,
|
||||
CAM_S5KGN3_SET_C_3340_MHZ = 2,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_C_3315_MHZ_REG_ARRAY[] = {
|
||||
{0x0310, 0x0103, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_C_3456_MHZ_REG_ARRAY[] = {
|
||||
{0x0310, 0x010E, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_C_3340_MHZ_REG_ARRAY[] = {
|
||||
{0x0310, 0x0105, 0x00, 0x00},
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5kgn3_setfile_C_3315_mhz[] = {
|
||||
{ MIPI_C_3315_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_C_3315_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5kgn3_setfile_C_3456_mhz[] = {
|
||||
{ MIPI_C_3456_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_C_3456_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5kgn3_setfile_C_3340_mhz[] = {
|
||||
{ MIPI_C_3340_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_C_3340_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_s5kgn3_setfile_C_mipi_setting[] = {
|
||||
{ "3315 Mhz",
|
||||
sensor_s5kgn3_setfile_C_3315_mhz, ARRAY_SIZE(sensor_s5kgn3_setfile_C_3315_mhz) },
|
||||
{ "3456 Mhz",
|
||||
sensor_s5kgn3_setfile_C_3456_mhz, ARRAY_SIZE(sensor_s5kgn3_setfile_C_3456_mhz) },
|
||||
{ "3340 Mhz",
|
||||
sensor_s5kgn3_setfile_C_3340_mhz, ARRAY_SIZE(sensor_s5kgn3_setfile_C_3340_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_s5kgn3_setfile_C_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10618, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10619, 10652, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10653, 10693, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10694, 10776, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10777, 10816, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10817, 10838, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9671, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9672, 9746, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9747, 9829, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9830, 9904, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9905, 9938, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1221, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1222, 1237, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1238, 1322, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1323, 1385, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1386, 1396, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1397, 1480, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1481, 1513, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1593, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1594, 1627, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1628, 1668, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1669, 1738, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4458, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4413, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2269, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2270, 2335, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2336, 2344, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2345, 2427, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2428, 2500, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2501, 2563, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2953, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2954, 2976, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2977, 3077, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3078, 3088, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 763, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 136, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 137, 204, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 205, 286, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 287, 452, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 453, 533, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 534, 599, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 642, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 643, 792, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 793, 958, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 959, 1108, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1109, 1199, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1229, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1230, 1342, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1343, 1374, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1375, 1545, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1546, 1671, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1672, 1692, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1693, 1861, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1862, 1949, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2086, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2087, 2154, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2155, 2236, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2237, 2399, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2633, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2634, 2649, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2838, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2839, 2970, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2971, 2988, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2989, 3154, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3155, 3300, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3301, 3304, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3305, 3449, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3505, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3506, 3550, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3551, 3754, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3755, 3799, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5064, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5065, 5179, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5214, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5215, 5279, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5360, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5361, 5379, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5734, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5735, 5849, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5857, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5858, 5897, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5898, 5999, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6149, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6216, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6217, 6228, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6229, 6322, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6323, 6449, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6535, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6536, 6563, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6564, 6599, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8082, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8083, 8232, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8233, 8398, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8399, 8548, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8549, 8689, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8707, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8708, 8747, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8748, 8816, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8817, 9023, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9024, 9039, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9290, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9291, 9395, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9396, 9440, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9441, 9606, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9607, 9618, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9619, 9659, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9668, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9669, 9769, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9867, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9868, 9869, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10006, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10007, 10120, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10121, 10156, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10157, 10322, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10323, 10359, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36224, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36225, 36349, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37812, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37813, 37857, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37858, 38022, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38023, 38141, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38142, 38172, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38173, 38249, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38300, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38301, 38309, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38310, 38476, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38477, 38626, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38627, 38649, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38787, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38788, 38929, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38930, 38931, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38932, 39097, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39098, 39109, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39110, 39247, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39248, 39412, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39413, 39437, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39438, 39562, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39563, 39649, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39715, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39716, 39794, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39795, 39865, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39866, 40031, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40032, 40123, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40124, 40181, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40182, 40347, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40348, 40452, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40453, 40497, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40498, 40662, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40663, 40781, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40782, 40812, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40813, 40978, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40979, 41110, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41111, 41128, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41129, 41294, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41295, 41440, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41441, 41444, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41445, 41589, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41606, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41607, 41772, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41773, 41910, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41911, 41922, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41923, 42137, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42138, 42225, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42226, 42237, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42238, 42403, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42404, 42553, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42554, 42719, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42720, 42869, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42870, 43041, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43042, 43185, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43186, 43364, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43365, 43500, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43501, 43589, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55335, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55336, 55514, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55515, 55650, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55651, 55836, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55837, 55966, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55967, 56159, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56160, 56282, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56283, 56481, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56482, 56597, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56598, 56739, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66572, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66573, 66640, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66641, 66722, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66723, 66888, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66889, 66969, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66970, 67038, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67039, 67205, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67206, 67298, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67299, 67335, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68647, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68648, 68813, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68814, 68886, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68887, 68935, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 178380, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178381, 178780, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 185960, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185961, 186990, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186991, 191000, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191001, 191980, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146800, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146801, 149200, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 159440, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159441, 159620, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159621, 161630, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 161631, 164180, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 153120, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153121, 155290, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155291, 159440, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159441, 159620, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159621, 160580, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124700, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124701, 127860, CAM_S5KGN3_SET_C_3315_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127861, 129420, CAM_S5KGN3_SET_C_3340_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129421, 130380, CAM_S5KGN3_SET_C_3456_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_wide_mipi_C_mode[] = {
|
||||
{
|
||||
sensor_s5kgn3_setfile_C_channel, ARRAY_SIZE(sensor_s5kgn3_setfile_C_channel),
|
||||
sensor_s5kgn3_setfile_C_mipi_setting, ARRAY_SIZE(sensor_s5kgn3_setfile_C_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
/*************************************/
|
||||
/* ========== DUMMY ================ */
|
||||
/*************************************/
|
||||
enum {
|
||||
CAM_WIDE_SET_DUMMY_MHZ = 0,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_WIDE_DUMMY_MHZ_REG_ARRAY[] = {
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_wide_setfile_dummy_mhz[] = {
|
||||
{ MIPI_WIDE_DUMMY_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_WIDE_DUMMY_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_wide_setfile_dummy_mipi_setting[] = {
|
||||
{ "DUMMY Mhz",
|
||||
sensor_wide_setfile_dummy_mhz, ARRAY_SIZE(sensor_wide_setfile_dummy_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_wide_setfile_dummy_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_WIDE_SET_DUMMY_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_wide_mipi_D_mode[] = {
|
||||
{
|
||||
sensor_wide_setfile_dummy_channel, ARRAY_SIZE(sensor_wide_setfile_dummy_channel),
|
||||
sensor_wide_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_wide_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
#endif /* _CAM_SENSOR_ADAPTIVE_MIPI_S5KGN3_H_ */
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,906 @@
|
||||
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef _CAM_SENSOR_ADAPTIVE_MIPI_S5KHP2_H_
|
||||
#define _CAM_SENSOR_ADAPTIVE_MIPI_S5KHP2_H_
|
||||
|
||||
#include "cam_sensor_dev.h"
|
||||
|
||||
int num_wide_mipi_setting = 4;
|
||||
|
||||
/*
|
||||
SET A : A01~14, B01, B06 (3712 / 3686.4)
|
||||
SET B : C01 (3712)
|
||||
SET C : B04, D02 (2860.8 / 2944 / 2988.8)
|
||||
SET D : D01, D03 (1811.2 / 1849.6 / 1862.4)
|
||||
*/
|
||||
|
||||
/*************************************/
|
||||
/* ========== Mode A =============== */
|
||||
/*************************************/
|
||||
|
||||
enum {
|
||||
CAM_S5KHP2_SET_A_3712_MHZ = 0,
|
||||
CAM_S5KHP2_SET_A_3686_MHZ = 1,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_A_3712_MHZ_REG_ARRAY[] = {
|
||||
{0x0310, 0x0122, 0x00, 0x00},
|
||||
{0x0312, 0x0000, 0x00, 0x00},
|
||||
{0x030E, 0x0003, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_A_3686_MHZ_REG_ARRAY[] = {
|
||||
{0x0310, 0x0120, 0x00, 0x00},
|
||||
{0x0312, 0x0000, 0x00, 0x00},
|
||||
{0x030E, 0x0003, 0x00, 0x00},
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5khp2_setfile_A_3712_mhz[] = {
|
||||
{ MIPI_A_3712_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_A_3712_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5khp2_setfile_A_3686_mhz[] = {
|
||||
{ MIPI_A_3686_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_A_3686_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_s5khp2_setfile_A_mipi_setting[] = {
|
||||
{ "3712 Msps",
|
||||
sensor_s5khp2_setfile_A_3712_mhz, ARRAY_SIZE(sensor_s5khp2_setfile_A_3712_mhz) },
|
||||
{ "3686 Msps",
|
||||
sensor_s5khp2_setfile_A_3686_mhz, ARRAY_SIZE(sensor_s5khp2_setfile_A_3686_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_s5khp2_setfile_A_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10570, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10571, 10640, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10641, 10791, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10792, 10838, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9756, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9757, 9938, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1305, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1306, 1372, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1373, 1439, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1440, 1513, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1545, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1546, 1615, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1616, 1738, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4404, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4405, 4458, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 4387, 2281, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2282, 2347, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2348, 2417, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2418, 2563, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 3088, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 763, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 41, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 42, 181, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 182, 483, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 484, 599, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 813, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 814, 1199, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1511, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1512, 1645, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1646, 1779, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1780, 1949, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1991, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1992, 2131, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2132, 2399, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2417, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2418, 2518, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2519, 2649, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2773, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2774, 2862, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2863, 2994, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2995, 3134, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3135, 3449, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3784, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3785, 3799, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5179, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5279, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5309, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5310, 5379, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5849, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5957, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5958, 5999, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6058, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6059, 6149, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6449, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6599, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8253, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8254, 8689, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8807, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8808, 8908, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8909, 9039, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9239, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9240, 9336, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9337, 9459, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9460, 9557, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9558, 9659, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9769, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9869, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9921, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9922, 10042, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10043, 10251, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10252, 10359, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36247, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36248, 36349, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37750, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37751, 38249, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38649, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38779, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38780, 38919, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38920, 39485, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39486, 39649, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 40176, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40177, 40390, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40391, 40913, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40914, 41002, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41003, 41134, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41135, 41274, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41275, 41589, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41686, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41687, 41988, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41989, 42104, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42105, 42320, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42321, 42460, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42461, 42930, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42931, 43012, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43013, 43093, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43094, 43233, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43234, 43589, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55243, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55244, 55383, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55384, 55906, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55907, 56156, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56157, 56732, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56733, 56739, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66477, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66478, 66617, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66618, 66919, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66920, 67059, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67060, 67335, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68935, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 176150, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176151, 178780, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 190680, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 190681, 191980, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 149200, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 164180, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 156320, CAM_S5KHP2_SET_A_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156321, 160580, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 130380, CAM_S5KHP2_SET_A_3686_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_wide_mipi_A_mode[] = {
|
||||
{
|
||||
sensor_s5khp2_setfile_A_channel, ARRAY_SIZE(sensor_s5khp2_setfile_A_channel),
|
||||
sensor_s5khp2_setfile_A_mipi_setting, ARRAY_SIZE(sensor_s5khp2_setfile_A_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
/*************************************/
|
||||
/* ========== Mode B =============== */
|
||||
/*************************************/
|
||||
enum {
|
||||
CAM_S5KHP2_SET_B_3712_MHZ = 0,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_B_3712_MHZ_REG_ARRAY[] = {
|
||||
{0x0310, 0x0122, 0x00, 0x00},
|
||||
{0x0312, 0x0000, 0x00, 0x00},
|
||||
{0x030E, 0x0003, 0x00, 0x00},
|
||||
};
|
||||
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5khp2_setfile_B_3712_mhz[] = {
|
||||
{ MIPI_B_3712_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_B_3712_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
|
||||
static const struct cam_mipi_setting sensor_s5khp2_setfile_B_mipi_setting[] = {
|
||||
{ "3712 Msps",
|
||||
sensor_s5khp2_setfile_B_3712_mhz, ARRAY_SIZE(sensor_s5khp2_setfile_B_3712_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_s5khp2_setfile_B_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10594, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10595, 10716, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10717, 10786, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10787, 10838, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9764, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9765, 9890, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9891, 9938, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1175, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1176, 1497, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1498, 1513, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1569, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1570, 1691, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1692, 1738, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4449, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4450, 4458, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4413, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2417, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2418, 2487, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2488, 2529, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2530, 2563, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2971, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2972, 3038, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3039, 3088, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 763, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 89, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 90, 333, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 334, 473, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 474, 599, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 829, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 830, 1081, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1082, 1199, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1251, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1252, 1895, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1896, 1949, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2039, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2040, 2283, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2284, 2399, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2403, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2404, 2609, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2610, 2649, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 3135, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3136, 3275, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3276, 3359, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3360, 3449, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3543, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3544, 3677, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3678, 3799, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5179, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5279, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5379, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5849, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5943, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5944, 5999, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6149, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6249, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6250, 6373, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6374, 6449, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6599, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8269, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8270, 8521, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8522, 8689, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8793, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8794, 8999, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9000, 9039, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9416, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9417, 9527, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9528, 9639, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9640, 9659, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9727, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9728, 9769, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9859, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9860, 9869, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10225, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10226, 10359, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36349, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37851, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37852, 38103, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38104, 38249, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38335, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38336, 38649, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38897, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38898, 39015, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39016, 39099, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39100, 39239, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39240, 39649, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39707, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39708, 39847, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39848, 40491, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40492, 40743, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40744, 41275, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41276, 41415, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41416, 41499, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41500, 41589, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41708, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41709, 42072, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42073, 42156, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42157, 42464, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42465, 42604, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42605, 42800, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42801, 42906, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42907, 43360, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43361, 43500, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43501, 43584, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43585, 43589, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55510, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55511, 55650, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55651, 55734, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55735, 55874, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55875, 56406, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56407, 56658, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56659, 56739, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66525, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66526, 66769, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66770, 66909, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66910, 67217, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67218, 67335, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68645, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68646, 68757, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68758, 68935, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 174610, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 174611, 178780, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186860, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186861, 190540, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 190541, 191980, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 149200, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 160180, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160181, 163660, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163661, 164180, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 155730, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155731, 157940, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157941, 160580, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124580, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126121, 127820, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127821, 130380, CAM_S5KHP2_SET_B_3712_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_wide_mipi_B_mode[] = {
|
||||
{
|
||||
sensor_s5khp2_setfile_B_channel, ARRAY_SIZE(sensor_s5khp2_setfile_B_channel),
|
||||
sensor_s5khp2_setfile_B_mipi_setting, ARRAY_SIZE(sensor_s5khp2_setfile_B_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
/*************************************/
|
||||
/* ========== Mode C =============== */
|
||||
/*************************************/
|
||||
enum {
|
||||
CAM_S5KHP2_SET_C_2860_MHZ = 0,
|
||||
CAM_S5KHP2_SET_C_2944_MHZ = 1,
|
||||
CAM_S5KHP2_SET_C_2988_MHZ = 2,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_C_2860_MHZ_REG_ARRAY[] = {
|
||||
{0x0310, 0x01BF, 0x00, 0x00},
|
||||
{0x0312, 0x0001, 0x00, 0x00},
|
||||
{0x030E, 0x0003, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_C_2944_MHZ_REG_ARRAY[] = {
|
||||
{0x0310, 0x01CC, 0x00, 0x00},
|
||||
{0x0312, 0x0001, 0x00, 0x00},
|
||||
{0x030E, 0x0003, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_C_2988_MHZ_REG_ARRAY[] = {
|
||||
{0x0310, 0x01D3, 0x00, 0x00},
|
||||
{0x0312, 0x0001, 0x00, 0x00},
|
||||
{0x030E, 0x0003, 0x00, 0x00},
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5khp2_setfile_C_2860_mhz[] = {
|
||||
{ MIPI_C_2860_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_C_2860_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5khp2_setfile_C_2944_mhz[] = {
|
||||
{ MIPI_C_2944_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_C_2944_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5khp2_setfile_C_2988_mhz[] = {
|
||||
{ MIPI_C_2988_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_C_2988_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_s5khp2_setfile_C_mipi_setting[] = {
|
||||
{ "2860 Msps",
|
||||
sensor_s5khp2_setfile_C_2860_mhz, ARRAY_SIZE(sensor_s5khp2_setfile_C_2860_mhz) },
|
||||
{ "2944 Msps",
|
||||
sensor_s5khp2_setfile_C_2944_mhz, ARRAY_SIZE(sensor_s5khp2_setfile_C_2944_mhz) },
|
||||
{ "2988 Msps",
|
||||
sensor_s5khp2_setfile_C_2988_mhz, ARRAY_SIZE(sensor_s5khp2_setfile_C_2988_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_s5khp2_setfile_C_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10620, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10621, 10639, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10640, 10709, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10710, 10838, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9927, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9928, 9938, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1348, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1349, 1359, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1360, 1411, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1412, 1429, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1430, 1499, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1500, 1513, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1595, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1596, 1614, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1615, 1684, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1685, 1738, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4393, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4394, 4458, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4393, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4394, 4413, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2254, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2255, 2324, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2325, 2563, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2960, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2961, 3088, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 718, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 719, 763, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 0, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 1, 140, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 141, 178, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 179, 318, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 319, 599, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 1155, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1156, 1199, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1596, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1597, 1619, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1620, 1722, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1723, 1759, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1760, 1899, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1900, 1949, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1950, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1951, 2090, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2091, 2128, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2129, 2268, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2269, 2399, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2497, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2498, 2649, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2771, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2772, 2809, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2810, 2949, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2950, 3449, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3521, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3522, 3799, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5121, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5122, 5146, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5147, 5179, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5261, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5262, 5279, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5379, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5791, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5792, 5816, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5817, 5849, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5859, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5860, 5897, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5898, 5906, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5907, 5999, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6037, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6038, 6149, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6449, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6504, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6505, 6599, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8595, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8596, 8689, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8709, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8710, 8747, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8748, 8756, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8757, 8887, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8888, 9039, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9387, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9388, 9410, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9411, 9527, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9528, 9659, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9676, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9677, 9769, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9823, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9824, 9861, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9862, 9869, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10273, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10274, 10359, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36349, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 38131, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38132, 38249, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38593, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38594, 38649, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 39063, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39064, 39203, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39204, 39241, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39242, 39381, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39382, 39649, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39666, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39667, 40238, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40239, 40378, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40379, 40771, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40772, 40911, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40912, 40949, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40950, 41089, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41090, 41589, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41717, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41718, 42088, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42089, 42228, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42229, 42258, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42259, 42398, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42399, 42939, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42940, 43079, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43080, 43280, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43281, 43408, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43409, 43420, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43421, 43589, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55430, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55431, 55558, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55559, 55570, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55571, 55770, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55771, 55910, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55911, 56451, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56452, 56470, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56471, 56591, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56592, 56622, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56623, 56739, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66436, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66437, 66576, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66577, 66614, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66615, 66754, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66755, 67326, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67327, 67335, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68619, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68620, 68654, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68655, 68712, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68713, 68750, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68751, 68794, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68795, 68890, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68891, 68935, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 174120, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 174121, 176740, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176741, 178780, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 187420, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187421, 191980, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 147020, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147021, 149200, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 158940, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158941, 164180, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 151810, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151811, 154140, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154141, 156600, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156601, 158940, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158941, 160580, CAM_S5KHP2_SET_C_2988_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 128560, CAM_S5KHP2_SET_C_2860_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128561, 130380, CAM_S5KHP2_SET_C_2944_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_wide_mipi_C_mode[] = {
|
||||
{
|
||||
sensor_s5khp2_setfile_C_channel, ARRAY_SIZE(sensor_s5khp2_setfile_C_channel),
|
||||
sensor_s5khp2_setfile_C_mipi_setting, ARRAY_SIZE(sensor_s5khp2_setfile_C_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
/*************************************/
|
||||
/* ========== Mode D =============== */
|
||||
/*************************************/
|
||||
enum {
|
||||
CAM_S5KHP2_SET_D_1811_MHZ = 0,
|
||||
CAM_S5KHP2_SET_D_1849_MHZ = 1,
|
||||
CAM_S5KHP2_SET_D_1862_MHZ = 2,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_D_1811_MHZ_REG_ARRAY[] = {
|
||||
{0x0310, 0x011B, 0x00, 0x00},
|
||||
{0x0312, 0x0001, 0x00, 0x00},
|
||||
{0x030E, 0x0003, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_D_1849_MHZ_REG_ARRAY[] = {
|
||||
{0x0310, 0x0121, 0x00, 0x00},
|
||||
{0x0312, 0x0001, 0x00, 0x00},
|
||||
{0x030E, 0x0003, 0x00, 0x00},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_D_1862_MHZ_REG_ARRAY[] = {
|
||||
{0x0310, 0x0123, 0x00, 0x00},
|
||||
{0x0312, 0x0001, 0x00, 0x00},
|
||||
{0x030E, 0x0003, 0x00, 0x00},
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5khp2_setfile_D_1811_mhz[] = {
|
||||
{ MIPI_D_1811_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_D_1811_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5khp2_setfile_D_1849_mhz[] = {
|
||||
{ MIPI_D_1849_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_D_1849_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_s5khp2_setfile_D_1862_mhz[] = {
|
||||
{ MIPI_D_1862_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_D_1862_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_s5khp2_setfile_D_mipi_setting[] = {
|
||||
{ "1811 Msps",
|
||||
sensor_s5khp2_setfile_D_1811_mhz, ARRAY_SIZE(sensor_s5khp2_setfile_D_1811_mhz) },
|
||||
{ "1849 Msps",
|
||||
sensor_s5khp2_setfile_D_1849_mhz, ARRAY_SIZE(sensor_s5khp2_setfile_D_1849_mhz) },
|
||||
{ "1862 Msps",
|
||||
sensor_s5khp2_setfile_D_1862_mhz, ARRAY_SIZE(sensor_s5khp2_setfile_D_1862_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_s5khp2_setfile_D_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10600, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10601, 10745, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10746, 10754, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10755, 10815, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10816, 10838, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9695, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9696, 9737, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9738, 9775, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9776, 9845, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9846, 9883, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9884, 9938, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1184, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1185, 1250, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1251, 1308, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1309, 1361, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1362, 1404, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1405, 1431, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1432, 1513, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1575, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1576, 1720, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1721, 1729, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1730, 1738, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4399, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4400, 4438, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4439, 4458, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4399, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4400, 4413, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2242, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2243, 2261, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2262, 2326, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2327, 2366, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2367, 2458, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2459, 2521, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2522, 2528, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2529, 2563, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2958, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2959, 2990, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2991, 3088, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 724, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 725, 763, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 100, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 101, 391, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 392, 408, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 409, 531, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 532, 599, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 691, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 692, 775, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 776, 851, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 852, 991, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 992, 1066, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1067, 1186, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1187, 1199, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1268, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1269, 1400, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1401, 1517, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1518, 1623, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1624, 1709, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1710, 1763, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1764, 1946, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1947, 1949, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2050, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2051, 2341, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2342, 2358, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2359, 2399, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2508, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2509, 2587, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2588, 2648, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2649, 2649, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2785, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2786, 2822, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2823, 2953, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2954, 3033, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3034, 3216, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3217, 3343, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3344, 3356, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3357, 3449, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3517, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3518, 3581, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3582, 3799, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5179, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5188, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5189, 5236, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5237, 5279, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5308, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5309, 5379, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5849, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5855, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5856, 5999, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6048, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6049, 6127, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6128, 6149, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6151, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6152, 6236, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6237, 6291, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6292, 6449, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6497, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6498, 6524, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6525, 6599, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8131, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8132, 8215, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8216, 8291, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8292, 8431, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8432, 8506, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8507, 8626, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8627, 8646, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8647, 8689, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8705, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8706, 8898, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8899, 8977, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8978, 9038, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9039, 9039, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9238, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9239, 9319, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9320, 9364, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9365, 9459, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9460, 9541, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9542, 9626, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9627, 9659, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9769, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9869, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9963, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9964, 10052, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10053, 10213, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10214, 10359, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36322, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36323, 36349, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37778, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37779, 37854, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37855, 37962, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37963, 37994, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37995, 38249, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38316, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38317, 38452, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38453, 38494, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38495, 38649, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38866, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38867, 38960, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38961, 39060, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39061, 39114, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39115, 39298, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39299, 39360, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39361, 39438, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39439, 39649, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39721, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39722, 39771, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39772, 40063, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40064, 40203, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40204, 40290, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40291, 40418, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40419, 40494, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40495, 40602, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40603, 40634, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40635, 40925, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40926, 40962, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40963, 41093, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41094, 41173, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41174, 41356, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41357, 41483, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41484, 41496, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41497, 41589, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41664, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41665, 41804, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41805, 42107, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42108, 42200, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42201, 42241, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42242, 42440, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42441, 42450, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42451, 42690, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42691, 43052, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43053, 43134, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43135, 43216, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43217, 43321, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43322, 43356, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43357, 43437, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43438, 43577, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43578, 43589, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55284, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55285, 55366, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55367, 55471, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55472, 55506, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55507, 55587, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55588, 55727, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55728, 56031, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56032, 56221, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56222, 56282, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56283, 56474, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56475, 56648, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56649, 56739, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66536, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66537, 66827, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66828, 66844, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66845, 66967, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66968, 67151, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67152, 67285, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67286, 67335, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68651, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68652, 68693, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68694, 68935, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 174960, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 174961, 178540, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178541, 178780, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 187340, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187341, 188620, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 188621, 191980, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 149200, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 160920, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160921, 162020, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162021, 164180, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 160580, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 125700, CAM_S5KHP2_SET_D_1811_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125701, 126540, CAM_S5KHP2_SET_D_1849_MHZ },
|
||||
{ CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126541, 130380, CAM_S5KHP2_SET_D_1862_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_wide_mipi_D_mode[] = {
|
||||
{
|
||||
sensor_s5khp2_setfile_D_channel, ARRAY_SIZE(sensor_s5khp2_setfile_D_channel),
|
||||
sensor_s5khp2_setfile_D_mipi_setting, ARRAY_SIZE(sensor_s5khp2_setfile_D_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
#endif /* _CAM_SENSOR_ADAPTIVE_MIPI_S5KHP2_H_ */
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,67 @@
|
||||
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef _CAM_SENSOR_ADAPTIVE_MIPI_FRONT_H_
|
||||
#define _CAM_SENSOR_ADAPTIVE_MIPI_FRONT_H_
|
||||
|
||||
#include "cam_sensor_dev.h"
|
||||
|
||||
int num_front_mipi_setting = 4;
|
||||
|
||||
enum {
|
||||
CAM_FRONT_SET_DUMMY_MHZ = 0,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_FRONT_DUMMY_MHZ_REG_ARRAY[] = {
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_front_setfile_dummy_mhz[] = {
|
||||
{ MIPI_FRONT_DUMMY_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_FRONT_DUMMY_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_front_setfile_dummy_mipi_setting[] = {
|
||||
{ "DUMMY Mhz",
|
||||
sensor_front_setfile_dummy_mhz, ARRAY_SIZE(sensor_front_setfile_dummy_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_front_setfile_dummy_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_FRONT_SET_DUMMY_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_front_mipi_A_mode[] = {
|
||||
{
|
||||
sensor_front_setfile_dummy_channel, ARRAY_SIZE(sensor_front_setfile_dummy_channel),
|
||||
sensor_front_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_front_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_front_mipi_B_mode[] = {
|
||||
{
|
||||
sensor_front_setfile_dummy_channel, ARRAY_SIZE(sensor_front_setfile_dummy_channel),
|
||||
sensor_front_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_front_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
static const struct cam_mipi_sensor_mode sensor_front_mipi_C_mode[] = {
|
||||
{
|
||||
sensor_front_setfile_dummy_channel, ARRAY_SIZE(sensor_front_setfile_dummy_channel),
|
||||
sensor_front_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_front_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_front_mipi_D_mode[] = {
|
||||
{
|
||||
sensor_front_setfile_dummy_channel, ARRAY_SIZE(sensor_front_setfile_dummy_channel),
|
||||
sensor_front_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_front_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
#endif /* _CAM_SENSOR_ADAPTIVE_MIPI_FRONT_H_ */
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,63 @@
|
||||
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef _CAM_SENSOR_ADAPTIVE_MIPI_FRONT_TOP_2_0_H_
|
||||
#define _CAM_SENSOR_ADAPTIVE_MIPI_FRONT_TOP_2_0_H_
|
||||
|
||||
#include "cam_sensor_dev.h"
|
||||
|
||||
int num_front_top_mipi_setting = 4;
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_FRONT_TOP_DUMMY_MHZ_REG_ARRAY[] = {
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_front_top_setfile_dummy_mhz[] = {
|
||||
{ MIPI_FRONT_TOP_DUMMY_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_FRONT_TOP_DUMMY_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_front_top_setfile_dummy_mipi_setting[] = {
|
||||
{ "DUMMY Mhz", 0,
|
||||
sensor_front_top_setfile_dummy_mhz, ARRAY_SIZE(sensor_front_top_setfile_dummy_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_cell_ratings sensor_front_top_setfile_dummy_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {0} },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_front_top_mipi_A_mode[] = {
|
||||
{
|
||||
sensor_front_top_setfile_dummy_channel, ARRAY_SIZE(sensor_front_top_setfile_dummy_channel),
|
||||
sensor_front_top_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_front_top_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_front_top_mipi_B_mode[] = {
|
||||
{
|
||||
sensor_front_top_setfile_dummy_channel, ARRAY_SIZE(sensor_front_top_setfile_dummy_channel),
|
||||
sensor_front_top_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_front_top_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
static const struct cam_mipi_sensor_mode sensor_front_top_mipi_C_mode[] = {
|
||||
{
|
||||
sensor_front_top_setfile_dummy_channel, ARRAY_SIZE(sensor_front_top_setfile_dummy_channel),
|
||||
sensor_front_top_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_front_top_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_front_top_mipi_D_mode[] = {
|
||||
{
|
||||
sensor_front_top_setfile_dummy_channel, ARRAY_SIZE(sensor_front_top_setfile_dummy_channel),
|
||||
sensor_front_top_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_front_top_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
#endif /* _CAM_SENSOR_ADAPTIVE_MIPI_FRONT_TOP_2_0_H_ */
|
@ -0,0 +1,67 @@
|
||||
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef _CAM_SENSOR_ADAPTIVE_MIPI_TELE_H_
|
||||
#define _CAM_SENSOR_ADAPTIVE_MIPI_TELE_H_
|
||||
|
||||
#include "cam_sensor_dev.h"
|
||||
|
||||
int num_tele_mipi_setting = 4;
|
||||
|
||||
enum {
|
||||
CAM_TELE_SET_DUMMY_MHZ = 0,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_TELE_DUMMY_MHZ_REG_ARRAY[] = {
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_tele_setfile_dummy_mhz[] = {
|
||||
{ MIPI_TELE_DUMMY_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_TELE_DUMMY_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_tele_setfile_dummy_mipi_setting[] = {
|
||||
{ "DUMMY Mhz",
|
||||
sensor_tele_setfile_dummy_mhz, ARRAY_SIZE(sensor_tele_setfile_dummy_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_tele_setfile_dummy_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_TELE_SET_DUMMY_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_tele_mipi_A_mode[] = {
|
||||
{
|
||||
sensor_tele_setfile_dummy_channel, ARRAY_SIZE(sensor_tele_setfile_dummy_channel),
|
||||
sensor_tele_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_tele_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_tele_mipi_B_mode[] = {
|
||||
{
|
||||
sensor_tele_setfile_dummy_channel, ARRAY_SIZE(sensor_tele_setfile_dummy_channel),
|
||||
sensor_tele_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_tele_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
static const struct cam_mipi_sensor_mode sensor_tele_mipi_C_mode[] = {
|
||||
{
|
||||
sensor_tele_setfile_dummy_channel, ARRAY_SIZE(sensor_tele_setfile_dummy_channel),
|
||||
sensor_tele_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_tele_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_tele_mipi_D_mode[] = {
|
||||
{
|
||||
sensor_tele_setfile_dummy_channel, ARRAY_SIZE(sensor_tele_setfile_dummy_channel),
|
||||
sensor_tele_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_tele_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
#endif /* _CAM_SENSOR_ADAPTIVE_MIPI_TELE_H_ */
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,67 @@
|
||||
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef _CAM_SENSOR_ADAPTIVE_MIPI_UW_H_
|
||||
#define _CAM_SENSOR_ADAPTIVE_MIPI_UW_H_
|
||||
|
||||
#include "cam_sensor_dev.h"
|
||||
|
||||
int num_uw_mipi_setting = 4;
|
||||
|
||||
enum {
|
||||
CAM_UW_SET_DUMMY_MHZ = 0,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_UW_DUMMY_MHZ_REG_ARRAY[] = {
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_uw_setfile_dummy_mhz[] = {
|
||||
{ MIPI_UW_DUMMY_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_UW_DUMMY_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_uw_setfile_dummy_mipi_setting[] = {
|
||||
{ "DUMMY Mhz",
|
||||
sensor_uw_setfile_dummy_mhz, ARRAY_SIZE(sensor_uw_setfile_dummy_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_uw_setfile_dummy_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_UW_SET_DUMMY_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_uw_mipi_A_mode[] = {
|
||||
{
|
||||
sensor_uw_setfile_dummy_channel, ARRAY_SIZE(sensor_uw_setfile_dummy_channel),
|
||||
sensor_uw_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_uw_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_uw_mipi_B_mode[] = {
|
||||
{
|
||||
sensor_uw_setfile_dummy_channel, ARRAY_SIZE(sensor_uw_setfile_dummy_channel),
|
||||
sensor_uw_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_uw_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
static const struct cam_mipi_sensor_mode sensor_uw_mipi_C_mode[] = {
|
||||
{
|
||||
sensor_uw_setfile_dummy_channel, ARRAY_SIZE(sensor_uw_setfile_dummy_channel),
|
||||
sensor_uw_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_uw_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_uw_mipi_D_mode[] = {
|
||||
{
|
||||
sensor_uw_setfile_dummy_channel, ARRAY_SIZE(sensor_uw_setfile_dummy_channel),
|
||||
sensor_uw_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_uw_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
#endif /* _CAM_SENSOR_ADAPTIVE_MIPI_UW_H_ */
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,67 @@
|
||||
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef _CAM_SENSOR_ADAPTIVE_MIPI_WIDE_H_
|
||||
#define _CAM_SENSOR_ADAPTIVE_MIPI_WIDE_H_
|
||||
|
||||
#include "cam_sensor_dev.h"
|
||||
|
||||
int num_wide_mipi_setting = 4;
|
||||
|
||||
enum {
|
||||
CAM_WIDE_SET_DUMMY_MHZ = 0,
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array MIPI_WIDE_DUMMY_MHZ_REG_ARRAY[] = {
|
||||
};
|
||||
|
||||
static const struct cam_sensor_i2c_reg_setting sensor_wide_setfile_dummy_mhz[] = {
|
||||
{ MIPI_WIDE_DUMMY_MHZ_REG_ARRAY, ARRAY_SIZE(MIPI_WIDE_DUMMY_MHZ_REG_ARRAY),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 }
|
||||
};
|
||||
|
||||
static const struct cam_mipi_setting sensor_wide_setfile_dummy_mipi_setting[] = {
|
||||
{ "DUMMY Mhz",
|
||||
sensor_wide_setfile_dummy_mhz, ARRAY_SIZE(sensor_wide_setfile_dummy_mhz) },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_channel sensor_wide_setfile_dummy_channel[] = {
|
||||
{ CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, CAM_WIDE_SET_DUMMY_MHZ },
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_wide_mipi_A_mode[] = {
|
||||
{
|
||||
sensor_wide_setfile_dummy_channel, ARRAY_SIZE(sensor_wide_setfile_dummy_channel),
|
||||
sensor_wide_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_wide_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_wide_mipi_B_mode[] = {
|
||||
{
|
||||
sensor_wide_setfile_dummy_channel, ARRAY_SIZE(sensor_wide_setfile_dummy_channel),
|
||||
sensor_wide_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_wide_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
static const struct cam_mipi_sensor_mode sensor_wide_mipi_C_mode[] = {
|
||||
{
|
||||
sensor_wide_setfile_dummy_channel, ARRAY_SIZE(sensor_wide_setfile_dummy_channel),
|
||||
sensor_wide_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_wide_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
|
||||
static const struct cam_mipi_sensor_mode sensor_wide_mipi_D_mode[] = {
|
||||
{
|
||||
sensor_wide_setfile_dummy_channel, ARRAY_SIZE(sensor_wide_setfile_dummy_channel),
|
||||
sensor_wide_setfile_dummy_mipi_setting, ARRAY_SIZE(sensor_wide_setfile_dummy_mipi_setting)
|
||||
},
|
||||
};
|
||||
#endif /* _CAM_SENSOR_ADAPTIVE_MIPI_WIDE_H_ */
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,119 @@
|
||||
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef _CAM_SENSOR_BPC_H_
|
||||
#define _CAM_SENSOR_BPC_H_
|
||||
|
||||
#define SENSOR_BPC_READ_RETRY_CNT 50
|
||||
#define BPC_OTP_SIZE_MAX 0x9000
|
||||
#define BPC_OTP_READ_STATUS_ADDR 0x7422
|
||||
#define BPC_OTP_READ_STATUS_OK 0x0000
|
||||
#define BPC_OTP_PAGE_NUM 9
|
||||
#define SENSOR_REVISION_ADDR 0x0002
|
||||
#define S5KHP2_SENSOR_REVISION_EVT1 0xB000
|
||||
#define S5KHP2_SENSOR_SUPPORT_BPC_CRC_SENSOR_REVISION 0xB100
|
||||
#define BPC_OTP_TERMINATE_CODE_FOR_CRC 0xFFFFFFFF
|
||||
|
||||
|
||||
extern uint8_t *otp_data;
|
||||
|
||||
struct cam_sensor_i2c_reg_array bpc_sw_reset_setting[] = {
|
||||
{ 0xFCFC, 0x4000, 0x00, 0x00 },
|
||||
{ 0x6018, 0x0001, 0x00, 0x00 },
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array bpc_dram_init_settting[] = {
|
||||
{ 0x6226, 0x0001, 0x00, 0x00 },
|
||||
{ 0x6214, 0x0800, 0x00, 0x00 },
|
||||
{ 0x6218, 0x0000, 0x00, 0x00 },
|
||||
{ 0x7402, 0x0019, 0x00, 0x00 },
|
||||
{ 0xB000, 0x0000, 0x00, 0x00 },
|
||||
{ 0xB002, 0x0000, 0x00, 0x00 },
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array bpc_configure_otp_addr_settting[] = {
|
||||
{ 0x7414, 0xBA40, 0x00, 0x00 },
|
||||
{ 0x7416, 0x0000, 0x00, 0x00 },
|
||||
{ 0x7418, 0x9000, 0x00, 0x00 },
|
||||
{ 0x741A, 0x0000, 0x00, 0x00 },
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array bpc_configure_dram_settting[] = {
|
||||
{ 0x7426, 0x0004, 0x00, 0x00 },
|
||||
{ 0x741E, 0x0000, 0x00, 0x00 },
|
||||
{ 0x7420, 0x0000, 0x00, 0x00 },
|
||||
{ 0x7424, 0x0002, 0x00, 0x00 },
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array bpc_otp_read_setting[] = {
|
||||
{ 0x7422, 0x0001, 0x00, 0x00 },
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array bpc_end_sequence_settting[] = {
|
||||
{ 0x6000, 0x0005, 0x00, 0x00 },
|
||||
{ 0xFCFC, 0x4150, 0x00, 0x00 },
|
||||
{ 0x0004, 0x0030, 0x00, 0x00 },
|
||||
{ 0xFCFC, 0x4000, 0x00, 0x00 },
|
||||
{ 0xB000, 0x0001, 0x00, 0x00 },
|
||||
{ 0x6214, 0x0000, 0x00, 0x00 },
|
||||
{ 0x6000, 0x0085, 0x00, 0x00 },
|
||||
{ 0xFCFC, 0x2006, 0x00, 0x00 },
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_setting read_otp_setttings[] = {
|
||||
{
|
||||
bpc_sw_reset_setting,
|
||||
ARRAY_SIZE(bpc_sw_reset_setting),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
100
|
||||
},
|
||||
{
|
||||
bpc_dram_init_settting,
|
||||
ARRAY_SIZE(bpc_dram_init_settting),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
0
|
||||
},
|
||||
{
|
||||
bpc_configure_otp_addr_settting,
|
||||
ARRAY_SIZE(bpc_configure_otp_addr_settting),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
0
|
||||
},
|
||||
{
|
||||
bpc_configure_dram_settting,
|
||||
ARRAY_SIZE(bpc_configure_dram_settting),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
100
|
||||
},
|
||||
{
|
||||
bpc_otp_read_setting,
|
||||
ARRAY_SIZE(bpc_otp_read_setting),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
0
|
||||
},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_setting bpc_end_sequence_setttings[] = {
|
||||
{
|
||||
bpc_end_sequence_settting,
|
||||
ARRAY_SIZE(bpc_end_sequence_settting),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
0
|
||||
},
|
||||
};
|
||||
#endif /* _CAM_SENSOR_BPC_H_ */
|
File diff suppressed because it is too large
Load Diff
@ -82,6 +82,9 @@ int cam_sensor_establish_link(struct cam_req_mgr_core_dev_link_setup *link);
|
||||
* This API processes the event which is published by request mgr
|
||||
*/
|
||||
int cam_sensor_process_evt(struct cam_req_mgr_link_evt_data *evt_data);
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_I2C)
|
||||
int cam_sensor_process_evt_for_sensor_using_i2c(struct cam_req_mgr_link_evt_data *evt_data);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @s_ctrl: Sensor ctrl structure
|
||||
@ -89,6 +92,11 @@ int cam_sensor_process_evt(struct cam_req_mgr_link_evt_data *evt_data);
|
||||
*
|
||||
* This API handles the camera control argument reached to sensor
|
||||
*/
|
||||
#if defined(CONFIG_SAMSUNG_SENSOR_TEMP)
|
||||
void func0(struct cam_sensor_ctrl_t *s_ctrl);
|
||||
void read_sensor_temperature(struct cam_sensor_ctrl_t *s_ctrl);
|
||||
#endif
|
||||
|
||||
int32_t cam_sensor_driver_cmd(struct cam_sensor_ctrl_t *s_ctrl, void *arg);
|
||||
|
||||
/**
|
||||
@ -98,4 +106,12 @@ int32_t cam_sensor_driver_cmd(struct cam_sensor_ctrl_t *s_ctrl, void *arg);
|
||||
*/
|
||||
void cam_sensor_shutdown(struct cam_sensor_ctrl_t *s_ctrl);
|
||||
|
||||
#if defined(CONFIG_CAMERA_FRAME_CNT_CHECK)
|
||||
int cam_sensor_wait_stream_onoff(struct cam_sensor_ctrl_t *s_ctrl, bool onoff);
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SENSOR_RETENTION) || defined(CONFIG_SAMSUNG_READ_BPC_FROM_OTP)
|
||||
int cam_sensor_write_settings(struct camera_io_master *io_master_info,
|
||||
struct cam_sensor_i2c_reg_setting* settings, uint32_t settings_size);
|
||||
#endif
|
||||
#endif /* _CAM_SENSOR_CORE_H_ */
|
||||
|
@ -20,7 +20,9 @@ struct completion *cam_sensor_get_i3c_completion(uint32_t index)
|
||||
{
|
||||
return &g_i3c_sensor_data[index].probe_complete;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_SEC_Q6AQ_PROJECT)
|
||||
struct cam_sensor_ctrl_t *g_s_ctrls[SEC_SENSOR_ID_MAX];
|
||||
#endif
|
||||
static int cam_sensor_subdev_close_internal(struct v4l2_subdev *sd,
|
||||
struct v4l2_subdev_fh *fh)
|
||||
{
|
||||
@ -303,6 +305,20 @@ static int cam_sensor_i2c_component_bind(struct device *dev,
|
||||
|
||||
s_ctrl->sensordata->power_info.dev = soc_info->dev;
|
||||
|
||||
#if defined (CONFIG_CAMERA_FRAME_CNT_DBG)
|
||||
s_ctrl->is_thread_started = false;
|
||||
s_ctrl->sensor_thread = NULL;
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SENSOR_RETENTION)
|
||||
for (i = 0; i < SENSOR_SEQ_TYPE_MAX; i++)
|
||||
s_ctrl->sensordata->power_info.is_retention_power_up[i] = 0;
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SEC_Q6AQ_PROJECT)
|
||||
if (s_ctrl->soc_info.index < SEC_SENSOR_ID_MAX)
|
||||
g_s_ctrls[s_ctrl->soc_info.index] = s_ctrl;
|
||||
#endif
|
||||
return rc;
|
||||
|
||||
free_frame_skip:
|
||||
@ -500,6 +516,22 @@ static int cam_sensor_component_bind(struct device *dev,
|
||||
g_i3c_sensor_data[soc_info->index].s_ctrl = s_ctrl;
|
||||
init_completion(&g_i3c_sensor_data[soc_info->index].probe_complete);
|
||||
|
||||
#if defined (CONFIG_CAMERA_FRAME_CNT_DBG)
|
||||
s_ctrl->is_thread_started = false;
|
||||
s_ctrl->sensor_thread = NULL;
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(CONFIG_SENSOR_RETENTION)
|
||||
for (i = 0; i < SENSOR_SEQ_TYPE_MAX; i++)
|
||||
s_ctrl->sensordata->power_info.is_retention_power_up[i] = 0;
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SEC_Q6AQ_PROJECT)
|
||||
if (s_ctrl->soc_info.index < SEC_SENSOR_ID_MAX)
|
||||
g_s_ctrls[s_ctrl->soc_info.index] = s_ctrl;
|
||||
#endif
|
||||
|
||||
return rc;
|
||||
|
||||
free_frame_skip:
|
||||
|
@ -25,6 +25,9 @@
|
||||
#include <cam_sensor_io.h>
|
||||
#include "cam_debug_util.h"
|
||||
#include "cam_context.h"
|
||||
#if defined(CONFIG_SENSOR_RETENTION)
|
||||
#include "cam_sensor_retention.h"
|
||||
#endif
|
||||
|
||||
#define NUM_MASTERS 2
|
||||
#define NUM_QUEUES 2
|
||||
@ -154,6 +157,28 @@ struct cam_sensor_ctrl_t {
|
||||
bool stream_off_after_eof;
|
||||
bool is_res_info_updated;
|
||||
bool hw_no_ops;
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_TIMING)
|
||||
uint32_t camera_shooting_mode;
|
||||
#endif
|
||||
#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_I2C)
|
||||
bool is_bubble_packet;
|
||||
#endif
|
||||
#if defined(CONFIG_CAMERA_ADAPTIVE_MIPI)
|
||||
u32 mipi_clock_index_new;
|
||||
u32 mipi_clock_index_cur;
|
||||
const struct cam_mipi_sensor_mode *mipi_info;
|
||||
uint8_t sensor_mode;
|
||||
#endif
|
||||
#if defined (CONFIG_CAMERA_FRAME_CNT_DBG)
|
||||
struct task_struct *sensor_thread;
|
||||
bool is_thread_started;
|
||||
#endif
|
||||
#if defined(CONFIG_SENSOR_RETENTION)
|
||||
bool retention_stream_on;
|
||||
bool retention_checksum;
|
||||
struct cam_sensor_retention_info retention_info;
|
||||
int32_t retention_reserved[2];
|
||||
#endif
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -0,0 +1,928 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <cam_sensor_cmn_header.h>
|
||||
#include "cam_sensor_core.h"
|
||||
#include "cam_sensor_util.h"
|
||||
#include "cam_sensor_retention.h"
|
||||
#include "cam_hw_bigdata.h"
|
||||
|
||||
#define IMX854_RETENTION_CHKSUM_CAL_STA_ADDR 0x32E8
|
||||
#define IMX854_RETENTION_CHKSUM_VALUE_ADDR 0x32EC
|
||||
#define IMX854_RETENTION_CHKSUM_VALUE_NUM 4
|
||||
|
||||
struct cam_sensor_i2c_reg_array imx854_stby_off_setting[] = {
|
||||
{ 0x0136, 0x13, 0x00, 0x00 },
|
||||
{ 0x0137, 0x33, 0x00, 0x00 },
|
||||
{ 0x90F9, 0x01, 0x00, 0x00 },
|
||||
{ 0x90FA, 0x0C, 0x00, 0x00 },
|
||||
{ 0x90FB, 0x00, 0x00, 0x00 },
|
||||
{ 0x90FC, 0x04, 0x00, 0x00 },
|
||||
{ 0x90FD, 0x00, 0x00, 0x00 },
|
||||
{ 0x2131, 0x01, 0x00, 0x00 },
|
||||
{ 0x33F0, 0x06, 0x00, 0x00 },
|
||||
{ 0x33F1, 0x05, 0x00, 0x00 },
|
||||
{ 0x084E, 0x00, 0x00, 0x00 },
|
||||
{ 0x084F, 0x18, 0x00, 0x00 },
|
||||
{ 0x0854, 0x00, 0x00, 0x00 },
|
||||
{ 0x0855, 0x3F, 0x00, 0x00 },
|
||||
{ 0x0858, 0x00, 0x00, 0x00 },
|
||||
{ 0x0859, 0x1D, 0x00, 0x00 },
|
||||
{ 0x33CA, 0x01, 0x00, 0x00 },
|
||||
{ 0x33CD, 0x01, 0x00, 0x00 },
|
||||
{ 0x33CE, 0x01, 0x00, 0x00 },
|
||||
{ 0x4933, 0x00, 0x00, 0x00 },
|
||||
{ 0x4937, 0x00, 0x00, 0x00 },
|
||||
{ 0x9020, 0x32, 0x00, 0x00 },
|
||||
{ 0x9021, 0x32, 0x00, 0x00 },
|
||||
{ 0x9022, 0x32, 0x00, 0x00 },
|
||||
{ 0x9023, 0x32, 0x00, 0x00 },
|
||||
{ 0x9024, 0x32, 0x00, 0x00 },
|
||||
{ 0x9025, 0x32, 0x00, 0x00 },
|
||||
{ 0x9026, 0x32, 0x00, 0x00 },
|
||||
{ 0x9027, 0x32, 0x00, 0x00 },
|
||||
{ 0x9028, 0x32, 0x00, 0x00 },
|
||||
{ 0x9029, 0x32, 0x00, 0x00 },
|
||||
{ 0x902A, 0x32, 0x00, 0x00 },
|
||||
{ 0x902B, 0x32, 0x00, 0x00 },
|
||||
{ 0x902C, 0x32, 0x00, 0x00 },
|
||||
{ 0x902D, 0x32, 0x00, 0x00 },
|
||||
{ 0x902E, 0x32, 0x00, 0x00 },
|
||||
{ 0x902F, 0x32, 0x00, 0x00 },
|
||||
{ 0x97C2, 0x01, 0x00, 0x00 },
|
||||
{ 0xA50A, 0x00, 0x00, 0x00 },
|
||||
{ 0xA50E, 0x00, 0x00, 0x00 },
|
||||
{ 0xA50F, 0x00, 0x00, 0x00 },
|
||||
{ 0xA516, 0x00, 0x00, 0x00 },
|
||||
{ 0xA517, 0x00, 0x00, 0x00 },
|
||||
{ 0xA519, 0x01, 0x00, 0x00 },
|
||||
{ 0xA51A, 0xF1, 0x00, 0x00 },
|
||||
{ 0xA51B, 0x18, 0x00, 0x00 },
|
||||
{ 0xA51E, 0x00, 0x00, 0x00 },
|
||||
{ 0xA51F, 0x00, 0x00, 0x00 },
|
||||
{ 0xA522, 0x00, 0x00, 0x00 },
|
||||
{ 0xA523, 0x00, 0x00, 0x00 },
|
||||
{ 0xA526, 0x00, 0x00, 0x00 },
|
||||
{ 0xA527, 0x00, 0x00, 0x00 },
|
||||
{ 0xA52A, 0x00, 0x00, 0x00 },
|
||||
{ 0xA52B, 0x00, 0x00, 0x00 },
|
||||
{ 0xA52E, 0x00, 0x00, 0x00 },
|
||||
{ 0xA52F, 0x00, 0x00, 0x00 },
|
||||
{ 0xA532, 0x00, 0x00, 0x00 },
|
||||
{ 0xA533, 0x00, 0x00, 0x00 },
|
||||
{ 0xA536, 0x00, 0x00, 0x00 },
|
||||
{ 0xA537, 0x00, 0x00, 0x00 },
|
||||
{ 0xA53A, 0x00, 0x00, 0x00 },
|
||||
{ 0xA53B, 0x00, 0x00, 0x00 },
|
||||
{ 0xA53E, 0x00, 0x00, 0x00 },
|
||||
{ 0xA53F, 0x00, 0x00, 0x00 },
|
||||
{ 0xA542, 0x00, 0x00, 0x00 },
|
||||
{ 0xA543, 0x00, 0x00, 0x00 },
|
||||
{ 0xA545, 0x01, 0x00, 0x00 },
|
||||
{ 0xA546, 0xF2, 0x00, 0x00 },
|
||||
{ 0xA547, 0xD8, 0x00, 0x00 },
|
||||
{ 0xA54A, 0x00, 0x00, 0x00 },
|
||||
{ 0xA54B, 0x00, 0x00, 0x00 },
|
||||
{ 0xA552, 0x00, 0x00, 0x00 },
|
||||
{ 0xA553, 0x00, 0x00, 0x00 },
|
||||
{ 0xA55A, 0x00, 0x00, 0x00 },
|
||||
{ 0xA55E, 0x00, 0x00, 0x00 },
|
||||
{ 0xA55F, 0x00, 0x00, 0x00 },
|
||||
{ 0xA562, 0x00, 0x00, 0x00 },
|
||||
{ 0xA563, 0x00, 0x00, 0x00 },
|
||||
{ 0xA566, 0x00, 0x00, 0x00 },
|
||||
{ 0xA567, 0x00, 0x00, 0x00 },
|
||||
{ 0xA5AE, 0x00, 0x00, 0x00 },
|
||||
{ 0xA5AF, 0x00, 0x00, 0x00 },
|
||||
{ 0xA5B2, 0x00, 0x00, 0x00 },
|
||||
{ 0xA5B3, 0x00, 0x00, 0x00 },
|
||||
{ 0xA5B6, 0x00, 0x00, 0x00 },
|
||||
{ 0xA5B7, 0x00, 0x00, 0x00 },
|
||||
{ 0xA5BA, 0x00, 0x00, 0x00 },
|
||||
{ 0xA5BB, 0x00, 0x00, 0x00 },
|
||||
{ 0xA5BE, 0x00, 0x00, 0x00 },
|
||||
{ 0xA5C2, 0x00, 0x00, 0x00 },
|
||||
{ 0xA5C3, 0x00, 0x00, 0x00 },
|
||||
{ 0xA5C6, 0x00, 0x00, 0x00 },
|
||||
{ 0xA5C7, 0x00, 0x00, 0x00 },
|
||||
{ 0xA5CA, 0x00, 0x00, 0x00 },
|
||||
{ 0xA5CB, 0x00, 0x00, 0x00 },
|
||||
{ 0xA5CE, 0x00, 0x00, 0x00 },
|
||||
{ 0xA5CF, 0x00, 0x00, 0x00 },
|
||||
{ 0x0101, 0x01, 0x00, 0x00 },
|
||||
{ 0x31E0, 0x01, 0x00, 0x00 },
|
||||
{ 0x31E2, 0x01, 0x00, 0x00 },
|
||||
{ 0x3800, 0x00, 0x00, 0x00 },
|
||||
{ 0x3801, 0x50, 0x00, 0x00 },
|
||||
{ 0x3802, 0x00, 0x00, 0x00 },
|
||||
{ 0x3803, 0x00, 0x00, 0x00 },
|
||||
{ 0x4815, 0x0E, 0x00, 0x00 },
|
||||
{ 0x90E7, 0x01, 0x00, 0x00 },
|
||||
{ 0x9200, 0x80, 0x00, 0x00 },
|
||||
{ 0x9202, 0x96, 0x00, 0x00 },
|
||||
{ 0x9203, 0xEB, 0x00, 0x00 },
|
||||
{ 0x9204, 0xA0, 0x00, 0x00 },
|
||||
{ 0x9206, 0x44, 0x00, 0x00 },
|
||||
{ 0x9207, 0x17, 0x00, 0x00 },
|
||||
{ 0x31D8, 0x01, 0x00, 0x00 },
|
||||
{ 0x8203, 0x04, 0x00, 0x00 },
|
||||
{ 0x2133, 0x02, 0x00, 0x00 },
|
||||
{ 0x74C7, 0x0C, 0x00, 0x00 },
|
||||
{ 0x7ACC, 0x03, 0x00, 0x00 },
|
||||
{ 0x7AE3, 0x02, 0x00, 0x00 },
|
||||
{ 0x7AF0, 0x02, 0x00, 0x00 },
|
||||
{ 0x7AFA, 0x02, 0x00, 0x00 },
|
||||
{ 0x86DD, 0x0A, 0x00, 0x00 },
|
||||
{ 0x86F1, 0x0A, 0x00, 0x00 },
|
||||
{ 0x8949, 0x7E, 0x00, 0x00 },
|
||||
{ 0x897D, 0x88, 0x00, 0x00 },
|
||||
{ 0x8A8C, 0x01, 0x00, 0x00 },
|
||||
{ 0x8A8D, 0x06, 0x00, 0x00 },
|
||||
{ 0x8AC0, 0x01, 0x00, 0x00 },
|
||||
{ 0x8AC1, 0x10, 0x00, 0x00 },
|
||||
{ 0x8BB3, 0x7E, 0x00, 0x00 },
|
||||
{ 0x8BC9, 0x88, 0x00, 0x00 },
|
||||
{ 0x8C21, 0xC2, 0x00, 0x00 },
|
||||
{ 0x8C41, 0xCC, 0x00, 0x00 },
|
||||
{ 0x8CB8, 0x01, 0x00, 0x00 },
|
||||
{ 0x8CB9, 0x06, 0x00, 0x00 },
|
||||
{ 0x8CBB, 0x9E, 0x00, 0x00 },
|
||||
{ 0x8CBD, 0xE4, 0x00, 0x00 },
|
||||
{ 0x8CC8, 0x01, 0x00, 0x00 },
|
||||
{ 0x8CC9, 0x10, 0x00, 0x00 },
|
||||
{ 0x8CCB, 0xA8, 0x00, 0x00 },
|
||||
{ 0x8CCD, 0xEE, 0x00, 0x00 },
|
||||
{ 0x8D16, 0x01, 0x00, 0x00 },
|
||||
{ 0x8D17, 0x06, 0x00, 0x00 },
|
||||
{ 0x8D19, 0x9E, 0x00, 0x00 },
|
||||
{ 0x8D1E, 0x01, 0x00, 0x00 },
|
||||
{ 0x8D1F, 0x10, 0x00, 0x00 },
|
||||
{ 0x8D21, 0xA8, 0x00, 0x00 },
|
||||
{ 0x8FE2, 0x02, 0x00, 0x00 },
|
||||
{ 0x8FE3, 0xBC, 0x00, 0x00 },
|
||||
{ 0x8FE6, 0x02, 0x00, 0x00 },
|
||||
{ 0x8FE7, 0xBC, 0x00, 0x00 },
|
||||
{ 0x8FF0, 0x02, 0x00, 0x00 },
|
||||
{ 0x8FF1, 0xBC, 0x00, 0x00 },
|
||||
{ 0x9004, 0x02, 0x00, 0x00 },
|
||||
{ 0x9005, 0xBC, 0x00, 0x00 },
|
||||
{ 0x9221, 0x0F, 0x00, 0x00 },
|
||||
{ 0x9222, 0x0F, 0x00, 0x00 },
|
||||
{ 0x9253, 0x0F, 0x00, 0x00 },
|
||||
{ 0x9254, 0x0F, 0x00, 0x00 },
|
||||
{ 0x9283, 0x0F, 0x00, 0x00 },
|
||||
{ 0x9284, 0x0F, 0x00, 0x00 },
|
||||
{ 0x92B3, 0x0F, 0x00, 0x00 },
|
||||
{ 0x92B4, 0x0F, 0x00, 0x00 },
|
||||
{ 0x92DB, 0x0F, 0x00, 0x00 },
|
||||
{ 0x92DC, 0x0F, 0x00, 0x00 },
|
||||
{ 0x9303, 0x0F, 0x00, 0x00 },
|
||||
{ 0x9304, 0x0F, 0x00, 0x00 },
|
||||
{ 0x931F, 0x0F, 0x00, 0x00 },
|
||||
{ 0x9320, 0x0F, 0x00, 0x00 },
|
||||
{ 0x9331, 0x0F, 0x00, 0x00 },
|
||||
{ 0x9332, 0x0F, 0x00, 0x00 },
|
||||
{ 0x3BC0, 0xE6, 0x00, 0x00 },
|
||||
{ 0x3BC4, 0xE6, 0x00, 0x00 },
|
||||
{ 0x3BC8, 0xE6, 0x00, 0x00 },
|
||||
{ 0x3BCC, 0xE6, 0x00, 0x00 },
|
||||
{ 0x696C, 0xFF, 0x00, 0x00 },
|
||||
{ 0x696D, 0xFF, 0x00, 0x00 },
|
||||
{ 0x696E, 0xFF, 0x00, 0x00 },
|
||||
{ 0x696F, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6974, 0x00, 0x00, 0x00 },
|
||||
{ 0x6975, 0x03, 0x00, 0x00 },
|
||||
{ 0x6976, 0x00, 0x00, 0x00 },
|
||||
{ 0x6977, 0xD2, 0x00, 0x00 },
|
||||
{ 0x6980, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6981, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6982, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6983, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6988, 0x00, 0x00, 0x00 },
|
||||
{ 0x6989, 0x03, 0x00, 0x00 },
|
||||
{ 0x698A, 0x00, 0x00, 0x00 },
|
||||
{ 0x698B, 0xE6, 0x00, 0x00 },
|
||||
{ 0x69A8, 0xFF, 0x00, 0x00 },
|
||||
{ 0x69A9, 0xFF, 0x00, 0x00 },
|
||||
{ 0x69AA, 0xFF, 0x00, 0x00 },
|
||||
{ 0x69AB, 0xFF, 0x00, 0x00 },
|
||||
{ 0x69B0, 0x00, 0x00, 0x00 },
|
||||
{ 0x69B1, 0x03, 0x00, 0x00 },
|
||||
{ 0x69B2, 0x00, 0x00, 0x00 },
|
||||
{ 0x69B3, 0xE6, 0x00, 0x00 },
|
||||
{ 0x69BD, 0x4F, 0x00, 0x00 },
|
||||
{ 0x69BE, 0xFF, 0x00, 0x00 },
|
||||
{ 0x69BF, 0xFF, 0x00, 0x00 },
|
||||
{ 0x69C6, 0x02, 0x00, 0x00 },
|
||||
{ 0x69C7, 0xAF, 0x00, 0x00 },
|
||||
{ 0x69D0, 0xFF, 0x00, 0x00 },
|
||||
{ 0x69D1, 0xFF, 0x00, 0x00 },
|
||||
{ 0x69D2, 0xFF, 0x00, 0x00 },
|
||||
{ 0x69D3, 0xFF, 0x00, 0x00 },
|
||||
{ 0x69D8, 0x00, 0x00, 0x00 },
|
||||
{ 0x69D9, 0x03, 0x00, 0x00 },
|
||||
{ 0x69DA, 0x00, 0x00, 0x00 },
|
||||
{ 0x69DB, 0xD2, 0x00, 0x00 },
|
||||
{ 0x69E4, 0xFF, 0x00, 0x00 },
|
||||
{ 0x69E5, 0xFF, 0x00, 0x00 },
|
||||
{ 0x69E6, 0xFF, 0x00, 0x00 },
|
||||
{ 0x69E7, 0xFF, 0x00, 0x00 },
|
||||
{ 0x69EC, 0x00, 0x00, 0x00 },
|
||||
{ 0x69ED, 0x03, 0x00, 0x00 },
|
||||
{ 0x69EE, 0x00, 0x00, 0x00 },
|
||||
{ 0x69EF, 0xD2, 0x00, 0x00 },
|
||||
{ 0x69F8, 0xFF, 0x00, 0x00 },
|
||||
{ 0x69F9, 0xFF, 0x00, 0x00 },
|
||||
{ 0x69FA, 0xFF, 0x00, 0x00 },
|
||||
{ 0x69FB, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6A00, 0x00, 0x00, 0x00 },
|
||||
{ 0x6A01, 0x03, 0x00, 0x00 },
|
||||
{ 0x6A02, 0x00, 0x00, 0x00 },
|
||||
{ 0x6A03, 0xD2, 0x00, 0x00 },
|
||||
{ 0x6A0C, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6A0D, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6A0E, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6A0F, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6A14, 0x00, 0x00, 0x00 },
|
||||
{ 0x6A15, 0x03, 0x00, 0x00 },
|
||||
{ 0x6A16, 0x00, 0x00, 0x00 },
|
||||
{ 0x6A17, 0xD2, 0x00, 0x00 },
|
||||
{ 0x6A20, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6A21, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6A22, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6A23, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6A28, 0x00, 0x00, 0x00 },
|
||||
{ 0x6A29, 0x03, 0x00, 0x00 },
|
||||
{ 0x6A2A, 0x00, 0x00, 0x00 },
|
||||
{ 0x6A2B, 0xD2, 0x00, 0x00 },
|
||||
{ 0x6A34, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6A35, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6A36, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6A37, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6A3C, 0x00, 0x00, 0x00 },
|
||||
{ 0x6A3D, 0x03, 0x00, 0x00 },
|
||||
{ 0x6A3E, 0x00, 0x00, 0x00 },
|
||||
{ 0x6A3F, 0xD2, 0x00, 0x00 },
|
||||
{ 0x6A4A, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6A4B, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6A52, 0x02, 0x00, 0x00 },
|
||||
{ 0x6A53, 0x77, 0x00, 0x00 },
|
||||
{ 0x6A5C, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6A5D, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6A5E, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6A5F, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6A64, 0x00, 0x00, 0x00 },
|
||||
{ 0x6A65, 0x03, 0x00, 0x00 },
|
||||
{ 0x6A66, 0x00, 0x00, 0x00 },
|
||||
{ 0x6A67, 0xD2, 0x00, 0x00 },
|
||||
{ 0x6A71, 0x4F, 0x00, 0x00 },
|
||||
{ 0x6A72, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6A73, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6A7A, 0x02, 0x00, 0x00 },
|
||||
{ 0x6A7B, 0xAF, 0x00, 0x00 },
|
||||
{ 0x6A98, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6A99, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6A9A, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6A9B, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6AC0, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6AC1, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6AC2, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6AC3, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6AD4, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6AD5, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6AD6, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6AD7, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6AE8, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6AE9, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6AEA, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6AEB, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6AFC, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6AFD, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6AFE, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6AFF, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6B10, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6B11, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6B12, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6B13, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6B24, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6B25, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6B26, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6B27, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6B38, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6B39, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6B3A, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6B3B, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6B4C, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6B4D, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6B4E, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6B4F, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6B60, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6B61, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6B62, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6B63, 0xFF, 0x00, 0x00 },
|
||||
{ 0x6C3C, 0x00, 0x00, 0x00 },
|
||||
{ 0x6C3D, 0x02, 0x00, 0x00 },
|
||||
{ 0x6C3E, 0x00, 0x00, 0x00 },
|
||||
{ 0x6C3F, 0xD1, 0x00, 0x00 },
|
||||
{ 0x6C40, 0x00, 0x00, 0x00 },
|
||||
{ 0x6C41, 0x02, 0x00, 0x00 },
|
||||
{ 0x6C42, 0x00, 0x00, 0x00 },
|
||||
{ 0x6C43, 0xD1, 0x00, 0x00 },
|
||||
{ 0x6C44, 0x00, 0x00, 0x00 },
|
||||
{ 0x6C45, 0x02, 0x00, 0x00 },
|
||||
{ 0x6C46, 0x00, 0x00, 0x00 },
|
||||
{ 0x6C47, 0xD1, 0x00, 0x00 },
|
||||
{ 0x6C54, 0x00, 0x00, 0x00 },
|
||||
{ 0x6C55, 0x02, 0x00, 0x00 },
|
||||
{ 0x6C56, 0x00, 0x00, 0x00 },
|
||||
{ 0x6C57, 0xD1, 0x00, 0x00 },
|
||||
{ 0x6C5C, 0x00, 0x00, 0x00 },
|
||||
{ 0x6C5D, 0x02, 0x00, 0x00 },
|
||||
{ 0x6C5E, 0x00, 0x00, 0x00 },
|
||||
{ 0x6C5F, 0xE5, 0x00, 0x00 },
|
||||
{ 0x6C64, 0x00, 0x00, 0x00 },
|
||||
{ 0x6C65, 0x02, 0x00, 0x00 },
|
||||
{ 0x6C66, 0x00, 0x00, 0x00 },
|
||||
{ 0x6C67, 0xE5, 0x00, 0x00 },
|
||||
{ 0x6C68, 0x00, 0x00, 0x00 },
|
||||
{ 0x6C69, 0x02, 0x00, 0x00 },
|
||||
{ 0x6C6A, 0x00, 0x00, 0x00 },
|
||||
{ 0x6C6B, 0xD1, 0x00, 0x00 },
|
||||
{ 0x6C6C, 0x00, 0x00, 0x00 },
|
||||
{ 0x6C6D, 0x02, 0x00, 0x00 },
|
||||
{ 0x6C6E, 0x00, 0x00, 0x00 },
|
||||
{ 0x6C6F, 0xD1, 0x00, 0x00 },
|
||||
{ 0x6C70, 0x00, 0x00, 0x00 },
|
||||
{ 0x6C71, 0x02, 0x00, 0x00 },
|
||||
{ 0x6C72, 0x00, 0x00, 0x00 },
|
||||
{ 0x6C73, 0xD1, 0x00, 0x00 },
|
||||
{ 0x6C74, 0x00, 0x00, 0x00 },
|
||||
{ 0x6C75, 0x02, 0x00, 0x00 },
|
||||
{ 0x6C76, 0x00, 0x00, 0x00 },
|
||||
{ 0x6C77, 0xD1, 0x00, 0x00 },
|
||||
{ 0x6CA8, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CA9, 0x02, 0x00, 0x00 },
|
||||
{ 0x6CAA, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CAB, 0xD1, 0x00, 0x00 },
|
||||
{ 0x6CAC, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CAD, 0x02, 0x00, 0x00 },
|
||||
{ 0x6CAE, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CAF, 0xD1, 0x00, 0x00 },
|
||||
{ 0x6CB0, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CB1, 0x02, 0x00, 0x00 },
|
||||
{ 0x6CB2, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CB3, 0xD1, 0x00, 0x00 },
|
||||
{ 0x6CB4, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CB5, 0x02, 0x00, 0x00 },
|
||||
{ 0x6CB6, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CB7, 0xD1, 0x00, 0x00 },
|
||||
{ 0x6CB8, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CB9, 0x02, 0x00, 0x00 },
|
||||
{ 0x6CBA, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CBB, 0xD1, 0x00, 0x00 },
|
||||
{ 0x6CBC, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CBD, 0x02, 0x00, 0x00 },
|
||||
{ 0x6CBE, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CBF, 0xD1, 0x00, 0x00 },
|
||||
{ 0x6CC0, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CC1, 0x02, 0x00, 0x00 },
|
||||
{ 0x6CC2, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CC3, 0xD1, 0x00, 0x00 },
|
||||
{ 0x6CC4, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CC5, 0x02, 0x00, 0x00 },
|
||||
{ 0x6CC6, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CC7, 0xD1, 0x00, 0x00 },
|
||||
{ 0x6CC8, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CC9, 0x02, 0x00, 0x00 },
|
||||
{ 0x6CCA, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CCB, 0xD1, 0x00, 0x00 },
|
||||
{ 0x6CCC, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CCD, 0x02, 0x00, 0x00 },
|
||||
{ 0x6CCE, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CCF, 0xD1, 0x00, 0x00 },
|
||||
{ 0x6CD0, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CD1, 0x02, 0x00, 0x00 },
|
||||
{ 0x6CD2, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CD3, 0xD1, 0x00, 0x00 },
|
||||
{ 0x6CE4, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CE5, 0x02, 0x00, 0x00 },
|
||||
{ 0x6CE6, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CE7, 0xD1, 0x00, 0x00 },
|
||||
{ 0x6CE8, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CE9, 0x02, 0x00, 0x00 },
|
||||
{ 0x6CEA, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CEB, 0xD1, 0x00, 0x00 },
|
||||
{ 0x6CEC, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CED, 0x02, 0x00, 0x00 },
|
||||
{ 0x6CEE, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CEF, 0xD1, 0x00, 0x00 },
|
||||
{ 0x6CF0, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CF1, 0x02, 0x00, 0x00 },
|
||||
{ 0x6CF2, 0x00, 0x00, 0x00 },
|
||||
{ 0x6CF3, 0xD1, 0x00, 0x00 },
|
||||
{ 0x7882, 0x10, 0x00, 0x00 },
|
||||
{ 0x78A0, 0x10, 0x00, 0x00 },
|
||||
{ 0x78BE, 0x10, 0x00, 0x00 },
|
||||
{ 0x8FE9, 0xDE, 0x00, 0x00 },
|
||||
{ 0x8FEB, 0xE8, 0x00, 0x00 },
|
||||
{ 0x8FF3, 0xDE, 0x00, 0x00 },
|
||||
{ 0x8FF5, 0xE8, 0x00, 0x00 },
|
||||
{ 0x9007, 0xDE, 0x00, 0x00 },
|
||||
{ 0x9009, 0xE8, 0x00, 0x00 },
|
||||
{ 0x788D, 0x01, 0x00, 0x00 },
|
||||
{ 0x788E, 0x01, 0x00, 0x00 },
|
||||
{ 0x788F, 0x01, 0x00, 0x00 },
|
||||
{ 0x7890, 0x01, 0x00, 0x00 },
|
||||
{ 0x7897, 0x00, 0x00, 0x00 },
|
||||
{ 0x7898, 0x00, 0x00, 0x00 },
|
||||
{ 0x78AB, 0x01, 0x00, 0x00 },
|
||||
{ 0x78AC, 0x01, 0x00, 0x00 },
|
||||
{ 0x78AD, 0x01, 0x00, 0x00 },
|
||||
{ 0x78AE, 0x01, 0x00, 0x00 },
|
||||
{ 0x78B5, 0x00, 0x00, 0x00 },
|
||||
{ 0x78B6, 0x00, 0x00, 0x00 },
|
||||
{ 0x7AE8, 0x03, 0x00, 0x00 },
|
||||
{ 0x7AE9, 0x02, 0x00, 0x00 },
|
||||
{ 0x7AEA, 0x02, 0x00, 0x00 },
|
||||
{ 0x7AEB, 0x02, 0x00, 0x00 },
|
||||
{ 0x5105, 0xD4, 0x00, 0x00 },
|
||||
{ 0x510F, 0x34, 0x00, 0x00 },
|
||||
{ 0x7858, 0x05, 0x00, 0x00 },
|
||||
{ 0x7859, 0x05, 0x00, 0x00 },
|
||||
{ 0x785A, 0x05, 0x00, 0x00 },
|
||||
{ 0x785B, 0x05, 0x00, 0x00 },
|
||||
{ 0x7AFF, 0x03, 0x00, 0x00 },
|
||||
{ 0x7B10, 0x01, 0x00, 0x00 },
|
||||
{ 0x7B11, 0x01, 0x00, 0x00 },
|
||||
{ 0x7B13, 0x01, 0x00, 0x00 },
|
||||
{ 0x7B14, 0x01, 0x00, 0x00 },
|
||||
{ 0x7B20, 0x01, 0x00, 0x00 },
|
||||
{ 0x7B26, 0x01, 0x00, 0x00 },
|
||||
{ 0x7B27, 0x01, 0x00, 0x00 },
|
||||
{ 0x7B2F, 0x01, 0x00, 0x00 },
|
||||
{ 0x7B33, 0x01, 0x00, 0x00 },
|
||||
{ 0x7B34, 0x01, 0x00, 0x00 },
|
||||
{ 0x7B3C, 0x01, 0x00, 0x00 },
|
||||
{ 0x7B3D, 0x01, 0x00, 0x00 },
|
||||
{ 0x7D1A, 0x06, 0x00, 0x00 },
|
||||
{ 0x7D1B, 0x0E, 0x00, 0x00 },
|
||||
{ 0x7D2E, 0x06, 0x00, 0x00 },
|
||||
{ 0x7D2F, 0x40, 0x00, 0x00 },
|
||||
{ 0x7D3A, 0x06, 0x00, 0x00 },
|
||||
{ 0x7D3B, 0x72, 0x00, 0x00 },
|
||||
{ 0x7DBB, 0x58, 0x00, 0x00 },
|
||||
{ 0x7DBD, 0x58, 0x00, 0x00 },
|
||||
{ 0x7DC3, 0x58, 0x00, 0x00 },
|
||||
{ 0x7DC5, 0x58, 0x00, 0x00 },
|
||||
{ 0x7DC9, 0x0F, 0x00, 0x00 },
|
||||
{ 0x7DCB, 0x0F, 0x00, 0x00 },
|
||||
{ 0x7DCD, 0x0F, 0x00, 0x00 },
|
||||
{ 0x7DCF, 0x11, 0x00, 0x00 },
|
||||
{ 0x7DD1, 0x11, 0x00, 0x00 },
|
||||
{ 0x7DD3, 0x11, 0x00, 0x00 },
|
||||
{ 0x7DD5, 0x10, 0x00, 0x00 },
|
||||
{ 0x7DD7, 0x10, 0x00, 0x00 },
|
||||
{ 0x7DD9, 0x0F, 0x00, 0x00 },
|
||||
{ 0x7DDF, 0x55, 0x00, 0x00 },
|
||||
{ 0x7DE1, 0x55, 0x00, 0x00 },
|
||||
{ 0x7DE7, 0x55, 0x00, 0x00 },
|
||||
{ 0x7DE9, 0x55, 0x00, 0x00 },
|
||||
{ 0x7DEB, 0x11, 0x00, 0x00 },
|
||||
{ 0x7DED, 0x11, 0x00, 0x00 },
|
||||
{ 0x7DEF, 0x12, 0x00, 0x00 },
|
||||
{ 0x7DF1, 0x12, 0x00, 0x00 },
|
||||
{ 0x8100, 0x78, 0x00, 0x00 },
|
||||
{ 0x8101, 0x78, 0x00, 0x00 },
|
||||
{ 0x8103, 0x50, 0x00, 0x00 },
|
||||
{ 0x8104, 0x50, 0x00, 0x00 },
|
||||
{ 0x8105, 0x50, 0x00, 0x00 },
|
||||
{ 0x8106, 0x4C, 0x00, 0x00 },
|
||||
{ 0x8107, 0x4C, 0x00, 0x00 },
|
||||
{ 0x8108, 0x4C, 0x00, 0x00 },
|
||||
{ 0x8109, 0x41, 0x00, 0x00 },
|
||||
{ 0x810A, 0x41, 0x00, 0x00 },
|
||||
{ 0x810B, 0x50, 0x00, 0x00 },
|
||||
{ 0x8110, 0x7E, 0x00, 0x00 },
|
||||
{ 0x8111, 0x7E, 0x00, 0x00 },
|
||||
{ 0x8112, 0x7E, 0x00, 0x00 },
|
||||
{ 0x8113, 0x7E, 0x00, 0x00 },
|
||||
{ 0x8115, 0x4C, 0x00, 0x00 },
|
||||
{ 0x8116, 0x4C, 0x00, 0x00 },
|
||||
{ 0x8117, 0x4C, 0x00, 0x00 },
|
||||
{ 0x8118, 0x53, 0x00, 0x00 },
|
||||
{ 0x8119, 0x53, 0x00, 0x00 },
|
||||
{ 0x811A, 0x53, 0x00, 0x00 },
|
||||
{ 0x811B, 0x41, 0x00, 0x00 },
|
||||
{ 0x811C, 0x41, 0x00, 0x00 },
|
||||
{ 0x811D, 0x4C, 0x00, 0x00 },
|
||||
{ 0x85AF, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85B0, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85B1, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85B2, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85B3, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85B4, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85B5, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85B6, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85B7, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85C0, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85C1, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85C2, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85C3, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85D2, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85D3, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85D4, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85D5, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85DF, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85E0, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85E1, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85E2, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85E3, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85E4, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85E5, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85E6, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85E7, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85F0, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85F1, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85F2, 0x2D, 0x00, 0x00 },
|
||||
{ 0x85F3, 0x2D, 0x00, 0x00 },
|
||||
{ 0x8836, 0x0A, 0x00, 0x00 },
|
||||
{ 0x8837, 0x0A, 0x00, 0x00 },
|
||||
{ 0x89AD, 0x8F, 0x00, 0x00 },
|
||||
{ 0x89AF, 0x8F, 0x00, 0x00 },
|
||||
{ 0x8A0F, 0x8F, 0x00, 0x00 },
|
||||
{ 0x8A11, 0x8F, 0x00, 0x00 },
|
||||
{ 0x8AF1, 0xF7, 0x00, 0x00 },
|
||||
{ 0x8AF3, 0xF7, 0x00, 0x00 },
|
||||
{ 0x8B53, 0xF7, 0x00, 0x00 },
|
||||
{ 0x8B55, 0xF7, 0x00, 0x00 },
|
||||
{ 0x8BDB, 0x8F, 0x00, 0x00 },
|
||||
{ 0x8BDD, 0x8F, 0x00, 0x00 },
|
||||
{ 0x8C59, 0xF7, 0x00, 0x00 },
|
||||
{ 0x8C5B, 0xF7, 0x00, 0x00 },
|
||||
{ 0x9300, 0x0F, 0x00, 0x00 },
|
||||
{ 0x931D, 0x0F, 0x00, 0x00 },
|
||||
{ 0x931E, 0x0F, 0x00, 0x00 },
|
||||
{ 0x932F, 0x0F, 0x00, 0x00 },
|
||||
{ 0x9330, 0x0F, 0x00, 0x00 },
|
||||
{ 0x3B32, 0x03, 0x00, 0x00 },
|
||||
{ 0x3B35, 0x14, 0x00, 0x00 },
|
||||
{ 0x3B36, 0xFA, 0x00, 0x00 },
|
||||
{ 0x3B62, 0x04, 0x00, 0x00 },
|
||||
{ 0x3B63, 0x09, 0x00, 0x00 },
|
||||
{ 0x3B64, 0x07, 0x00, 0x00 },
|
||||
{ 0x3B65, 0x0E, 0x00, 0x00 },
|
||||
{ 0x3B72, 0x04, 0x00, 0x00 },
|
||||
{ 0x3B73, 0x0F, 0x00, 0x00 },
|
||||
{ 0x3B75, 0x14, 0x00, 0x00 },
|
||||
{ 0x3B76, 0xFA, 0x00, 0x00 },
|
||||
{ 0x51AB, 0xD4, 0x00, 0x00 },
|
||||
{ 0x51AD, 0x5C, 0x00, 0x00 },
|
||||
{ 0x7832, 0x00, 0x00, 0x00 },
|
||||
{ 0x7834, 0x00, 0x00, 0x00 },
|
||||
{ 0x7968, 0x0A, 0x00, 0x00 },
|
||||
{ 0x7A2C, 0x04, 0x00, 0x00 },
|
||||
{ 0x7A2D, 0x05, 0x00, 0x00 },
|
||||
{ 0x7A2E, 0x04, 0x00, 0x00 },
|
||||
{ 0x7A2F, 0x00, 0x00, 0x00 },
|
||||
{ 0x7A30, 0x00, 0x00, 0x00 },
|
||||
{ 0x7A36, 0x00, 0x00, 0x00 },
|
||||
{ 0x7A40, 0x00, 0x00, 0x00 },
|
||||
{ 0x7A46, 0x00, 0x00, 0x00 },
|
||||
{ 0x7A47, 0x00, 0x00, 0x00 },
|
||||
{ 0x7A5D, 0x06, 0x00, 0x00 },
|
||||
{ 0x7A5E, 0x06, 0x00, 0x00 },
|
||||
{ 0x7A74, 0x04, 0x00, 0x00 },
|
||||
{ 0x7A75, 0x04, 0x00, 0x00 },
|
||||
{ 0x7A87, 0x00, 0x00, 0x00 },
|
||||
{ 0x7A88, 0x00, 0x00, 0x00 },
|
||||
{ 0x7A8C, 0x02, 0x00, 0x00 },
|
||||
{ 0x7A9A, 0x04, 0x00, 0x00 },
|
||||
{ 0x7A9B, 0x04, 0x00, 0x00 },
|
||||
{ 0x7AA7, 0x06, 0x00, 0x00 },
|
||||
{ 0x7AA8, 0x06, 0x00, 0x00 },
|
||||
{ 0x7AB0, 0x06, 0x00, 0x00 },
|
||||
{ 0x7AB1, 0x06, 0x00, 0x00 },
|
||||
{ 0x7AB8, 0x01, 0x00, 0x00 },
|
||||
{ 0x7AB9, 0x01, 0x00, 0x00 },
|
||||
{ 0x7ABA, 0x03, 0x00, 0x00 },
|
||||
{ 0x7ABB, 0x01, 0x00, 0x00 },
|
||||
{ 0x7ABC, 0x01, 0x00, 0x00 },
|
||||
{ 0x7ACF, 0x01, 0x00, 0x00 },
|
||||
{ 0x7AD0, 0x01, 0x00, 0x00 },
|
||||
{ 0x7AD1, 0x03, 0x00, 0x00 },
|
||||
{ 0x7AD2, 0x03, 0x00, 0x00 },
|
||||
{ 0x7AD3, 0x03, 0x00, 0x00 },
|
||||
{ 0x7B00, 0x01, 0x00, 0x00 },
|
||||
{ 0x7B01, 0x01, 0x00, 0x00 },
|
||||
{ 0x7D0E, 0x07, 0x00, 0x00 },
|
||||
{ 0x7D0F, 0xA0, 0x00, 0x00 },
|
||||
{ 0x7D17, 0x46, 0x00, 0x00 },
|
||||
{ 0x7D19, 0x3A, 0x00, 0x00 },
|
||||
{ 0x7D2B, 0x5F, 0x00, 0x00 },
|
||||
{ 0x7D2D, 0x63, 0x00, 0x00 },
|
||||
{ 0x7D37, 0xB4, 0x00, 0x00 },
|
||||
{ 0x7D39, 0xAE, 0x00, 0x00 },
|
||||
{ 0x87AF, 0x26, 0x00, 0x00 },
|
||||
{ 0x87B0, 0x1C, 0x00, 0x00 },
|
||||
{ 0x87B1, 0x1C, 0x00, 0x00 },
|
||||
{ 0x881D, 0x0A, 0x00, 0x00 },
|
||||
{ 0x881E, 0x0A, 0x00, 0x00 },
|
||||
{ 0x891F, 0x35, 0x00, 0x00 },
|
||||
{ 0x8921, 0x35, 0x00, 0x00 },
|
||||
{ 0x8923, 0x35, 0x00, 0x00 },
|
||||
{ 0x89E3, 0x8F, 0x00, 0x00 },
|
||||
{ 0x89E5, 0x8F, 0x00, 0x00 },
|
||||
{ 0x8A63, 0x9D, 0x00, 0x00 },
|
||||
{ 0x8A65, 0xBD, 0x00, 0x00 },
|
||||
{ 0x8A67, 0xBD, 0x00, 0x00 },
|
||||
{ 0x8B27, 0xF7, 0x00, 0x00 },
|
||||
{ 0x8B29, 0xF7, 0x00, 0x00 },
|
||||
{ 0x8C05, 0x79, 0x00, 0x00 },
|
||||
{ 0x8C07, 0x79, 0x00, 0x00 },
|
||||
{ 0x8CB1, 0x9B, 0x00, 0x00 },
|
||||
{ 0x7D10, 0x07, 0x00, 0x00 },
|
||||
{ 0x7D11, 0x06, 0x00, 0x00 },
|
||||
{ 0x7D28, 0x06, 0x00, 0x00 },
|
||||
{ 0x7D29, 0xF4, 0x00, 0x00 },
|
||||
{ 0x7D00, 0x07, 0x00, 0x00 },
|
||||
{ 0x7D01, 0x06, 0x00, 0x00 },
|
||||
{ 0x7D1C, 0x06, 0x00, 0x00 },
|
||||
{ 0x7D1D, 0xF4, 0x00, 0x00 },
|
||||
{ 0x7938, 0x06, 0x00, 0x00 },
|
||||
{ 0x7AAD, 0x00, 0x00, 0x00 },
|
||||
{ 0x7A3E, 0x00, 0x00, 0x00 },
|
||||
{ 0x7A92, 0x01, 0x00, 0x00 },
|
||||
{ 0x7A34, 0x00, 0x00, 0x00 },
|
||||
{ 0x7AAE, 0x00, 0x00, 0x00 },
|
||||
{ 0x7A3F, 0x00, 0x00, 0x00 },
|
||||
{ 0x7A93, 0x01, 0x00, 0x00 },
|
||||
{ 0x7A35, 0x00, 0x00, 0x00 },
|
||||
{ 0x7A8B, 0x07, 0x00, 0x00 },
|
||||
{ 0x2133, 0x00, 0x00, 0x00 },
|
||||
{ 0xB63D, 0x09, 0x00, 0x00 },
|
||||
{ 0xB63F, 0x0B, 0x00, 0x00 },
|
||||
{ 0xB643, 0x09, 0x00, 0x00 },
|
||||
{ 0xB645, 0x0B, 0x00, 0x00 },
|
||||
{ 0xB649, 0x01, 0x00, 0x00 },
|
||||
{ 0xB64B, 0x02, 0x00, 0x00 },
|
||||
{ 0xB64F, 0x01, 0x00, 0x00 },
|
||||
{ 0xB651, 0x02, 0x00, 0x00 },
|
||||
{ 0xB701, 0x08, 0x00, 0x00 },
|
||||
{ 0xB703, 0x19, 0x00, 0x00 },
|
||||
{ 0xB707, 0x08, 0x00, 0x00 },
|
||||
{ 0xB709, 0x19, 0x00, 0x00 },
|
||||
{ 0xB70D, 0x09, 0x00, 0x00 },
|
||||
{ 0xB70F, 0x0B, 0x00, 0x00 },
|
||||
{ 0xB713, 0x09, 0x00, 0x00 },
|
||||
{ 0xB715, 0x0B, 0x00, 0x00 },
|
||||
{ 0xB719, 0x01, 0x00, 0x00 },
|
||||
{ 0xB71B, 0x02, 0x00, 0x00 },
|
||||
{ 0xB71F, 0x01, 0x00, 0x00 },
|
||||
{ 0xB721, 0x02, 0x00, 0x00 },
|
||||
{ 0xB725, 0x08, 0x00, 0x00 },
|
||||
{ 0xB727, 0x19, 0x00, 0x00 },
|
||||
{ 0xB72B, 0x08, 0x00, 0x00 },
|
||||
{ 0xB72D, 0x19, 0x00, 0x00 },
|
||||
{ 0x2133, 0x02, 0x00, 0x00 },
|
||||
{ 0x7A93, 0x03, 0x00, 0x00 },
|
||||
{ 0x7CA7, 0xA7, 0x00, 0x00 },
|
||||
{ 0x7C93, 0xA7, 0x00, 0x00 },
|
||||
{ 0x7C60, 0x07, 0x00, 0x00 },
|
||||
{ 0x7C61, 0x6C, 0x00, 0x00 },
|
||||
{ 0x2133, 0x00, 0x00, 0x00 },
|
||||
{ 0xA755, 0x01, 0x00, 0x00 },
|
||||
{ 0xBC24, 0x20, 0x00, 0x00 },
|
||||
{ 0xBC25, 0x10, 0x00, 0x00 },
|
||||
{ 0xBC26, 0x08, 0x00, 0x00 },
|
||||
{ 0xA751, 0x01, 0x00, 0x00 },
|
||||
{ 0xBC06, 0x20, 0x00, 0x00 },
|
||||
{ 0xBC07, 0x10, 0x00, 0x00 },
|
||||
{ 0xBC08, 0x08, 0x00, 0x00 },
|
||||
{ 0x9DB4, 0x50, 0x00, 0x00 },
|
||||
{ 0x9DB5, 0x3C, 0x00, 0x00 },
|
||||
{ 0x9DB6, 0x28, 0x00, 0x00 },
|
||||
{ 0x9DB7, 0x28, 0x00, 0x00 },
|
||||
{ 0x9DB8, 0x14, 0x00, 0x00 },
|
||||
{ 0x9FEC, 0x11, 0x00, 0x00 },
|
||||
{ 0x9FED, 0x11, 0x00, 0x00 },
|
||||
{ 0x9FEE, 0x11, 0x00, 0x00 },
|
||||
{ 0x9FEF, 0x11, 0x00, 0x00 },
|
||||
{ 0x9FF0, 0x11, 0x00, 0x00 },
|
||||
{ 0x9FF1, 0x12, 0x00, 0x00 },
|
||||
{ 0x9FF2, 0x12, 0x00, 0x00 },
|
||||
{ 0x9FF3, 0x12, 0x00, 0x00 },
|
||||
{ 0x9FF4, 0x12, 0x00, 0x00 },
|
||||
{ 0x9FF5, 0x12, 0x00, 0x00 },
|
||||
{ 0x9FF6, 0x11, 0x00, 0x00 },
|
||||
{ 0x9FF7, 0x11, 0x00, 0x00 },
|
||||
{ 0x9FF8, 0x11, 0x00, 0x00 },
|
||||
{ 0x9FF9, 0x11, 0x00, 0x00 },
|
||||
{ 0x9FFA, 0x11, 0x00, 0x00 },
|
||||
{ 0x9FFB, 0x12, 0x00, 0x00 },
|
||||
{ 0x9FFC, 0x12, 0x00, 0x00 },
|
||||
{ 0x9FFD, 0x12, 0x00, 0x00 },
|
||||
{ 0x9FFE, 0x12, 0x00, 0x00 },
|
||||
{ 0x9FFF, 0x12, 0x00, 0x00 },
|
||||
{ 0x9DA4, 0x08, 0x00, 0x00 },
|
||||
{ 0x9DA6, 0x09, 0x00, 0x00 },
|
||||
{ 0xBE4E, 0x02, 0x00, 0x00 },
|
||||
{ 0xBE4F, 0xEE, 0x00, 0x00 },
|
||||
{ 0xBE50, 0x02, 0x00, 0x00 },
|
||||
{ 0xBE51, 0xEE, 0x00, 0x00 },
|
||||
{ 0xBE52, 0x02, 0x00, 0x00 },
|
||||
{ 0xBE53, 0xEE, 0x00, 0x00 },
|
||||
{ 0xBE5B, 0xB6, 0x00, 0x00 },
|
||||
{ 0xBE5D, 0xB6, 0x00, 0x00 },
|
||||
{ 0xBE5F, 0xB6, 0x00, 0x00 },
|
||||
{ 0xBE66, 0x02, 0x00, 0x00 },
|
||||
{ 0xBE67, 0xEE, 0x00, 0x00 },
|
||||
{ 0xBE68, 0x02, 0x00, 0x00 },
|
||||
{ 0xBE69, 0xEE, 0x00, 0x00 },
|
||||
{ 0xBE6A, 0x02, 0x00, 0x00 },
|
||||
{ 0xBE6B, 0xEE, 0x00, 0x00 },
|
||||
{ 0xBE73, 0xB6, 0x00, 0x00 },
|
||||
{ 0xBE75, 0xB6, 0x00, 0x00 },
|
||||
{ 0xBE77, 0xB6, 0x00, 0x00 },
|
||||
{ 0xBE12, 0x02, 0x00, 0x00 },
|
||||
{ 0xBE13, 0xEE, 0x00, 0x00 },
|
||||
{ 0xBE14, 0x02, 0x00, 0x00 },
|
||||
{ 0xBE15, 0xEE, 0x00, 0x00 },
|
||||
{ 0xBE16, 0x02, 0x00, 0x00 },
|
||||
{ 0xBE17, 0xEE, 0x00, 0x00 },
|
||||
{ 0xBE1F, 0xB6, 0x00, 0x00 },
|
||||
{ 0xBE21, 0xB6, 0x00, 0x00 },
|
||||
{ 0xBE23, 0xB6, 0x00, 0x00 },
|
||||
{ 0xBE2A, 0x02, 0x00, 0x00 },
|
||||
{ 0xBE2B, 0xEE, 0x00, 0x00 },
|
||||
{ 0xBE2C, 0x02, 0x00, 0x00 },
|
||||
{ 0xBE2D, 0xEE, 0x00, 0x00 },
|
||||
{ 0xBE2E, 0x02, 0x00, 0x00 },
|
||||
{ 0xBE2F, 0xEE, 0x00, 0x00 },
|
||||
{ 0xBE37, 0xB6, 0x00, 0x00 },
|
||||
{ 0xBE39, 0xB6, 0x00, 0x00 },
|
||||
{ 0xBE3B, 0xB6, 0x00, 0x00 },
|
||||
{ 0xD452, 0x00, 0x00, 0x00 },
|
||||
{ 0xD45C, 0x00, 0x00, 0x00 },
|
||||
{ 0xE833, 0x13, 0x00, 0x00 },
|
||||
{ 0xD493, 0x03, 0x00, 0x00 },
|
||||
{ 0xD498, 0x03, 0x00, 0x00 },
|
||||
{ 0xD474, 0x05, 0x00, 0x00 },
|
||||
{ 0xD475, 0x05, 0x00, 0x00 },
|
||||
{ 0xD476, 0x05, 0x00, 0x00 },
|
||||
{ 0xD479, 0x00, 0x00, 0x00 },
|
||||
{ 0xD47A, 0x00, 0x00, 0x00 },
|
||||
{ 0xD47B, 0x00, 0x00, 0x00 },
|
||||
{ 0xD48C, 0x06, 0x00, 0x00 },
|
||||
{ 0xD48D, 0x06, 0x00, 0x00 },
|
||||
{ 0xD48E, 0x06, 0x00, 0x00 },
|
||||
{ 0xDA7B, 0x01, 0x00, 0x00 },
|
||||
{ 0xDA7D, 0x01, 0x00, 0x00 },
|
||||
{ 0xDA7F, 0x01, 0x00, 0x00 },
|
||||
{ 0xE80D, 0x04, 0x00, 0x00 },
|
||||
{ 0xE80E, 0x05, 0x00, 0x00 },
|
||||
{ 0xE80F, 0x04, 0x00, 0x00 },
|
||||
{ 0xE810, 0x07, 0x00, 0x00 },
|
||||
{ 0xA75B, 0x00, 0x00, 0x00 },
|
||||
{ 0xA758, 0x00, 0x00, 0x00 },
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_setting imx854_stby_off_settings[] = {
|
||||
{ imx854_stby_off_setting,
|
||||
ARRAY_SIZE(imx854_stby_off_setting),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
CAMERA_SENSOR_I2C_TYPE_BYTE,
|
||||
0,
|
||||
},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array imx854_checksum_cal_setting[] = {
|
||||
{ 0x32E8, 0x01, 0x00, 0x00 },
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_setting imx854_checksum_cal_settings[] = {
|
||||
{ imx854_checksum_cal_setting,
|
||||
ARRAY_SIZE(imx854_checksum_cal_setting),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
CAMERA_SENSOR_I2C_TYPE_BYTE,
|
||||
0,
|
||||
},
|
||||
};
|
||||
|
||||
int imx854_retention_checksum(struct cam_sensor_ctrl_t *s_ctrl, uint8_t *data)
|
||||
{
|
||||
int rc = 0;
|
||||
|
||||
rc = cam_sensor_write_settings(&s_ctrl->io_master_info,
|
||||
imx854_checksum_cal_settings, ARRAY_SIZE(imx854_checksum_cal_settings));
|
||||
rc |= camera_io_dev_poll(&s_ctrl->io_master_info,
|
||||
IMX854_RETENTION_CHKSUM_CAL_STA_ADDR, 0x00, 0,
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE,
|
||||
10);
|
||||
|
||||
if (rc == 0)
|
||||
rc = camera_io_dev_read_seq(&s_ctrl->io_master_info,
|
||||
IMX854_RETENTION_CHKSUM_VALUE_ADDR, data,
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE,
|
||||
IMX854_RETENTION_CHKSUM_VALUE_NUM);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
||||
int imx854_retention_init(struct cam_sensor_ctrl_t *s_ctrl)
|
||||
{
|
||||
int32_t rc = 0, i = 0;
|
||||
uint8_t chksum_values[IMX854_RETENTION_CHKSUM_VALUE_NUM] = { 0, };
|
||||
|
||||
CAM_INFO(CAM_SENSOR, "[RET_DBG] E");
|
||||
|
||||
if (s_ctrl->i2c_data.init_settings.is_settings_valid &&
|
||||
(s_ctrl->i2c_data.init_settings.request_id == 0)) {
|
||||
rc = cam_sensor_apply_settings(s_ctrl, 0,
|
||||
CAM_SENSOR_PACKET_OPCODE_SENSOR_INITIAL_CONFIG);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_SENSOR,
|
||||
"[RET_DBG] Failed to write init rc = %d", rc);
|
||||
hw_bigdata_i2c_from_sensor(s_ctrl);
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
// Checksum Sequence & Flow (A)
|
||||
rc = imx854_retention_checksum(s_ctrl, chksum_values);
|
||||
if (rc == 0) {
|
||||
s_ctrl->retention_reserved[0] = 0;
|
||||
for (i = 0; i < IMX854_RETENTION_CHKSUM_VALUE_NUM; i++)
|
||||
s_ctrl->retention_reserved[0] |= chksum_values[i] << (8 * i);
|
||||
CAM_DBG(CAM_SENSOR, "[RET_DBG] init chksum 0x%04X",
|
||||
s_ctrl->retention_reserved[0]);
|
||||
}
|
||||
|
||||
end:
|
||||
CAM_INFO(CAM_SENSOR, "[RET_DBG] X");
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
int imx854_retention_exit(struct cam_sensor_ctrl_t *s_ctrl)
|
||||
{
|
||||
int32_t rc = 0, i = 0, chksum_value = 0;
|
||||
uint8_t chksum_values[IMX854_RETENTION_CHKSUM_VALUE_NUM] = { 0, };
|
||||
|
||||
|
||||
CAM_INFO(CAM_SENSOR, "[RET_DBG] E");
|
||||
|
||||
s_ctrl->retention_checksum = false;
|
||||
|
||||
// Checksum Sequence & Flow (B)
|
||||
rc = imx854_retention_checksum(s_ctrl, chksum_values);
|
||||
if (rc == 0) {
|
||||
for (i = 0; i < IMX854_RETENTION_CHKSUM_VALUE_NUM; i++)
|
||||
chksum_value |= chksum_values[i] << (8 * i);
|
||||
|
||||
if (s_ctrl->retention_reserved[0] == chksum_value) {
|
||||
s_ctrl->retention_checksum = true;
|
||||
|
||||
rc = cam_sensor_write_settings(&s_ctrl->io_master_info,
|
||||
imx854_stby_off_settings, ARRAY_SIZE(imx854_stby_off_settings));
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_SENSOR,
|
||||
"[RET_DBG] Failed to write stby off setting, rc = %d", rc);
|
||||
return rc;
|
||||
}
|
||||
|
||||
CAM_DBG(CAM_SENSOR, "[RET_DBG] chksum 0x%X : 0x%X",
|
||||
s_ctrl->retention_reserved[0], chksum_value);
|
||||
CAM_INFO(CAM_SENSOR, "[RET_DBG] Retention checksum pass");
|
||||
} else {
|
||||
CAM_ERR(CAM_SENSOR, "[RET_DBG] Retention checksum fail (0x%X != 0x%X), rc = %d",
|
||||
s_ctrl->retention_reserved[0], chksum_value, rc);
|
||||
}
|
||||
}
|
||||
|
||||
CAM_INFO(CAM_SENSOR, "[RET_DBG] X");
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
// Pre-Stream off, Retention/Checksum register reset
|
||||
int imx854_retention_enter(struct cam_sensor_ctrl_t *s_ctrl)
|
||||
{
|
||||
int32_t rc = 0;
|
||||
|
||||
CAM_INFO(CAM_SENSOR, "[RET_DBG] E");
|
||||
|
||||
CAM_INFO(CAM_SENSOR, "[RET_DBG] X");
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
struct cam_sensor_retention_info imx854_retention_info = {
|
||||
.retention_init = imx854_retention_init,
|
||||
.retention_exit = imx854_retention_exit,
|
||||
.retention_enter = imx854_retention_enter,
|
||||
.retention_support = true,
|
||||
};
|
@ -0,0 +1,502 @@
|
||||
/* Copyright (c) 2015-2017, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#if defined(CONFIG_CAMERA_ADAPTIVE_MIPI)
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/dev_ril_bridge.h>
|
||||
#include "cam_sensor_mipi.h"
|
||||
#include "cam_sensor_adaptive_mipi_wide_2_0.h"
|
||||
#include "cam_sensor_adaptive_mipi_uw_2_0.h"
|
||||
#include "cam_sensor_adaptive_mipi_tele_2_0.h"
|
||||
#include "cam_sensor_adaptive_mipi_tele2_2_0.h"
|
||||
#include "cam_sensor_adaptive_mipi_front_2_0.h"
|
||||
#include "cam_sensor_adaptive_mipi_front_top_2_0.h"
|
||||
#include "cam_sensor_dev.h"
|
||||
|
||||
static int adaptive_mipi_mode;
|
||||
module_param(adaptive_mipi_mode, int, 0644);
|
||||
|
||||
/*
|
||||
adb shell "echo 1,56,61 > /sys/module/camera/parameters/am_auto_test"
|
||||
*/
|
||||
static int am_auto_test_count;
|
||||
static unsigned int am_auto_test[10];
|
||||
module_param_array(am_auto_test, uint, &am_auto_test_count, 0644);
|
||||
|
||||
static struct cam_cp_noti_cell_infos g_cp_noti_cell_infos;
|
||||
static struct mutex g_mipi_mutex;
|
||||
static bool g_init_notifier;
|
||||
extern char mipi_string[20];
|
||||
|
||||
/* CP notity format (HEX raw format)
|
||||
* 10 00 AA BB 27 01 03 XX YY YY YY YY ZZ ZZ ZZ ZZ
|
||||
*
|
||||
* 00 10 (0x0010) - len
|
||||
* AA BB - not used
|
||||
* 27 - MAIN CMD (SYSTEM CMD : 0x27)
|
||||
* 01 - SUB CMD (CP Channel Info : 0x01)
|
||||
* 03 - NOTI CMD (0x03)
|
||||
* XX - RAT MODE
|
||||
* YY YY YY YY - BAND MODE
|
||||
* ZZ ZZ ZZ ZZ - FREQ INFO
|
||||
*/
|
||||
|
||||
void *bsearch(const void *key, const void *base, size_t num, size_t size, cmp_func_t cmp)
|
||||
{
|
||||
const char *pivot;
|
||||
int result;
|
||||
|
||||
while (num > 0) {
|
||||
pivot = base + (num >> 1) * size;
|
||||
result = cmp(key, pivot);
|
||||
|
||||
if (result == 0)
|
||||
return (void *)pivot;
|
||||
|
||||
if (result > 0) {
|
||||
base = pivot + size;
|
||||
num--;
|
||||
}
|
||||
num >>= 1;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static int cam_mipi_ril_notifier(struct notifier_block *nb,
|
||||
unsigned long size, void *buf)
|
||||
{
|
||||
struct dev_ril_bridge_msg *msg;
|
||||
int data_size;
|
||||
int msg_data_size;
|
||||
int i;
|
||||
|
||||
if (!g_init_notifier) {
|
||||
CAM_ERR(CAM_SENSOR, "[AM_DBG] not init ril notifier");
|
||||
return NOTIFY_DONE;
|
||||
}
|
||||
|
||||
CAM_INFO(CAM_SENSOR, "[AM_DBG] ril notification size [%ld]", size);
|
||||
|
||||
msg = (struct dev_ril_bridge_msg *)buf;
|
||||
CAM_INFO(CAM_SENSOR, "[AM_DBG] dev_id : %d, data_len : %d",
|
||||
msg->dev_id, msg->data_len);
|
||||
|
||||
if (size == sizeof(struct dev_ril_bridge_msg)
|
||||
&& msg->dev_id == IPC_SYSTEM_CP_ADAPTIVE_MIPI_INFO) {
|
||||
data_size = sizeof(struct cam_cp_cell_info);
|
||||
msg_data_size = msg->data_len - sizeof(g_cp_noti_cell_infos.num_cell);
|
||||
memcpy(&g_cp_noti_cell_infos, msg->data, sizeof(g_cp_noti_cell_infos.num_cell)); // get number of cell
|
||||
|
||||
CAM_INFO(CAM_SENSOR, "[AM_DBG] num_cell: %d, data_size : %d, msg_data_size : %d",
|
||||
g_cp_noti_cell_infos.num_cell, data_size, msg_data_size);
|
||||
|
||||
if (msg_data_size == data_size * CAM_MIPI_MAX_BAND) {
|
||||
mutex_lock(&g_mipi_mutex);
|
||||
memset(&g_cp_noti_cell_infos, 0, sizeof(struct cam_cp_noti_cell_infos));
|
||||
memcpy(&g_cp_noti_cell_infos, msg->data, msg->data_len);
|
||||
mutex_unlock(&g_mipi_mutex);
|
||||
|
||||
for (i = 0; i < g_cp_noti_cell_infos.num_cell; i++) {
|
||||
CAM_INFO(CAM_SENSOR, "[AM_DBG] update mipi cell info %d : [%d,%d,%d,%d,%d,%d]",
|
||||
i, g_cp_noti_cell_infos.cell_list[i].rat, g_cp_noti_cell_infos.cell_list[i].band,
|
||||
g_cp_noti_cell_infos.cell_list[i].channel, g_cp_noti_cell_infos.cell_list[i].connection_status,
|
||||
g_cp_noti_cell_infos.cell_list[i].bandwidth, g_cp_noti_cell_infos.cell_list[i].sinr);
|
||||
}
|
||||
|
||||
return NOTIFY_OK;
|
||||
}
|
||||
else
|
||||
{
|
||||
CAM_ERR(CAM_SENSOR, "[AM_DBG] mismatching msg data size : %d", data_size * g_cp_noti_cell_infos.num_cell);
|
||||
}
|
||||
}
|
||||
|
||||
return NOTIFY_DONE;
|
||||
}
|
||||
|
||||
static struct notifier_block g_ril_notifier_block = {
|
||||
.notifier_call = cam_mipi_ril_notifier,
|
||||
};
|
||||
|
||||
void cam_mipi_register_ril_notifier(void)
|
||||
{
|
||||
if (!g_init_notifier) {
|
||||
CAM_INFO(CAM_SENSOR, "[AM_DBG] register ril notifier");
|
||||
|
||||
mutex_init(&g_mipi_mutex);
|
||||
memset(&g_cp_noti_cell_infos, 0, sizeof(struct cam_cp_noti_cell_infos));
|
||||
|
||||
register_dev_ril_bridge_event_notifier(&g_ril_notifier_block);
|
||||
g_init_notifier = true;
|
||||
}
|
||||
}
|
||||
|
||||
static void cam_mipi_get_rf_cell_infos(struct cam_cp_noti_cell_infos *cell_infos)
|
||||
{
|
||||
if (am_auto_test_count > 0) {
|
||||
int i = 0;
|
||||
memset(cell_infos, 0, sizeof(struct cam_cp_noti_cell_infos));
|
||||
|
||||
cell_infos->num_cell = am_auto_test_count;
|
||||
|
||||
for (i = 0; i < am_auto_test_count; i++) {
|
||||
cell_infos->cell_list[i].rat = test_cp_cell_infos[am_auto_test[i] - 1].rat;
|
||||
cell_infos->cell_list[i].band = test_cp_cell_infos[am_auto_test[i] - 1].band;
|
||||
cell_infos->cell_list[i].channel = test_cp_cell_infos[am_auto_test[i] - 1].channel;
|
||||
cell_infos->cell_list[i].connection_status = test_cp_cell_infos[am_auto_test[i] - 1].connection_status;
|
||||
cell_infos->cell_list[i].bandwidth = test_cp_cell_infos[am_auto_test[i] - 1].bandwidth;
|
||||
cell_infos->cell_list[i].sinr = test_cp_cell_infos[am_auto_test[i] - 1].sinr;
|
||||
|
||||
CAM_INFO(CAM_SENSOR, "[AM_DBG] update test mipi cell info %d : [%d,%d,%d,%d,%d,%d]",
|
||||
am_auto_test[i], cell_infos->cell_list[i].rat, cell_infos->cell_list[i].band,
|
||||
cell_infos->cell_list[i].channel, cell_infos->cell_list[i].connection_status,
|
||||
cell_infos->cell_list[i].bandwidth, cell_infos->cell_list[i].sinr);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (!g_init_notifier) {
|
||||
CAM_ERR(CAM_SENSOR, "[AM_DBG] not init ril notifier\n");
|
||||
memset(cell_infos, 0, sizeof(struct cam_cp_noti_cell_infos));
|
||||
return;
|
||||
}
|
||||
|
||||
mutex_lock(&g_mipi_mutex);
|
||||
memcpy(cell_infos, &g_cp_noti_cell_infos, sizeof(struct cam_cp_noti_cell_infos));
|
||||
mutex_unlock(&g_mipi_mutex);
|
||||
}
|
||||
|
||||
static int compare_rf_cell_ratings(const void *key, const void *element)
|
||||
{
|
||||
struct cam_mipi_cell_ratings *k = ((struct cam_mipi_cell_ratings *)key);
|
||||
struct cam_mipi_cell_ratings *e = ((struct cam_mipi_cell_ratings *)element);
|
||||
|
||||
if (k->rat_band < e->rat_band)
|
||||
return -1;
|
||||
else if (k->rat_band > e->rat_band)
|
||||
return 1;
|
||||
|
||||
if (k->channel_max < e->channel_min)
|
||||
return -1;
|
||||
else if (k->channel_min > e->channel_max)
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int cam_mipi_select_mipi_by_rf_cell_infos(struct cam_sensor_ctrl_t *s_ctrl,
|
||||
const struct cam_mipi_cell_ratings *channel_list,
|
||||
const int size, const int freq_size)
|
||||
{
|
||||
struct cam_mipi_cell_ratings *result = NULL;
|
||||
struct cam_mipi_cell_ratings key;
|
||||
struct cam_cp_noti_cell_infos cell_infos;
|
||||
int i, j;
|
||||
int freq_ratings_sums[CAM_MIPI_MAX_FREQ] = {0,};
|
||||
int min = 0x7fffffff;
|
||||
int min_freq_idx = -1;
|
||||
char print_buf[128] = {0,};
|
||||
int print_buf_size = sizeof(print_buf);
|
||||
int print_buf_cnt = 0;
|
||||
int freq_rating;
|
||||
const struct cam_mipi_sensor_mode *cur_mipi_sensor_mode;
|
||||
int32_t sensor_type = 0;
|
||||
|
||||
cam_mipi_get_rf_cell_infos(&cell_infos);
|
||||
|
||||
CAM_INFO(CAM_SENSOR, "[AM_DBG] cell number %d", cell_infos.num_cell);
|
||||
|
||||
for (i = 0; i < cell_infos.num_cell; i++) {
|
||||
key.rat_band = CAM_RAT_BAND(cell_infos.cell_list[i].rat, cell_infos.cell_list[i].band);
|
||||
key.channel_min = cell_infos.cell_list[i].channel;
|
||||
key.channel_max = cell_infos.cell_list[i].channel;
|
||||
|
||||
CAM_INFO(CAM_SENSOR, "[AM_DBG] searching rf channel s [%d,%d,%d]\n",
|
||||
cell_infos.cell_list[i].rat,
|
||||
cell_infos.cell_list[i].band, cell_infos.cell_list[i].channel);
|
||||
|
||||
result = bsearch(&key,
|
||||
channel_list,
|
||||
size,
|
||||
sizeof(struct cam_mipi_cell_ratings),
|
||||
compare_rf_cell_ratings);
|
||||
|
||||
if (result == NULL) {
|
||||
CAM_INFO(CAM_SENSOR, "[AM_DBG] searching result : not found, skip this\n");
|
||||
continue;
|
||||
}
|
||||
|
||||
memset(print_buf, print_buf_size, 0);
|
||||
print_buf_cnt = 0;
|
||||
|
||||
for (j = 0; j < freq_size; j++) {
|
||||
if (cell_infos.cell_list[i].connection_status == CAM_CON_STATUS_PRIMARY_SERVING)
|
||||
freq_rating = result->freq_ratings[j] * 10;
|
||||
else
|
||||
freq_rating = result->freq_ratings[j];
|
||||
|
||||
freq_ratings_sums[j] += freq_rating;
|
||||
print_buf_cnt += snprintf(print_buf + print_buf_cnt, print_buf_size - print_buf_cnt, "%d : [%d], ", j, freq_rating);
|
||||
}
|
||||
|
||||
CAM_INFO(CAM_SENSOR, "[AM_DBG] searching result : [0x%x,(%d-%d)]-> %s\n",
|
||||
result->rat_band, result->channel_min, result->channel_max, print_buf);
|
||||
|
||||
}
|
||||
|
||||
memset(print_buf, print_buf_size, 0);
|
||||
print_buf_cnt = 0;
|
||||
for (i = 0; i < freq_size; i++) {
|
||||
if (min > freq_ratings_sums[i]) {
|
||||
min = freq_ratings_sums[i];
|
||||
min_freq_idx = i;
|
||||
}
|
||||
|
||||
print_buf_cnt += snprintf(print_buf + print_buf_cnt, print_buf_size - print_buf_cnt, "%d : [%d], ", i, freq_ratings_sums[i]);
|
||||
}
|
||||
|
||||
cur_mipi_sensor_mode = &(s_ctrl->mipi_info[0]);
|
||||
sensor_type = cam_check_sensor_type(s_ctrl->sensordata->slave_info.sensor_id);
|
||||
|
||||
CAM_INFO(CAM_SENSOR, "[AM_DBG] [Pos:%d, Mode:%d] final result: [%d], [%d], mipi ratings result : %s",
|
||||
sensor_type - 1, s_ctrl->sensor_mode,
|
||||
cur_mipi_sensor_mode->mipi_setting[min_freq_idx].mipi_rate,
|
||||
min_freq_idx,
|
||||
print_buf);
|
||||
|
||||
CAM_DBG(CAM_SENSOR, "[AM_DBG] selected index : %d", min_freq_idx);
|
||||
|
||||
return min_freq_idx;
|
||||
}
|
||||
|
||||
int32_t cam_check_sensor_type(uint16_t sensor_id)
|
||||
{
|
||||
int32_t sensor_type = INVALID;
|
||||
|
||||
switch (sensor_id) {
|
||||
case SENSOR_ID_S5KGN3:
|
||||
case SENSOR_ID_S5KHP2:
|
||||
case SENSOR_ID_S5K2LD:
|
||||
sensor_type = WIDE;
|
||||
break;
|
||||
|
||||
case SENSOR_ID_IMX374:
|
||||
case SENSOR_ID_S5K3J1:
|
||||
#if !defined(CONFIG_SEC_Q6Q_PROJECT) && !defined(CONFIG_SEC_B6Q_PROJECT)
|
||||
case SENSOR_ID_S5K3LU:
|
||||
#endif
|
||||
sensor_type = FRONT;
|
||||
break;
|
||||
|
||||
case SENSOR_ID_IMX564:
|
||||
case SENSOR_ID_IMX258:
|
||||
#if defined(CONFIG_SEC_Q6Q_PROJECT) || defined(CONFIG_SEC_B6Q_PROJECT)
|
||||
case SENSOR_ID_S5K3LU:
|
||||
#endif
|
||||
sensor_type = UW;
|
||||
break;
|
||||
|
||||
case SENSOR_ID_S5K3K1:
|
||||
case SENSOR_ID_IMX754:
|
||||
sensor_type = TELE;
|
||||
break;
|
||||
|
||||
case SENSOR_ID_IMX854:
|
||||
sensor_type = TELE2;
|
||||
break;
|
||||
|
||||
case SENSOR_ID_IMX471:
|
||||
case SENSOR_ID_IMX596:
|
||||
sensor_type = FRONT_TOP;
|
||||
break;
|
||||
|
||||
default:
|
||||
sensor_type = INVALID;
|
||||
break;
|
||||
}
|
||||
CAM_INFO(CAM_SENSOR, "[AM_DBG] sensor_type : %d, 0x%x", sensor_type, sensor_id);
|
||||
|
||||
return sensor_type;
|
||||
}
|
||||
|
||||
void cam_mipi_init_setting(struct cam_sensor_ctrl_t *s_ctrl)
|
||||
{
|
||||
const struct cam_mipi_sensor_mode *cur_mipi_sensor_mode;
|
||||
int32_t sensor_type = cam_check_sensor_type(s_ctrl->sensordata->slave_info.sensor_id);
|
||||
|
||||
if (sensor_type == WIDE) {
|
||||
CAM_INFO(CAM_SENSOR, "[AM_DBG] Wide sensor_mode : %d / %d", s_ctrl->sensor_mode, num_wide_mipi_setting);
|
||||
if (s_ctrl->sensor_mode == 0) {
|
||||
s_ctrl->mipi_info = sensor_wide_mipi_A_mode;
|
||||
} else if (s_ctrl->sensor_mode == 1 && s_ctrl->sensor_mode <= num_wide_mipi_setting) {
|
||||
s_ctrl->mipi_info = sensor_wide_mipi_B_mode;
|
||||
} else if (s_ctrl->sensor_mode == 2 && s_ctrl->sensor_mode <= num_wide_mipi_setting) {
|
||||
s_ctrl->mipi_info = sensor_wide_mipi_C_mode;
|
||||
} else if (s_ctrl->sensor_mode == 3 && s_ctrl->sensor_mode <= num_wide_mipi_setting) {
|
||||
s_ctrl->mipi_info = sensor_wide_mipi_D_mode;
|
||||
} else {
|
||||
s_ctrl->mipi_info = sensor_wide_mipi_A_mode;
|
||||
}
|
||||
}
|
||||
else if (sensor_type == FRONT) {
|
||||
CAM_INFO(CAM_SENSOR, "[AM_DBG] Front sensor_mode : %d / %d", s_ctrl->sensor_mode, num_front_mipi_setting);
|
||||
if (s_ctrl->sensor_mode == 0) {
|
||||
s_ctrl->mipi_info = sensor_front_mipi_A_mode;
|
||||
} else if (s_ctrl->sensor_mode == 1 && s_ctrl->sensor_mode <= num_front_mipi_setting) {
|
||||
s_ctrl->mipi_info = sensor_front_mipi_B_mode;
|
||||
} else if (s_ctrl->sensor_mode == 2 && s_ctrl->sensor_mode <= num_front_mipi_setting) {
|
||||
s_ctrl->mipi_info = sensor_front_mipi_C_mode;
|
||||
} else if (s_ctrl->sensor_mode == 3 && s_ctrl->sensor_mode <= num_front_mipi_setting) {
|
||||
s_ctrl->mipi_info = sensor_front_mipi_D_mode;
|
||||
} else {
|
||||
s_ctrl->mipi_info = sensor_front_mipi_A_mode;
|
||||
}
|
||||
}
|
||||
else if (sensor_type == UW) {
|
||||
CAM_INFO(CAM_SENSOR, "[AM_DBG] UW sensor_mode : %d / %d", s_ctrl->sensor_mode, num_uw_mipi_setting);
|
||||
if (s_ctrl->sensor_mode == 0) {
|
||||
s_ctrl->mipi_info = sensor_uw_mipi_A_mode;
|
||||
} else if (s_ctrl->sensor_mode == 1 && s_ctrl->sensor_mode <= num_uw_mipi_setting) {
|
||||
s_ctrl->mipi_info = sensor_uw_mipi_B_mode;
|
||||
} else if (s_ctrl->sensor_mode == 2 && s_ctrl->sensor_mode <= num_uw_mipi_setting) {
|
||||
s_ctrl->mipi_info = sensor_uw_mipi_C_mode;
|
||||
} else if (s_ctrl->sensor_mode == 3 && s_ctrl->sensor_mode <= num_uw_mipi_setting) {
|
||||
s_ctrl->mipi_info = sensor_uw_mipi_D_mode;
|
||||
} else {
|
||||
s_ctrl->mipi_info = sensor_uw_mipi_A_mode;
|
||||
}
|
||||
}
|
||||
else if (sensor_type == TELE) {
|
||||
CAM_INFO(CAM_SENSOR, "[AM_DBG] Tele sensor_mode : %d / %d", s_ctrl->sensor_mode, num_tele_mipi_setting);
|
||||
if (s_ctrl->sensor_mode == 0) {
|
||||
s_ctrl->mipi_info = sensor_tele_mipi_A_mode;
|
||||
} else if (s_ctrl->sensor_mode == 1 && s_ctrl->sensor_mode <= num_tele_mipi_setting) {
|
||||
s_ctrl->mipi_info = sensor_tele_mipi_B_mode;
|
||||
} else if (s_ctrl->sensor_mode == 2 && s_ctrl->sensor_mode <= num_tele_mipi_setting) {
|
||||
s_ctrl->mipi_info = sensor_tele_mipi_C_mode;
|
||||
} else if (s_ctrl->sensor_mode == 3 && s_ctrl->sensor_mode <= num_tele_mipi_setting) {
|
||||
s_ctrl->mipi_info = sensor_tele_mipi_D_mode;
|
||||
} else {
|
||||
s_ctrl->mipi_info = sensor_tele_mipi_A_mode;
|
||||
}
|
||||
}
|
||||
else if (sensor_type == TELE2) {
|
||||
CAM_INFO(CAM_SENSOR, "[AM_DBG] Tele2 sensor_mode : %d / %d", s_ctrl->sensor_mode, num_tele2_mipi_setting);
|
||||
if (s_ctrl->sensor_mode == 0) {
|
||||
s_ctrl->mipi_info = sensor_tele2_mipi_A_mode;
|
||||
} else if (s_ctrl->sensor_mode == 1 && s_ctrl->sensor_mode <= num_tele2_mipi_setting) {
|
||||
s_ctrl->mipi_info = sensor_tele2_mipi_B_mode;
|
||||
} else if (s_ctrl->sensor_mode == 2 && s_ctrl->sensor_mode <= num_tele2_mipi_setting) {
|
||||
s_ctrl->mipi_info = sensor_tele2_mipi_C_mode;
|
||||
} else if (s_ctrl->sensor_mode == 3 && s_ctrl->sensor_mode <= num_tele2_mipi_setting) {
|
||||
s_ctrl->mipi_info = sensor_tele2_mipi_D_mode;
|
||||
} else {
|
||||
s_ctrl->mipi_info = sensor_tele2_mipi_A_mode;
|
||||
}
|
||||
}
|
||||
else if (sensor_type == FRONT_TOP) {
|
||||
CAM_INFO(CAM_SENSOR, "[AM_DBG] Front_TOP sensor_mode : %d / %d", s_ctrl->sensor_mode, num_front_top_mipi_setting);
|
||||
if (s_ctrl->sensor_mode == 0) {
|
||||
s_ctrl->mipi_info = sensor_front_top_mipi_A_mode;
|
||||
} else if (s_ctrl->sensor_mode == 1 && s_ctrl->sensor_mode <= num_front_top_mipi_setting) {
|
||||
s_ctrl->mipi_info = sensor_front_top_mipi_B_mode;
|
||||
} else if (s_ctrl->sensor_mode == 2 && s_ctrl->sensor_mode <= num_front_top_mipi_setting) {
|
||||
s_ctrl->mipi_info = sensor_front_top_mipi_C_mode;
|
||||
} else if (s_ctrl->sensor_mode == 3 && s_ctrl->sensor_mode <= num_front_top_mipi_setting) {
|
||||
s_ctrl->mipi_info = sensor_front_top_mipi_D_mode;
|
||||
} else {
|
||||
s_ctrl->mipi_info = sensor_front_top_mipi_A_mode;
|
||||
}
|
||||
}
|
||||
else {
|
||||
CAM_ERR(CAM_SENSOR, "[AM_DBG] Not support sensor_type : %d", sensor_type);
|
||||
s_ctrl->mipi_info = sensor_wide_mipi_A_mode;
|
||||
}
|
||||
cur_mipi_sensor_mode = &(s_ctrl->mipi_info[0]);
|
||||
|
||||
s_ctrl->mipi_clock_index_cur = CAM_MIPI_NOT_INITIALIZED;
|
||||
s_ctrl->mipi_clock_index_new = CAM_MIPI_NOT_INITIALIZED;
|
||||
}
|
||||
|
||||
void cam_mipi_update_info(struct cam_sensor_ctrl_t *s_ctrl)
|
||||
{
|
||||
const struct cam_mipi_sensor_mode *cur_mipi_sensor_mode;
|
||||
int found = -1;
|
||||
|
||||
cur_mipi_sensor_mode = &(s_ctrl->mipi_info[0]);
|
||||
|
||||
CAM_DBG(CAM_SENSOR, "[AM_DBG] cur rat : %d", cur_mipi_sensor_mode->mipi_cell_ratings->rat_band);
|
||||
CAM_DBG(CAM_SENSOR, "[AM_DBG] cur channel_min : %d", cur_mipi_sensor_mode->mipi_cell_ratings->channel_min);
|
||||
CAM_DBG(CAM_SENSOR, "[AM_DBG] cur channel_max : %d", cur_mipi_sensor_mode->mipi_cell_ratings->channel_max);
|
||||
|
||||
found = cam_mipi_select_mipi_by_rf_cell_infos(s_ctrl,
|
||||
cur_mipi_sensor_mode->mipi_cell_ratings,
|
||||
cur_mipi_sensor_mode->mipi_cell_ratings_size,
|
||||
cur_mipi_sensor_mode->mipi_setting_size);
|
||||
|
||||
if (found != -1) {
|
||||
if (found < cur_mipi_sensor_mode->mipi_setting_size) {
|
||||
s_ctrl->mipi_clock_index_new = found;
|
||||
|
||||
CAM_DBG(CAM_SENSOR, "[AM_DBG] mipi_clock_index_new : %d",
|
||||
s_ctrl->mipi_clock_index_new);
|
||||
} else {
|
||||
CAM_ERR(CAM_SENSOR, "sensor setting size is out of bound");
|
||||
}
|
||||
}
|
||||
else {
|
||||
CAM_INFO(CAM_SENSOR, "not found rf channel, use default mipi clock");
|
||||
s_ctrl->mipi_clock_index_new = 0;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_SEC_FACTORY)
|
||||
s_ctrl->mipi_clock_index_new = 0;//only for factory
|
||||
#endif
|
||||
|
||||
if (adaptive_mipi_mode > 0) {
|
||||
s_ctrl->mipi_clock_index_new = adaptive_mipi_mode - 10;
|
||||
CAM_INFO(CAM_SENSOR, "[AM_DBG] test adaptive mode : %d", s_ctrl->mipi_clock_index_new);
|
||||
}
|
||||
}
|
||||
|
||||
void cam_mipi_get_clock_string(struct cam_sensor_ctrl_t *s_ctrl)
|
||||
{
|
||||
const struct cam_mipi_sensor_mode *cur_mipi_sensor_mode;
|
||||
|
||||
cur_mipi_sensor_mode = &(s_ctrl->mipi_info[0]);
|
||||
|
||||
sprintf(mipi_string, "%s",
|
||||
cur_mipi_sensor_mode->mipi_setting[s_ctrl->mipi_clock_index_new].str_mipi_clk);
|
||||
|
||||
CAM_DBG(CAM_SENSOR, "[AM_DBG] cam_mipi_get_clock_string : %d", s_ctrl->mipi_clock_index_new);
|
||||
CAM_DBG(CAM_SENSOR, "[AM_DBG] mipi_string : %s", mipi_string);
|
||||
}
|
||||
|
||||
#if defined(CONFIG_CAMERA_RF_MIPI)
|
||||
void get_rf_info(struct cam_cp_noti_cell_infos *cell_infos)
|
||||
{
|
||||
cam_mipi_get_rf_cell_infos(cell_infos);
|
||||
|
||||
for (int i = 0; i < cell_infos->num_cell; i++) {
|
||||
CAM_INFO(CAM_SENSOR, "[AM_DBG] get rf info [%d] [%d,%d,%d]",
|
||||
i,
|
||||
cell_infos->cell_list[i].rat,
|
||||
cell_infos->cell_list[i].band,
|
||||
cell_infos->cell_list[i].channel);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif
|
@ -0,0 +1,450 @@
|
||||
/*
|
||||
* Samsung SDM845 CAM MIPI driver
|
||||
*
|
||||
* SDM845 mipi channel definition
|
||||
*
|
||||
* Copyright (c) 2011 Samsung Electronics Co., Ltd
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#ifndef CAM_SENSOR_MIPI_H
|
||||
#define CAM_SENSOR_MIPI_H
|
||||
|
||||
#if defined(CONFIG_CAMERA_ADAPTIVE_MIPI)
|
||||
#define CAM_RAT_BAND(rat, band) ((rat<<16)|(band & 0xffff))
|
||||
#define CAM_GET_RAT(rat_band) ((rat_band & 0xffff0000)>>16)
|
||||
#define CAM_GET_BAND(rat_band) (0xffff & rat_band)
|
||||
|
||||
#define CAM_MIPI_NOT_INITIALIZED -1
|
||||
#define CAM_MIPI_MAX_BAND 16
|
||||
#define CAM_MIPI_MAX_FREQ 4
|
||||
|
||||
#define DEFINE_TEST_BAND_INFO(_rat, _band, _channel, _conn_status, _bandwidth, _sinr) { \
|
||||
.rat = _rat, \
|
||||
.band = _band, \
|
||||
.channel = _channel, \
|
||||
.connection_status = _conn_status, \
|
||||
.bandwidth = _bandwidth, \
|
||||
.sinr = _sinr, \
|
||||
.rsrp = 0, \
|
||||
.rsrq = 0, \
|
||||
.cqi = 0, \
|
||||
.dl_mcs = 0, \
|
||||
.pusch_power = 0 }
|
||||
|
||||
struct cam_sensor_ctrl_t;
|
||||
|
||||
struct cam_mipi_setting {
|
||||
const char *str_mipi_clk;
|
||||
const u32 mipi_rate; /* it's not internal mipi clock */
|
||||
const struct cam_sensor_i2c_reg_setting *clk_setting;
|
||||
const u32 setting_size;
|
||||
};
|
||||
|
||||
struct cam_mipi_cell_ratings {
|
||||
u32 rat_band;
|
||||
u32 channel_min;
|
||||
u32 channel_max;
|
||||
u8 freq_ratings[CAM_MIPI_MAX_FREQ];
|
||||
};
|
||||
|
||||
struct cam_mipi_sensor_mode {
|
||||
const struct cam_mipi_cell_ratings *mipi_cell_ratings;
|
||||
const u32 mipi_cell_ratings_size;
|
||||
const struct cam_mipi_setting *mipi_setting;
|
||||
const u32 mipi_setting_size;
|
||||
};
|
||||
|
||||
struct __packed cam_cp_cell_info {
|
||||
u8 rat;
|
||||
u32 band;
|
||||
u32 channel;
|
||||
u8 connection_status;
|
||||
u32 bandwidth;
|
||||
int32_t sinr;
|
||||
//optional
|
||||
int32_t rsrp;
|
||||
int32_t rsrq;
|
||||
u8 cqi;
|
||||
u8 dl_mcs;
|
||||
int32_t pusch_power;
|
||||
};
|
||||
|
||||
struct __packed cam_cp_noti_cell_infos {
|
||||
u32 num_cell;
|
||||
struct cam_cp_cell_info cell_list[CAM_MIPI_MAX_BAND];
|
||||
};
|
||||
|
||||
/* cell connection status */
|
||||
enum {
|
||||
CAM_CON_STATUS_NONE = 0,
|
||||
CAM_CON_STATUS_PRIMARY_SERVING = 1,
|
||||
CAM_CON_STATUS_SECONDARY_SERVING = 2,
|
||||
};
|
||||
|
||||
enum {
|
||||
INVALID,
|
||||
WIDE,
|
||||
FRONT,
|
||||
UW,
|
||||
TELE,
|
||||
TELE2,
|
||||
FRONT_TOP,
|
||||
};
|
||||
|
||||
/* RAT */
|
||||
enum {
|
||||
CAM_RAT_1_GSM = 1,
|
||||
CAM_RAT_2_WCDMA = 2,
|
||||
CAM_RAT_3_LTE = 3,
|
||||
CAM_RAT_4_TDSCDMA = 4,
|
||||
CAM_RAT_5_CDMA = 5,
|
||||
CAM_RAT_6_WIFI = 6,
|
||||
CAM_RAT_7_NR5G = 7,
|
||||
};
|
||||
|
||||
/* BAND */
|
||||
enum {
|
||||
CAM_BAND_001_GSM_GSM850 = 1,
|
||||
CAM_BAND_002_GSM_EGSM900 = 2,
|
||||
CAM_BAND_003_GSM_DCS1800 = 3,
|
||||
CAM_BAND_004_GSM_PCS1900 = 4,
|
||||
|
||||
CAM_BAND_011_WCDMA_WB01 = 11,
|
||||
CAM_BAND_012_WCDMA_WB02 = 12,
|
||||
CAM_BAND_013_WCDMA_WB03 = 13,
|
||||
CAM_BAND_014_WCDMA_WB04 = 14,
|
||||
CAM_BAND_015_WCDMA_WB05 = 15,
|
||||
CAM_BAND_016_WCDMA_WB06 = 16,
|
||||
CAM_BAND_017_WCDMA_WB07 = 17,
|
||||
CAM_BAND_018_WCDMA_WB08 = 18,
|
||||
CAM_BAND_019_WCDMA_WB09 = 19,
|
||||
CAM_BAND_020_WCDMA_WB10 = 20,
|
||||
CAM_BAND_021_WCDMA_WB11 = 21,
|
||||
CAM_BAND_022_WCDMA_WB12 = 22,
|
||||
CAM_BAND_023_WCDMA_WB13 = 23,
|
||||
CAM_BAND_024_WCDMA_WB14 = 24,
|
||||
CAM_BAND_025_WCDMA_WB15 = 25,
|
||||
CAM_BAND_026_WCDMA_WB16 = 26,
|
||||
CAM_BAND_027_WCDMA_WB17 = 27,
|
||||
CAM_BAND_028_WCDMA_WB18 = 28,
|
||||
CAM_BAND_029_WCDMA_WB19 = 29,
|
||||
CAM_BAND_030_WCDMA_WB20 = 30,
|
||||
CAM_BAND_031_WCDMA_WB21 = 31,
|
||||
CAM_BAND_032_WCDMA_WB22 = 32,
|
||||
CAM_BAND_033_WCDMA_WB23 = 33,
|
||||
CAM_BAND_034_WCDMA_WB24 = 34,
|
||||
CAM_BAND_035_WCDMA_WB25 = 35,
|
||||
CAM_BAND_036_WCDMA_WB26 = 36,
|
||||
CAM_BAND_037_WCDMA_WB27 = 37,
|
||||
CAM_BAND_038_WCDMA_WB28 = 38,
|
||||
CAM_BAND_039_WCDMA_WB29 = 39,
|
||||
CAM_BAND_040_WCDMA_WB30 = 40,
|
||||
CAM_BAND_041_WCDMA_WB31 = 41,
|
||||
CAM_BAND_042_WCDMA_WB32 = 42,
|
||||
|
||||
CAM_BAND_051_TDSCDMA_TD1 = 51,
|
||||
CAM_BAND_052_TDSCDMA_TD2 = 52,
|
||||
CAM_BAND_053_TDSCDMA_TD3 = 53,
|
||||
CAM_BAND_054_TDSCDMA_TD4 = 54,
|
||||
CAM_BAND_055_TDSCDMA_TD5 = 55,
|
||||
CAM_BAND_056_TDSCDMA_TD6 = 56,
|
||||
|
||||
CAM_BAND_061_CDMA_BC0 = 61,
|
||||
CAM_BAND_062_CDMA_BC1 = 62,
|
||||
CAM_BAND_063_CDMA_BC2 = 63,
|
||||
CAM_BAND_064_CDMA_BC3 = 64,
|
||||
CAM_BAND_065_CDMA_BC4 = 65,
|
||||
CAM_BAND_066_CDMA_BC5 = 66,
|
||||
CAM_BAND_067_CDMA_BC6 = 67,
|
||||
CAM_BAND_068_CDMA_BC7 = 68,
|
||||
CAM_BAND_069_CDMA_BC8 = 69,
|
||||
CAM_BAND_070_CDMA_BC9 = 70,
|
||||
CAM_BAND_071_CDMA_BC10 = 71,
|
||||
CAM_BAND_072_CDMA_BC11 = 72,
|
||||
CAM_BAND_073_CDMA_BC12 = 73,
|
||||
CAM_BAND_074_CDMA_BC13 = 74,
|
||||
CAM_BAND_075_CDMA_BC14 = 75,
|
||||
CAM_BAND_076_CDMA_BC15 = 76,
|
||||
CAM_BAND_077_CDMA_BC16 = 77,
|
||||
CAM_BAND_078_CDMA_BC17 = 78,
|
||||
CAM_BAND_079_CDMA_BC18 = 79,
|
||||
CAM_BAND_080_CDMA_BC19 = 80,
|
||||
CAM_BAND_081_CDMA_BC20 = 81,
|
||||
CAM_BAND_082_CDMA_BC21 = 82,
|
||||
|
||||
CAM_BAND_091_LTE_LB01 = 91,
|
||||
CAM_BAND_092_LTE_LB02 = 92,
|
||||
CAM_BAND_093_LTE_LB03 = 93,
|
||||
CAM_BAND_094_LTE_LB04 = 94,
|
||||
CAM_BAND_095_LTE_LB05 = 95,
|
||||
CAM_BAND_096_LTE_LB06 = 96,
|
||||
CAM_BAND_097_LTE_LB07 = 97,
|
||||
CAM_BAND_098_LTE_LB08 = 98,
|
||||
CAM_BAND_099_LTE_LB09 = 99,
|
||||
CAM_BAND_100_LTE_LB10 = 100,
|
||||
CAM_BAND_101_LTE_LB11 = 101,
|
||||
CAM_BAND_102_LTE_LB12 = 102,
|
||||
CAM_BAND_103_LTE_LB13 = 103,
|
||||
CAM_BAND_104_LTE_LB14 = 104,
|
||||
CAM_BAND_105_LTE_LB15 = 105,
|
||||
CAM_BAND_106_LTE_LB16 = 106,
|
||||
CAM_BAND_107_LTE_LB17 = 107,
|
||||
CAM_BAND_108_LTE_LB18 = 108,
|
||||
CAM_BAND_109_LTE_LB19 = 109,
|
||||
CAM_BAND_110_LTE_LB20 = 110,
|
||||
CAM_BAND_111_LTE_LB21 = 111,
|
||||
CAM_BAND_112_LTE_LB22 = 112,
|
||||
CAM_BAND_113_LTE_LB23 = 113,
|
||||
CAM_BAND_114_LTE_LB24 = 114,
|
||||
CAM_BAND_115_LTE_LB25 = 115,
|
||||
CAM_BAND_116_LTE_LB26 = 116,
|
||||
CAM_BAND_117_LTE_LB27 = 117,
|
||||
CAM_BAND_118_LTE_LB28 = 118,
|
||||
CAM_BAND_119_LTE_LB29 = 119,
|
||||
CAM_BAND_120_LTE_LB30 = 120,
|
||||
CAM_BAND_121_LTE_LB31 = 121,
|
||||
CAM_BAND_122_LTE_LB32 = 122,
|
||||
CAM_BAND_123_LTE_LB33 = 123,
|
||||
CAM_BAND_124_LTE_LB34 = 124,
|
||||
CAM_BAND_125_LTE_LB35 = 125,
|
||||
CAM_BAND_126_LTE_LB36 = 126,
|
||||
CAM_BAND_127_LTE_LB37 = 127,
|
||||
CAM_BAND_128_LTE_LB38 = 128,
|
||||
CAM_BAND_129_LTE_LB39 = 129,
|
||||
CAM_BAND_130_LTE_LB40 = 130,
|
||||
CAM_BAND_131_LTE_LB41 = 131,
|
||||
CAM_BAND_132_LTE_LB42 = 132,
|
||||
CAM_BAND_133_LTE_LB43 = 133,
|
||||
CAM_BAND_134_LTE_LB44 = 134,
|
||||
CAM_BAND_135_LTE_LB45 = 135,
|
||||
CAM_BAND_136_LTE_LB46 = 136,
|
||||
CAM_BAND_137_LTE_LB47 = 137,
|
||||
CAM_BAND_138_LTE_LB48 = 138,
|
||||
CAM_BAND_139_LTE_LB49 = 139,
|
||||
CAM_BAND_140_LTE_LB50 = 140,
|
||||
CAM_BAND_141_LTE_LB51 = 141,
|
||||
CAM_BAND_142_LTE_LB52 = 142,
|
||||
CAM_BAND_143_LTE_LB53 = 143,
|
||||
CAM_BAND_144_LTE_LB54 = 144,
|
||||
CAM_BAND_145_LTE_LB55 = 145,
|
||||
CAM_BAND_146_LTE_LB56 = 146,
|
||||
CAM_BAND_147_LTE_LB57 = 147,
|
||||
CAM_BAND_148_LTE_LB58 = 148,
|
||||
CAM_BAND_149_LTE_LB59 = 149,
|
||||
CAM_BAND_150_LTE_LB60 = 150,
|
||||
CAM_BAND_151_LTE_LB61 = 151,
|
||||
CAM_BAND_152_LTE_LB62 = 152,
|
||||
CAM_BAND_153_LTE_LB63 = 153,
|
||||
CAM_BAND_154_LTE_LB64 = 154,
|
||||
CAM_BAND_155_LTE_LB65 = 155,
|
||||
CAM_BAND_156_LTE_LB66 = 156,
|
||||
CAM_BAND_157_LTE_LB67 = 157,
|
||||
CAM_BAND_158_LTE_LB68 = 158,
|
||||
CAM_BAND_159_LTE_LB69 = 159,
|
||||
CAM_BAND_160_LTE_LB70 = 160,
|
||||
CAM_BAND_161_LTE_LB71 = 161,
|
||||
|
||||
CAM_BAND_256_NR5G_N001 = 256,
|
||||
CAM_BAND_257_NR5G_N002 = 257,
|
||||
CAM_BAND_258_NR5G_N003 = 258,
|
||||
CAM_BAND_259_NR5G_N004 = 259,
|
||||
CAM_BAND_260_NR5G_N005 = 260,
|
||||
CAM_BAND_261_NR5G_N006 = 261,
|
||||
CAM_BAND_262_NR5G_N007 = 262,
|
||||
CAM_BAND_263_NR5G_N008 = 263,
|
||||
CAM_BAND_264_NR5G_N009 = 264,
|
||||
CAM_BAND_265_NR5G_N010 = 265,
|
||||
CAM_BAND_266_NR5G_N011 = 266,
|
||||
CAM_BAND_267_NR5G_N012 = 267,
|
||||
CAM_BAND_268_NR5G_N013 = 268,
|
||||
CAM_BAND_269_NR5G_N014 = 269,
|
||||
CAM_BAND_270_NR5G_N015 = 270,
|
||||
CAM_BAND_271_NR5G_N016 = 271,
|
||||
CAM_BAND_272_NR5G_N017 = 272,
|
||||
CAM_BAND_273_NR5G_N018 = 273,
|
||||
CAM_BAND_274_NR5G_N019 = 274,
|
||||
CAM_BAND_275_NR5G_N020 = 275,
|
||||
CAM_BAND_276_NR5G_N021 = 276,
|
||||
CAM_BAND_277_NR5G_N022 = 277,
|
||||
CAM_BAND_278_NR5G_N023 = 278,
|
||||
CAM_BAND_279_NR5G_N024 = 279,
|
||||
CAM_BAND_280_NR5G_N025 = 280,
|
||||
CAM_BAND_281_NR5G_N026 = 281,
|
||||
CAM_BAND_282_NR5G_N027 = 282,
|
||||
CAM_BAND_283_NR5G_N028 = 283,
|
||||
CAM_BAND_284_NR5G_N029 = 284,
|
||||
CAM_BAND_285_NR5G_N030 = 285,
|
||||
CAM_BAND_286_NR5G_N031 = 286,
|
||||
CAM_BAND_287_NR5G_N032 = 287,
|
||||
CAM_BAND_288_NR5G_N033 = 288,
|
||||
CAM_BAND_289_NR5G_N034 = 289,
|
||||
CAM_BAND_290_NR5G_N035 = 290,
|
||||
CAM_BAND_291_NR5G_N036 = 291,
|
||||
CAM_BAND_292_NR5G_N037 = 292,
|
||||
CAM_BAND_293_NR5G_N038 = 293,
|
||||
CAM_BAND_294_NR5G_N039 = 294,
|
||||
CAM_BAND_295_NR5G_N040 = 295,
|
||||
CAM_BAND_296_NR5G_N041 = 296,
|
||||
CAM_BAND_297_NR5G_N042 = 297,
|
||||
CAM_BAND_298_NR5G_N043 = 298,
|
||||
CAM_BAND_299_NR5G_N044 = 299,
|
||||
CAM_BAND_300_NR5G_N045 = 300,
|
||||
CAM_BAND_301_NR5G_N046 = 301,
|
||||
CAM_BAND_302_NR5G_N047 = 302,
|
||||
CAM_BAND_303_NR5G_N048 = 303,
|
||||
CAM_BAND_304_NR5G_N049 = 304,
|
||||
CAM_BAND_305_NR5G_N050 = 305,
|
||||
CAM_BAND_306_NR5G_N051 = 306,
|
||||
CAM_BAND_307_NR5G_N052 = 307,
|
||||
CAM_BAND_308_NR5G_N053 = 308,
|
||||
CAM_BAND_309_NR5G_N054 = 309,
|
||||
CAM_BAND_310_NR5G_N055 = 310,
|
||||
CAM_BAND_311_NR5G_N056 = 311,
|
||||
CAM_BAND_312_NR5G_N057 = 312,
|
||||
CAM_BAND_313_NR5G_N058 = 313,
|
||||
CAM_BAND_314_NR5G_N059 = 314,
|
||||
CAM_BAND_315_NR5G_N060 = 315,
|
||||
CAM_BAND_316_NR5G_N061 = 316,
|
||||
CAM_BAND_317_NR5G_N062 = 317,
|
||||
CAM_BAND_318_NR5G_N063 = 318,
|
||||
CAM_BAND_319_NR5G_N064 = 319,
|
||||
CAM_BAND_320_NR5G_N065 = 320,
|
||||
CAM_BAND_321_NR5G_N066 = 321,
|
||||
CAM_BAND_322_NR5G_N067 = 322,
|
||||
CAM_BAND_323_NR5G_N068 = 323,
|
||||
CAM_BAND_324_NR5G_N069 = 324,
|
||||
CAM_BAND_325_NR5G_N070 = 325,
|
||||
CAM_BAND_326_NR5G_N071 = 326,
|
||||
CAM_BAND_327_NR5G_N072 = 327,
|
||||
CAM_BAND_328_NR5G_N073 = 328,
|
||||
CAM_BAND_329_NR5G_N074 = 329,
|
||||
CAM_BAND_330_NR5G_N075 = 330,
|
||||
CAM_BAND_331_NR5G_N076 = 331,
|
||||
CAM_BAND_332_NR5G_N077 = 332,
|
||||
CAM_BAND_333_NR5G_N078 = 333,
|
||||
CAM_BAND_334_NR5G_N079 = 334,
|
||||
CAM_BAND_335_NR5G_N080 = 335,
|
||||
CAM_BAND_336_NR5G_N081 = 336,
|
||||
CAM_BAND_337_NR5G_N082 = 337,
|
||||
CAM_BAND_338_NR5G_N083 = 338,
|
||||
CAM_BAND_339_NR5G_N084 = 339,
|
||||
CAM_BAND_340_NR5G_N085 = 340,
|
||||
CAM_BAND_341_NR5G_N086 = 341,
|
||||
CAM_BAND_342_NR5G_N087 = 342,
|
||||
CAM_BAND_343_NR5G_N088 = 343,
|
||||
CAM_BAND_344_NR5G_N089 = 344,
|
||||
CAM_BAND_345_NR5G_N090 = 345,
|
||||
CAM_BAND_512_NR5G_N257 = 512,
|
||||
CAM_BAND_513_NR5G_N258 = 513,
|
||||
CAM_BAND_514_NR5G_N259 = 514,
|
||||
CAM_BAND_515_NR5G_N260 = 515,
|
||||
CAM_BAND_516_NR5G_N261 = 516,
|
||||
};
|
||||
|
||||
static const struct cam_cp_cell_info test_cp_cell_infos[] = {
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01, 300, 1, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02, 900, 1, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03, 1900, 1, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04, 2175, 1, 20000, 25),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05, 2525, 1, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07, 3100, 1, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08, 3625, 1, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12, 5095, 1, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13, 5230, 1, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17, 5790, 1, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18, 5925, 1, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19, 6075, 1, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20, 6300, 1, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25, 8365, 1, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26, 8865, 1, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28, 9435, 1, 10000, 25),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32, 10140, 1, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38, 38000, 1, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39, 38450, 1, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40, 39400, 1, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41, 40620, 1, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66, 66886, 1, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001, 428000, 1, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002, 392000, 1, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003, 368500, 1, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005, 176300, 1, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007, 531000, 1, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008, 188500, 1, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012, 147500, 1, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013, 150200, 1, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018, 173500, 1, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020, 161200, 1, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025, 392500, 1, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026, 175300, 1, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028, 156100, 1, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038, 519000, 1, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039, 380000, 1, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040, 470000, 1, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041, 518601, 1, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066, 431000, 1, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_330_NR5G_N075, 294900, 1, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077, 650000, 1, 100000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078, 636667, 1, 100000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01, 300, 2, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02, 900, 2, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03, 1900, 2, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04, 2175, 2, 20000, 25),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05, 2525, 2, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07, 3100, 2, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08, 3625, 2, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12, 5095, 2, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13, 5230, 2, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17, 5790, 2, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18, 5925, 2, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19, 6075, 2, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20, 6300, 2, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25, 8365, 2, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26, 8865, 2, 10000, 25),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28, 9435, 2, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32, 10140, 2, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38, 38000, 2, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39, 38450, 2, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40, 39400, 2, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41, 40620, 2, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66, 66886, 2, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001, 428000, 2, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002, 392000, 2, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003, 368500, 2, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005, 176300, 2, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007, 531000, 2, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008, 188500, 2, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012, 147500, 2, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013, 150200, 2, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018, 173500, 2, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020, 161200, 2, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025, 392500, 2, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026, 175300, 2, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028, 156100, 2, 10000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038, 519000, 2, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039, 380000, 2, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040, 470000, 2, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041, 518601, 2, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066, 431000, 2, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_330_NR5G_N075, 294900, 2, 20000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077, 650000, 2, 100000, -10),
|
||||
DEFINE_TEST_BAND_INFO(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078, 636667, 2, 100000, -10),
|
||||
};
|
||||
|
||||
int cam_mipi_select_mipi_by_rf_cell_infos(struct cam_sensor_ctrl_t *s_ctrl,
|
||||
const struct cam_mipi_cell_ratings *channel_list,
|
||||
const int size, const int freq_size);
|
||||
void cam_mipi_register_ril_notifier(void);
|
||||
int32_t cam_check_sensor_type(uint16_t sensor_id);
|
||||
void cam_mipi_init_setting(struct cam_sensor_ctrl_t *s_ctrl);
|
||||
void cam_mipi_update_info(struct cam_sensor_ctrl_t *s_ctrl);
|
||||
void cam_mipi_get_clock_string(struct cam_sensor_ctrl_t *s_ctrl);
|
||||
#if defined(CONFIG_CAMERA_RF_MIPI)
|
||||
void get_rf_info(struct cam_cp_noti_cell_infos *rf_info);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif /* CAM_SENSOR_MIPI_H */
|
@ -0,0 +1,67 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <cam_sensor_cmn_header.h>
|
||||
#include "cam_sensor_core.h"
|
||||
#include "cam_sensor_util.h"
|
||||
#include "cam_sensor_dev.h"
|
||||
#include "cam_sensor_retention.h"
|
||||
|
||||
int default_retention_init(struct cam_sensor_ctrl_t *s_ctrl)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int default_retention_exit(struct cam_sensor_ctrl_t *s_ctrl)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int default_retention_enter(struct cam_sensor_ctrl_t *s_ctrl)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct cam_sensor_retention_info default_retention_info = {
|
||||
.retention_init = default_retention_init,
|
||||
.retention_exit = default_retention_exit,
|
||||
.retention_enter = default_retention_enter,
|
||||
.retention_support = false,
|
||||
};
|
||||
|
||||
#if defined(CONFIG_SEC_E1Q_PROJECT) || defined(CONFIG_SEC_E2Q_PROJECT) || defined(CONFIG_SEC_Q6Q_PROJECT)\
|
||||
|| defined(CONFIG_SEC_B6Q_PROJECT)
|
||||
extern struct cam_sensor_retention_info s5kgn3_retention_info;
|
||||
#endif
|
||||
#if defined(CONFIG_SEC_E3Q_PROJECT)
|
||||
extern struct cam_sensor_retention_info s5khp2_retention_info;
|
||||
extern struct cam_sensor_retention_info imx854_retention_info;
|
||||
#endif
|
||||
#if defined(CONFIG_SEC_Q6AQ_PROJECT)
|
||||
extern struct cam_sensor_retention_info s5khp2_retention_info;
|
||||
#endif
|
||||
|
||||
void cam_sensor_get_retention_info (struct cam_sensor_ctrl_t *s_ctrl)
|
||||
{
|
||||
uint16_t sensor_id = s_ctrl->sensordata->slave_info.sensor_id;
|
||||
CAM_INFO(CAM_SENSOR, "[RET_DBG] sensor_id 0x%x", sensor_id);
|
||||
s_ctrl->retention_info = default_retention_info;
|
||||
#if defined(CONFIG_SEC_E3Q_PROJECT)
|
||||
if (sensor_id == S5KHP2_SENSOR_ID)
|
||||
s_ctrl->retention_info = s5khp2_retention_info;
|
||||
if (sensor_id == IMX854_SENSOR_ID)
|
||||
s_ctrl->retention_info = imx854_retention_info;
|
||||
#endif
|
||||
#if defined(CONFIG_SEC_E1Q_PROJECT) || defined(CONFIG_SEC_E2Q_PROJECT) || defined(CONFIG_SEC_Q6Q_PROJECT)\
|
||||
|| defined(CONFIG_SEC_B6Q_PROJECT)
|
||||
if (sensor_id == S5KGN3_SENSOR_ID)
|
||||
s_ctrl->retention_info = s5kgn3_retention_info;
|
||||
#endif
|
||||
#if defined(CONFIG_SEC_Q6AQ_PROJECT)
|
||||
if (sensor_id == S5KHP2_SENSOR_ID)
|
||||
s_ctrl->retention_info = s5khp2_retention_info;
|
||||
#endif
|
||||
};
|
@ -0,0 +1,30 @@
|
||||
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef _CAM_SENSOR_RETENTION_H_
|
||||
#define _CAM_SENSOR_RETENTION_H_
|
||||
|
||||
#define S5KHP2_SENSOR_ID 0x1B72
|
||||
#define S5KGN3_SENSOR_ID 0x08E3
|
||||
#define IMX854_SENSOR_ID 0x0854
|
||||
|
||||
struct cam_sensor_ctrl_t;
|
||||
struct cam_sensor_retention_info {
|
||||
int (*retention_init) (struct cam_sensor_ctrl_t *s_ctrl);
|
||||
int (*retention_exit) (struct cam_sensor_ctrl_t *s_ctrl);
|
||||
int (*retention_enter) (struct cam_sensor_ctrl_t *s_ctrl);
|
||||
bool retention_support;
|
||||
};
|
||||
|
||||
void cam_sensor_get_retention_info (struct cam_sensor_ctrl_t *s_ctrl);
|
||||
|
||||
#endif /* _CAM_SENSOR_RETENTION_H_ */
|
@ -0,0 +1,200 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <cam_sensor_cmn_header.h>
|
||||
#include "cam_sensor_core.h"
|
||||
#include "cam_sensor_util.h"
|
||||
#include "cam_sensor_retention.h"
|
||||
#include "cam_hw_bigdata.h"
|
||||
|
||||
#define S5KGN3_RETENTION_READY_ADDR 0x19C4
|
||||
#define S5KGN3_RETENTION_CHECKSUM_PASS 0x19C2
|
||||
#define S5KGN3_RETENTION_STATUS_OK 0x0100
|
||||
#define S5KGN3_RETENTION_MODE_ADDR 0x010E
|
||||
|
||||
struct cam_sensor_i2c_reg_array s5kgn3_stream_on_setting[] = {
|
||||
{ 0xFCFC, 0x4000, 0x00, 0x00 }, // set 4000 page
|
||||
{ 0x6000, 0x0005, 0x00, 0x00 }, // 16bit READ/WRITE set
|
||||
{ 0x19C4, 0x0000, 0x00, 0x00 }, // retention mode enter preparation setting initilaization
|
||||
{ 0x6000, 0x0085, 0x00, 0x00 }, // 8bit READ/WRITE set
|
||||
{ 0x0100, 0x0103, 0x00, 0x00 }, // streaming on
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_setting s5kgn3_stream_on_settings[] = {
|
||||
{ s5kgn3_stream_on_setting,
|
||||
ARRAY_SIZE(s5kgn3_stream_on_setting),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
0,
|
||||
},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array s5kgn3_stream_off_setting[] = {
|
||||
{ 0xFCFC, 0x4000, 0x00, 0x00 }, // set 4000 page
|
||||
{ 0x6000, 0x0005, 0x00, 0x00 }, // 16bit READ/WRITE set
|
||||
{ 0x010E, 0x0100, 0x00, 0x00 }, // Retention checksum check enable
|
||||
{ 0x19C2, 0x0000, 0x00, 0x00 }, // retention mode P/F initialization
|
||||
{ 0x6000, 0x0085, 0x00, 0x00 }, // 8bit READ/WRITE set
|
||||
{ 0x0100, 0x0003, 0x00, 0x00 },
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_setting s5kgn3_stream_off_settings[] = {
|
||||
{ s5kgn3_stream_off_setting,
|
||||
ARRAY_SIZE(s5kgn3_stream_off_setting),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
0,
|
||||
},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array s5kgn3_retention_exit_setting[] = {
|
||||
{ 0xFCFC, 0x4000, 0x00, 0x00 }, // set 4000 page
|
||||
{ 0x6000, 0x0005, 0x00, 0x00 }, // 16bit READ/WRITE set
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_setting s5kgn3_retention_exit_settings[] = {
|
||||
{ s5kgn3_retention_exit_setting,
|
||||
ARRAY_SIZE(s5kgn3_retention_exit_setting),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
0,
|
||||
},
|
||||
};
|
||||
|
||||
int s5kgn3_stream_on(struct cam_sensor_ctrl_t *s_ctrl) {
|
||||
int rc = 0;
|
||||
|
||||
CAM_INFO(CAM_SENSOR, "[RET_DBG] stream on");
|
||||
rc = cam_sensor_write_settings(&s_ctrl->io_master_info,
|
||||
s5kgn3_stream_on_settings, ARRAY_SIZE(s5kgn3_stream_on_settings));
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_SENSOR,
|
||||
"[RET_DBG] Failed to write stream on rc = %d", rc);
|
||||
return rc;
|
||||
}
|
||||
|
||||
rc = cam_sensor_wait_stream_onoff(s_ctrl, true);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
int s5kgn3_stream_off(struct cam_sensor_ctrl_t *s_ctrl) {
|
||||
int rc = 0;
|
||||
|
||||
CAM_INFO(CAM_SENSOR, "[RET_DBG] stream off");
|
||||
rc = cam_sensor_write_settings(&s_ctrl->io_master_info,
|
||||
s5kgn3_stream_off_settings, ARRAY_SIZE(s5kgn3_stream_off_settings));
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_SENSOR,
|
||||
"[RET_DBG] Failed to write stream off rc = %d", rc);
|
||||
return rc;
|
||||
}
|
||||
|
||||
rc = cam_sensor_wait_stream_onoff(s_ctrl, false);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
int s5kgn3_retention_wait_ready(struct cam_sensor_ctrl_t *s_ctrl)
|
||||
{
|
||||
int rc = 0;
|
||||
|
||||
if (s_ctrl->streamon_count == 0 ||
|
||||
s_ctrl->retention_stream_on == false) {
|
||||
rc = s5kgn3_stream_on(s_ctrl);
|
||||
rc |= s5kgn3_stream_off(s_ctrl);
|
||||
}
|
||||
|
||||
// max delay 2ms
|
||||
usleep_range(2000, 2100);
|
||||
|
||||
rc |= camera_io_dev_poll(&s_ctrl->io_master_info,
|
||||
S5KGN3_RETENTION_READY_ADDR, S5KGN3_RETENTION_STATUS_OK, 0,
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
100);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
int s5kgn3_retention_init(struct cam_sensor_ctrl_t *s_ctrl)
|
||||
{
|
||||
int32_t rc = 0;
|
||||
|
||||
CAM_INFO(CAM_SENSOR, "[RET_DBG] E");
|
||||
|
||||
if (s_ctrl->i2c_data.init_settings.is_settings_valid &&
|
||||
(s_ctrl->i2c_data.init_settings.request_id == 0)) {
|
||||
rc = cam_sensor_apply_settings(s_ctrl, 0,
|
||||
CAM_SENSOR_PACKET_OPCODE_SENSOR_INITIAL_CONFIG);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_SENSOR,
|
||||
"[RET_DBG] Failed to write init rc = %d", rc);
|
||||
hw_bigdata_i2c_from_sensor(s_ctrl);
|
||||
goto end;
|
||||
}
|
||||
|
||||
rc |= s5kgn3_retention_wait_ready(s_ctrl);
|
||||
if (rc != 0) {
|
||||
CAM_ERR(CAM_SENSOR,
|
||||
"[RET_DBG] Failed to wait retention ready rc = %d", rc);
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
end:
|
||||
CAM_INFO(CAM_SENSOR, "[RET_DBG] X");
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
int s5kgn3_retention_exit(struct cam_sensor_ctrl_t *s_ctrl)
|
||||
{
|
||||
int32_t rc = 0;
|
||||
|
||||
CAM_INFO(CAM_SENSOR, "[RET_DBG] E");
|
||||
|
||||
s_ctrl->retention_checksum = false;
|
||||
|
||||
rc = cam_sensor_write_settings(&s_ctrl->io_master_info,
|
||||
s5kgn3_retention_exit_settings, ARRAY_SIZE(s5kgn3_retention_exit_settings));
|
||||
rc |= camera_io_dev_poll(&s_ctrl->io_master_info,
|
||||
S5KGN3_RETENTION_MODE_ADDR, 0, 0,
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
15);
|
||||
rc |= camera_io_dev_poll(&s_ctrl->io_master_info,
|
||||
S5KGN3_RETENTION_CHECKSUM_PASS, S5KGN3_RETENTION_STATUS_OK, 0,
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
100);
|
||||
|
||||
if (rc == 0)
|
||||
s_ctrl->retention_checksum = true;
|
||||
|
||||
CAM_INFO(CAM_SENSOR, "[RET_DBG] X");
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
// Pre-Stream off, Retention/Checksum register reset
|
||||
int s5kgn3_retention_enter(struct cam_sensor_ctrl_t *s_ctrl)
|
||||
{
|
||||
int32_t rc = 0;
|
||||
|
||||
CAM_INFO(CAM_SENSOR, "[RET_DBG] E");
|
||||
|
||||
rc = s5kgn3_retention_wait_ready(s_ctrl);
|
||||
if (rc < 0)
|
||||
CAM_ERR(CAM_SENSOR, "[RET_DBG] Failed to enter retention mode rc = %d", rc);
|
||||
|
||||
CAM_INFO(CAM_SENSOR, "[RET_DBG] X");
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
struct cam_sensor_retention_info s5kgn3_retention_info = {
|
||||
.retention_init = s5kgn3_retention_init,
|
||||
.retention_exit = s5kgn3_retention_exit,
|
||||
.retention_enter = s5kgn3_retention_enter,
|
||||
.retention_support = true,
|
||||
};
|
@ -0,0 +1,298 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <cam_sensor_cmn_header.h>
|
||||
#include "cam_sensor_core.h"
|
||||
#include "cam_sensor_util.h"
|
||||
#include "cam_sensor_retention.h"
|
||||
#include "cam_hw_bigdata.h"
|
||||
|
||||
#define S5KHP2_RETENTION_READY_ADDR 0xF36E
|
||||
#define S5KHP2_RETENTION_CHECKSUM_PASS 0xF36C
|
||||
#define S5KHP2_RETENTION_STATUS_OK 0x0100
|
||||
|
||||
struct cam_sensor_i2c_reg_array s5khp2_stream_on_setting[] = {
|
||||
{ 0x0100, 0x0103, 0x00, 0x00 },
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_setting s5khp2_stream_on_settings[] = {
|
||||
{ s5khp2_stream_on_setting,
|
||||
ARRAY_SIZE(s5khp2_stream_on_setting),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
0
|
||||
},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array s5khp2_stream_off_setting[] = {
|
||||
{ 0x0100, 0x0003, 0x00, 0x00 },
|
||||
};
|
||||
|
||||
// Case3. Retention / Checksum register reset
|
||||
struct cam_sensor_i2c_reg_array s5khp2_retention_reset_setting[] = {
|
||||
{ 0xFCFC, 0x4000, 0x00, 0x00 },
|
||||
{ 0x6028, 0x1002, 0x00, 0x00 },
|
||||
{ 0x602A, 0xF36C, 0x00, 0x00 },
|
||||
{ 0x6F12, 0x0000, 0x00, 0x00 },
|
||||
{ 0x6F12, 0x0000, 0x00, 0x00 },
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_setting s5khp2_stream_off_settings[] = {
|
||||
{ s5khp2_retention_reset_setting,
|
||||
ARRAY_SIZE(s5khp2_retention_reset_setting),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
0
|
||||
},
|
||||
{ s5khp2_stream_off_setting,
|
||||
ARRAY_SIZE(s5khp2_stream_off_setting),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
0
|
||||
},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_setting s5khp2_retention_reset_settings[] = {
|
||||
{ s5khp2_retention_reset_setting,
|
||||
ARRAY_SIZE(s5khp2_retention_reset_setting),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
0
|
||||
},
|
||||
};
|
||||
|
||||
// Case 2. EXIT Retention Setting
|
||||
struct cam_sensor_i2c_reg_array s5khp2_retention_exit1_setting[] = {
|
||||
{ 0xFCFC, 0x4000, 0x00, 0x00 },
|
||||
{ 0x6018, 0x0001, 0x01, 0x00 },
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array s5khp2_retention_exit2_setting[] = {
|
||||
{ 0x652A, 0x0001, 0x00, 0x00 },
|
||||
{ 0x7096, 0x0001, 0x00, 0x00 },
|
||||
{ 0x7002, 0x0008, 0x00, 0x00 },
|
||||
{ 0x706E, 0x0D13, 0x00, 0x00 },
|
||||
{ 0x6028, 0x1001, 0x00, 0x00 },
|
||||
{ 0x602A, 0xC990, 0x00, 0x00 },
|
||||
{ 0x6F12, 0x1002, 0x00, 0x00 },
|
||||
{ 0x6F12, 0xF601, 0x00, 0x00 },
|
||||
{ 0x6028, 0x1002, 0x00, 0x00 },
|
||||
{ 0x602A, 0xC8C0, 0x00, 0x00 },
|
||||
{ 0x6F12, 0xCAFE, 0x00, 0x00 },
|
||||
{ 0x6F12, 0x1234, 0x00, 0x00 },
|
||||
{ 0x6F12, 0xABBA, 0x00, 0x00 },
|
||||
{ 0x6F12, 0x0345, 0x00, 0x00 },
|
||||
{ 0x6014, 0x0001, 0x00, 0x00 },
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_setting s5khp2_retention_exit_settings[] = {
|
||||
{ s5khp2_retention_exit1_setting,
|
||||
ARRAY_SIZE(s5khp2_retention_exit1_setting),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
5
|
||||
},
|
||||
{ s5khp2_retention_exit2_setting,
|
||||
ARRAY_SIZE(s5khp2_retention_exit2_setting),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
10
|
||||
},
|
||||
};
|
||||
|
||||
// Case 2. HW Setting Init
|
||||
struct cam_sensor_i2c_reg_array s5khp2_retention_hw_init_setting[] = {
|
||||
{ 0xFCFC, 0x4000, 0x00, 0x00 },
|
||||
{ 0x6214, 0xE949, 0x00, 0x00 },
|
||||
{ 0x6218, 0xE940, 0x00, 0x00 },
|
||||
{ 0x6222, 0x0000, 0x00, 0x00 },
|
||||
{ 0x621E, 0x00F0, 0x00, 0x00 },
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_setting s5khp2_retention_hw_init_settings[] = {
|
||||
{ s5khp2_retention_hw_init_setting,
|
||||
ARRAY_SIZE(s5khp2_retention_hw_init_setting),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
0
|
||||
},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array s5khp2_retention_page_setting[] = {
|
||||
{ 0xFCFC, 0x1002, 0x00, 0x00 },
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_setting s5khp2_retention_page_settings[] = {
|
||||
{ s5khp2_retention_page_setting,
|
||||
ARRAY_SIZE(s5khp2_retention_page_setting),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
0
|
||||
},
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_array s5khp2_normal_page_setting[] = {
|
||||
{ 0xFCFC, 0x4000, 0x00, 0x00 },
|
||||
};
|
||||
|
||||
struct cam_sensor_i2c_reg_setting s5khp2_normal_page_settings[] = {
|
||||
{ s5khp2_normal_page_setting,
|
||||
ARRAY_SIZE(s5khp2_normal_page_setting),
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
0
|
||||
},
|
||||
};
|
||||
|
||||
int s5khp2_stream_on(struct cam_sensor_ctrl_t *s_ctrl) {
|
||||
int rc = 0;
|
||||
|
||||
CAM_INFO(CAM_SENSOR, "[RET_DBG] stream on");
|
||||
rc = cam_sensor_write_settings(&s_ctrl->io_master_info,
|
||||
s5khp2_stream_on_settings, ARRAY_SIZE(s5khp2_stream_on_settings));
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_SENSOR,
|
||||
"[RET_DBG] Failed to write stream on rc = %d", rc);
|
||||
return rc;
|
||||
}
|
||||
|
||||
rc = cam_sensor_wait_stream_onoff(s_ctrl, true);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
int s5khp2_stream_off(struct cam_sensor_ctrl_t *s_ctrl) {
|
||||
int rc = 0;
|
||||
|
||||
CAM_INFO(CAM_SENSOR, "[RET_DBG] stream off");
|
||||
rc = cam_sensor_write_settings(&s_ctrl->io_master_info,
|
||||
s5khp2_stream_off_settings, ARRAY_SIZE(s5khp2_stream_off_settings));
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_SENSOR,
|
||||
"[RET_DBG] Failed to write stream off rc = %d", rc);
|
||||
return rc;
|
||||
}
|
||||
|
||||
rc = cam_sensor_wait_stream_onoff(s_ctrl, false);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
int s5khp2_retention_wait_ready(struct cam_sensor_ctrl_t *s_ctrl)
|
||||
{
|
||||
int rc = 0;
|
||||
|
||||
if (s_ctrl->streamon_count == 0 ||
|
||||
s_ctrl->retention_stream_on == false) {
|
||||
rc = s5khp2_stream_on(s_ctrl);
|
||||
rc |= s5khp2_stream_off(s_ctrl);
|
||||
}
|
||||
|
||||
rc = cam_sensor_write_settings(&s_ctrl->io_master_info,
|
||||
s5khp2_retention_page_settings, ARRAY_SIZE(s5khp2_retention_page_settings));
|
||||
rc |= camera_io_dev_poll(&s_ctrl->io_master_info,
|
||||
S5KHP2_RETENTION_READY_ADDR, S5KHP2_RETENTION_STATUS_OK, 0,
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
100);
|
||||
rc |= cam_sensor_write_settings(&s_ctrl->io_master_info,
|
||||
s5khp2_normal_page_settings, ARRAY_SIZE(s5khp2_normal_page_settings));
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
int s5khp2_retention_checksum(struct cam_sensor_ctrl_t *s_ctrl)
|
||||
{
|
||||
int rc = 0;
|
||||
|
||||
rc = cam_sensor_write_settings(&s_ctrl->io_master_info,
|
||||
s5khp2_retention_page_settings, ARRAY_SIZE(s5khp2_retention_page_settings));
|
||||
rc |= camera_io_dev_poll(&s_ctrl->io_master_info,
|
||||
S5KHP2_RETENTION_CHECKSUM_PASS, S5KHP2_RETENTION_STATUS_OK, 0,
|
||||
CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD,
|
||||
100);
|
||||
rc |= cam_sensor_write_settings(&s_ctrl->io_master_info,
|
||||
s5khp2_normal_page_settings, ARRAY_SIZE(s5khp2_normal_page_settings));
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
int s5khp2_retention_init(struct cam_sensor_ctrl_t *s_ctrl)
|
||||
{
|
||||
int32_t rc = 0;
|
||||
|
||||
CAM_INFO(CAM_SENSOR, "[RET_DBG] E");
|
||||
|
||||
if (s_ctrl->i2c_data.init_settings.is_settings_valid &&
|
||||
(s_ctrl->i2c_data.init_settings.request_id == 0)) {
|
||||
rc = cam_sensor_apply_settings(s_ctrl, 0,
|
||||
CAM_SENSOR_PACKET_OPCODE_SENSOR_INITIAL_CONFIG);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_SENSOR,
|
||||
"[RET_DBG] Failed to write init rc = %d", rc);
|
||||
hw_bigdata_i2c_from_sensor(s_ctrl);
|
||||
goto end;
|
||||
}
|
||||
|
||||
rc |= s5khp2_retention_wait_ready(s_ctrl);
|
||||
if (rc != 0) {
|
||||
CAM_ERR(CAM_SENSOR,
|
||||
"[RET_DBG] Failed to wait retention ready rc = %d", rc);
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
end:
|
||||
CAM_INFO(CAM_SENSOR, "[RET_DBG] X");
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
int s5khp2_retention_exit(struct cam_sensor_ctrl_t *s_ctrl)
|
||||
{
|
||||
int32_t rc = 0;
|
||||
|
||||
CAM_INFO(CAM_SENSOR, "[RET_DBG] E");
|
||||
|
||||
s_ctrl->retention_checksum = false;
|
||||
|
||||
rc = cam_sensor_write_settings(&s_ctrl->io_master_info,
|
||||
s5khp2_retention_exit_settings, ARRAY_SIZE(s5khp2_retention_exit_settings));
|
||||
rc |= s5khp2_retention_checksum(s_ctrl);
|
||||
if (rc != 0)
|
||||
CAM_ERR(CAM_SENSOR, "[RET_DBG] Retention checksum fail, rc = %d", rc);
|
||||
else
|
||||
rc |= cam_sensor_write_settings(&s_ctrl->io_master_info,
|
||||
s5khp2_retention_hw_init_settings, ARRAY_SIZE(s5khp2_retention_hw_init_settings));
|
||||
|
||||
if (rc == 0)
|
||||
s_ctrl->retention_checksum = true;
|
||||
|
||||
CAM_INFO(CAM_SENSOR, "[RET_DBG] X");
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
// Pre-Stream off, Retention/Checksum register reset
|
||||
int s5khp2_retention_enter(struct cam_sensor_ctrl_t *s_ctrl)
|
||||
{
|
||||
int32_t rc = 0;
|
||||
|
||||
CAM_INFO(CAM_SENSOR, "[RET_DBG] E");
|
||||
|
||||
rc = s5khp2_retention_wait_ready(s_ctrl);
|
||||
if (rc < 0)
|
||||
CAM_ERR(CAM_SENSOR, "[RET_DBG] Failed to enter retention mode rc = %d", rc);
|
||||
|
||||
CAM_INFO(CAM_SENSOR, "[RET_DBG] X");
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
struct cam_sensor_retention_info s5khp2_retention_info = {
|
||||
.retention_init = s5khp2_retention_init,
|
||||
.retention_exit = s5khp2_retention_exit,
|
||||
.retention_enter = s5khp2_retention_enter,
|
||||
.retention_support = true,
|
||||
};
|
@ -13,6 +13,110 @@
|
||||
#include "cam_sensor_soc.h"
|
||||
#include "cam_soc_util.h"
|
||||
|
||||
#if defined(CONFIG_CAMERA_SYSFS_V2)
|
||||
#include "cam_eeprom_dev.h"
|
||||
|
||||
extern char cam_info[INDEX_MAX][150];
|
||||
|
||||
struct caminfo_element {
|
||||
char* property_name;
|
||||
char* prefix;
|
||||
char* values[32];
|
||||
};
|
||||
|
||||
struct caminfo_element caminfos[] = {
|
||||
{ "cam,isp", "ISP", { "INT", "EXT", "SOC" } },
|
||||
{ "cam,cal_memory", "CALMEM", { "N", "Y", "Y", "Y" } },
|
||||
{ "cam,read_version", "READVER", { "SYSFS", "CAMON" } },
|
||||
{ "cam,core_voltage", "COREVOLT", { "N", "Y" } },
|
||||
{ "cam,upgrade", "UPGRADE", { "N", "SYSFS", "CAMON" } },
|
||||
{ "cam,fw_write", "FWWRITE", { "N", "OIS", "SD", "ALL" } },
|
||||
{ "cam,fw_dump", "FWDUMP", { "N", "Y" } },
|
||||
{ "cam,companion_chip", "CC", { "N", "Y" } },
|
||||
{ "cam,ois", "OIS", { "N", "Y" } },
|
||||
{ "cam,valid", "VALID", { "N", "Y" } },
|
||||
{ "cam,dual_open", "DUALOPEN", { "N", "Y" } },
|
||||
};
|
||||
|
||||
int cam_sensor_get_dt_camera_info(
|
||||
struct cam_sensor_ctrl_t *s_ctrl,
|
||||
struct device_node *of_node)
|
||||
{
|
||||
int rc = 0, i = 0, idx = 0, offset = 0, cnt = 0, len = 0;
|
||||
char* info = NULL;
|
||||
bool isValid = false;
|
||||
|
||||
/* camera information */
|
||||
if (s_ctrl->id == SEC_WIDE_SENSOR)
|
||||
info = cam_info[INDEX_REAR];
|
||||
else if (s_ctrl->id == SEC_FRONT_SENSOR)
|
||||
info = cam_info[INDEX_FRONT];
|
||||
#if defined(CONFIG_SAMSUNG_REAR_DUAL)
|
||||
else if (s_ctrl->id == SEC_ULTRA_WIDE_SENSOR)
|
||||
info = cam_info[INDEX_REAR2];
|
||||
#endif
|
||||
#if defined(CONFIG_SAMSUNG_REAR_TRIPLE)
|
||||
else if (s_ctrl->id == SEC_TELE_SENSOR)
|
||||
info = cam_info[INDEX_REAR3];
|
||||
#endif
|
||||
#if defined(CONFIG_SAMSUNG_REAR_QUADRA)
|
||||
else if (s_ctrl->id == SEC_TELE2_SENSOR)
|
||||
info = cam_info[INDEX_REAR4];
|
||||
#endif
|
||||
#if defined(CONFIG_SAMSUNG_FRONT_DUAL)
|
||||
else if (s_ctrl->id == SEC_FRONT_AUX1_SENSOR)
|
||||
info = cam_info[INDEX_FRONT2];
|
||||
#endif
|
||||
#if defined(CONFIG_SAMSUNG_FRONT_TOP)
|
||||
else if (s_ctrl->id == SEC_FRONT_TOP_SENSOR)
|
||||
#if defined(CONFIG_SAMSUNG_FRONT_DUAL)
|
||||
info = cam_info[INDEX_FRONT3];
|
||||
#else
|
||||
info = cam_info[INDEX_FRONT2];
|
||||
#endif
|
||||
#endif
|
||||
else
|
||||
info = NULL;
|
||||
|
||||
if (info == NULL)
|
||||
return 0;
|
||||
|
||||
memset(info, 0, sizeof(char) * 150);
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(caminfos); i++) {
|
||||
if (caminfos[i].property_name == NULL)
|
||||
continue;
|
||||
|
||||
rc = of_property_read_u32(of_node,
|
||||
caminfos[i].property_name, &idx);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_SENSOR, "failed");
|
||||
goto ERROR1;
|
||||
}
|
||||
|
||||
isValid = (idx >= 0) && (idx < ARRAY_SIZE(caminfos[i].values));
|
||||
|
||||
len = strlen(caminfos[i].prefix) + 3;
|
||||
len += isValid ? strlen(caminfos[i].values[idx]) : strlen("NULL");
|
||||
|
||||
if (offset + len < 150) {
|
||||
cnt = scnprintf(&info[offset], len, "%s=%s;",
|
||||
caminfos[i].prefix, (isValid ? caminfos[i].values[idx] : "NULL"));
|
||||
offset += cnt;
|
||||
} else {
|
||||
CAM_ERR(CAM_SENSOR, "Out of bound, offset %d, len %d", offset, len);
|
||||
}
|
||||
}
|
||||
info[offset] = '\0';
|
||||
|
||||
return 0;
|
||||
|
||||
ERROR1:
|
||||
strcpy(info, "ISP=NULL;CALMEM=NULL;READVER=NULL;COREVOLT=NULL;UPGRADE=NULL;FWWRITE=NULL;FWDUMP=NULL;FW_CC=NULL;OIS=NULL;DUALOPEN=NULL");
|
||||
return rc;
|
||||
}
|
||||
#endif
|
||||
|
||||
int32_t cam_sensor_get_sub_module_index(struct device_node *of_node,
|
||||
struct cam_sensor_board_info *s_info)
|
||||
{
|
||||
@ -288,6 +392,13 @@ static int32_t cam_sensor_driver_get_dt_data(struct cam_sensor_ctrl_t *s_ctrl)
|
||||
s_ctrl->hw_no_ops = false;
|
||||
else
|
||||
s_ctrl->hw_no_ops = true;
|
||||
#if defined(CONFIG_CAMERA_SYSFS_V2)
|
||||
cam_sensor_get_dt_camera_info(s_ctrl, of_node);
|
||||
if (rc < 0) {
|
||||
CAM_ERR(CAM_SENSOR, "fail, cell-index %d rc %d",
|
||||
s_ctrl->id, rc);
|
||||
}
|
||||
#endif
|
||||
|
||||
return rc;
|
||||
|
||||
@ -330,17 +441,28 @@ int32_t cam_sensor_parse_dt(struct cam_sensor_ctrl_t *s_ctrl)
|
||||
}
|
||||
/* Initialize regulators to default parameters */
|
||||
for (i = 0; i < soc_info->num_rgltr; i++) {
|
||||
soc_info->rgltr[i] = devm_regulator_get(soc_info->dev,
|
||||
soc_info->rgltr_name[i]);
|
||||
if (IS_ERR_OR_NULL(soc_info->rgltr[i])) {
|
||||
rc = PTR_ERR(soc_info->rgltr[i]);
|
||||
rc = rc ? rc : -EINVAL;
|
||||
CAM_ERR(CAM_SENSOR, "get failed for regulator %s",
|
||||
soc_info->rgltr_name[i]);
|
||||
return rc;
|
||||
#if defined(CONFIG_SEC_Q6Q_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT)
|
||||
if (soc_info->rgltr_subname[i] &&
|
||||
strstr(soc_info->rgltr_subname[i], "s2mpb03")) {
|
||||
soc_info->rgltr[i] = devm_regulator_get(soc_info->dev,
|
||||
soc_info->rgltr_subname[i]);
|
||||
CAM_INFO(CAM_SENSOR, "get for regulator %s instead of %s",
|
||||
soc_info->rgltr_subname[i], soc_info->rgltr_name[i]);
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
soc_info->rgltr[i] = devm_regulator_get(soc_info->dev,
|
||||
soc_info->rgltr_name[i]);
|
||||
if (IS_ERR_OR_NULL(soc_info->rgltr[i])) {
|
||||
rc = PTR_ERR(soc_info->rgltr[i]);
|
||||
rc = rc ? rc : -EINVAL;
|
||||
CAM_ERR(CAM_SENSOR, "get failed for regulator %s",
|
||||
soc_info->rgltr_name[i]);
|
||||
return rc;
|
||||
}
|
||||
CAM_DBG(CAM_SENSOR, "get for regulator %s",
|
||||
soc_info->rgltr_name[i]);
|
||||
}
|
||||
CAM_DBG(CAM_SENSOR, "get for regulator %s",
|
||||
soc_info->rgltr_name[i]);
|
||||
}
|
||||
|
||||
return rc;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user