diff --git a/qcom/opensource/camera-kernel/Kbuild b/qcom/opensource/camera-kernel/Kbuild index e424fb8868..e21c7248dd 100644 --- a/qcom/opensource/camera-kernel/Kbuild +++ b/qcom/opensource/camera-kernel/Kbuild @@ -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 diff --git a/qcom/opensource/camera-kernel/Kconfig b/qcom/opensource/camera-kernel/Kconfig index c85b6457fd..ae59148c2c 100644 --- a/qcom/opensource/camera-kernel/Kconfig +++ b/qcom/opensource/camera-kernel/Kconfig @@ -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. diff --git a/qcom/opensource/camera-kernel/config/pineapple.mk b/qcom/opensource/camera-kernel/config/pineapple.mk index 128a3a0b43..0407f8db0b 100644 --- a/qcom/opensource/camera-kernel/config/pineapple.mk +++ b/qcom/opensource/camera-kernel/config/pineapple.mk @@ -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) diff --git a/qcom/opensource/camera-kernel/drivers/cam_isp/cam_isp_context.h b/qcom/opensource/camera-kernel/drivers/cam_isp/cam_isp_context.h index f649ade082..63dc38eae5 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_isp/cam_isp_context.h +++ b/qcom/opensource/camera-kernel/drivers/cam_isp/cam_isp_context.h @@ -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; }; diff --git a/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/cam_ife_hw_mgr.h b/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/cam_ife_hw_mgr.h index 84edbba0d3..56355c6efa 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/cam_ife_hw_mgr.h +++ b/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/cam_ife_hw_mgr.h @@ -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 }; /** diff --git a/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_common.h b/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_common.h index ea69c85239..f3ab690a5c 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_common.h +++ b/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_common.h @@ -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 }; /* diff --git a/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_hw_ver2.c b/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_hw_ver2.c index 0b8e19e0bc..c6e0d28f05 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_hw_ver2.c +++ b/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_hw_ver2.c @@ -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 +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) diff --git a/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_hw_ver2.h b/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_hw_ver2.h index c604202cbf..7211989379 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_hw_ver2.h +++ b/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_hw_ver2.h @@ -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; diff --git a/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/include/cam_ife_csid_hw_intf.h b/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/include/cam_ife_csid_hw_intf.h index dd2baf1cc8..14308e95bd 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/include/cam_ife_csid_hw_intf.h +++ b/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/include/cam_ife_csid_hw_intf.h @@ -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 }; /* diff --git a/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/include/cam_isp_hw.h b/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/include/cam_isp_hw.h index d138c3e080..76d7d589de 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/include/cam_isp_hw.h +++ b/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/include/cam_isp_hw.h @@ -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, }; diff --git a/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/include/cam_vfe_hw_intf.h b/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/include/cam_vfe_hw_intf.h index 5352d3d056..2b6556d090 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/include/cam_vfe_hw_intf.h +++ b/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/include/cam_vfe_hw_intf.h @@ -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 }; /* diff --git a/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/cam_vfe_top_ver4.c b/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/cam_vfe_top_ver4.c index e67c84c055..6824c3c153 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/cam_vfe_top_ver4.c +++ b/qcom/opensource/camera-kernel/drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/cam_vfe_top_ver4.c @@ -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 +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); diff --git a/qcom/opensource/camera-kernel/drivers/cam_req_mgr/cam_req_mgr_core.c b/qcom/opensource/camera-kernel/drivers/cam_req_mgr/cam_req_mgr_core.c index a3524d39d0..bdd915b9d8 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_req_mgr/cam_req_mgr_core.c +++ b/qcom/opensource/camera-kernel/drivers/cam_req_mgr/cam_req_mgr_core.c @@ -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); diff --git a/qcom/opensource/camera-kernel/drivers/cam_req_mgr/cam_req_mgr_dev.c b/qcom/opensource/camera-kernel/drivers/cam_req_mgr/cam_req_mgr_dev.c index 1011f4a0ad..e05c3e78ae 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_req_mgr/cam_req_mgr_dev.c +++ b/qcom/opensource/camera-kernel/drivers/cam_req_mgr/cam_req_mgr_dev.c @@ -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 +#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))) { diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_actuator/cam_actuator_core.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_actuator/cam_actuator_core.c index 42f17c8a59..8a1e2a868f 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_actuator/cam_actuator_core.c +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_actuator/cam_actuator_core.c @@ -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 diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_actuator/cam_actuator_core.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_actuator/cam_actuator_core.h index 1f35f96325..2996beabed 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_actuator/cam_actuator_core.h +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_actuator/cam_actuator_core.h @@ -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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_actuator/cam_actuator_dev.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_actuator/cam_actuator_dev.c index ac174f36d1..5deea98b4e 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_actuator/cam_actuator_dev.c +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_actuator/cam_actuator_dev.c @@ -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; diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_actuator/cam_actuator_dev.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_actuator/cam_actuator_dev.h index 3e334eb514..1257762805 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_actuator/cam_actuator_dev.h +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_actuator/cam_actuator_dev.h @@ -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 }; /** diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_actuator/cam_actuator_soc.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_actuator/cam_actuator_soc.c index 8104f597d3..41bd34d733 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_actuator/cam_actuator_soc.c +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_actuator/cam_actuator_soc.c @@ -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"); diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_actuator/cam_sec_actuator_core.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_actuator/cam_sec_actuator_core.c new file mode 100644 index 0000000000..43e9670412 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_actuator/cam_sec_actuator_core.c @@ -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 +#include +#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 diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_actuator/cam_sec_actuator_core.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_actuator/cam_sec_actuator_core.h new file mode 100644 index 0000000000..79ef2a9b4a --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_actuator/cam_sec_actuator_core.h @@ -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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_cci/cam_cci_dev.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_cci/cam_cci_dev.c index a064fb2758..1d80fc11f3 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_cci/cam_cci_dev.c +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_cci/cam_cci_dev.c @@ -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; } diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/cam_csiphy_core.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/cam_csiphy_core.c index b9c8002517..714e67e406 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/cam_csiphy_core.c +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/cam_csiphy_core.c @@ -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) { diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/cam_csiphy_dev.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/cam_csiphy_dev.c index c9a6c57319..dc408aa423 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/cam_csiphy_dev.c +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/cam_csiphy_dev.c @@ -13,6 +13,13 @@ #include #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: { diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg.h index 060e18c166..11aced6b63 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg.h +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg.h @@ -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, diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_b6.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_b6.h new file mode 100644 index 0000000000..a9277f3fbd --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_b6.h @@ -0,0 +1,2239 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * Copyright (c) 2021-2023, Qualcomm Innovation Center, Inc. All rights reserved. + */ + +#ifndef _CAM_CSIPHY_2_2_0_HWREG_H_ +#define _CAM_CSIPHY_2_2_0_HWREG_H_ + +#include "../cam_csiphy_dev.h" + +struct cam_csiphy_aon_sel_params_t aon_cam_select_params_2_2_0 = { + .aon_cam_sel_offset[0] = 0x01E0, + .aon_cam_sel_offset[1] = 0x01E4, + .cam_sel_mask = BIT(0), + .mclk_sel_mask = BIT(8), +}; + +struct cam_cphy_dphy_status_reg_params_t status_regs_2_2_0 = { + .csiphy_3ph_status0_offset = 0x0340, + .csiphy_2ph_status0_offset = 0x00C0, + .cphy_lane_status = {0x0358, 0x0758, 0x0B58}, + .csiphy_3ph_status_size = 24, + .csiphy_2ph_status_size = 20, +}; + +struct csiphy_reg_t csiphy_lane_en_reg_2_2_0[] = { + {0x1014, 0x00, 0x00, CSIPHY_LANE_ENABLE}, +}; + +struct csiphy_reg_t csiphy_common_reg_2_2_0[] = { + {0x1084, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x108C, 0x00, 0x01, CSIPHY_DEFAULT_PARAMS}, + {0x101C, 0x7A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1018, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t csiphy_reset_enter_reg_2_2_0[] = { + {0x1000, 0x01, 0x01, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t csiphy_reset_exit_reg_2_2_0[] = { + {0x1000, 0x02, 0x00, CSIPHY_2PH_REGS}, + {0x1000, 0x00, 0x00, CSIPHY_2PH_COMBO_REGS}, + {0x1000, 0x0E, 0xBE8, CSIPHY_3PH_REGS}, +}; + +struct csiphy_reg_t csiphy_irq_reg_2_2_0[] = { + {0x102c, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1030, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1034, 0xfb, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1038, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x103c, 0x7f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1040, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1044, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1048, 0xef, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x104c, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1050, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1054, 0xff, 0x64, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t csiphy_2ph_v2_2_0_reg[] = { + {0x0E94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0EA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x00A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0090, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0098, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x04A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0490, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0498, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x08A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0890, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0898, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0CA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0E30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E28, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E00, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E0C, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E38, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E04, 0x0D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0E10, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0030, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0000, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0038, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x002C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0034, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x001C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0014, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x003C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0004, 0x0D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0020, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0008, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0010, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0430, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0400, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0438, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x042C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0434, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x041C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0414, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x043C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0404, 0x0D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0420, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0408, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0410, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0830, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0800, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0838, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x082C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0834, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x081C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0814, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x083C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0804, 0x0D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0820, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0808, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0810, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C00, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C38, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C04, 0x0D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0C10, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x005C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0060, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0064, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0494, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x045C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0460, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0464, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0894, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x085C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0860, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0864, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0C94, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x0C5C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0C60, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0C64, 0x7F, 0x00, CSIPHY_SKEW_CAL}, +}; + +struct csiphy_reg_t csiphy_2ph_v2_2_0_combo_mode_reg[] = { + {0x0E94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0EA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x00A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0090, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0098, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x04A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0490, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0498, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x08A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0890, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0898, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0CA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0E30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E28, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E00, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E0C, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E38, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E04, 0x0D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0E10, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0030, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0000, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0038, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x002C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0034, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x001C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0014, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x003C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0004, 0x0D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0020, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0008, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0010, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0430, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0400, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0438, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x042C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0434, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x041C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0414, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x043C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0404, 0x0D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0420, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0408, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0410, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0830, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0800, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0838, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0828, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x082C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0834, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x081C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0814, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x083C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0804, 0x0D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0820, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0808, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0810, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C28, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C00, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C0C, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C38, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C28, 0x0E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C04, 0x0D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0C10, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x005C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0060, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0064, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0494, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x045C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0460, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0464, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0894, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x085C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0860, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0864, 0x7F, 0x00, CSIPHY_SKEW_CAL}, +}; + +struct csiphy_reg_t csiphy_3ph_v2_2_0_reg[] = { + {0x0294, 0x01, 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, 0x01, 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, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AF4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AF8, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AFC, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AF0, 0xEF, 0xD3, CSIPHY_DEFAULT_PARAMS}, + {0x0204, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02E4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02E8, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02EC, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0218, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x021C, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0220, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0224, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0228, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x022C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0264, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0244, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0310, 0x35, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02BC, 0xD0, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0254, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0240, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0260, 0xA8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0284, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0290, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0604, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06E4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06E8, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06EC, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0618, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x061C, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0620, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0624, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0628, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x062C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0664, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0644, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0710, 0x35, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06BC, 0xD0, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0654, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0640, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0660, 0xA8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0684, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0690, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A04, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AE4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AE8, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AEC, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A18, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A1C, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A20, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A24, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A28, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A2C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A64, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A44, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0B10, 0x35, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0ABC, 0xD0, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A54, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A40, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A60, 0xA8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A84, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A90, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_80Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x1F, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x02, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x1F, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x02, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x1F, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x02, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_100Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0xB6, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x01, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0xB6, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x01, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0xB6, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x01, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_200Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0xE4, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0xE4, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0xE4, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_300Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x9E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x9E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x9E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_350Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x8A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x8A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x8A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_400Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x7B, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x7B, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x7B, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_500Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x66, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x66, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x66, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_600Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x58, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x58, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x58, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_700Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x4E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x4E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x4E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_800Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x46, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x46, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x46, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_900Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x40, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x40, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x40, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_1p0Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x3C, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x3C, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x3C, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_1p2Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x45, 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, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_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, 0x1D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_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, 0x1D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x35, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x35, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x35, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_1p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {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, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x30, 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, 0x45, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x45, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x2E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x2E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x2E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_1p7Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x2E, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x2E, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x2E, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x2A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x2A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x2A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +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, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0270, 0x01, 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, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0670, 0x01, 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, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x01, 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}, +}; + +struct csiphy_reg_t datarate_220_2p1Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x26, 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, 0x26, 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, 0x26, 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}, +}; + +struct csiphy_reg_t datarate_220_2p35Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x23, 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, 0x23, 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, 0x23, 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}, +}; + +struct csiphy_reg_t datarate_220_2p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x0D, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x15, 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, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x0D, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x15, 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, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x0D, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x15, 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, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x22, 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, 0x22, 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, 0x22, 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}, + {0x026C, 0x25, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x066C, 0x25, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0A6C, 0x25, 0x00, CSIPHY_AUXILIARY_SETTING}, +}; + +struct csiphy_reg_t datarate_220_2p6Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x0D, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x15, 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, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x0D, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x15, 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, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x0D, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x15, 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, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x22, 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, 0x22, 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, 0x22, 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}, + {0x026C, 0x25, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x066C, 0x25, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0A6C, 0x25, 0x00, CSIPHY_AUXILIARY_SETTING}, +}; + +struct csiphy_reg_t datarate_220_2p8Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x0B, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x15, 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, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x0B, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x15, 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, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x0B, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x15, 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, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x22, 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, 0x22, 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, 0x22, 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}, + {0x026C, 0x25, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x066C, 0x25, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0A6C, 0x25, 0x00, CSIPHY_AUXILIARY_SETTING}, +}; + +struct csiphy_reg_t datarate_220_3p0Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x0B, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x15, 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, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x0B, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x15, 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, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x0B, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x15, 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, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x1E, 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, 0x1E, 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, 0x1E, 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}, + {0x026C, 0x25, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x066C, 0x25, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0A6C, 0x25, 0x00, CSIPHY_AUXILIARY_SETTING}, +}; + +struct csiphy_reg_t datarate_220_3p3Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x0B, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x15, 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, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x0B, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x15, 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, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x0B, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x15, 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, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x1E, 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, 0x1E, 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, 0x1E, 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}, + {0x026C, 0x25, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x066C, 0x25, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0A6C, 0x25, 0x00, CSIPHY_AUXILIARY_SETTING}, +}; + +struct csiphy_reg_t datarate_220_3p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x0B, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x15, 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, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x0B, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x15, 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, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x0B, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x15, 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, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x1E, 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, 0x1E, 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, 0x1E, 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}, + {0x026C, 0x25, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x066C, 0x25, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0A6C, 0x25, 0x00, CSIPHY_AUXILIARY_SETTING}, +}; + +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, 0x0C, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {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, 0x0C, 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}, + {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, 0x0C, 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}, + {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, 0x1C, 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, 0x1C, 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, 0x1C, 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}, +}; + +struct csiphy_reg_t datarate_220_4p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x06, 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, 0x06, 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, 0x06, 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, 0x1B, 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, 0x1B, 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, 0x1B, 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}, +}; + +struct csiphy_reg_t datarate_220_5p0Gsps[] = { + /* AFE Settings */ + {0x0268, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0278, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x026C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0270, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0274, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0678, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0670, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0674, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A78, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x00, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x1A, 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, 0x1A, 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, 0x1A, 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}, +}; + +struct csiphy_reg_t datarate_220_5p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0278, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x026C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0270, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0274, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0678, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0670, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0674, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A78, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x00, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x19, 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, 0x19, 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, 0x19, 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}, +}; + +struct csiphy_reg_t datarate_220_6p0Gsps[] = { + /* AFE Settings */ + {0x0268, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0278, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x026C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0270, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0274, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0678, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0670, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0674, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A78, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x00, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x19, 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, 0x19, 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, 0x19, 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}, +}; + +static struct data_rate_reg_info_t data_rate_settings_2_2_0[] = { + { + /* ((80 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 182400000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_80Msps), + .data_rate_reg_array[0][0] = datarate_220_80Msps, + .data_rate_reg_array[1][0] = datarate_220_80Msps, + .data_rate_reg_array[2][0] = datarate_220_80Msps, + .data_rate_reg_array[3][0] = datarate_220_80Msps, + .data_rate_reg_array[4][0] = datarate_220_80Msps, + .data_rate_reg_array[5][0] = datarate_220_80Msps, + .data_rate_reg_array[6][0] = datarate_220_80Msps, + .data_rate_reg_array[7][0] = datarate_220_80Msps, + }, + { + /* ((100 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 228000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_100Msps), + .data_rate_reg_array[0][0] = datarate_220_100Msps, + .data_rate_reg_array[1][0] = datarate_220_100Msps, + .data_rate_reg_array[2][0] = datarate_220_100Msps, + .data_rate_reg_array[3][0] = datarate_220_100Msps, + .data_rate_reg_array[4][0] = datarate_220_100Msps, + .data_rate_reg_array[5][0] = datarate_220_100Msps, + .data_rate_reg_array[6][0] = datarate_220_100Msps, + .data_rate_reg_array[7][0] = datarate_220_100Msps, + }, + { + /* ((200 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 456000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_200Msps), + .data_rate_reg_array[0][0] = datarate_220_200Msps, + .data_rate_reg_array[1][0] = datarate_220_200Msps, + .data_rate_reg_array[2][0] = datarate_220_200Msps, + .data_rate_reg_array[3][0] = datarate_220_200Msps, + .data_rate_reg_array[4][0] = datarate_220_200Msps, + .data_rate_reg_array[5][0] = datarate_220_200Msps, + .data_rate_reg_array[6][0] = datarate_220_200Msps, + .data_rate_reg_array[7][0] = datarate_220_200Msps, + }, + { + /* ((300 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 684000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_300Msps), + .data_rate_reg_array[0][0] = datarate_220_300Msps, + .data_rate_reg_array[1][0] = datarate_220_300Msps, + .data_rate_reg_array[2][0] = datarate_220_300Msps, + .data_rate_reg_array[3][0] = datarate_220_300Msps, + .data_rate_reg_array[4][0] = datarate_220_300Msps, + .data_rate_reg_array[5][0] = datarate_220_300Msps, + .data_rate_reg_array[6][0] = datarate_220_300Msps, + .data_rate_reg_array[7][0] = datarate_220_300Msps, + }, + { + /* ((350 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 798000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_350Msps), + .data_rate_reg_array[0][0] = datarate_220_350Msps, + .data_rate_reg_array[1][0] = datarate_220_350Msps, + .data_rate_reg_array[2][0] = datarate_220_350Msps, + .data_rate_reg_array[3][0] = datarate_220_350Msps, + .data_rate_reg_array[4][0] = datarate_220_350Msps, + .data_rate_reg_array[5][0] = datarate_220_350Msps, + .data_rate_reg_array[6][0] = datarate_220_350Msps, + .data_rate_reg_array[7][0] = datarate_220_350Msps, + }, + { + /* ((400 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 912000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_400Msps), + .data_rate_reg_array[0][0] = datarate_220_400Msps, + .data_rate_reg_array[1][0] = datarate_220_400Msps, + .data_rate_reg_array[2][0] = datarate_220_400Msps, + .data_rate_reg_array[3][0] = datarate_220_400Msps, + .data_rate_reg_array[4][0] = datarate_220_400Msps, + .data_rate_reg_array[5][0] = datarate_220_400Msps, + .data_rate_reg_array[6][0] = datarate_220_400Msps, + .data_rate_reg_array[7][0] = datarate_220_400Msps, + }, + { + /* ((500 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1140000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_500Msps), + .data_rate_reg_array[0][0] = datarate_220_500Msps, + .data_rate_reg_array[1][0] = datarate_220_500Msps, + .data_rate_reg_array[2][0] = datarate_220_500Msps, + .data_rate_reg_array[3][0] = datarate_220_500Msps, + .data_rate_reg_array[4][0] = datarate_220_500Msps, + .data_rate_reg_array[5][0] = datarate_220_500Msps, + .data_rate_reg_array[6][0] = datarate_220_500Msps, + .data_rate_reg_array[7][0] = datarate_220_500Msps, + }, + { + /* ((600 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1368000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_600Msps), + .data_rate_reg_array[0][0] = datarate_220_600Msps, + .data_rate_reg_array[1][0] = datarate_220_600Msps, + .data_rate_reg_array[2][0] = datarate_220_600Msps, + .data_rate_reg_array[3][0] = datarate_220_600Msps, + .data_rate_reg_array[4][0] = datarate_220_600Msps, + .data_rate_reg_array[5][0] = datarate_220_600Msps, + .data_rate_reg_array[6][0] = datarate_220_600Msps, + .data_rate_reg_array[7][0] = datarate_220_600Msps, + }, + { + /* ((700 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1596000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_700Msps), + .data_rate_reg_array[0][0] = datarate_220_700Msps, + .data_rate_reg_array[1][0] = datarate_220_700Msps, + .data_rate_reg_array[2][0] = datarate_220_700Msps, + .data_rate_reg_array[3][0] = datarate_220_700Msps, + .data_rate_reg_array[4][0] = datarate_220_700Msps, + .data_rate_reg_array[5][0] = datarate_220_700Msps, + .data_rate_reg_array[6][0] = datarate_220_700Msps, + .data_rate_reg_array[7][0] = datarate_220_700Msps, + }, + { + /* ((800 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1824000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_800Msps), + .data_rate_reg_array[0][0] = datarate_220_800Msps, + .data_rate_reg_array[1][0] = datarate_220_800Msps, + .data_rate_reg_array[2][0] = datarate_220_800Msps, + .data_rate_reg_array[3][0] = datarate_220_800Msps, + .data_rate_reg_array[4][0] = datarate_220_800Msps, + .data_rate_reg_array[5][0] = datarate_220_800Msps, + .data_rate_reg_array[6][0] = datarate_220_800Msps, + .data_rate_reg_array[7][0] = datarate_220_800Msps, + }, + { + /* ((900 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 2052000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_900Msps), + .data_rate_reg_array[0][0] = datarate_220_900Msps, + .data_rate_reg_array[1][0] = datarate_220_900Msps, + .data_rate_reg_array[2][0] = datarate_220_900Msps, + .data_rate_reg_array[3][0] = datarate_220_900Msps, + .data_rate_reg_array[4][0] = datarate_220_900Msps, + .data_rate_reg_array[5][0] = datarate_220_900Msps, + .data_rate_reg_array[6][0] = datarate_220_900Msps, + .data_rate_reg_array[7][0] = datarate_220_900Msps, + }, + { + /* ((1000 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 2280000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p0Gsps, + }, + { + /* ((1.2 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 2736000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p2Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p2Gsps, + }, + { + /* ((1.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 3420000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p5Gsps, + }, + { + /* ((1.7 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 3876000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p7Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p7Gsps, + }, + { + /* ((2.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 4560000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p0Gsps, + .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[6][0] = datarate_220_2p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p0Gsps, + }, + { + /* ((2.1 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 4788000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p1Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p1Gsps, + }, + { + /* ((2.35 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 5358000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p35Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p35Gsps, + }, + { + /* ((2.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 5700000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p5Gsps, + }, + { + /* ((2.6 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 5928000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p6Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p6Gsps, + }, + { + /* ((2.8 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 6384000000, + .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[3][0] = datarate_220_2p8Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p8Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p8Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p8Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p8Gsps, + }, + { + /* ((3.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 6840000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_3p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_3p0Gsps, + }, + { + /* ((3.3 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 7524000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_3p3Gsps), + .data_rate_reg_array[0][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[1][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[2][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[3][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[4][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[5][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[6][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[7][0] = datarate_220_3p3Gsps, + }, + { + /* ((3.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 7980000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_3p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_3p5Gsps, + }, + { + /* ((4.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 9120000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_4p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_4p0Gsps, + }, + { + /* ((4.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 10260000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_4p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_4p5Gsps, + }, + { + /* ((5.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 11400000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_5p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_5p0Gsps, + }, + { + /* ((5.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 12540000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_5p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_5p5Gsps, + }, + { + /* ((6.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 13680000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_6p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_6p0Gsps, + }, +}; + +struct csiphy_reg_t bist_3ph_arr_2_2_0[] = { + {0x0230, 0x1C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0234, 0xFA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0238, 0xD4, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x023C, 0x59, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0258, 0x10, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02C8, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02D0, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02D4, 0x64, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02D8, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0248, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x024C, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0250, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0244, 0xB1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x025C, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0240, 0x85, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0630, 0x1C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0634, 0xFA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0638, 0xD4, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x063C, 0x59, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0658, 0x10, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06C8, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06D0, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06D4, 0x64, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06D8, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0648, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x064C, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0650, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0644, 0xB1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x065C, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0640, 0x85, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A30, 0x1C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A34, 0xFA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A38, 0xD4, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A3C, 0x59, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A58, 0x10, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AC8, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AD0, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AD4, 0x64, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AD8, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A48, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A4C, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A50, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A44, 0xB1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A5C, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A40, 0x85, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t bist_status_arr_2_2_0[] = { + {0x0344, 0x00, 0x00, CSIPHY_3PH_REGS}, + {0x0744, 0x00, 0x00, CSIPHY_3PH_REGS}, + {0x0B44, 0x00, 0x00, CSIPHY_3PH_REGS}, + {0x00C0, 0x00, 0x00, CSIPHY_2PH_REGS}, + {0x04C0, 0x00, 0x00, CSIPHY_2PH_REGS}, + {0x08C0, 0x00, 0x00, CSIPHY_2PH_REGS}, + {0x0CC0, 0x00, 0x00, CSIPHY_2PH_REGS}, +}; + +struct bist_reg_settings_t bist_setting_2_2_0 = { + .error_status_val_3ph = 0x10, + .error_status_val_2ph = 0x10, + .set_status_update_3ph_base_offset = 0x0240, + .set_status_update_2ph_base_offset = 0x0050, + .bist_status_3ph_base_offset = 0x0344, + .bist_status_2ph_base_offset = 0x00C0, + .bist_sensor_data_3ph_status_base_offset = 0x0340, + .bist_counter_3ph_base_offset = 0x0348, + .bist_counter_2ph_base_offset = 0x00C8, + .number_of_counters = 2, + .num_3ph_bist_settings = ARRAY_SIZE(bist_3ph_arr_2_2_0), + .bist_3ph_settings_arry = bist_3ph_arr_2_2_0, + .bist_2ph_settings_arry = NULL, + .num_2ph_bist_settings = 0, + .num_status_reg = ARRAY_SIZE(bist_status_arr_2_2_0), + .bist_status_arr = bist_status_arr_2_2_0, +}; + +struct data_rate_settings_t data_rate_delta_table_2_2_0 = { + .num_data_rate_settings = ARRAY_SIZE(data_rate_settings_2_2_0), + .data_rate_settings = data_rate_settings_2_2_0, +}; + +struct csiphy_reg_parms_t csiphy_v2_2_0 = { + .mipi_csiphy_interrupt_status0_addr = 0x10B0, + .mipi_csiphy_interrupt_clear0_addr = 0x1058, + .mipi_csiphy_glbl_irq_cmd_addr = 0x1028, + .size_offset_betn_lanes = 0x400, + .status_reg_params = &status_regs_2_2_0, + .csiphy_common_reg_array_size = ARRAY_SIZE(csiphy_common_reg_2_2_0), + .csiphy_reset_enter_array_size = ARRAY_SIZE(csiphy_reset_enter_reg_2_2_0), + .csiphy_reset_exit_array_size = ARRAY_SIZE(csiphy_reset_exit_reg_2_2_0), + .csiphy_2ph_config_array_size = ARRAY_SIZE(csiphy_2ph_v2_2_0_reg), + .csiphy_3ph_config_array_size = ARRAY_SIZE(csiphy_3ph_v2_2_0_reg), + .csiphy_2ph_combo_config_array_size = ARRAY_SIZE(csiphy_2ph_v2_2_0_combo_mode_reg), + .csiphy_3ph_combo_config_array_size = 0, + .csiphy_2ph_3ph_config_array_size = 0, + .csiphy_interrupt_status_size = ARRAY_SIZE(csiphy_irq_reg_2_2_0), + .csiphy_num_common_status_regs = 20, + .aon_sel_params = &aon_cam_select_params_2_2_0, +}; + +struct csiphy_ctrl_t ctrl_reg_2_2_0 = { + .csiphy_common_reg = csiphy_common_reg_2_2_0, + .csiphy_2ph_reg = csiphy_2ph_v2_2_0_reg, + .csiphy_3ph_reg = csiphy_3ph_v2_2_0_reg, + .csiphy_2ph_combo_mode_reg = csiphy_2ph_v2_2_0_combo_mode_reg, + .csiphy_3ph_combo_reg = NULL, + .csiphy_2ph_3ph_mode_reg = NULL, + .csiphy_reg = &csiphy_v2_2_0, + .csiphy_irq_reg = csiphy_irq_reg_2_2_0, + .csiphy_reset_enter_regs = csiphy_reset_enter_reg_2_2_0, + .csiphy_reset_exit_regs = csiphy_reset_exit_reg_2_2_0, + .csiphy_lane_config_reg = csiphy_lane_en_reg_2_2_0, + .data_rates_settings_table = &data_rate_delta_table_2_2_0, + .csiphy_bist_reg = &bist_setting_2_2_0, + .getclockvoting = get_clk_voting_dynamic, +}; + +#endif /* _CAM_CSIPHY_2_2_0_HWREG_H_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_e1.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_e1.h new file mode 100644 index 0000000000..195116f905 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_e1.h @@ -0,0 +1,2245 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * Copyright (c) 2021-2023, Qualcomm Innovation Center, Inc. All rights reserved. + */ + +#ifndef _CAM_CSIPHY_2_2_0_HWREG_H_ +#define _CAM_CSIPHY_2_2_0_HWREG_H_ + +#include "../cam_csiphy_dev.h" + +struct cam_csiphy_aon_sel_params_t aon_cam_select_params_2_2_0 = { + .aon_cam_sel_offset[0] = 0x01E0, + .aon_cam_sel_offset[1] = 0x01E4, + .cam_sel_mask = BIT(0), + .mclk_sel_mask = BIT(8), +}; + +struct cam_cphy_dphy_status_reg_params_t status_regs_2_2_0 = { + .csiphy_3ph_status0_offset = 0x0340, + .csiphy_2ph_status0_offset = 0x00C0, + .cphy_lane_status = {0x0358, 0x0758, 0x0B58}, + .csiphy_3ph_status_size = 24, + .csiphy_2ph_status_size = 20, +}; + +struct csiphy_reg_t csiphy_lane_en_reg_2_2_0[] = { + {0x1014, 0x00, 0x00, CSIPHY_LANE_ENABLE}, +}; + +struct csiphy_reg_t csiphy_common_reg_2_2_0[] = { + {0x1084, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x108C, 0x00, 0x01, CSIPHY_DEFAULT_PARAMS}, + {0x101C, 0x7A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1018, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t csiphy_reset_enter_reg_2_2_0[] = { + {0x1000, 0x01, 0x01, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t csiphy_reset_exit_reg_2_2_0[] = { + {0x1000, 0x02, 0x00, CSIPHY_2PH_REGS}, + {0x1000, 0x00, 0x00, CSIPHY_2PH_COMBO_REGS}, + {0x1000, 0x0E, 0xBE8, CSIPHY_3PH_REGS}, +}; + +struct csiphy_reg_t csiphy_irq_reg_2_2_0[] = { + {0x102c, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1030, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1034, 0xfb, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1038, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x103c, 0x7f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1040, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1044, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1048, 0xef, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x104c, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1050, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1054, 0xff, 0x64, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t csiphy_2ph_v2_2_0_reg[] = { + {0x0E94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0EA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x00A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0090, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0098, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x04A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0490, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0498, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x08A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0890, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0898, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0CA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0E30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E28, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E00, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E0C, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E38, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E14, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E04, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0E10, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0030, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0000, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0038, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x002C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0034, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x001C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0014, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x003C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0004, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0020, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0008, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0010, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0430, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0400, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0438, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x042C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0434, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x041C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0414, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x043C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0404, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0420, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0408, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0410, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0830, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0800, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0838, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x082C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0834, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x081C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0814, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x083C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0804, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0820, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0808, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0810, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C00, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C38, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C14, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C04, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0C10, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x005C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0060, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0064, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0494, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x045C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0460, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0464, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0894, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x085C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0860, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0864, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0C94, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x0C5C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0C60, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0C64, 0x7F, 0x00, CSIPHY_SKEW_CAL}, +}; + +struct csiphy_reg_t csiphy_2ph_v2_2_0_combo_mode_reg[] = { + {0x0E94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0EA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x00A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0090, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0098, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x04A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0490, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0498, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x08A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0890, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0898, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0CA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0E30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E28, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E00, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E0C, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E38, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E14, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E04, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0E10, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0030, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0000, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0038, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x002C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0034, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x001C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0014, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x003C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0004, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0020, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0008, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0010, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0430, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0400, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0438, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x042C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0434, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x041C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0414, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x043C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0404, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0420, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0408, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0410, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0830, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0800, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0838, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0828, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x082C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0834, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x081C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0814, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x083C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0804, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0820, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0808, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0810, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C28, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C00, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C0C, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C38, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C28, 0x0E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C14, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C04, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0C10, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x005C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0060, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0064, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0494, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x045C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0460, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0464, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0894, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x085C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0860, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0864, 0x7F, 0x00, CSIPHY_SKEW_CAL}, +}; + +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}, + {0x0AF0, 0xEF, 0xD3, CSIPHY_DEFAULT_PARAMS}, + {0x0204, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02E4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02E8, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02EC, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0218, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x021C, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0220, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0224, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0228, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x022C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0264, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0244, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0310, 0x35, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02BC, 0xD0, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0254, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0240, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0260, 0xA8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0284, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0290, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0604, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06E4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06E8, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06EC, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0618, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x061C, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0620, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0624, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0628, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x062C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0664, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0644, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0710, 0x35, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06BC, 0xD0, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0654, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0640, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0660, 0xA8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0684, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0690, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A04, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AE4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AE8, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AEC, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A18, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A1C, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A20, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A24, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A28, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A2C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A64, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A44, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0B10, 0x35, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0ABC, 0xD0, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A54, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A40, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A60, 0xA8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A84, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A90, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_80Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x1F, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x02, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x1F, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x02, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x1F, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x02, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_100Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0xB6, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x01, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0xB6, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x01, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0xB6, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x01, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_200Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0xE4, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0xE4, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0xE4, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_300Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x9E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x9E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x9E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_350Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x8A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x8A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x8A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_400Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x7B, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x7B, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x7B, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_500Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x66, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x66, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x66, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_600Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x58, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x58, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x58, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_700Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x4E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x4E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x4E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_800Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x46, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x46, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x46, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_900Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x40, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x40, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x40, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_1p0Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x3C, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x3C, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x3C, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_1p2Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x45, 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, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_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, 0x1D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_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, 0x1D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x35, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x35, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x35, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x028C, 0x7E, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x068C, 0x7E, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0A8C, 0x7E, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0270, 0x02, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0670, 0x02, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0A70, 0x02, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0274, 0x01, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0674, 0x01, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0A74, 0x01, 0x00, CSIPHY_AUXILIARY_SETTING}, +}; + +struct csiphy_reg_t datarate_220_1p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {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, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x30, 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, 0x45, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x45, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x2E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x2E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x2E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_1p7Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x2E, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x2E, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x2E, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x2A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x2A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x2A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +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, 0x01, 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, 0x01, 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, 0x01, 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}, + {0x0274, 0x01, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0674, 0x01, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0A74, 0x01, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x028C, 0x7E, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x068C, 0x7E, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0A8C, 0x7E, 0x00, CSIPHY_AUXILIARY_SETTING}, +}; + +struct csiphy_reg_t datarate_220_2p1Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x26, 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, 0x26, 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, 0x26, 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}, +}; + +struct csiphy_reg_t datarate_220_2p35Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x23, 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, 0x23, 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, 0x23, 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}, +}; + +struct csiphy_reg_t datarate_220_2p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x22, 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, 0x22, 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, 0x22, 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}, +}; + +struct csiphy_reg_t datarate_220_2p6Gsps[] = { + /* 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, 0x22, 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, 0x22, 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, 0x22, 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}, +}; + +struct csiphy_reg_t datarate_220_2p8Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x15, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x1D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x026C, 0x2D, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0270, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0274, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x15, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x1D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x2D, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0670, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0674, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x15, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x1D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x2D, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 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, 0x00, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0674, 0x00, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0A74, 0x00, 0x00, CSIPHY_AUXILIARY_SETTING}, +}; + +struct csiphy_reg_t datarate_220_3p0Gsps[] = { + /* 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, 0x20, 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, 0x20, 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, 0x20, 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}, +}; + +struct csiphy_reg_t datarate_220_3p3Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x10, 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, 0x10, 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, 0x10, 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, 0x1E, 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, 0x1E, 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, 0x1E, 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}, +}; + +struct csiphy_reg_t datarate_220_3p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x0D, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x1D, 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, 0x0D, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x1D, 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, 0x0D, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x1D, 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, 0x1E, 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, 0x1E, 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, 0x1E, 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}, +}; + +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, 0x0C, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {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, 0x0C, 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}, + {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, 0x0C, 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}, + {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, 0x1C, 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, 0x1C, 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, 0x1C, 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}, +}; + +struct csiphy_reg_t datarate_220_4p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x06, 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, 0x06, 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, 0x06, 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, 0x1B, 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, 0x1B, 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, 0x1B, 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}, +}; + +struct csiphy_reg_t datarate_220_5p0Gsps[] = { + /* AFE Settings */ + {0x0268, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0278, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x026C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0270, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0274, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0678, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0670, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0674, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A78, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x00, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x1A, 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, 0x1A, 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, 0x1A, 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}, +}; + +struct csiphy_reg_t datarate_220_5p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0278, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x026C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0270, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0274, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0678, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0670, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0674, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A78, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x00, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x19, 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, 0x19, 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, 0x19, 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}, +}; + +struct csiphy_reg_t datarate_220_6p0Gsps[] = { + /* AFE Settings */ + {0x0268, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0278, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x026C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0270, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0274, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0678, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0670, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0674, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A78, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x00, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x19, 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, 0x19, 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, 0x19, 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}, +}; + +static struct data_rate_reg_info_t data_rate_settings_2_2_0[] = { + { + /* ((80 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 182400000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_80Msps), + .data_rate_reg_array[0][0] = datarate_220_80Msps, + .data_rate_reg_array[1][0] = datarate_220_80Msps, + .data_rate_reg_array[2][0] = datarate_220_80Msps, + .data_rate_reg_array[3][0] = datarate_220_80Msps, + .data_rate_reg_array[4][0] = datarate_220_80Msps, + .data_rate_reg_array[5][0] = datarate_220_80Msps, + .data_rate_reg_array[6][0] = datarate_220_80Msps, + .data_rate_reg_array[7][0] = datarate_220_80Msps, + }, + { + /* ((100 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 228000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_100Msps), + .data_rate_reg_array[0][0] = datarate_220_100Msps, + .data_rate_reg_array[1][0] = datarate_220_100Msps, + .data_rate_reg_array[2][0] = datarate_220_100Msps, + .data_rate_reg_array[3][0] = datarate_220_100Msps, + .data_rate_reg_array[4][0] = datarate_220_100Msps, + .data_rate_reg_array[5][0] = datarate_220_100Msps, + .data_rate_reg_array[6][0] = datarate_220_100Msps, + .data_rate_reg_array[7][0] = datarate_220_100Msps, + }, + { + /* ((200 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 456000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_200Msps), + .data_rate_reg_array[0][0] = datarate_220_200Msps, + .data_rate_reg_array[1][0] = datarate_220_200Msps, + .data_rate_reg_array[2][0] = datarate_220_200Msps, + .data_rate_reg_array[3][0] = datarate_220_200Msps, + .data_rate_reg_array[4][0] = datarate_220_200Msps, + .data_rate_reg_array[5][0] = datarate_220_200Msps, + .data_rate_reg_array[6][0] = datarate_220_200Msps, + .data_rate_reg_array[7][0] = datarate_220_200Msps, + }, + { + /* ((300 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 684000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_300Msps), + .data_rate_reg_array[0][0] = datarate_220_300Msps, + .data_rate_reg_array[1][0] = datarate_220_300Msps, + .data_rate_reg_array[2][0] = datarate_220_300Msps, + .data_rate_reg_array[3][0] = datarate_220_300Msps, + .data_rate_reg_array[4][0] = datarate_220_300Msps, + .data_rate_reg_array[5][0] = datarate_220_300Msps, + .data_rate_reg_array[6][0] = datarate_220_300Msps, + .data_rate_reg_array[7][0] = datarate_220_300Msps, + }, + { + /* ((350 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 798000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_350Msps), + .data_rate_reg_array[0][0] = datarate_220_350Msps, + .data_rate_reg_array[1][0] = datarate_220_350Msps, + .data_rate_reg_array[2][0] = datarate_220_350Msps, + .data_rate_reg_array[3][0] = datarate_220_350Msps, + .data_rate_reg_array[4][0] = datarate_220_350Msps, + .data_rate_reg_array[5][0] = datarate_220_350Msps, + .data_rate_reg_array[6][0] = datarate_220_350Msps, + .data_rate_reg_array[7][0] = datarate_220_350Msps, + }, + { + /* ((400 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 912000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_400Msps), + .data_rate_reg_array[0][0] = datarate_220_400Msps, + .data_rate_reg_array[1][0] = datarate_220_400Msps, + .data_rate_reg_array[2][0] = datarate_220_400Msps, + .data_rate_reg_array[3][0] = datarate_220_400Msps, + .data_rate_reg_array[4][0] = datarate_220_400Msps, + .data_rate_reg_array[5][0] = datarate_220_400Msps, + .data_rate_reg_array[6][0] = datarate_220_400Msps, + .data_rate_reg_array[7][0] = datarate_220_400Msps, + }, + { + /* ((500 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1140000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_500Msps), + .data_rate_reg_array[0][0] = datarate_220_500Msps, + .data_rate_reg_array[1][0] = datarate_220_500Msps, + .data_rate_reg_array[2][0] = datarate_220_500Msps, + .data_rate_reg_array[3][0] = datarate_220_500Msps, + .data_rate_reg_array[4][0] = datarate_220_500Msps, + .data_rate_reg_array[5][0] = datarate_220_500Msps, + .data_rate_reg_array[6][0] = datarate_220_500Msps, + .data_rate_reg_array[7][0] = datarate_220_500Msps, + }, + { + /* ((600 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1368000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_600Msps), + .data_rate_reg_array[0][0] = datarate_220_600Msps, + .data_rate_reg_array[1][0] = datarate_220_600Msps, + .data_rate_reg_array[2][0] = datarate_220_600Msps, + .data_rate_reg_array[3][0] = datarate_220_600Msps, + .data_rate_reg_array[4][0] = datarate_220_600Msps, + .data_rate_reg_array[5][0] = datarate_220_600Msps, + .data_rate_reg_array[6][0] = datarate_220_600Msps, + .data_rate_reg_array[7][0] = datarate_220_600Msps, + }, + { + /* ((700 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1596000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_700Msps), + .data_rate_reg_array[0][0] = datarate_220_700Msps, + .data_rate_reg_array[1][0] = datarate_220_700Msps, + .data_rate_reg_array[2][0] = datarate_220_700Msps, + .data_rate_reg_array[3][0] = datarate_220_700Msps, + .data_rate_reg_array[4][0] = datarate_220_700Msps, + .data_rate_reg_array[5][0] = datarate_220_700Msps, + .data_rate_reg_array[6][0] = datarate_220_700Msps, + .data_rate_reg_array[7][0] = datarate_220_700Msps, + }, + { + /* ((800 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1824000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_800Msps), + .data_rate_reg_array[0][0] = datarate_220_800Msps, + .data_rate_reg_array[1][0] = datarate_220_800Msps, + .data_rate_reg_array[2][0] = datarate_220_800Msps, + .data_rate_reg_array[3][0] = datarate_220_800Msps, + .data_rate_reg_array[4][0] = datarate_220_800Msps, + .data_rate_reg_array[5][0] = datarate_220_800Msps, + .data_rate_reg_array[6][0] = datarate_220_800Msps, + .data_rate_reg_array[7][0] = datarate_220_800Msps, + }, + { + /* ((900 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 2052000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_900Msps), + .data_rate_reg_array[0][0] = datarate_220_900Msps, + .data_rate_reg_array[1][0] = datarate_220_900Msps, + .data_rate_reg_array[2][0] = datarate_220_900Msps, + .data_rate_reg_array[3][0] = datarate_220_900Msps, + .data_rate_reg_array[4][0] = datarate_220_900Msps, + .data_rate_reg_array[5][0] = datarate_220_900Msps, + .data_rate_reg_array[6][0] = datarate_220_900Msps, + .data_rate_reg_array[7][0] = datarate_220_900Msps, + }, + { + /* ((1000 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 2280000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p0Gsps, + }, + { + /* ((1.2 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 2736000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p2Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p2Gsps, + }, + { + /* ((1.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 3420000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p5Gsps, + }, + { + /* ((1.7 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 3876000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p7Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p7Gsps, + }, + { + /* ((2.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 4560000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p0Gsps, + .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[6][0] = datarate_220_2p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p0Gsps, + }, + { + /* ((2.1 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 4788000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p1Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p1Gsps, + }, + { + /* ((2.35 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 5358000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p35Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p35Gsps, + }, + { + /* ((2.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 5700000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p5Gsps, + }, + { + /* ((2.6 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 5928000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p6Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p6Gsps, + }, + { + /* ((2.8 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 6384000000, + .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[3][0] = datarate_220_2p8Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p8Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p8Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p8Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p8Gsps, + }, + { + /* ((3.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 6840000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_3p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_3p0Gsps, + }, + { + /* ((3.3 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 7524000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_3p3Gsps), + .data_rate_reg_array[0][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[1][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[2][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[3][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[4][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[5][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[6][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[7][0] = datarate_220_3p3Gsps, + }, + { + /* ((3.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 7980000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_3p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_3p5Gsps, + }, + { + /* ((4.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 9120000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_4p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_4p0Gsps, + }, + { + /* ((4.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 10260000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_4p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_4p5Gsps, + }, + { + /* ((5.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 11400000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_5p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_5p0Gsps, + }, + { + /* ((5.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 12540000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_5p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_5p5Gsps, + }, + { + /* ((6.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 13680000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_6p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_6p0Gsps, + }, +}; + +struct csiphy_reg_t bist_3ph_arr_2_2_0[] = { + {0x0230, 0x1C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0234, 0xFA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0238, 0xD4, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x023C, 0x59, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0258, 0x10, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02C8, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02D0, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02D4, 0x64, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02D8, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0248, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x024C, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0250, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0244, 0xB1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x025C, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0240, 0x85, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0630, 0x1C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0634, 0xFA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0638, 0xD4, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x063C, 0x59, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0658, 0x10, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06C8, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06D0, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06D4, 0x64, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06D8, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0648, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x064C, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0650, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0644, 0xB1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x065C, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0640, 0x85, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A30, 0x1C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A34, 0xFA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A38, 0xD4, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A3C, 0x59, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A58, 0x10, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AC8, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AD0, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AD4, 0x64, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AD8, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A48, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A4C, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A50, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A44, 0xB1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A5C, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A40, 0x85, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t bist_status_arr_2_2_0[] = { + {0x0344, 0x00, 0x00, CSIPHY_3PH_REGS}, + {0x0744, 0x00, 0x00, CSIPHY_3PH_REGS}, + {0x0B44, 0x00, 0x00, CSIPHY_3PH_REGS}, + {0x00C0, 0x00, 0x00, CSIPHY_2PH_REGS}, + {0x04C0, 0x00, 0x00, CSIPHY_2PH_REGS}, + {0x08C0, 0x00, 0x00, CSIPHY_2PH_REGS}, + {0x0CC0, 0x00, 0x00, CSIPHY_2PH_REGS}, +}; + +struct bist_reg_settings_t bist_setting_2_2_0 = { + .error_status_val_3ph = 0x10, + .error_status_val_2ph = 0x10, + .set_status_update_3ph_base_offset = 0x0240, + .set_status_update_2ph_base_offset = 0x0050, + .bist_status_3ph_base_offset = 0x0344, + .bist_status_2ph_base_offset = 0x00C0, + .bist_sensor_data_3ph_status_base_offset = 0x0340, + .bist_counter_3ph_base_offset = 0x0348, + .bist_counter_2ph_base_offset = 0x00C8, + .number_of_counters = 2, + .num_3ph_bist_settings = ARRAY_SIZE(bist_3ph_arr_2_2_0), + .bist_3ph_settings_arry = bist_3ph_arr_2_2_0, + .bist_2ph_settings_arry = NULL, + .num_2ph_bist_settings = 0, + .num_status_reg = ARRAY_SIZE(bist_status_arr_2_2_0), + .bist_status_arr = bist_status_arr_2_2_0, +}; + +struct data_rate_settings_t data_rate_delta_table_2_2_0 = { + .num_data_rate_settings = ARRAY_SIZE(data_rate_settings_2_2_0), + .data_rate_settings = data_rate_settings_2_2_0, +}; + +struct csiphy_reg_parms_t csiphy_v2_2_0 = { + .mipi_csiphy_interrupt_status0_addr = 0x10B0, + .mipi_csiphy_interrupt_clear0_addr = 0x1058, + .mipi_csiphy_glbl_irq_cmd_addr = 0x1028, + .size_offset_betn_lanes = 0x400, + .status_reg_params = &status_regs_2_2_0, + .csiphy_common_reg_array_size = ARRAY_SIZE(csiphy_common_reg_2_2_0), + .csiphy_reset_enter_array_size = ARRAY_SIZE(csiphy_reset_enter_reg_2_2_0), + .csiphy_reset_exit_array_size = ARRAY_SIZE(csiphy_reset_exit_reg_2_2_0), + .csiphy_2ph_config_array_size = ARRAY_SIZE(csiphy_2ph_v2_2_0_reg), + .csiphy_3ph_config_array_size = ARRAY_SIZE(csiphy_3ph_v2_2_0_reg), + .csiphy_2ph_combo_config_array_size = ARRAY_SIZE(csiphy_2ph_v2_2_0_combo_mode_reg), + .csiphy_3ph_combo_config_array_size = 0, + .csiphy_2ph_3ph_config_array_size = 0, + .csiphy_interrupt_status_size = ARRAY_SIZE(csiphy_irq_reg_2_2_0), + .csiphy_num_common_status_regs = 20, + .aon_sel_params = &aon_cam_select_params_2_2_0, +}; + +struct csiphy_ctrl_t ctrl_reg_2_2_0 = { + .csiphy_common_reg = csiphy_common_reg_2_2_0, + .csiphy_2ph_reg = csiphy_2ph_v2_2_0_reg, + .csiphy_3ph_reg = csiphy_3ph_v2_2_0_reg, + .csiphy_2ph_combo_mode_reg = csiphy_2ph_v2_2_0_combo_mode_reg, + .csiphy_3ph_combo_reg = NULL, + .csiphy_2ph_3ph_mode_reg = NULL, + .csiphy_reg = &csiphy_v2_2_0, + .csiphy_irq_reg = csiphy_irq_reg_2_2_0, + .csiphy_reset_enter_regs = csiphy_reset_enter_reg_2_2_0, + .csiphy_reset_exit_regs = csiphy_reset_exit_reg_2_2_0, + .csiphy_lane_config_reg = csiphy_lane_en_reg_2_2_0, + .data_rates_settings_table = &data_rate_delta_table_2_2_0, + .csiphy_bist_reg = &bist_setting_2_2_0, + .getclockvoting = get_clk_voting_dynamic, +}; + +#endif /* _CAM_CSIPHY_2_2_0_HWREG_H_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_e2.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_e2.h new file mode 100644 index 0000000000..74c6e1090d --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_e2.h @@ -0,0 +1,2227 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * Copyright (c) 2021-2023, Qualcomm Innovation Center, Inc. All rights reserved. + */ + +#ifndef _CAM_CSIPHY_2_2_0_HWREG_H_ +#define _CAM_CSIPHY_2_2_0_HWREG_H_ + +#include "../cam_csiphy_dev.h" + +struct cam_csiphy_aon_sel_params_t aon_cam_select_params_2_2_0 = { + .aon_cam_sel_offset[0] = 0x01E0, + .aon_cam_sel_offset[1] = 0x01E4, + .cam_sel_mask = BIT(0), + .mclk_sel_mask = BIT(8), +}; + +struct cam_cphy_dphy_status_reg_params_t status_regs_2_2_0 = { + .csiphy_3ph_status0_offset = 0x0340, + .csiphy_2ph_status0_offset = 0x00C0, + .cphy_lane_status = {0x0358, 0x0758, 0x0B58}, + .csiphy_3ph_status_size = 24, + .csiphy_2ph_status_size = 20, +}; + +struct csiphy_reg_t csiphy_lane_en_reg_2_2_0[] = { + {0x1014, 0x00, 0x00, CSIPHY_LANE_ENABLE}, +}; + +struct csiphy_reg_t csiphy_common_reg_2_2_0[] = { + {0x1084, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x108C, 0x00, 0x01, CSIPHY_DEFAULT_PARAMS}, + {0x101C, 0x7A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1018, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t csiphy_reset_enter_reg_2_2_0[] = { + {0x1000, 0x01, 0x01, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t csiphy_reset_exit_reg_2_2_0[] = { + {0x1000, 0x02, 0x00, CSIPHY_2PH_REGS}, + {0x1000, 0x00, 0x00, CSIPHY_2PH_COMBO_REGS}, + {0x1000, 0x0E, 0xBE8, CSIPHY_3PH_REGS}, +}; + +struct csiphy_reg_t csiphy_irq_reg_2_2_0[] = { + {0x102c, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1030, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1034, 0xfb, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1038, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x103c, 0x7f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1040, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1044, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1048, 0xef, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x104c, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1050, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1054, 0xff, 0x64, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t csiphy_2ph_v2_2_0_reg[] = { + {0x0E94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0EA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x00A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0090, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0098, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x04A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0490, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0498, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x08A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0890, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0898, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0CA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0E30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E28, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E00, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E0C, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E38, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E14, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E04, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0E10, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0030, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0000, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0038, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x002C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0034, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x001C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0014, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x003C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0004, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0020, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0008, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0010, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0430, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0400, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0438, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x042C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0434, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x041C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0414, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x043C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0404, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0420, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0408, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0410, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0830, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0800, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0838, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x082C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0834, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x081C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0814, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x083C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0804, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0820, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0808, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0810, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C00, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C38, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C14, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C04, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0C10, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x005C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0060, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0064, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0494, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x045C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0460, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0464, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0894, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x085C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0860, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0864, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0C94, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x0C5C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0C60, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0C64, 0x7F, 0x00, CSIPHY_SKEW_CAL}, +}; + +struct csiphy_reg_t csiphy_2ph_v2_2_0_combo_mode_reg[] = { + {0x0E94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0EA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x00A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0090, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0098, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x04A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0490, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0498, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x08A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0890, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0898, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0CA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0E30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E28, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E00, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E0C, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E38, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E14, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E04, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0E10, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0030, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0000, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0038, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x002C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0034, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x001C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0014, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x003C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0004, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0020, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0008, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0010, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0430, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0400, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0438, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x042C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0434, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x041C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0414, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x043C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0404, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0420, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0408, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0410, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0830, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0800, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0838, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0828, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x082C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0834, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x081C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0814, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x083C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0804, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0820, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0808, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0810, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C28, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C00, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C0C, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C38, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C28, 0x0E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C14, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C04, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0C10, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x005C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0060, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0064, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0494, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x045C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0460, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0464, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0894, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x085C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0860, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0864, 0x7F, 0x00, CSIPHY_SKEW_CAL}, +}; + +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}, + {0x0AF0, 0xEF, 0xD3, CSIPHY_DEFAULT_PARAMS}, + {0x0204, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02E4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02E8, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02EC, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0218, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x021C, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0220, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0224, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0228, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x022C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0264, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0244, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0310, 0x35, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02BC, 0xD0, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0254, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0240, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0260, 0xA8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0284, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0290, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0604, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06E4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06E8, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06EC, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0618, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x061C, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0620, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0624, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0628, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x062C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0664, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0644, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0710, 0x35, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06BC, 0xD0, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0654, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0640, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0660, 0xA8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0684, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0690, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A04, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AE4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AE8, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AEC, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A18, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A1C, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A20, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A24, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A28, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A2C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A64, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A44, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0B10, 0x35, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0ABC, 0xD0, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A54, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A40, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A60, 0xA8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A84, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A90, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_80Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x1F, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x02, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x1F, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x02, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x1F, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x02, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_100Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0xB6, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x01, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0xB6, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x01, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0xB6, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x01, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_200Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0xE4, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0xE4, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0xE4, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_300Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x9E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x9E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x9E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_350Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x8A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x8A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x8A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_400Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x7B, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x7B, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x7B, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_500Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x66, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x66, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x66, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_600Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x58, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x58, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x58, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_700Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x4E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x4E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x4E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_800Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x46, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x46, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x46, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_900Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x40, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x40, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x40, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_1p0Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x3C, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x3C, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x3C, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_1p2Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x45, 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, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_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, 0x1D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_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, 0x1D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x35, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x35, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x35, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_1p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {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, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x30, 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, 0x45, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x45, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x2E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x2E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x2E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_1p7Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x2E, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x2E, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x2E, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x2A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x2A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x2A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +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, 0x02, 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, 0x02, 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, 0x02, 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, 0x01, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0670, 0x01, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0A70, 0x01, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0278, 0x22, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0678, 0x22, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0A78, 0x22, 0x00, CSIPHY_AUXILIARY_SETTING}, +}; + +struct csiphy_reg_t datarate_220_2p1Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x26, 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, 0x26, 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, 0x26, 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}, +}; + +struct csiphy_reg_t datarate_220_2p35Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x23, 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, 0x23, 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, 0x23, 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}, +}; + +struct csiphy_reg_t datarate_220_2p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x22, 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, 0x22, 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, 0x22, 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}, +}; + +struct csiphy_reg_t datarate_220_2p6Gsps[] = { + /* 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, 0x22, 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, 0x22, 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, 0x22, 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}, +}; + +struct csiphy_reg_t datarate_220_2p8Gsps[] = { + /* 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}, +}; + +struct csiphy_reg_t datarate_220_3p0Gsps[] = { + /* 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, 0x20, 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, 0x20, 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, 0x20, 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}, +}; + +struct csiphy_reg_t datarate_220_3p3Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x10, 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, 0x10, 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, 0x10, 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, 0x1E, 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, 0x1E, 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, 0x1E, 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}, +}; + +struct csiphy_reg_t datarate_220_3p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x0A, 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, 0x0A, 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, 0x0A, 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, 0x1E, 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, 0x1E, 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, 0x1E, 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}, +}; + +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, 0x0C, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {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, 0x0C, 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}, + {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, 0x0C, 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}, + {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, 0x1C, 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, 0x1C, 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, 0x1C, 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}, +}; + +struct csiphy_reg_t datarate_220_4p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x06, 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, 0x06, 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, 0x06, 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, 0x1B, 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, 0x1B, 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, 0x1B, 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}, +}; + +struct csiphy_reg_t datarate_220_5p0Gsps[] = { + /* AFE Settings */ + {0x0268, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0278, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x026C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0270, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0274, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0678, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0670, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0674, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A78, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x00, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x1A, 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, 0x1A, 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, 0x1A, 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}, +}; + +struct csiphy_reg_t datarate_220_5p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0278, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x026C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0270, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0274, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0678, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0670, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0674, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A78, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x00, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x19, 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, 0x19, 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, 0x19, 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}, +}; + +struct csiphy_reg_t datarate_220_6p0Gsps[] = { + /* AFE Settings */ + {0x0268, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0278, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x026C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0270, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0274, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0678, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0670, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0674, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A78, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x00, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x19, 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, 0x19, 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, 0x19, 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}, +}; + +static struct data_rate_reg_info_t data_rate_settings_2_2_0[] = { + { + /* ((80 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 182400000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_80Msps), + .data_rate_reg_array[0][0] = datarate_220_80Msps, + .data_rate_reg_array[1][0] = datarate_220_80Msps, + .data_rate_reg_array[2][0] = datarate_220_80Msps, + .data_rate_reg_array[3][0] = datarate_220_80Msps, + .data_rate_reg_array[4][0] = datarate_220_80Msps, + .data_rate_reg_array[5][0] = datarate_220_80Msps, + .data_rate_reg_array[6][0] = datarate_220_80Msps, + .data_rate_reg_array[7][0] = datarate_220_80Msps, + }, + { + /* ((100 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 228000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_100Msps), + .data_rate_reg_array[0][0] = datarate_220_100Msps, + .data_rate_reg_array[1][0] = datarate_220_100Msps, + .data_rate_reg_array[2][0] = datarate_220_100Msps, + .data_rate_reg_array[3][0] = datarate_220_100Msps, + .data_rate_reg_array[4][0] = datarate_220_100Msps, + .data_rate_reg_array[5][0] = datarate_220_100Msps, + .data_rate_reg_array[6][0] = datarate_220_100Msps, + .data_rate_reg_array[7][0] = datarate_220_100Msps, + }, + { + /* ((200 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 456000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_200Msps), + .data_rate_reg_array[0][0] = datarate_220_200Msps, + .data_rate_reg_array[1][0] = datarate_220_200Msps, + .data_rate_reg_array[2][0] = datarate_220_200Msps, + .data_rate_reg_array[3][0] = datarate_220_200Msps, + .data_rate_reg_array[4][0] = datarate_220_200Msps, + .data_rate_reg_array[5][0] = datarate_220_200Msps, + .data_rate_reg_array[6][0] = datarate_220_200Msps, + .data_rate_reg_array[7][0] = datarate_220_200Msps, + }, + { + /* ((300 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 684000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_300Msps), + .data_rate_reg_array[0][0] = datarate_220_300Msps, + .data_rate_reg_array[1][0] = datarate_220_300Msps, + .data_rate_reg_array[2][0] = datarate_220_300Msps, + .data_rate_reg_array[3][0] = datarate_220_300Msps, + .data_rate_reg_array[4][0] = datarate_220_300Msps, + .data_rate_reg_array[5][0] = datarate_220_300Msps, + .data_rate_reg_array[6][0] = datarate_220_300Msps, + .data_rate_reg_array[7][0] = datarate_220_300Msps, + }, + { + /* ((350 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 798000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_350Msps), + .data_rate_reg_array[0][0] = datarate_220_350Msps, + .data_rate_reg_array[1][0] = datarate_220_350Msps, + .data_rate_reg_array[2][0] = datarate_220_350Msps, + .data_rate_reg_array[3][0] = datarate_220_350Msps, + .data_rate_reg_array[4][0] = datarate_220_350Msps, + .data_rate_reg_array[5][0] = datarate_220_350Msps, + .data_rate_reg_array[6][0] = datarate_220_350Msps, + .data_rate_reg_array[7][0] = datarate_220_350Msps, + }, + { + /* ((400 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 912000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_400Msps), + .data_rate_reg_array[0][0] = datarate_220_400Msps, + .data_rate_reg_array[1][0] = datarate_220_400Msps, + .data_rate_reg_array[2][0] = datarate_220_400Msps, + .data_rate_reg_array[3][0] = datarate_220_400Msps, + .data_rate_reg_array[4][0] = datarate_220_400Msps, + .data_rate_reg_array[5][0] = datarate_220_400Msps, + .data_rate_reg_array[6][0] = datarate_220_400Msps, + .data_rate_reg_array[7][0] = datarate_220_400Msps, + }, + { + /* ((500 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1140000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_500Msps), + .data_rate_reg_array[0][0] = datarate_220_500Msps, + .data_rate_reg_array[1][0] = datarate_220_500Msps, + .data_rate_reg_array[2][0] = datarate_220_500Msps, + .data_rate_reg_array[3][0] = datarate_220_500Msps, + .data_rate_reg_array[4][0] = datarate_220_500Msps, + .data_rate_reg_array[5][0] = datarate_220_500Msps, + .data_rate_reg_array[6][0] = datarate_220_500Msps, + .data_rate_reg_array[7][0] = datarate_220_500Msps, + }, + { + /* ((600 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1368000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_600Msps), + .data_rate_reg_array[0][0] = datarate_220_600Msps, + .data_rate_reg_array[1][0] = datarate_220_600Msps, + .data_rate_reg_array[2][0] = datarate_220_600Msps, + .data_rate_reg_array[3][0] = datarate_220_600Msps, + .data_rate_reg_array[4][0] = datarate_220_600Msps, + .data_rate_reg_array[5][0] = datarate_220_600Msps, + .data_rate_reg_array[6][0] = datarate_220_600Msps, + .data_rate_reg_array[7][0] = datarate_220_600Msps, + }, + { + /* ((700 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1596000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_700Msps), + .data_rate_reg_array[0][0] = datarate_220_700Msps, + .data_rate_reg_array[1][0] = datarate_220_700Msps, + .data_rate_reg_array[2][0] = datarate_220_700Msps, + .data_rate_reg_array[3][0] = datarate_220_700Msps, + .data_rate_reg_array[4][0] = datarate_220_700Msps, + .data_rate_reg_array[5][0] = datarate_220_700Msps, + .data_rate_reg_array[6][0] = datarate_220_700Msps, + .data_rate_reg_array[7][0] = datarate_220_700Msps, + }, + { + /* ((800 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1824000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_800Msps), + .data_rate_reg_array[0][0] = datarate_220_800Msps, + .data_rate_reg_array[1][0] = datarate_220_800Msps, + .data_rate_reg_array[2][0] = datarate_220_800Msps, + .data_rate_reg_array[3][0] = datarate_220_800Msps, + .data_rate_reg_array[4][0] = datarate_220_800Msps, + .data_rate_reg_array[5][0] = datarate_220_800Msps, + .data_rate_reg_array[6][0] = datarate_220_800Msps, + .data_rate_reg_array[7][0] = datarate_220_800Msps, + }, + { + /* ((900 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 2052000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_900Msps), + .data_rate_reg_array[0][0] = datarate_220_900Msps, + .data_rate_reg_array[1][0] = datarate_220_900Msps, + .data_rate_reg_array[2][0] = datarate_220_900Msps, + .data_rate_reg_array[3][0] = datarate_220_900Msps, + .data_rate_reg_array[4][0] = datarate_220_900Msps, + .data_rate_reg_array[5][0] = datarate_220_900Msps, + .data_rate_reg_array[6][0] = datarate_220_900Msps, + .data_rate_reg_array[7][0] = datarate_220_900Msps, + }, + { + /* ((1000 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 2280000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p0Gsps, + }, + { + /* ((1.2 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 2736000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p2Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p2Gsps, + }, + { + /* ((1.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 3420000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p5Gsps, + }, + { + /* ((1.7 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 3876000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p7Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p7Gsps, + }, + { + /* ((2.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 4560000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p0Gsps, + .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[6][0] = datarate_220_2p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p0Gsps, + }, + { + /* ((2.1 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 4788000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p1Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p1Gsps, + }, + { + /* ((2.35 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 5358000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p35Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p35Gsps, + }, + { + /* ((2.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 5700000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p5Gsps, + }, + { + /* ((2.6 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 5928000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p6Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p6Gsps, + }, + { + /* ((2.8 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 6384000000, + .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[3][0] = datarate_220_2p8Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p8Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p8Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p8Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p8Gsps, + }, + { + /* ((3.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 6840000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_3p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_3p0Gsps, + }, + { + /* ((3.3 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 7524000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_3p3Gsps), + .data_rate_reg_array[0][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[1][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[2][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[3][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[4][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[5][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[6][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[7][0] = datarate_220_3p3Gsps, + }, + { + /* ((3.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 7980000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_3p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_3p5Gsps, + }, + { + /* ((4.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 9120000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_4p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_4p0Gsps, + }, + { + /* ((4.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 10260000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_4p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_4p5Gsps, + }, + { + /* ((5.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 11400000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_5p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_5p0Gsps, + }, + { + /* ((5.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 12540000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_5p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_5p5Gsps, + }, + { + /* ((6.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 13680000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_6p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_6p0Gsps, + }, +}; + +struct csiphy_reg_t bist_3ph_arr_2_2_0[] = { + {0x0230, 0x1C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0234, 0xFA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0238, 0xD4, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x023C, 0x59, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0258, 0x10, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02C8, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02D0, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02D4, 0x64, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02D8, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0248, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x024C, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0250, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0244, 0xB1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x025C, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0240, 0x85, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0630, 0x1C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0634, 0xFA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0638, 0xD4, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x063C, 0x59, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0658, 0x10, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06C8, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06D0, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06D4, 0x64, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06D8, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0648, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x064C, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0650, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0644, 0xB1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x065C, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0640, 0x85, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A30, 0x1C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A34, 0xFA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A38, 0xD4, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A3C, 0x59, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A58, 0x10, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AC8, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AD0, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AD4, 0x64, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AD8, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A48, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A4C, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A50, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A44, 0xB1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A5C, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A40, 0x85, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t bist_status_arr_2_2_0[] = { + {0x0344, 0x00, 0x00, CSIPHY_3PH_REGS}, + {0x0744, 0x00, 0x00, CSIPHY_3PH_REGS}, + {0x0B44, 0x00, 0x00, CSIPHY_3PH_REGS}, + {0x00C0, 0x00, 0x00, CSIPHY_2PH_REGS}, + {0x04C0, 0x00, 0x00, CSIPHY_2PH_REGS}, + {0x08C0, 0x00, 0x00, CSIPHY_2PH_REGS}, + {0x0CC0, 0x00, 0x00, CSIPHY_2PH_REGS}, +}; + +struct bist_reg_settings_t bist_setting_2_2_0 = { + .error_status_val_3ph = 0x10, + .error_status_val_2ph = 0x10, + .set_status_update_3ph_base_offset = 0x0240, + .set_status_update_2ph_base_offset = 0x0050, + .bist_status_3ph_base_offset = 0x0344, + .bist_status_2ph_base_offset = 0x00C0, + .bist_sensor_data_3ph_status_base_offset = 0x0340, + .bist_counter_3ph_base_offset = 0x0348, + .bist_counter_2ph_base_offset = 0x00C8, + .number_of_counters = 2, + .num_3ph_bist_settings = ARRAY_SIZE(bist_3ph_arr_2_2_0), + .bist_3ph_settings_arry = bist_3ph_arr_2_2_0, + .bist_2ph_settings_arry = NULL, + .num_2ph_bist_settings = 0, + .num_status_reg = ARRAY_SIZE(bist_status_arr_2_2_0), + .bist_status_arr = bist_status_arr_2_2_0, +}; + +struct data_rate_settings_t data_rate_delta_table_2_2_0 = { + .num_data_rate_settings = ARRAY_SIZE(data_rate_settings_2_2_0), + .data_rate_settings = data_rate_settings_2_2_0, +}; + +struct csiphy_reg_parms_t csiphy_v2_2_0 = { + .mipi_csiphy_interrupt_status0_addr = 0x10B0, + .mipi_csiphy_interrupt_clear0_addr = 0x1058, + .mipi_csiphy_glbl_irq_cmd_addr = 0x1028, + .size_offset_betn_lanes = 0x400, + .status_reg_params = &status_regs_2_2_0, + .csiphy_common_reg_array_size = ARRAY_SIZE(csiphy_common_reg_2_2_0), + .csiphy_reset_enter_array_size = ARRAY_SIZE(csiphy_reset_enter_reg_2_2_0), + .csiphy_reset_exit_array_size = ARRAY_SIZE(csiphy_reset_exit_reg_2_2_0), + .csiphy_2ph_config_array_size = ARRAY_SIZE(csiphy_2ph_v2_2_0_reg), + .csiphy_3ph_config_array_size = ARRAY_SIZE(csiphy_3ph_v2_2_0_reg), + .csiphy_2ph_combo_config_array_size = ARRAY_SIZE(csiphy_2ph_v2_2_0_combo_mode_reg), + .csiphy_3ph_combo_config_array_size = 0, + .csiphy_2ph_3ph_config_array_size = 0, + .csiphy_interrupt_status_size = ARRAY_SIZE(csiphy_irq_reg_2_2_0), + .csiphy_num_common_status_regs = 20, + .aon_sel_params = &aon_cam_select_params_2_2_0, +}; + +struct csiphy_ctrl_t ctrl_reg_2_2_0 = { + .csiphy_common_reg = csiphy_common_reg_2_2_0, + .csiphy_2ph_reg = csiphy_2ph_v2_2_0_reg, + .csiphy_3ph_reg = csiphy_3ph_v2_2_0_reg, + .csiphy_2ph_combo_mode_reg = csiphy_2ph_v2_2_0_combo_mode_reg, + .csiphy_3ph_combo_reg = NULL, + .csiphy_2ph_3ph_mode_reg = NULL, + .csiphy_reg = &csiphy_v2_2_0, + .csiphy_irq_reg = csiphy_irq_reg_2_2_0, + .csiphy_reset_enter_regs = csiphy_reset_enter_reg_2_2_0, + .csiphy_reset_exit_regs = csiphy_reset_exit_reg_2_2_0, + .csiphy_lane_config_reg = csiphy_lane_en_reg_2_2_0, + .data_rates_settings_table = &data_rate_delta_table_2_2_0, + .csiphy_bist_reg = &bist_setting_2_2_0, + .getclockvoting = get_clk_voting_dynamic, +}; + +#endif /* _CAM_CSIPHY_2_2_0_HWREG_H_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_e3.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_e3.h new file mode 100644 index 0000000000..11aced6b63 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_e3.h @@ -0,0 +1,2336 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * Copyright (c) 2021-2023, Qualcomm Innovation Center, Inc. All rights reserved. + */ + +#ifndef _CAM_CSIPHY_2_2_0_HWREG_H_ +#define _CAM_CSIPHY_2_2_0_HWREG_H_ + +#include "../cam_csiphy_dev.h" + +struct cam_csiphy_aon_sel_params_t aon_cam_select_params_2_2_0 = { + .aon_cam_sel_offset[0] = 0x01E0, + .aon_cam_sel_offset[1] = 0x01E4, + .cam_sel_mask = BIT(0), + .mclk_sel_mask = BIT(8), +}; + +struct cam_cphy_dphy_status_reg_params_t status_regs_2_2_0 = { + .csiphy_3ph_status0_offset = 0x0340, + .csiphy_2ph_status0_offset = 0x00C0, + .cphy_lane_status = {0x0358, 0x0758, 0x0B58}, + .csiphy_3ph_status_size = 24, + .csiphy_2ph_status_size = 20, +}; + +struct csiphy_reg_t csiphy_lane_en_reg_2_2_0[] = { + {0x1014, 0x00, 0x00, CSIPHY_LANE_ENABLE}, +}; + +struct csiphy_reg_t csiphy_common_reg_2_2_0[] = { + {0x1084, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x108C, 0x00, 0x01, CSIPHY_DEFAULT_PARAMS}, + {0x101C, 0x7A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1018, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t csiphy_reset_enter_reg_2_2_0[] = { + {0x1000, 0x01, 0x01, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t csiphy_reset_exit_reg_2_2_0[] = { + {0x1000, 0x02, 0x00, CSIPHY_2PH_REGS}, + {0x1000, 0x00, 0x00, CSIPHY_2PH_COMBO_REGS}, + {0x1000, 0x0E, 0xBE8, CSIPHY_3PH_REGS}, +}; + +struct csiphy_reg_t csiphy_irq_reg_2_2_0[] = { + {0x102c, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1030, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1034, 0xfb, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1038, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x103c, 0x7f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1040, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1044, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1048, 0xef, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x104c, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1050, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1054, 0xff, 0x64, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t csiphy_2ph_v2_2_0_reg[] = { + {0x0E94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0EA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x00A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0090, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0098, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x04A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0490, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0498, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x08A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0890, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0898, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0CA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0E30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E28, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E00, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E0C, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E38, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E14, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E04, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0E10, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0030, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0000, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0038, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x002C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0034, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x001C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0014, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x003C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0004, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0020, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0008, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0010, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0430, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0400, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0438, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x042C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0434, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x041C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0414, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x043C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0404, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0420, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0408, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0410, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0830, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0800, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0838, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x082C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0834, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x081C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0814, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x083C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0804, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0820, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0808, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0810, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C00, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C38, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C14, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C04, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0C10, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x005C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0060, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0064, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0494, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x045C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0460, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0464, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0894, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x085C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0860, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0864, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0C94, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x0C5C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0C60, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0C64, 0x7F, 0x00, CSIPHY_SKEW_CAL}, +}; + +struct csiphy_reg_t csiphy_2ph_v2_2_0_combo_mode_reg[] = { + {0x0E94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0EA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x00A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0090, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0098, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x04A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0490, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0498, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x08A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0890, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0898, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0CA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0E30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E28, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E00, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E0C, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E38, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E14, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E04, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0E10, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0030, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0000, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0038, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x002C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0034, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x001C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0014, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x003C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0004, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0020, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0008, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0010, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0430, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0400, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0438, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x042C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0434, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x041C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0414, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x043C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0404, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0420, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0408, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0410, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0830, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0800, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0838, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0828, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x082C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0834, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x081C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0814, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x083C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0804, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0820, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0808, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0810, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C28, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C00, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C0C, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C38, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C28, 0x0E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C14, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C04, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0C10, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x005C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0060, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0064, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0494, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x045C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0460, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0464, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0894, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x085C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0860, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0864, 0x7F, 0x00, CSIPHY_SKEW_CAL}, +}; + +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}, + {0x0AF0, 0xEF, 0xD3, CSIPHY_DEFAULT_PARAMS}, + {0x0204, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02E4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02E8, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02EC, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0218, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x021C, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0220, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0224, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0228, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x022C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0264, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0244, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0310, 0x35, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02BC, 0xD0, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0254, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0240, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0260, 0xA8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0284, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0290, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0604, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06E4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06E8, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06EC, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0618, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x061C, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0620, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0624, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0628, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x062C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0664, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0644, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0710, 0x35, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06BC, 0xD0, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0654, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0640, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0660, 0xA8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0684, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0690, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A04, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AE4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AE8, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AEC, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A18, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A1C, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A20, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A24, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A28, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A2C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A64, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A44, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0B10, 0x35, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0ABC, 0xD0, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A54, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A40, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A60, 0xA8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A84, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A90, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_80Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x1F, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x02, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x1F, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x02, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x1F, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x02, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_100Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0xB6, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x01, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0xB6, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x01, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0xB6, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x01, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_200Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0xE4, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0xE4, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0xE4, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_300Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x9E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x9E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x9E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_350Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x8A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x8A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x8A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_400Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x7B, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x7B, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x7B, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_500Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x66, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x66, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x66, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_600Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x58, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x58, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x58, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_700Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x4E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x4E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x4E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_800Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x46, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x46, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x46, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_900Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x40, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x40, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x40, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_1p0Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x3C, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x3C, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x3C, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_1p2Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x45, 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, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_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, 0x1D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_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, 0x1D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x35, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x35, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x35, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {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[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {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, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x30, 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, 0x45, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x45, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x2E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x2E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x2E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_1p7Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x2E, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x2E, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x2E, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x2A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x2A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x2A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +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}, + {0x0278, 0x2E, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x2E, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x2E, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 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[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x26, 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, 0x26, 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, 0x26, 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}, +}; + +struct csiphy_reg_t datarate_220_2p35Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x23, 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, 0x23, 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, 0x23, 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}, +}; + +struct csiphy_reg_t datarate_220_2p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x22, 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, 0x22, 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, 0x22, 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}, +}; + +struct csiphy_reg_t datarate_220_2p6Gsps[] = { + /* 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, 0x22, 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, 0x22, 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, 0x22, 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}, +}; + +struct csiphy_reg_t datarate_220_2p8Gsps[] = { + /* 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, 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[] = { + /* 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, 0x20, 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, 0x20, 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, 0x20, 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}, +}; + +struct csiphy_reg_t datarate_220_3p3Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x10, 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, 0x10, 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, 0x10, 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, 0x1E, 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, 0x1E, 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, 0x1E, 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}, +}; + +struct csiphy_reg_t datarate_220_3p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x10, 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, 0x10, 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, 0x10, 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, 0x1E, 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, 0x1E, 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, 0x1E, 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}, +}; + +struct csiphy_reg_t datarate_220_4p0Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_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}, + {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, 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}, + {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, 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}, + {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, 0x1C, 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, 0x1C, 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, 0x1C, 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}, +}; + +struct csiphy_reg_t datarate_220_4p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x06, 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, 0x06, 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, 0x06, 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, 0x1B, 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, 0x1B, 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, 0x1B, 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}, +}; + +struct csiphy_reg_t datarate_220_5p0Gsps[] = { + /* AFE Settings */ + {0x0268, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0278, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x026C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0270, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0274, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0678, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0670, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0674, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A78, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x00, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x1A, 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, 0x1A, 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, 0x1A, 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}, +}; + +struct csiphy_reg_t datarate_220_5p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0278, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x026C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0270, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0274, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0678, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0670, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0674, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A78, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x00, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x19, 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, 0x19, 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, 0x19, 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}, +}; + +struct csiphy_reg_t datarate_220_6p0Gsps[] = { + /* AFE Settings */ + {0x0268, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0278, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x026C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0270, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0274, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0678, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0670, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0674, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A78, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x00, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x19, 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, 0x19, 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, 0x19, 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}, +}; + +static struct data_rate_reg_info_t data_rate_settings_2_2_0[] = { + { + /* ((80 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 182400000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_80Msps), + .data_rate_reg_array[0][0] = datarate_220_80Msps, + .data_rate_reg_array[1][0] = datarate_220_80Msps, + .data_rate_reg_array[2][0] = datarate_220_80Msps, + .data_rate_reg_array[3][0] = datarate_220_80Msps, + .data_rate_reg_array[4][0] = datarate_220_80Msps, + .data_rate_reg_array[5][0] = datarate_220_80Msps, + .data_rate_reg_array[6][0] = datarate_220_80Msps, + .data_rate_reg_array[7][0] = datarate_220_80Msps, + }, + { + /* ((100 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 228000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_100Msps), + .data_rate_reg_array[0][0] = datarate_220_100Msps, + .data_rate_reg_array[1][0] = datarate_220_100Msps, + .data_rate_reg_array[2][0] = datarate_220_100Msps, + .data_rate_reg_array[3][0] = datarate_220_100Msps, + .data_rate_reg_array[4][0] = datarate_220_100Msps, + .data_rate_reg_array[5][0] = datarate_220_100Msps, + .data_rate_reg_array[6][0] = datarate_220_100Msps, + .data_rate_reg_array[7][0] = datarate_220_100Msps, + }, + { + /* ((200 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 456000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_200Msps), + .data_rate_reg_array[0][0] = datarate_220_200Msps, + .data_rate_reg_array[1][0] = datarate_220_200Msps, + .data_rate_reg_array[2][0] = datarate_220_200Msps, + .data_rate_reg_array[3][0] = datarate_220_200Msps, + .data_rate_reg_array[4][0] = datarate_220_200Msps, + .data_rate_reg_array[5][0] = datarate_220_200Msps, + .data_rate_reg_array[6][0] = datarate_220_200Msps, + .data_rate_reg_array[7][0] = datarate_220_200Msps, + }, + { + /* ((300 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 684000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_300Msps), + .data_rate_reg_array[0][0] = datarate_220_300Msps, + .data_rate_reg_array[1][0] = datarate_220_300Msps, + .data_rate_reg_array[2][0] = datarate_220_300Msps, + .data_rate_reg_array[3][0] = datarate_220_300Msps, + .data_rate_reg_array[4][0] = datarate_220_300Msps, + .data_rate_reg_array[5][0] = datarate_220_300Msps, + .data_rate_reg_array[6][0] = datarate_220_300Msps, + .data_rate_reg_array[7][0] = datarate_220_300Msps, + }, + { + /* ((350 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 798000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_350Msps), + .data_rate_reg_array[0][0] = datarate_220_350Msps, + .data_rate_reg_array[1][0] = datarate_220_350Msps, + .data_rate_reg_array[2][0] = datarate_220_350Msps, + .data_rate_reg_array[3][0] = datarate_220_350Msps, + .data_rate_reg_array[4][0] = datarate_220_350Msps, + .data_rate_reg_array[5][0] = datarate_220_350Msps, + .data_rate_reg_array[6][0] = datarate_220_350Msps, + .data_rate_reg_array[7][0] = datarate_220_350Msps, + }, + { + /* ((400 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 912000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_400Msps), + .data_rate_reg_array[0][0] = datarate_220_400Msps, + .data_rate_reg_array[1][0] = datarate_220_400Msps, + .data_rate_reg_array[2][0] = datarate_220_400Msps, + .data_rate_reg_array[3][0] = datarate_220_400Msps, + .data_rate_reg_array[4][0] = datarate_220_400Msps, + .data_rate_reg_array[5][0] = datarate_220_400Msps, + .data_rate_reg_array[6][0] = datarate_220_400Msps, + .data_rate_reg_array[7][0] = datarate_220_400Msps, + }, + { + /* ((500 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1140000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_500Msps), + .data_rate_reg_array[0][0] = datarate_220_500Msps, + .data_rate_reg_array[1][0] = datarate_220_500Msps, + .data_rate_reg_array[2][0] = datarate_220_500Msps, + .data_rate_reg_array[3][0] = datarate_220_500Msps, + .data_rate_reg_array[4][0] = datarate_220_500Msps, + .data_rate_reg_array[5][0] = datarate_220_500Msps, + .data_rate_reg_array[6][0] = datarate_220_500Msps, + .data_rate_reg_array[7][0] = datarate_220_500Msps, + }, + { + /* ((600 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1368000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_600Msps), + .data_rate_reg_array[0][0] = datarate_220_600Msps, + .data_rate_reg_array[1][0] = datarate_220_600Msps, + .data_rate_reg_array[2][0] = datarate_220_600Msps, + .data_rate_reg_array[3][0] = datarate_220_600Msps, + .data_rate_reg_array[4][0] = datarate_220_600Msps, + .data_rate_reg_array[5][0] = datarate_220_600Msps, + .data_rate_reg_array[6][0] = datarate_220_600Msps, + .data_rate_reg_array[7][0] = datarate_220_600Msps, + }, + { + /* ((700 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1596000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_700Msps), + .data_rate_reg_array[0][0] = datarate_220_700Msps, + .data_rate_reg_array[1][0] = datarate_220_700Msps, + .data_rate_reg_array[2][0] = datarate_220_700Msps, + .data_rate_reg_array[3][0] = datarate_220_700Msps, + .data_rate_reg_array[4][0] = datarate_220_700Msps, + .data_rate_reg_array[5][0] = datarate_220_700Msps, + .data_rate_reg_array[6][0] = datarate_220_700Msps, + .data_rate_reg_array[7][0] = datarate_220_700Msps, + }, + { + /* ((800 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1824000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_800Msps), + .data_rate_reg_array[0][0] = datarate_220_800Msps, + .data_rate_reg_array[1][0] = datarate_220_800Msps, + .data_rate_reg_array[2][0] = datarate_220_800Msps, + .data_rate_reg_array[3][0] = datarate_220_800Msps, + .data_rate_reg_array[4][0] = datarate_220_800Msps, + .data_rate_reg_array[5][0] = datarate_220_800Msps, + .data_rate_reg_array[6][0] = datarate_220_800Msps, + .data_rate_reg_array[7][0] = datarate_220_800Msps, + }, + { + /* ((900 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 2052000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_900Msps), + .data_rate_reg_array[0][0] = datarate_220_900Msps, + .data_rate_reg_array[1][0] = datarate_220_900Msps, + .data_rate_reg_array[2][0] = datarate_220_900Msps, + .data_rate_reg_array[3][0] = datarate_220_900Msps, + .data_rate_reg_array[4][0] = datarate_220_900Msps, + .data_rate_reg_array[5][0] = datarate_220_900Msps, + .data_rate_reg_array[6][0] = datarate_220_900Msps, + .data_rate_reg_array[7][0] = datarate_220_900Msps, + }, + { + /* ((1000 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 2280000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p0Gsps, + }, + { + /* ((1.2 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 2736000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p2Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p2Gsps, + }, + { + /* ((1.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 3420000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p5Gsps, + }, + { + /* ((1.7 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 3876000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p7Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p7Gsps, + }, + { + /* ((2.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 4560000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p0Gsps, + .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_wide, + .data_rate_reg_array[6][0] = datarate_220_2p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p0Gsps, + }, + { + /* ((2.1 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 4788000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p1Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p1Gsps, + }, + { + /* ((2.35 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 5358000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p35Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p35Gsps, + }, + { + /* ((2.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 5700000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p5Gsps, + }, + { + /* ((2.6 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 5928000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p6Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p6Gsps, + }, + { + /* ((2.8 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 6384000000, + .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_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, + .data_rate_reg_array[6][0] = datarate_220_2p8Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p8Gsps, + }, + { + /* ((3.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 6840000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_3p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_3p0Gsps, + }, + { + /* ((3.3 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 7524000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_3p3Gsps), + .data_rate_reg_array[0][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[1][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[2][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[3][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[4][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[5][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[6][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[7][0] = datarate_220_3p3Gsps, + }, + { + /* ((3.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 7980000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_3p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_3p5Gsps, + }, + { + /* ((4.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 9120000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_4p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_4p0Gsps, + }, + { + /* ((4.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 10260000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_4p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_4p5Gsps, + }, + { + /* ((5.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 11400000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_5p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_5p0Gsps, + }, + { + /* ((5.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 12540000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_5p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_5p5Gsps, + }, + { + /* ((6.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 13680000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_6p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_6p0Gsps, + }, +}; + +struct csiphy_reg_t bist_3ph_arr_2_2_0[] = { + {0x0230, 0x1C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0234, 0xFA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0238, 0xD4, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x023C, 0x59, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0258, 0x10, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02C8, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02D0, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02D4, 0x64, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02D8, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0248, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x024C, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0250, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0244, 0xB1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x025C, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0240, 0x85, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0630, 0x1C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0634, 0xFA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0638, 0xD4, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x063C, 0x59, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0658, 0x10, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06C8, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06D0, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06D4, 0x64, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06D8, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0648, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x064C, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0650, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0644, 0xB1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x065C, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0640, 0x85, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A30, 0x1C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A34, 0xFA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A38, 0xD4, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A3C, 0x59, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A58, 0x10, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AC8, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AD0, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AD4, 0x64, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AD8, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A48, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A4C, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A50, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A44, 0xB1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A5C, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A40, 0x85, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t bist_status_arr_2_2_0[] = { + {0x0344, 0x00, 0x00, CSIPHY_3PH_REGS}, + {0x0744, 0x00, 0x00, CSIPHY_3PH_REGS}, + {0x0B44, 0x00, 0x00, CSIPHY_3PH_REGS}, + {0x00C0, 0x00, 0x00, CSIPHY_2PH_REGS}, + {0x04C0, 0x00, 0x00, CSIPHY_2PH_REGS}, + {0x08C0, 0x00, 0x00, CSIPHY_2PH_REGS}, + {0x0CC0, 0x00, 0x00, CSIPHY_2PH_REGS}, +}; + +struct bist_reg_settings_t bist_setting_2_2_0 = { + .error_status_val_3ph = 0x10, + .error_status_val_2ph = 0x10, + .set_status_update_3ph_base_offset = 0x0240, + .set_status_update_2ph_base_offset = 0x0050, + .bist_status_3ph_base_offset = 0x0344, + .bist_status_2ph_base_offset = 0x00C0, + .bist_sensor_data_3ph_status_base_offset = 0x0340, + .bist_counter_3ph_base_offset = 0x0348, + .bist_counter_2ph_base_offset = 0x00C8, + .number_of_counters = 2, + .num_3ph_bist_settings = ARRAY_SIZE(bist_3ph_arr_2_2_0), + .bist_3ph_settings_arry = bist_3ph_arr_2_2_0, + .bist_2ph_settings_arry = NULL, + .num_2ph_bist_settings = 0, + .num_status_reg = ARRAY_SIZE(bist_status_arr_2_2_0), + .bist_status_arr = bist_status_arr_2_2_0, +}; + +struct data_rate_settings_t data_rate_delta_table_2_2_0 = { + .num_data_rate_settings = ARRAY_SIZE(data_rate_settings_2_2_0), + .data_rate_settings = data_rate_settings_2_2_0, +}; + +struct csiphy_reg_parms_t csiphy_v2_2_0 = { + .mipi_csiphy_interrupt_status0_addr = 0x10B0, + .mipi_csiphy_interrupt_clear0_addr = 0x1058, + .mipi_csiphy_glbl_irq_cmd_addr = 0x1028, + .size_offset_betn_lanes = 0x400, + .status_reg_params = &status_regs_2_2_0, + .csiphy_common_reg_array_size = ARRAY_SIZE(csiphy_common_reg_2_2_0), + .csiphy_reset_enter_array_size = ARRAY_SIZE(csiphy_reset_enter_reg_2_2_0), + .csiphy_reset_exit_array_size = ARRAY_SIZE(csiphy_reset_exit_reg_2_2_0), + .csiphy_2ph_config_array_size = ARRAY_SIZE(csiphy_2ph_v2_2_0_reg), + .csiphy_3ph_config_array_size = ARRAY_SIZE(csiphy_3ph_v2_2_0_reg), + .csiphy_2ph_combo_config_array_size = ARRAY_SIZE(csiphy_2ph_v2_2_0_combo_mode_reg), + .csiphy_3ph_combo_config_array_size = 0, + .csiphy_2ph_3ph_config_array_size = 0, + .csiphy_interrupt_status_size = ARRAY_SIZE(csiphy_irq_reg_2_2_0), + .csiphy_num_common_status_regs = 20, + .aon_sel_params = &aon_cam_select_params_2_2_0, +}; + +struct csiphy_ctrl_t ctrl_reg_2_2_0 = { + .csiphy_common_reg = csiphy_common_reg_2_2_0, + .csiphy_2ph_reg = csiphy_2ph_v2_2_0_reg, + .csiphy_3ph_reg = csiphy_3ph_v2_2_0_reg, + .csiphy_2ph_combo_mode_reg = csiphy_2ph_v2_2_0_combo_mode_reg, + .csiphy_3ph_combo_reg = NULL, + .csiphy_2ph_3ph_mode_reg = NULL, + .csiphy_reg = &csiphy_v2_2_0, + .csiphy_irq_reg = csiphy_irq_reg_2_2_0, + .csiphy_reset_enter_regs = csiphy_reset_enter_reg_2_2_0, + .csiphy_reset_exit_regs = csiphy_reset_exit_reg_2_2_0, + .csiphy_lane_config_reg = csiphy_lane_en_reg_2_2_0, + .data_rates_settings_table = &data_rate_delta_table_2_2_0, + .csiphy_bist_reg = &bist_setting_2_2_0, + .getclockvoting = get_clk_voting_dynamic, +}; + +#endif /* _CAM_CSIPHY_2_2_0_HWREG_H_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_gts10.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_gts10.h new file mode 100644 index 0000000000..74c6e1090d --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_gts10.h @@ -0,0 +1,2227 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * Copyright (c) 2021-2023, Qualcomm Innovation Center, Inc. All rights reserved. + */ + +#ifndef _CAM_CSIPHY_2_2_0_HWREG_H_ +#define _CAM_CSIPHY_2_2_0_HWREG_H_ + +#include "../cam_csiphy_dev.h" + +struct cam_csiphy_aon_sel_params_t aon_cam_select_params_2_2_0 = { + .aon_cam_sel_offset[0] = 0x01E0, + .aon_cam_sel_offset[1] = 0x01E4, + .cam_sel_mask = BIT(0), + .mclk_sel_mask = BIT(8), +}; + +struct cam_cphy_dphy_status_reg_params_t status_regs_2_2_0 = { + .csiphy_3ph_status0_offset = 0x0340, + .csiphy_2ph_status0_offset = 0x00C0, + .cphy_lane_status = {0x0358, 0x0758, 0x0B58}, + .csiphy_3ph_status_size = 24, + .csiphy_2ph_status_size = 20, +}; + +struct csiphy_reg_t csiphy_lane_en_reg_2_2_0[] = { + {0x1014, 0x00, 0x00, CSIPHY_LANE_ENABLE}, +}; + +struct csiphy_reg_t csiphy_common_reg_2_2_0[] = { + {0x1084, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x108C, 0x00, 0x01, CSIPHY_DEFAULT_PARAMS}, + {0x101C, 0x7A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1018, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t csiphy_reset_enter_reg_2_2_0[] = { + {0x1000, 0x01, 0x01, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t csiphy_reset_exit_reg_2_2_0[] = { + {0x1000, 0x02, 0x00, CSIPHY_2PH_REGS}, + {0x1000, 0x00, 0x00, CSIPHY_2PH_COMBO_REGS}, + {0x1000, 0x0E, 0xBE8, CSIPHY_3PH_REGS}, +}; + +struct csiphy_reg_t csiphy_irq_reg_2_2_0[] = { + {0x102c, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1030, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1034, 0xfb, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1038, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x103c, 0x7f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1040, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1044, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1048, 0xef, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x104c, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1050, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1054, 0xff, 0x64, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t csiphy_2ph_v2_2_0_reg[] = { + {0x0E94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0EA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x00A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0090, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0098, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x04A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0490, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0498, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x08A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0890, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0898, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0CA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0E30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E28, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E00, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E0C, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E38, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E14, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E04, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0E10, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0030, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0000, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0038, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x002C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0034, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x001C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0014, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x003C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0004, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0020, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0008, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0010, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0430, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0400, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0438, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x042C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0434, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x041C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0414, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x043C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0404, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0420, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0408, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0410, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0830, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0800, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0838, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x082C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0834, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x081C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0814, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x083C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0804, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0820, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0808, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0810, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C00, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C38, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C14, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C04, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0C10, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x005C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0060, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0064, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0494, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x045C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0460, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0464, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0894, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x085C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0860, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0864, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0C94, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x0C5C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0C60, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0C64, 0x7F, 0x00, CSIPHY_SKEW_CAL}, +}; + +struct csiphy_reg_t csiphy_2ph_v2_2_0_combo_mode_reg[] = { + {0x0E94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0EA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x00A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0090, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0098, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x04A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0490, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0498, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x08A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0890, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0898, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0CA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0E30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E28, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E00, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E0C, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E38, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E14, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E04, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0E10, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0030, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0000, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0038, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x002C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0034, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x001C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0014, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x003C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0004, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0020, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0008, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0010, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0430, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0400, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0438, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x042C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0434, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x041C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0414, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x043C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0404, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0420, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0408, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0410, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0830, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0800, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0838, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0828, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x082C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0834, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x081C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0814, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x083C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0804, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0820, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0808, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0810, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C28, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C00, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C0C, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C38, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C28, 0x0E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C14, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C04, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0C10, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x005C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0060, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0064, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0494, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x045C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0460, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0464, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0894, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x085C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0860, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0864, 0x7F, 0x00, CSIPHY_SKEW_CAL}, +}; + +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}, + {0x0AF0, 0xEF, 0xD3, CSIPHY_DEFAULT_PARAMS}, + {0x0204, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02E4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02E8, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02EC, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0218, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x021C, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0220, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0224, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0228, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x022C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0264, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0244, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0310, 0x35, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02BC, 0xD0, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0254, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0240, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0260, 0xA8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0284, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0290, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0604, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06E4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06E8, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06EC, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0618, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x061C, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0620, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0624, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0628, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x062C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0664, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0644, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0710, 0x35, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06BC, 0xD0, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0654, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0640, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0660, 0xA8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0684, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0690, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A04, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AE4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AE8, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AEC, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A18, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A1C, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A20, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A24, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A28, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A2C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A64, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A44, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0B10, 0x35, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0ABC, 0xD0, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A54, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A40, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A60, 0xA8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A84, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A90, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_80Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x1F, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x02, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x1F, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x02, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x1F, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x02, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_100Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0xB6, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x01, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0xB6, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x01, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0xB6, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x01, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_200Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0xE4, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0xE4, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0xE4, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_300Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x9E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x9E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x9E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_350Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x8A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x8A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x8A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_400Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x7B, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x7B, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x7B, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_500Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x66, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x66, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x66, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_600Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x58, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x58, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x58, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_700Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x4E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x4E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x4E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_800Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x46, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x46, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x46, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_900Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x40, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x40, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x40, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_1p0Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x3C, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x3C, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x3C, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_1p2Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x45, 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, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_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, 0x1D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_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, 0x1D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x35, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x35, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x35, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_1p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {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, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x30, 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, 0x45, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x45, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x2E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x2E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x2E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_1p7Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x2E, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x2E, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x2E, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x2A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x2A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x2A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +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, 0x02, 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, 0x02, 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, 0x02, 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, 0x01, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0670, 0x01, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0A70, 0x01, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0278, 0x22, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0678, 0x22, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0A78, 0x22, 0x00, CSIPHY_AUXILIARY_SETTING}, +}; + +struct csiphy_reg_t datarate_220_2p1Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x26, 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, 0x26, 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, 0x26, 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}, +}; + +struct csiphy_reg_t datarate_220_2p35Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x23, 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, 0x23, 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, 0x23, 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}, +}; + +struct csiphy_reg_t datarate_220_2p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x22, 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, 0x22, 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, 0x22, 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}, +}; + +struct csiphy_reg_t datarate_220_2p6Gsps[] = { + /* 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, 0x22, 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, 0x22, 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, 0x22, 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}, +}; + +struct csiphy_reg_t datarate_220_2p8Gsps[] = { + /* 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}, +}; + +struct csiphy_reg_t datarate_220_3p0Gsps[] = { + /* 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, 0x20, 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, 0x20, 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, 0x20, 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}, +}; + +struct csiphy_reg_t datarate_220_3p3Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x10, 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, 0x10, 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, 0x10, 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, 0x1E, 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, 0x1E, 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, 0x1E, 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}, +}; + +struct csiphy_reg_t datarate_220_3p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x0A, 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, 0x0A, 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, 0x0A, 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, 0x1E, 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, 0x1E, 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, 0x1E, 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}, +}; + +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, 0x0C, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {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, 0x0C, 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}, + {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, 0x0C, 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}, + {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, 0x1C, 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, 0x1C, 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, 0x1C, 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}, +}; + +struct csiphy_reg_t datarate_220_4p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x06, 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, 0x06, 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, 0x06, 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, 0x1B, 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, 0x1B, 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, 0x1B, 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}, +}; + +struct csiphy_reg_t datarate_220_5p0Gsps[] = { + /* AFE Settings */ + {0x0268, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0278, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x026C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0270, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0274, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0678, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0670, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0674, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A78, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x00, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x1A, 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, 0x1A, 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, 0x1A, 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}, +}; + +struct csiphy_reg_t datarate_220_5p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0278, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x026C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0270, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0274, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0678, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0670, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0674, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A78, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x00, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x19, 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, 0x19, 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, 0x19, 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}, +}; + +struct csiphy_reg_t datarate_220_6p0Gsps[] = { + /* AFE Settings */ + {0x0268, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0278, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x026C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0270, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0274, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0678, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0670, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0674, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A78, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x00, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x19, 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, 0x19, 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, 0x19, 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}, +}; + +static struct data_rate_reg_info_t data_rate_settings_2_2_0[] = { + { + /* ((80 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 182400000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_80Msps), + .data_rate_reg_array[0][0] = datarate_220_80Msps, + .data_rate_reg_array[1][0] = datarate_220_80Msps, + .data_rate_reg_array[2][0] = datarate_220_80Msps, + .data_rate_reg_array[3][0] = datarate_220_80Msps, + .data_rate_reg_array[4][0] = datarate_220_80Msps, + .data_rate_reg_array[5][0] = datarate_220_80Msps, + .data_rate_reg_array[6][0] = datarate_220_80Msps, + .data_rate_reg_array[7][0] = datarate_220_80Msps, + }, + { + /* ((100 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 228000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_100Msps), + .data_rate_reg_array[0][0] = datarate_220_100Msps, + .data_rate_reg_array[1][0] = datarate_220_100Msps, + .data_rate_reg_array[2][0] = datarate_220_100Msps, + .data_rate_reg_array[3][0] = datarate_220_100Msps, + .data_rate_reg_array[4][0] = datarate_220_100Msps, + .data_rate_reg_array[5][0] = datarate_220_100Msps, + .data_rate_reg_array[6][0] = datarate_220_100Msps, + .data_rate_reg_array[7][0] = datarate_220_100Msps, + }, + { + /* ((200 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 456000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_200Msps), + .data_rate_reg_array[0][0] = datarate_220_200Msps, + .data_rate_reg_array[1][0] = datarate_220_200Msps, + .data_rate_reg_array[2][0] = datarate_220_200Msps, + .data_rate_reg_array[3][0] = datarate_220_200Msps, + .data_rate_reg_array[4][0] = datarate_220_200Msps, + .data_rate_reg_array[5][0] = datarate_220_200Msps, + .data_rate_reg_array[6][0] = datarate_220_200Msps, + .data_rate_reg_array[7][0] = datarate_220_200Msps, + }, + { + /* ((300 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 684000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_300Msps), + .data_rate_reg_array[0][0] = datarate_220_300Msps, + .data_rate_reg_array[1][0] = datarate_220_300Msps, + .data_rate_reg_array[2][0] = datarate_220_300Msps, + .data_rate_reg_array[3][0] = datarate_220_300Msps, + .data_rate_reg_array[4][0] = datarate_220_300Msps, + .data_rate_reg_array[5][0] = datarate_220_300Msps, + .data_rate_reg_array[6][0] = datarate_220_300Msps, + .data_rate_reg_array[7][0] = datarate_220_300Msps, + }, + { + /* ((350 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 798000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_350Msps), + .data_rate_reg_array[0][0] = datarate_220_350Msps, + .data_rate_reg_array[1][0] = datarate_220_350Msps, + .data_rate_reg_array[2][0] = datarate_220_350Msps, + .data_rate_reg_array[3][0] = datarate_220_350Msps, + .data_rate_reg_array[4][0] = datarate_220_350Msps, + .data_rate_reg_array[5][0] = datarate_220_350Msps, + .data_rate_reg_array[6][0] = datarate_220_350Msps, + .data_rate_reg_array[7][0] = datarate_220_350Msps, + }, + { + /* ((400 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 912000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_400Msps), + .data_rate_reg_array[0][0] = datarate_220_400Msps, + .data_rate_reg_array[1][0] = datarate_220_400Msps, + .data_rate_reg_array[2][0] = datarate_220_400Msps, + .data_rate_reg_array[3][0] = datarate_220_400Msps, + .data_rate_reg_array[4][0] = datarate_220_400Msps, + .data_rate_reg_array[5][0] = datarate_220_400Msps, + .data_rate_reg_array[6][0] = datarate_220_400Msps, + .data_rate_reg_array[7][0] = datarate_220_400Msps, + }, + { + /* ((500 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1140000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_500Msps), + .data_rate_reg_array[0][0] = datarate_220_500Msps, + .data_rate_reg_array[1][0] = datarate_220_500Msps, + .data_rate_reg_array[2][0] = datarate_220_500Msps, + .data_rate_reg_array[3][0] = datarate_220_500Msps, + .data_rate_reg_array[4][0] = datarate_220_500Msps, + .data_rate_reg_array[5][0] = datarate_220_500Msps, + .data_rate_reg_array[6][0] = datarate_220_500Msps, + .data_rate_reg_array[7][0] = datarate_220_500Msps, + }, + { + /* ((600 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1368000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_600Msps), + .data_rate_reg_array[0][0] = datarate_220_600Msps, + .data_rate_reg_array[1][0] = datarate_220_600Msps, + .data_rate_reg_array[2][0] = datarate_220_600Msps, + .data_rate_reg_array[3][0] = datarate_220_600Msps, + .data_rate_reg_array[4][0] = datarate_220_600Msps, + .data_rate_reg_array[5][0] = datarate_220_600Msps, + .data_rate_reg_array[6][0] = datarate_220_600Msps, + .data_rate_reg_array[7][0] = datarate_220_600Msps, + }, + { + /* ((700 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1596000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_700Msps), + .data_rate_reg_array[0][0] = datarate_220_700Msps, + .data_rate_reg_array[1][0] = datarate_220_700Msps, + .data_rate_reg_array[2][0] = datarate_220_700Msps, + .data_rate_reg_array[3][0] = datarate_220_700Msps, + .data_rate_reg_array[4][0] = datarate_220_700Msps, + .data_rate_reg_array[5][0] = datarate_220_700Msps, + .data_rate_reg_array[6][0] = datarate_220_700Msps, + .data_rate_reg_array[7][0] = datarate_220_700Msps, + }, + { + /* ((800 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1824000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_800Msps), + .data_rate_reg_array[0][0] = datarate_220_800Msps, + .data_rate_reg_array[1][0] = datarate_220_800Msps, + .data_rate_reg_array[2][0] = datarate_220_800Msps, + .data_rate_reg_array[3][0] = datarate_220_800Msps, + .data_rate_reg_array[4][0] = datarate_220_800Msps, + .data_rate_reg_array[5][0] = datarate_220_800Msps, + .data_rate_reg_array[6][0] = datarate_220_800Msps, + .data_rate_reg_array[7][0] = datarate_220_800Msps, + }, + { + /* ((900 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 2052000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_900Msps), + .data_rate_reg_array[0][0] = datarate_220_900Msps, + .data_rate_reg_array[1][0] = datarate_220_900Msps, + .data_rate_reg_array[2][0] = datarate_220_900Msps, + .data_rate_reg_array[3][0] = datarate_220_900Msps, + .data_rate_reg_array[4][0] = datarate_220_900Msps, + .data_rate_reg_array[5][0] = datarate_220_900Msps, + .data_rate_reg_array[6][0] = datarate_220_900Msps, + .data_rate_reg_array[7][0] = datarate_220_900Msps, + }, + { + /* ((1000 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 2280000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p0Gsps, + }, + { + /* ((1.2 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 2736000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p2Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p2Gsps, + }, + { + /* ((1.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 3420000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p5Gsps, + }, + { + /* ((1.7 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 3876000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p7Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p7Gsps, + }, + { + /* ((2.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 4560000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p0Gsps, + .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[6][0] = datarate_220_2p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p0Gsps, + }, + { + /* ((2.1 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 4788000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p1Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p1Gsps, + }, + { + /* ((2.35 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 5358000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p35Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p35Gsps, + }, + { + /* ((2.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 5700000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p5Gsps, + }, + { + /* ((2.6 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 5928000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p6Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p6Gsps, + }, + { + /* ((2.8 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 6384000000, + .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[3][0] = datarate_220_2p8Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p8Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p8Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p8Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p8Gsps, + }, + { + /* ((3.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 6840000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_3p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_3p0Gsps, + }, + { + /* ((3.3 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 7524000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_3p3Gsps), + .data_rate_reg_array[0][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[1][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[2][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[3][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[4][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[5][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[6][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[7][0] = datarate_220_3p3Gsps, + }, + { + /* ((3.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 7980000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_3p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_3p5Gsps, + }, + { + /* ((4.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 9120000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_4p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_4p0Gsps, + }, + { + /* ((4.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 10260000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_4p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_4p5Gsps, + }, + { + /* ((5.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 11400000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_5p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_5p0Gsps, + }, + { + /* ((5.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 12540000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_5p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_5p5Gsps, + }, + { + /* ((6.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 13680000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_6p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_6p0Gsps, + }, +}; + +struct csiphy_reg_t bist_3ph_arr_2_2_0[] = { + {0x0230, 0x1C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0234, 0xFA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0238, 0xD4, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x023C, 0x59, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0258, 0x10, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02C8, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02D0, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02D4, 0x64, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02D8, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0248, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x024C, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0250, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0244, 0xB1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x025C, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0240, 0x85, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0630, 0x1C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0634, 0xFA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0638, 0xD4, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x063C, 0x59, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0658, 0x10, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06C8, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06D0, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06D4, 0x64, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06D8, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0648, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x064C, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0650, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0644, 0xB1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x065C, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0640, 0x85, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A30, 0x1C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A34, 0xFA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A38, 0xD4, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A3C, 0x59, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A58, 0x10, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AC8, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AD0, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AD4, 0x64, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AD8, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A48, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A4C, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A50, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A44, 0xB1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A5C, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A40, 0x85, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t bist_status_arr_2_2_0[] = { + {0x0344, 0x00, 0x00, CSIPHY_3PH_REGS}, + {0x0744, 0x00, 0x00, CSIPHY_3PH_REGS}, + {0x0B44, 0x00, 0x00, CSIPHY_3PH_REGS}, + {0x00C0, 0x00, 0x00, CSIPHY_2PH_REGS}, + {0x04C0, 0x00, 0x00, CSIPHY_2PH_REGS}, + {0x08C0, 0x00, 0x00, CSIPHY_2PH_REGS}, + {0x0CC0, 0x00, 0x00, CSIPHY_2PH_REGS}, +}; + +struct bist_reg_settings_t bist_setting_2_2_0 = { + .error_status_val_3ph = 0x10, + .error_status_val_2ph = 0x10, + .set_status_update_3ph_base_offset = 0x0240, + .set_status_update_2ph_base_offset = 0x0050, + .bist_status_3ph_base_offset = 0x0344, + .bist_status_2ph_base_offset = 0x00C0, + .bist_sensor_data_3ph_status_base_offset = 0x0340, + .bist_counter_3ph_base_offset = 0x0348, + .bist_counter_2ph_base_offset = 0x00C8, + .number_of_counters = 2, + .num_3ph_bist_settings = ARRAY_SIZE(bist_3ph_arr_2_2_0), + .bist_3ph_settings_arry = bist_3ph_arr_2_2_0, + .bist_2ph_settings_arry = NULL, + .num_2ph_bist_settings = 0, + .num_status_reg = ARRAY_SIZE(bist_status_arr_2_2_0), + .bist_status_arr = bist_status_arr_2_2_0, +}; + +struct data_rate_settings_t data_rate_delta_table_2_2_0 = { + .num_data_rate_settings = ARRAY_SIZE(data_rate_settings_2_2_0), + .data_rate_settings = data_rate_settings_2_2_0, +}; + +struct csiphy_reg_parms_t csiphy_v2_2_0 = { + .mipi_csiphy_interrupt_status0_addr = 0x10B0, + .mipi_csiphy_interrupt_clear0_addr = 0x1058, + .mipi_csiphy_glbl_irq_cmd_addr = 0x1028, + .size_offset_betn_lanes = 0x400, + .status_reg_params = &status_regs_2_2_0, + .csiphy_common_reg_array_size = ARRAY_SIZE(csiphy_common_reg_2_2_0), + .csiphy_reset_enter_array_size = ARRAY_SIZE(csiphy_reset_enter_reg_2_2_0), + .csiphy_reset_exit_array_size = ARRAY_SIZE(csiphy_reset_exit_reg_2_2_0), + .csiphy_2ph_config_array_size = ARRAY_SIZE(csiphy_2ph_v2_2_0_reg), + .csiphy_3ph_config_array_size = ARRAY_SIZE(csiphy_3ph_v2_2_0_reg), + .csiphy_2ph_combo_config_array_size = ARRAY_SIZE(csiphy_2ph_v2_2_0_combo_mode_reg), + .csiphy_3ph_combo_config_array_size = 0, + .csiphy_2ph_3ph_config_array_size = 0, + .csiphy_interrupt_status_size = ARRAY_SIZE(csiphy_irq_reg_2_2_0), + .csiphy_num_common_status_regs = 20, + .aon_sel_params = &aon_cam_select_params_2_2_0, +}; + +struct csiphy_ctrl_t ctrl_reg_2_2_0 = { + .csiphy_common_reg = csiphy_common_reg_2_2_0, + .csiphy_2ph_reg = csiphy_2ph_v2_2_0_reg, + .csiphy_3ph_reg = csiphy_3ph_v2_2_0_reg, + .csiphy_2ph_combo_mode_reg = csiphy_2ph_v2_2_0_combo_mode_reg, + .csiphy_3ph_combo_reg = NULL, + .csiphy_2ph_3ph_mode_reg = NULL, + .csiphy_reg = &csiphy_v2_2_0, + .csiphy_irq_reg = csiphy_irq_reg_2_2_0, + .csiphy_reset_enter_regs = csiphy_reset_enter_reg_2_2_0, + .csiphy_reset_exit_regs = csiphy_reset_exit_reg_2_2_0, + .csiphy_lane_config_reg = csiphy_lane_en_reg_2_2_0, + .data_rates_settings_table = &data_rate_delta_table_2_2_0, + .csiphy_bist_reg = &bist_setting_2_2_0, + .getclockvoting = get_clk_voting_dynamic, +}; + +#endif /* _CAM_CSIPHY_2_2_0_HWREG_H_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_q6.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_q6.h new file mode 100644 index 0000000000..1546fc1ea6 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_q6.h @@ -0,0 +1,2227 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * Copyright (c) 2021-2023, Qualcomm Innovation Center, Inc. All rights reserved. + */ + +#ifndef _CAM_CSIPHY_2_2_0_HWREG_H_ +#define _CAM_CSIPHY_2_2_0_HWREG_H_ + +#include "../cam_csiphy_dev.h" + +struct cam_csiphy_aon_sel_params_t aon_cam_select_params_2_2_0 = { + .aon_cam_sel_offset[0] = 0x01E0, + .aon_cam_sel_offset[1] = 0x01E4, + .cam_sel_mask = BIT(0), + .mclk_sel_mask = BIT(8), +}; + +struct cam_cphy_dphy_status_reg_params_t status_regs_2_2_0 = { + .csiphy_3ph_status0_offset = 0x0340, + .csiphy_2ph_status0_offset = 0x00C0, + .cphy_lane_status = {0x0358, 0x0758, 0x0B58}, + .csiphy_3ph_status_size = 24, + .csiphy_2ph_status_size = 20, +}; + +struct csiphy_reg_t csiphy_lane_en_reg_2_2_0[] = { + {0x1014, 0x00, 0x00, CSIPHY_LANE_ENABLE}, +}; + +struct csiphy_reg_t csiphy_common_reg_2_2_0[] = { + {0x1084, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x108C, 0x00, 0x01, CSIPHY_DEFAULT_PARAMS}, + {0x101C, 0x7A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1018, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t csiphy_reset_enter_reg_2_2_0[] = { + {0x1000, 0x01, 0x01, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t csiphy_reset_exit_reg_2_2_0[] = { + {0x1000, 0x02, 0x00, CSIPHY_2PH_REGS}, + {0x1000, 0x00, 0x00, CSIPHY_2PH_COMBO_REGS}, + {0x1000, 0x0E, 0xBE8, CSIPHY_3PH_REGS}, +}; + +struct csiphy_reg_t csiphy_irq_reg_2_2_0[] = { + {0x102c, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1030, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1034, 0xfb, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1038, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x103c, 0x7f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1040, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1044, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1048, 0xef, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x104c, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1050, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1054, 0xff, 0x64, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t csiphy_2ph_v2_2_0_reg[] = { + {0x0E94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0EA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x00A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0090, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0098, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x04A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0490, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0498, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x08A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0890, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0898, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0CA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0E30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E28, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E00, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E0C, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E38, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E14, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E04, 0x1D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0E10, 0x70, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0030, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0000, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0038, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x002C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0034, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x001C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0014, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x003C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0004, 0x1D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0020, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0008, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0010, 0x70, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0430, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0400, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0438, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x042C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0434, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x041C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0414, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x043C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0404, 0x1D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0420, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0408, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0410, 0x70, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0830, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0800, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0838, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x082C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0834, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x081C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0814, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x083C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0804, 0x1D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0820, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0808, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0810, 0x70, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C00, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C38, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C14, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C04, 0x1D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0C10, 0x70, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x005C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0060, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0064, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0494, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x045C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0460, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0464, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0894, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x085C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0860, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0864, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0C94, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x0C5C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0C60, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0C64, 0x7F, 0x00, CSIPHY_SKEW_CAL}, +}; + +struct csiphy_reg_t csiphy_2ph_v2_2_0_combo_mode_reg[] = { + {0x0E94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0EA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x00A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0090, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0098, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x04A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0490, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0498, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x08A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0890, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0898, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0CA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0E30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E28, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E00, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E0C, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E38, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E14, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E04, 0x1D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0E10, 0x70, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0030, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0000, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0038, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x002C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0034, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x001C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0014, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x003C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0004, 0x1D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0020, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0008, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0010, 0x70, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0430, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0400, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0438, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x042C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0434, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x041C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0414, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x043C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0404, 0x1D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0420, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0408, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0410, 0x70, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0830, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0800, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0838, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0828, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x082C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0834, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x081C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0814, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x083C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0804, 0x1D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0820, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0808, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0810, 0x70, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C28, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C00, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C0C, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C38, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C28, 0x0E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C14, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C04, 0x1D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0C10, 0x70, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x005C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0060, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0064, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0494, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x045C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0460, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0464, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0894, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x085C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0860, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0864, 0x7F, 0x00, CSIPHY_SKEW_CAL}, +}; + +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}, + {0x0AF0, 0xEF, 0xD3, CSIPHY_DEFAULT_PARAMS}, + {0x0204, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02E4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02E8, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02EC, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0218, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x021C, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0220, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0224, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0228, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x022C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0264, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0244, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0310, 0x35, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02BC, 0xD0, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0254, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0240, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0260, 0xA8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0284, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0290, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0604, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06E4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06E8, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06EC, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0618, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x061C, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0620, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0624, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0628, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x062C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0664, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0644, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0710, 0x35, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06BC, 0xD0, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0654, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0640, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0660, 0xA8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0684, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0690, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A04, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AE4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AE8, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AEC, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A18, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A1C, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A20, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A24, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A28, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A2C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A64, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A44, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0B10, 0x35, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0ABC, 0xD0, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A54, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A40, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A60, 0xA8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A84, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A90, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_80Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x1F, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x02, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x1F, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x02, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x1F, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x02, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_100Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0xB6, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x01, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0xB6, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x01, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0xB6, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x01, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_200Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0xE4, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0xE4, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0xE4, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_300Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x9E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x9E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x9E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_350Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x8A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x8A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x8A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_400Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x7B, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x7B, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x7B, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_500Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x66, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x66, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x66, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_600Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x58, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x58, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x58, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_700Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x4E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x4E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x4E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_800Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x46, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x46, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x46, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_900Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x40, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x40, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x40, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_1p0Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x3C, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x3C, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x3C, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_1p2Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x45, 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, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_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, 0x1D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_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, 0x1D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x35, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x35, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x35, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_1p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {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, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x30, 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, 0x45, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x45, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x2E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x2E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x2E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_1p7Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x2E, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x2E, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x2E, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x2A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x2A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x2A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +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, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0270, 0x01, 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, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0670, 0x01, 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, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x01, 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}, +}; + +struct csiphy_reg_t datarate_220_2p1Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x26, 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, 0x26, 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, 0x26, 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}, +}; + +struct csiphy_reg_t datarate_220_2p35Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x23, 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, 0x23, 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, 0x23, 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}, +}; + +struct csiphy_reg_t datarate_220_2p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x22, 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, 0x22, 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, 0x22, 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}, +}; + +struct csiphy_reg_t datarate_220_2p6Gsps[] = { + /* 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, 0x1D, 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, 0x1D, 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, 0x1D, 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, 0x22, 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, 0x22, 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, 0x22, 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}, +}; + +struct csiphy_reg_t datarate_220_2p8Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x15, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x1D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x026C, 0x2D, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0270, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0274, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x15, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x1D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x2D, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0670, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0674, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x15, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x1D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x2D, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 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}, +}; + +struct csiphy_reg_t datarate_220_3p0Gsps[] = { + /* 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, 0x20, 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, 0x20, 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, 0x20, 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}, +}; + +struct csiphy_reg_t datarate_220_3p3Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x10, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x15, 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, 0x10, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x15, 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, 0x10, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x15, 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, 0x1E, 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, 0x1E, 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, 0x1E, 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}, +}; + +struct csiphy_reg_t datarate_220_3p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x0C, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x3A, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x026C, 0x2D, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x00, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0270, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0274, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x0C, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x3A, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x2D, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x00, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0670, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0674, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x0C, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x3A, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x2D, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x00, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x01, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x1E, 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, 0x1E, 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, 0x1E, 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}, + {0x026C, 0x08, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x066C, 0x08, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0A6C, 0x08, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0274, 0x03, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0674, 0x03, 0x00, CSIPHY_AUXILIARY_SETTING}, + {0x0A74, 0x03, 0x00, CSIPHY_AUXILIARY_SETTING}, +}; + +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, 0x0C, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {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, 0x0C, 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}, + {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, 0x0C, 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}, + {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, 0x1C, 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, 0x1C, 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, 0x1C, 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}, +}; + +struct csiphy_reg_t datarate_220_4p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x06, 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, 0x06, 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, 0x06, 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, 0x1B, 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, 0x1B, 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, 0x1B, 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}, +}; + +struct csiphy_reg_t datarate_220_5p0Gsps[] = { + /* AFE Settings */ + {0x0268, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0278, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x026C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0270, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0274, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0678, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0670, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0674, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A78, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x00, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x1A, 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, 0x1A, 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, 0x1A, 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}, +}; + +struct csiphy_reg_t datarate_220_5p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0278, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x026C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0270, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0274, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0678, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0670, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0674, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A78, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x00, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x19, 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, 0x19, 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, 0x19, 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}, +}; + +struct csiphy_reg_t datarate_220_6p0Gsps[] = { + /* AFE Settings */ + {0x0268, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0278, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x026C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0270, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0274, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0678, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0670, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0674, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A78, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x00, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x19, 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, 0x19, 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, 0x19, 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}, +}; + +static struct data_rate_reg_info_t data_rate_settings_2_2_0[] = { + { + /* ((80 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 182400000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_80Msps), + .data_rate_reg_array[0][0] = datarate_220_80Msps, + .data_rate_reg_array[1][0] = datarate_220_80Msps, + .data_rate_reg_array[2][0] = datarate_220_80Msps, + .data_rate_reg_array[3][0] = datarate_220_80Msps, + .data_rate_reg_array[4][0] = datarate_220_80Msps, + .data_rate_reg_array[5][0] = datarate_220_80Msps, + .data_rate_reg_array[6][0] = datarate_220_80Msps, + .data_rate_reg_array[7][0] = datarate_220_80Msps, + }, + { + /* ((100 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 228000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_100Msps), + .data_rate_reg_array[0][0] = datarate_220_100Msps, + .data_rate_reg_array[1][0] = datarate_220_100Msps, + .data_rate_reg_array[2][0] = datarate_220_100Msps, + .data_rate_reg_array[3][0] = datarate_220_100Msps, + .data_rate_reg_array[4][0] = datarate_220_100Msps, + .data_rate_reg_array[5][0] = datarate_220_100Msps, + .data_rate_reg_array[6][0] = datarate_220_100Msps, + .data_rate_reg_array[7][0] = datarate_220_100Msps, + }, + { + /* ((200 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 456000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_200Msps), + .data_rate_reg_array[0][0] = datarate_220_200Msps, + .data_rate_reg_array[1][0] = datarate_220_200Msps, + .data_rate_reg_array[2][0] = datarate_220_200Msps, + .data_rate_reg_array[3][0] = datarate_220_200Msps, + .data_rate_reg_array[4][0] = datarate_220_200Msps, + .data_rate_reg_array[5][0] = datarate_220_200Msps, + .data_rate_reg_array[6][0] = datarate_220_200Msps, + .data_rate_reg_array[7][0] = datarate_220_200Msps, + }, + { + /* ((300 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 684000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_300Msps), + .data_rate_reg_array[0][0] = datarate_220_300Msps, + .data_rate_reg_array[1][0] = datarate_220_300Msps, + .data_rate_reg_array[2][0] = datarate_220_300Msps, + .data_rate_reg_array[3][0] = datarate_220_300Msps, + .data_rate_reg_array[4][0] = datarate_220_300Msps, + .data_rate_reg_array[5][0] = datarate_220_300Msps, + .data_rate_reg_array[6][0] = datarate_220_300Msps, + .data_rate_reg_array[7][0] = datarate_220_300Msps, + }, + { + /* ((350 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 798000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_350Msps), + .data_rate_reg_array[0][0] = datarate_220_350Msps, + .data_rate_reg_array[1][0] = datarate_220_350Msps, + .data_rate_reg_array[2][0] = datarate_220_350Msps, + .data_rate_reg_array[3][0] = datarate_220_350Msps, + .data_rate_reg_array[4][0] = datarate_220_350Msps, + .data_rate_reg_array[5][0] = datarate_220_350Msps, + .data_rate_reg_array[6][0] = datarate_220_350Msps, + .data_rate_reg_array[7][0] = datarate_220_350Msps, + }, + { + /* ((400 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 912000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_400Msps), + .data_rate_reg_array[0][0] = datarate_220_400Msps, + .data_rate_reg_array[1][0] = datarate_220_400Msps, + .data_rate_reg_array[2][0] = datarate_220_400Msps, + .data_rate_reg_array[3][0] = datarate_220_400Msps, + .data_rate_reg_array[4][0] = datarate_220_400Msps, + .data_rate_reg_array[5][0] = datarate_220_400Msps, + .data_rate_reg_array[6][0] = datarate_220_400Msps, + .data_rate_reg_array[7][0] = datarate_220_400Msps, + }, + { + /* ((500 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1140000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_500Msps), + .data_rate_reg_array[0][0] = datarate_220_500Msps, + .data_rate_reg_array[1][0] = datarate_220_500Msps, + .data_rate_reg_array[2][0] = datarate_220_500Msps, + .data_rate_reg_array[3][0] = datarate_220_500Msps, + .data_rate_reg_array[4][0] = datarate_220_500Msps, + .data_rate_reg_array[5][0] = datarate_220_500Msps, + .data_rate_reg_array[6][0] = datarate_220_500Msps, + .data_rate_reg_array[7][0] = datarate_220_500Msps, + }, + { + /* ((600 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1368000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_600Msps), + .data_rate_reg_array[0][0] = datarate_220_600Msps, + .data_rate_reg_array[1][0] = datarate_220_600Msps, + .data_rate_reg_array[2][0] = datarate_220_600Msps, + .data_rate_reg_array[3][0] = datarate_220_600Msps, + .data_rate_reg_array[4][0] = datarate_220_600Msps, + .data_rate_reg_array[5][0] = datarate_220_600Msps, + .data_rate_reg_array[6][0] = datarate_220_600Msps, + .data_rate_reg_array[7][0] = datarate_220_600Msps, + }, + { + /* ((700 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1596000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_700Msps), + .data_rate_reg_array[0][0] = datarate_220_700Msps, + .data_rate_reg_array[1][0] = datarate_220_700Msps, + .data_rate_reg_array[2][0] = datarate_220_700Msps, + .data_rate_reg_array[3][0] = datarate_220_700Msps, + .data_rate_reg_array[4][0] = datarate_220_700Msps, + .data_rate_reg_array[5][0] = datarate_220_700Msps, + .data_rate_reg_array[6][0] = datarate_220_700Msps, + .data_rate_reg_array[7][0] = datarate_220_700Msps, + }, + { + /* ((800 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1824000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_800Msps), + .data_rate_reg_array[0][0] = datarate_220_800Msps, + .data_rate_reg_array[1][0] = datarate_220_800Msps, + .data_rate_reg_array[2][0] = datarate_220_800Msps, + .data_rate_reg_array[3][0] = datarate_220_800Msps, + .data_rate_reg_array[4][0] = datarate_220_800Msps, + .data_rate_reg_array[5][0] = datarate_220_800Msps, + .data_rate_reg_array[6][0] = datarate_220_800Msps, + .data_rate_reg_array[7][0] = datarate_220_800Msps, + }, + { + /* ((900 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 2052000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_900Msps), + .data_rate_reg_array[0][0] = datarate_220_900Msps, + .data_rate_reg_array[1][0] = datarate_220_900Msps, + .data_rate_reg_array[2][0] = datarate_220_900Msps, + .data_rate_reg_array[3][0] = datarate_220_900Msps, + .data_rate_reg_array[4][0] = datarate_220_900Msps, + .data_rate_reg_array[5][0] = datarate_220_900Msps, + .data_rate_reg_array[6][0] = datarate_220_900Msps, + .data_rate_reg_array[7][0] = datarate_220_900Msps, + }, + { + /* ((1000 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 2280000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p0Gsps, + }, + { + /* ((1.2 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 2736000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p2Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p2Gsps, + }, + { + /* ((1.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 3420000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p5Gsps, + }, + { + /* ((1.7 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 3876000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p7Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p7Gsps, + }, + { + /* ((2.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 4560000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p0Gsps, + .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[6][0] = datarate_220_2p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p0Gsps, + }, + { + /* ((2.1 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 4788000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p1Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p1Gsps, + }, + { + /* ((2.35 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 5358000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p35Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p35Gsps, + }, + { + /* ((2.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 5700000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p5Gsps, + }, + { + /* ((2.6 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 5928000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p6Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p6Gsps, + }, + { + /* ((2.8 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 6384000000, + .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[3][0] = datarate_220_2p8Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p8Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p8Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p8Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p8Gsps, + }, + { + /* ((3.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 6840000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_3p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_3p0Gsps, + }, + { + /* ((3.3 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 7524000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_3p3Gsps), + .data_rate_reg_array[0][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[1][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[2][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[3][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[4][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[5][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[6][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[7][0] = datarate_220_3p3Gsps, + }, + { + /* ((3.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 7980000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_3p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_3p5Gsps, + }, + { + /* ((4.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 9120000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_4p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_4p0Gsps, + }, + { + /* ((4.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 10260000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_4p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_4p5Gsps, + }, + { + /* ((5.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 11400000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_5p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_5p0Gsps, + }, + { + /* ((5.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 12540000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_5p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_5p5Gsps, + }, + { + /* ((6.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 13680000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_6p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_6p0Gsps, + }, +}; + +struct csiphy_reg_t bist_3ph_arr_2_2_0[] = { + {0x0230, 0x1C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0234, 0xFA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0238, 0xD4, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x023C, 0x59, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0258, 0x10, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02C8, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02D0, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02D4, 0x64, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02D8, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0248, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x024C, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0250, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0244, 0xB1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x025C, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0240, 0x85, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0630, 0x1C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0634, 0xFA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0638, 0xD4, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x063C, 0x59, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0658, 0x10, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06C8, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06D0, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06D4, 0x64, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06D8, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0648, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x064C, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0650, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0644, 0xB1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x065C, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0640, 0x85, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A30, 0x1C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A34, 0xFA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A38, 0xD4, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A3C, 0x59, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A58, 0x10, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AC8, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AD0, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AD4, 0x64, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AD8, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A48, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A4C, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A50, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A44, 0xB1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A5C, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A40, 0x85, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t bist_status_arr_2_2_0[] = { + {0x0344, 0x00, 0x00, CSIPHY_3PH_REGS}, + {0x0744, 0x00, 0x00, CSIPHY_3PH_REGS}, + {0x0B44, 0x00, 0x00, CSIPHY_3PH_REGS}, + {0x00C0, 0x00, 0x00, CSIPHY_2PH_REGS}, + {0x04C0, 0x00, 0x00, CSIPHY_2PH_REGS}, + {0x08C0, 0x00, 0x00, CSIPHY_2PH_REGS}, + {0x0CC0, 0x00, 0x00, CSIPHY_2PH_REGS}, +}; + +struct bist_reg_settings_t bist_setting_2_2_0 = { + .error_status_val_3ph = 0x10, + .error_status_val_2ph = 0x10, + .set_status_update_3ph_base_offset = 0x0240, + .set_status_update_2ph_base_offset = 0x0050, + .bist_status_3ph_base_offset = 0x0344, + .bist_status_2ph_base_offset = 0x00C0, + .bist_sensor_data_3ph_status_base_offset = 0x0340, + .bist_counter_3ph_base_offset = 0x0348, + .bist_counter_2ph_base_offset = 0x00C8, + .number_of_counters = 2, + .num_3ph_bist_settings = ARRAY_SIZE(bist_3ph_arr_2_2_0), + .bist_3ph_settings_arry = bist_3ph_arr_2_2_0, + .bist_2ph_settings_arry = NULL, + .num_2ph_bist_settings = 0, + .num_status_reg = ARRAY_SIZE(bist_status_arr_2_2_0), + .bist_status_arr = bist_status_arr_2_2_0, +}; + +struct data_rate_settings_t data_rate_delta_table_2_2_0 = { + .num_data_rate_settings = ARRAY_SIZE(data_rate_settings_2_2_0), + .data_rate_settings = data_rate_settings_2_2_0, +}; + +struct csiphy_reg_parms_t csiphy_v2_2_0 = { + .mipi_csiphy_interrupt_status0_addr = 0x10B0, + .mipi_csiphy_interrupt_clear0_addr = 0x1058, + .mipi_csiphy_glbl_irq_cmd_addr = 0x1028, + .size_offset_betn_lanes = 0x400, + .status_reg_params = &status_regs_2_2_0, + .csiphy_common_reg_array_size = ARRAY_SIZE(csiphy_common_reg_2_2_0), + .csiphy_reset_enter_array_size = ARRAY_SIZE(csiphy_reset_enter_reg_2_2_0), + .csiphy_reset_exit_array_size = ARRAY_SIZE(csiphy_reset_exit_reg_2_2_0), + .csiphy_2ph_config_array_size = ARRAY_SIZE(csiphy_2ph_v2_2_0_reg), + .csiphy_3ph_config_array_size = ARRAY_SIZE(csiphy_3ph_v2_2_0_reg), + .csiphy_2ph_combo_config_array_size = ARRAY_SIZE(csiphy_2ph_v2_2_0_combo_mode_reg), + .csiphy_3ph_combo_config_array_size = 0, + .csiphy_2ph_3ph_config_array_size = 0, + .csiphy_interrupt_status_size = ARRAY_SIZE(csiphy_irq_reg_2_2_0), + .csiphy_num_common_status_regs = 20, + .aon_sel_params = &aon_cam_select_params_2_2_0, +}; + +struct csiphy_ctrl_t ctrl_reg_2_2_0 = { + .csiphy_common_reg = csiphy_common_reg_2_2_0, + .csiphy_2ph_reg = csiphy_2ph_v2_2_0_reg, + .csiphy_3ph_reg = csiphy_3ph_v2_2_0_reg, + .csiphy_2ph_combo_mode_reg = csiphy_2ph_v2_2_0_combo_mode_reg, + .csiphy_3ph_combo_reg = NULL, + .csiphy_2ph_3ph_mode_reg = NULL, + .csiphy_reg = &csiphy_v2_2_0, + .csiphy_irq_reg = csiphy_irq_reg_2_2_0, + .csiphy_reset_enter_regs = csiphy_reset_enter_reg_2_2_0, + .csiphy_reset_exit_regs = csiphy_reset_exit_reg_2_2_0, + .csiphy_lane_config_reg = csiphy_lane_en_reg_2_2_0, + .data_rates_settings_table = &data_rate_delta_table_2_2_0, + .csiphy_bist_reg = &bist_setting_2_2_0, + .getclockvoting = get_clk_voting_dynamic, +}; + +#endif /* _CAM_CSIPHY_2_2_0_HWREG_H_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_q6a.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_q6a.h new file mode 100644 index 0000000000..d12f81b04c --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_2_2_0_hwreg_q6a.h @@ -0,0 +1,2333 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * Copyright (c) 2021-2023, Qualcomm Innovation Center, Inc. All rights reserved. + */ + +#ifndef _CAM_CSIPHY_2_2_0_HWREG_H_ +#define _CAM_CSIPHY_2_2_0_HWREG_H_ + +#include "../cam_csiphy_dev.h" + +struct cam_csiphy_aon_sel_params_t aon_cam_select_params_2_2_0 = { + .aon_cam_sel_offset[0] = 0x01E0, + .aon_cam_sel_offset[1] = 0x01E4, + .cam_sel_mask = BIT(0), + .mclk_sel_mask = BIT(8), +}; + +struct cam_cphy_dphy_status_reg_params_t status_regs_2_2_0 = { + .csiphy_3ph_status0_offset = 0x0340, + .csiphy_2ph_status0_offset = 0x00C0, + .cphy_lane_status = {0x0358, 0x0758, 0x0B58}, + .csiphy_3ph_status_size = 24, + .csiphy_2ph_status_size = 20, +}; + +struct csiphy_reg_t csiphy_lane_en_reg_2_2_0[] = { + {0x1014, 0x00, 0x00, CSIPHY_LANE_ENABLE}, +}; + +struct csiphy_reg_t csiphy_common_reg_2_2_0[] = { + {0x1084, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x108C, 0x00, 0x01, CSIPHY_DEFAULT_PARAMS}, + {0x101C, 0x7A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1018, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t csiphy_reset_enter_reg_2_2_0[] = { + {0x1000, 0x01, 0x01, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t csiphy_reset_exit_reg_2_2_0[] = { + {0x1000, 0x02, 0x00, CSIPHY_2PH_REGS}, + {0x1000, 0x00, 0x00, CSIPHY_2PH_COMBO_REGS}, + {0x1000, 0x0E, 0xBE8, CSIPHY_3PH_REGS}, +}; + +struct csiphy_reg_t csiphy_irq_reg_2_2_0[] = { + {0x102c, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1030, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1034, 0xfb, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1038, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x103c, 0x7f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1040, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1044, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1048, 0xef, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x104c, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1050, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x1054, 0xff, 0x64, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t csiphy_2ph_v2_2_0_reg[] = { + {0x0E94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0EA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x00A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0090, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0098, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x04A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0490, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0498, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x08A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0890, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0898, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0CA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0E30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E28, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E00, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E0C, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E38, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E14, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E04, 0x0D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0E10, 0x72, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0030, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0000, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0038, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x002C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0034, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x001C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0014, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x003C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0004, 0x0D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0020, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0008, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0010, 0x72, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0430, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0400, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0438, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x042C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0434, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x041C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0414, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x043C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0404, 0x0D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0420, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0408, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0410, 0x72, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0830, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0800, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0838, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x082C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0834, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x081C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0814, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x083C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0804, 0x0D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0820, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0808, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0810, 0x72, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C00, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C38, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C14, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C04, 0x0D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0C10, 0x72, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x005C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0060, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0064, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0494, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x045C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0460, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0464, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0894, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x085C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0860, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0864, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0C94, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x0C5C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0C60, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0C64, 0x7F, 0x00, CSIPHY_SKEW_CAL}, +}; + +struct csiphy_reg_t csiphy_2ph_v2_2_0_combo_mode_reg[] = { + {0x0E94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0EA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x00A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0090, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0098, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x04A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0490, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0498, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0494, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x08A0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0890, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0898, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0894, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0CA0, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C90, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C98, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C94, 0x07, 0xD1, CSIPHY_DEFAULT_PARAMS}, + {0x0E30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E28, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E00, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E0C, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E38, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E14, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E04, 0x0D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0E08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0E10, 0x72, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0030, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0000, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0038, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x002C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0034, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x001C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0014, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x003C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0004, 0x0D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0020, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0008, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0010, 0x72, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0430, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0400, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0438, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x042C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0434, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x041C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0414, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x043C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0404, 0x0D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0420, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0408, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0410, 0x72, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0830, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0800, 0x8E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0838, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0828, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x082C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0834, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x081C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0814, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x083C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0804, 0x0D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0820, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0808, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0810, 0x72, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C30, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C28, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C00, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C0C, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C38, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C28, 0x0E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C2C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C34, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C1C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C14, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C3C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C04, 0x0D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C20, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0C08, 0x19, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0C10, 0x72, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0094, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x005C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0060, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0064, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0494, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x045C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0460, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0464, 0x7F, 0x00, CSIPHY_SKEW_CAL}, + {0x0894, 0xD7, 0x00, CSIPHY_SKEW_CAL}, + {0x085C, 0x04, 0x00, CSIPHY_SKEW_CAL}, + {0x0860, 0xBD, 0x00, CSIPHY_SKEW_CAL}, + {0x0864, 0x7F, 0x00, CSIPHY_SKEW_CAL}, +}; + +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}, + {0x0AF0, 0xEF, 0xD3, CSIPHY_DEFAULT_PARAMS}, + {0x0204, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02E4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02E8, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02EC, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0218, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x021C, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0220, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0224, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0228, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x022C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0264, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0244, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0310, 0x35, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02BC, 0xD0, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0254, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0240, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0260, 0xA8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0284, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0290, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0604, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06E4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06E8, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06EC, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0618, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x061C, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0620, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0624, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0628, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x062C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0664, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0644, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0710, 0x35, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06BC, 0xD0, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0654, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0640, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0660, 0xA8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0684, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0690, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A04, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AE4, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AE8, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AEC, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A18, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A1C, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A20, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A24, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A28, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A2C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A64, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A44, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0B10, 0x35, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0ABC, 0xD0, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A54, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A40, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A60, 0xA8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A84, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A90, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_80Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x1F, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x02, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x1F, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x02, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x1F, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x02, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_100Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0xB6, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x01, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0xB6, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x01, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0xB6, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x01, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x6B, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_200Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0xE4, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0xE4, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0xE4, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_300Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x9E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x9E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x9E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_350Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x8A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x8A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x8A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_400Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x7B, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x7B, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x7B, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_500Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x66, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x66, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x66, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_600Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x58, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x58, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x58, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_700Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x4E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x4E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x4E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_800Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x46, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x46, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x46, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_900Msps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x40, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x40, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x40, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_1p0Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x58, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x3C, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x3C, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x3C, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_1p2Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x45, 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, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_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, 0x1D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_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, 0x1D, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x38, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x35, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x35, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x35, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_1p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {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, 0x05, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x30, 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, 0x45, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x45, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x2E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x2E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x2E, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t datarate_220_1p7Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x2E, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x2E, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x2E, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x2A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0210, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x060C, 0x2A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0610, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A0C, 0x2A, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0A08, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, + {0x0A10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A14, 0x09, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +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}, + {0x0278, 0x2E, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x2E, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x2E, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 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[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x26, 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, 0x26, 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, 0x26, 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}, +}; + +struct csiphy_reg_t datarate_220_2p35Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x23, 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, 0x23, 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, 0x23, 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}, +}; + +struct csiphy_reg_t datarate_220_2p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {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, 0x20, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_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}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x22, 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, 0x22, 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, 0x22, 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}, +}; + +struct csiphy_reg_t datarate_220_2p6Gsps[] = { + /* 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, 0x22, 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, 0x22, 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, 0x22, 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}, +}; + +struct csiphy_reg_t datarate_220_2p8Gsps[] = { + /* 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, 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[] = { + /* 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, 0x20, 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, 0x20, 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, 0x20, 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}, +}; + +struct csiphy_reg_t datarate_220_3p3Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x10, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x15, 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, 0x10, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x15, 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, 0x10, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x15, 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, 0x1E, 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, 0x1E, 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, 0x1E, 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}, +}; + +struct csiphy_reg_t datarate_220_3p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x0A, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x15, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x026C, 0x2D, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x5E, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0270, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0274, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x0A, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x15, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x2D, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x5E, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0670, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0674, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x0A, 0x00, CSIPHY_CDR_LN_SETTINGS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x15, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x2D, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x5E, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x02, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x1E, 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, 0x1E, 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, 0x1E, 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}, +}; + +struct csiphy_reg_t datarate_220_4p0Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_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}, + {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, 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}, + {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, 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}, + {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, 0x1C, 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, 0x1C, 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, 0x1C, 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}, +}; + +struct csiphy_reg_t datarate_220_4p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0xF1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x06, 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, 0x06, 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, 0x06, 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, 0x1B, 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, 0x1B, 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, 0x1B, 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}, +}; + +struct csiphy_reg_t datarate_220_5p0Gsps[] = { + /* AFE Settings */ + {0x0268, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0278, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x026C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0270, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0274, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0678, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0670, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0674, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A78, 0x82, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x00, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x1A, 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, 0x1A, 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, 0x1A, 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}, +}; + +struct csiphy_reg_t datarate_220_5p5Gsps[] = { + /* AFE Settings */ + {0x0268, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0278, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x026C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0270, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0274, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0678, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0670, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0674, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A78, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x00, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x19, 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, 0x19, 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, 0x19, 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}, +}; + +struct csiphy_reg_t datarate_220_6p0Gsps[] = { + /* AFE Settings */ + {0x0268, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0294, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0278, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0278, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0288, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x026C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x026C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x028C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x028C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0270, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0274, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0668, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0694, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0678, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0678, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0688, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x066C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x066C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x068C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x068C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0670, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0674, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A68, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A94, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A78, 0x80, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A78, 0x81, 0x00, CSIPHY_CDR_LN_SETTINGS | CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A88, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A6C, 0x03, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A6C, 0x3F, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A8C, 0x33, 0x00, CSIPHY_SHORT_CHANNEL_PARAMS}, + {0x0A8C, 0x37, 0x00, CSIPHY_STANDARD_CHANNEL_PARAMS}, + {0x0A70, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A74, 0x00, 0x0A, CSIPHY_DEFAULT_PARAMS}, + /* Datarate Sensitive */ + {0x020C, 0x19, 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, 0x19, 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, 0x19, 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}, +}; + +static struct data_rate_reg_info_t data_rate_settings_2_2_0[] = { + { + /* ((80 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 182400000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_80Msps), + .data_rate_reg_array[0][0] = datarate_220_80Msps, + .data_rate_reg_array[1][0] = datarate_220_80Msps, + .data_rate_reg_array[2][0] = datarate_220_80Msps, + .data_rate_reg_array[3][0] = datarate_220_80Msps, + .data_rate_reg_array[4][0] = datarate_220_80Msps, + .data_rate_reg_array[5][0] = datarate_220_80Msps, + .data_rate_reg_array[6][0] = datarate_220_80Msps, + .data_rate_reg_array[7][0] = datarate_220_80Msps, + }, + { + /* ((100 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 228000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_100Msps), + .data_rate_reg_array[0][0] = datarate_220_100Msps, + .data_rate_reg_array[1][0] = datarate_220_100Msps, + .data_rate_reg_array[2][0] = datarate_220_100Msps, + .data_rate_reg_array[3][0] = datarate_220_100Msps, + .data_rate_reg_array[4][0] = datarate_220_100Msps, + .data_rate_reg_array[5][0] = datarate_220_100Msps, + .data_rate_reg_array[6][0] = datarate_220_100Msps, + .data_rate_reg_array[7][0] = datarate_220_100Msps, + }, + { + /* ((200 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 456000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_200Msps), + .data_rate_reg_array[0][0] = datarate_220_200Msps, + .data_rate_reg_array[1][0] = datarate_220_200Msps, + .data_rate_reg_array[2][0] = datarate_220_200Msps, + .data_rate_reg_array[3][0] = datarate_220_200Msps, + .data_rate_reg_array[4][0] = datarate_220_200Msps, + .data_rate_reg_array[5][0] = datarate_220_200Msps, + .data_rate_reg_array[6][0] = datarate_220_200Msps, + .data_rate_reg_array[7][0] = datarate_220_200Msps, + }, + { + /* ((300 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 684000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_300Msps), + .data_rate_reg_array[0][0] = datarate_220_300Msps, + .data_rate_reg_array[1][0] = datarate_220_300Msps, + .data_rate_reg_array[2][0] = datarate_220_300Msps, + .data_rate_reg_array[3][0] = datarate_220_300Msps, + .data_rate_reg_array[4][0] = datarate_220_300Msps, + .data_rate_reg_array[5][0] = datarate_220_300Msps, + .data_rate_reg_array[6][0] = datarate_220_300Msps, + .data_rate_reg_array[7][0] = datarate_220_300Msps, + }, + { + /* ((350 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 798000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_350Msps), + .data_rate_reg_array[0][0] = datarate_220_350Msps, + .data_rate_reg_array[1][0] = datarate_220_350Msps, + .data_rate_reg_array[2][0] = datarate_220_350Msps, + .data_rate_reg_array[3][0] = datarate_220_350Msps, + .data_rate_reg_array[4][0] = datarate_220_350Msps, + .data_rate_reg_array[5][0] = datarate_220_350Msps, + .data_rate_reg_array[6][0] = datarate_220_350Msps, + .data_rate_reg_array[7][0] = datarate_220_350Msps, + }, + { + /* ((400 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 912000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_400Msps), + .data_rate_reg_array[0][0] = datarate_220_400Msps, + .data_rate_reg_array[1][0] = datarate_220_400Msps, + .data_rate_reg_array[2][0] = datarate_220_400Msps, + .data_rate_reg_array[3][0] = datarate_220_400Msps, + .data_rate_reg_array[4][0] = datarate_220_400Msps, + .data_rate_reg_array[5][0] = datarate_220_400Msps, + .data_rate_reg_array[6][0] = datarate_220_400Msps, + .data_rate_reg_array[7][0] = datarate_220_400Msps, + }, + { + /* ((500 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1140000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_500Msps), + .data_rate_reg_array[0][0] = datarate_220_500Msps, + .data_rate_reg_array[1][0] = datarate_220_500Msps, + .data_rate_reg_array[2][0] = datarate_220_500Msps, + .data_rate_reg_array[3][0] = datarate_220_500Msps, + .data_rate_reg_array[4][0] = datarate_220_500Msps, + .data_rate_reg_array[5][0] = datarate_220_500Msps, + .data_rate_reg_array[6][0] = datarate_220_500Msps, + .data_rate_reg_array[7][0] = datarate_220_500Msps, + }, + { + /* ((600 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1368000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_600Msps), + .data_rate_reg_array[0][0] = datarate_220_600Msps, + .data_rate_reg_array[1][0] = datarate_220_600Msps, + .data_rate_reg_array[2][0] = datarate_220_600Msps, + .data_rate_reg_array[3][0] = datarate_220_600Msps, + .data_rate_reg_array[4][0] = datarate_220_600Msps, + .data_rate_reg_array[5][0] = datarate_220_600Msps, + .data_rate_reg_array[6][0] = datarate_220_600Msps, + .data_rate_reg_array[7][0] = datarate_220_600Msps, + }, + { + /* ((700 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1596000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_700Msps), + .data_rate_reg_array[0][0] = datarate_220_700Msps, + .data_rate_reg_array[1][0] = datarate_220_700Msps, + .data_rate_reg_array[2][0] = datarate_220_700Msps, + .data_rate_reg_array[3][0] = datarate_220_700Msps, + .data_rate_reg_array[4][0] = datarate_220_700Msps, + .data_rate_reg_array[5][0] = datarate_220_700Msps, + .data_rate_reg_array[6][0] = datarate_220_700Msps, + .data_rate_reg_array[7][0] = datarate_220_700Msps, + }, + { + /* ((800 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 1824000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_800Msps), + .data_rate_reg_array[0][0] = datarate_220_800Msps, + .data_rate_reg_array[1][0] = datarate_220_800Msps, + .data_rate_reg_array[2][0] = datarate_220_800Msps, + .data_rate_reg_array[3][0] = datarate_220_800Msps, + .data_rate_reg_array[4][0] = datarate_220_800Msps, + .data_rate_reg_array[5][0] = datarate_220_800Msps, + .data_rate_reg_array[6][0] = datarate_220_800Msps, + .data_rate_reg_array[7][0] = datarate_220_800Msps, + }, + { + /* ((900 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 2052000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_900Msps), + .data_rate_reg_array[0][0] = datarate_220_900Msps, + .data_rate_reg_array[1][0] = datarate_220_900Msps, + .data_rate_reg_array[2][0] = datarate_220_900Msps, + .data_rate_reg_array[3][0] = datarate_220_900Msps, + .data_rate_reg_array[4][0] = datarate_220_900Msps, + .data_rate_reg_array[5][0] = datarate_220_900Msps, + .data_rate_reg_array[6][0] = datarate_220_900Msps, + .data_rate_reg_array[7][0] = datarate_220_900Msps, + }, + { + /* ((1000 MSpS) * (10^6) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 2280000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p0Gsps, + }, + { + /* ((1.2 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 2736000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p2Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p2Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p2Gsps, + }, + { + /* ((1.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 3420000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p5Gsps, + }, + { + /* ((1.7 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 3876000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_1p7Gsps), + .data_rate_reg_array[0][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[1][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[2][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[3][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[4][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[5][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[6][0] = datarate_220_1p7Gsps, + .data_rate_reg_array[7][0] = datarate_220_1p7Gsps, + }, + { + /* ((2.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 4560000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p0Gsps, + .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_wide, + .data_rate_reg_array[6][0] = datarate_220_2p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p0Gsps, + }, + { + /* ((2.1 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 4788000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p1Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p1Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p1Gsps, + }, + { + /* ((2.35 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 5358000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p35Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p35Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p35Gsps, + }, + { + /* ((2.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 5700000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p5Gsps, + }, + { + /* ((2.6 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 5928000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_2p6Gsps), + .data_rate_reg_array[0][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[1][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[2][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[3][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[4][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[5][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[6][0] = datarate_220_2p6Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p6Gsps, + }, + { + /* ((2.8 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 6384000000, + .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_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, + .data_rate_reg_array[6][0] = datarate_220_2p8Gsps, + .data_rate_reg_array[7][0] = datarate_220_2p8Gsps, + }, + { + /* ((3.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 6840000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_3p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_3p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_3p0Gsps, + }, + { + /* ((3.3 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 7524000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_3p3Gsps), + .data_rate_reg_array[0][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[1][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[2][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[3][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[4][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[5][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[6][0] = datarate_220_3p3Gsps, + .data_rate_reg_array[7][0] = datarate_220_3p3Gsps, + }, + { + /* ((3.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 7980000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_3p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_3p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_3p5Gsps, + }, + { + /* ((4.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 9120000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_4p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_4p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_4p0Gsps, + }, + { + /* ((4.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 10260000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_4p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_4p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_4p5Gsps, + }, + { + /* ((5.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 11400000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_5p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_5p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_5p0Gsps, + }, + { + /* ((5.5 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 12540000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_5p5Gsps), + .data_rate_reg_array[0][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[1][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[2][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[3][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[4][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[5][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[6][0] = datarate_220_5p5Gsps, + .data_rate_reg_array[7][0] = datarate_220_5p5Gsps, + }, + { + /* ((6.0 GSpS) * (10^9) * (2.28 bits/symbol)) rounded value */ + .bandwidth = 13680000000, + .data_rate_reg_array_size = ARRAY_SIZE(datarate_220_6p0Gsps), + .data_rate_reg_array[0][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[1][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[2][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[3][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[4][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[5][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[6][0] = datarate_220_6p0Gsps, + .data_rate_reg_array[7][0] = datarate_220_6p0Gsps, + }, +}; + +struct csiphy_reg_t bist_3ph_arr_2_2_0[] = { + {0x0230, 0x1C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0234, 0xFA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0238, 0xD4, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x023C, 0x59, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0258, 0x10, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02C8, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02D0, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02D4, 0x64, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x02D8, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0248, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x024C, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0250, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0244, 0xB1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x025C, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0240, 0x85, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0630, 0x1C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0634, 0xFA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0638, 0xD4, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x063C, 0x59, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0658, 0x10, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06C8, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06D0, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06D4, 0x64, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x06D8, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0648, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x064C, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0650, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0644, 0xB1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x065C, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0640, 0x85, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A30, 0x1C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A34, 0xFA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A38, 0xD4, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A3C, 0x59, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A58, 0x10, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AC8, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AD0, 0xAA, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AD4, 0x64, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0AD8, 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A48, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A4C, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A50, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A44, 0xB1, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A5C, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0A40, 0x85, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_reg_t bist_status_arr_2_2_0[] = { + {0x0344, 0x00, 0x00, CSIPHY_3PH_REGS}, + {0x0744, 0x00, 0x00, CSIPHY_3PH_REGS}, + {0x0B44, 0x00, 0x00, CSIPHY_3PH_REGS}, + {0x00C0, 0x00, 0x00, CSIPHY_2PH_REGS}, + {0x04C0, 0x00, 0x00, CSIPHY_2PH_REGS}, + {0x08C0, 0x00, 0x00, CSIPHY_2PH_REGS}, + {0x0CC0, 0x00, 0x00, CSIPHY_2PH_REGS}, +}; + +struct bist_reg_settings_t bist_setting_2_2_0 = { + .error_status_val_3ph = 0x10, + .error_status_val_2ph = 0x10, + .set_status_update_3ph_base_offset = 0x0240, + .set_status_update_2ph_base_offset = 0x0050, + .bist_status_3ph_base_offset = 0x0344, + .bist_status_2ph_base_offset = 0x00C0, + .bist_sensor_data_3ph_status_base_offset = 0x0340, + .bist_counter_3ph_base_offset = 0x0348, + .bist_counter_2ph_base_offset = 0x00C8, + .number_of_counters = 2, + .num_3ph_bist_settings = ARRAY_SIZE(bist_3ph_arr_2_2_0), + .bist_3ph_settings_arry = bist_3ph_arr_2_2_0, + .bist_2ph_settings_arry = NULL, + .num_2ph_bist_settings = 0, + .num_status_reg = ARRAY_SIZE(bist_status_arr_2_2_0), + .bist_status_arr = bist_status_arr_2_2_0, +}; + +struct data_rate_settings_t data_rate_delta_table_2_2_0 = { + .num_data_rate_settings = ARRAY_SIZE(data_rate_settings_2_2_0), + .data_rate_settings = data_rate_settings_2_2_0, +}; + +struct csiphy_reg_parms_t csiphy_v2_2_0 = { + .mipi_csiphy_interrupt_status0_addr = 0x10B0, + .mipi_csiphy_interrupt_clear0_addr = 0x1058, + .mipi_csiphy_glbl_irq_cmd_addr = 0x1028, + .size_offset_betn_lanes = 0x400, + .status_reg_params = &status_regs_2_2_0, + .csiphy_common_reg_array_size = ARRAY_SIZE(csiphy_common_reg_2_2_0), + .csiphy_reset_enter_array_size = ARRAY_SIZE(csiphy_reset_enter_reg_2_2_0), + .csiphy_reset_exit_array_size = ARRAY_SIZE(csiphy_reset_exit_reg_2_2_0), + .csiphy_2ph_config_array_size = ARRAY_SIZE(csiphy_2ph_v2_2_0_reg), + .csiphy_3ph_config_array_size = ARRAY_SIZE(csiphy_3ph_v2_2_0_reg), + .csiphy_2ph_combo_config_array_size = ARRAY_SIZE(csiphy_2ph_v2_2_0_combo_mode_reg), + .csiphy_3ph_combo_config_array_size = 0, + .csiphy_2ph_3ph_config_array_size = 0, + .csiphy_interrupt_status_size = ARRAY_SIZE(csiphy_irq_reg_2_2_0), + .csiphy_num_common_status_regs = 20, + .aon_sel_params = &aon_cam_select_params_2_2_0, +}; + +struct csiphy_ctrl_t ctrl_reg_2_2_0 = { + .csiphy_common_reg = csiphy_common_reg_2_2_0, + .csiphy_2ph_reg = csiphy_2ph_v2_2_0_reg, + .csiphy_3ph_reg = csiphy_3ph_v2_2_0_reg, + .csiphy_2ph_combo_mode_reg = csiphy_2ph_v2_2_0_combo_mode_reg, + .csiphy_3ph_combo_reg = NULL, + .csiphy_2ph_3ph_mode_reg = NULL, + .csiphy_reg = &csiphy_v2_2_0, + .csiphy_irq_reg = csiphy_irq_reg_2_2_0, + .csiphy_reset_enter_regs = csiphy_reset_enter_reg_2_2_0, + .csiphy_reset_exit_regs = csiphy_reset_exit_reg_2_2_0, + .csiphy_lane_config_reg = csiphy_lane_en_reg_2_2_0, + .data_rates_settings_table = &data_rate_delta_table_2_2_0, + .csiphy_bist_reg = &bist_setting_2_2_0, + .getclockvoting = get_clk_voting_dynamic, +}; + +#endif /* _CAM_CSIPHY_2_2_0_HWREG_H_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_eeprom/cam_eeprom_core.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_eeprom/cam_eeprom_core.c index cb76f254ff..f12387c30e 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_eeprom/cam_eeprom_core.c +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_eeprom/cam_eeprom_core.c @@ -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; } diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_eeprom/cam_eeprom_dev.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_eeprom/cam_eeprom_dev.h index 33e360d45e..e749ec35ad 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_eeprom/cam_eeprom_dev.h +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_eeprom/cam_eeprom_dev.h @@ -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, diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_eeprom/cam_eeprom_soc.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_eeprom/cam_eeprom_soc.c index 8fca8cf34d..7306e80ba3 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_eeprom/cam_eeprom_soc.c +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_eeprom/cam_eeprom_soc.c @@ -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; diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_eeprom/cam_sec_eeprom_core.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_eeprom/cam_sec_eeprom_core.c new file mode 100644 index 0000000000..501f179187 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_eeprom/cam_sec_eeprom_core.c @@ -0,0 +1,2984 @@ +// 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 +#include +#include +#include + +#include "cam_sec_eeprom_core.h" +#include "cam_eeprom_soc.h" +#include "cam_debug_util.h" +#include "cam_common_util.h" +#include "cam_packet_util.h" +#include + +#if defined(CONFIG_SAMSUNG_WACOM_NOTIFIER) +#include "cam_notifier.h" +#endif + +#define CAM_EEPROM_DBG 1 +#define MAX_READ_SIZE 0x7FFFF + +#ifndef FALSE +#define FALSE 0 +#endif + +#ifndef TRUE +#define TRUE 1 +#endif + +char cam_cal_check[INDEX_MAX][SYSFS_FW_VER_SIZE] = { [0 ... INDEX_MAX - 1] = "NULL" }; + +#if defined(CONFIG_SAMSUNG_REAR_TOF) +char rear_tof_cam_cal_check[SYSFS_FW_VER_SIZE] = "NULL"; +#endif + +#if defined(CONFIG_SAMSUNG_FRONT_TOF) +char front_tof_cam_cal_check[SYSFS_FW_VER_SIZE] = "NULL"; +#endif + +#if defined(CONFIG_SAMSUNG_REAR_BOKEH) +char bokeh_module_fw_ver[FROM_MODULE_FW_INFO_SIZE+1]; +#endif + +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) +uint8_t ois_xysr[INDEX_MAX][OIS_XYSR_SIZE] = { 0, }; +uint8_t ois_cross_talk[INDEX_MAX][OIS_CROSSTALK_SIZE] = { 0, }; +#endif + +ConfigInfo_t ConfigInfo[MAX_CONFIG_INFO_IDX]; + +char M_MODULE_INFO[FROM_MODULE_ID_SIZE] = "NULL"; + +char M_HW_INFO[HW_INFO_MAX_SIZE] = ""; +char M_SW_INFO[SW_INFO_MAX_SIZE] = ""; +char M_VENDOR_INFO[VENDOR_INFO_MAX_SIZE] = ""; +char M_PROCESS_INFO[PROCESS_INFO_MAX_SIZE] = ""; + +char S_HW_INFO[HW_INFO_MAX_SIZE] = ""; +char S_SW_INFO[SW_INFO_MAX_SIZE] = ""; +char S_VENDOR_INFO[VENDOR_INFO_MAX_SIZE] = ""; +char S_PROCESS_INFO[PROCESS_INFO_MAX_SIZE] = ""; + +uint8_t CriterionRev; +uint8_t ModuleVerOnPVR; +uint8_t ModuleVerOnSRA; +uint8_t minCalMapVer; + +#if defined(CONFIG_HI847_OTP) +#include "hi847_otp.h" + +struct cam_sensor_i2c_reg_setting load_hi847_otp_setfile = { + load_sensor_hi847_otp_setfile_reg, + sizeof(load_sensor_hi847_otp_setfile_reg)/sizeof(load_sensor_hi847_otp_setfile_reg[0]), + CAMERA_SENSOR_I2C_TYPE_WORD, + CAMERA_SENSOR_I2C_TYPE_WORD, + 50 +}; + +struct cam_sensor_i2c_reg_setting hi847_otp_init_setting1 = { + hi847_otp_init_reg1, + sizeof(hi847_otp_init_reg1)/sizeof(hi847_otp_init_reg1[0]), + CAMERA_SENSOR_I2C_TYPE_WORD, + CAMERA_SENSOR_I2C_TYPE_BYTE, + 10 +}; + +struct cam_sensor_i2c_reg_setting hi847_otp_init_setting2 = { + hi847_otp_init_reg2, + sizeof(hi847_otp_init_reg2)/sizeof(hi847_otp_init_reg2[0]), + CAMERA_SENSOR_I2C_TYPE_WORD, + CAMERA_SENSOR_I2C_TYPE_BYTE, + 10 +}; + +struct cam_sensor_i2c_reg_setting hi847_otp_finish_setting1 = { + hi847_otp_finish_reg1, + sizeof(hi847_otp_finish_reg1)/sizeof(hi847_otp_finish_reg1[0]), + CAMERA_SENSOR_I2C_TYPE_WORD, + CAMERA_SENSOR_I2C_TYPE_BYTE, + 10 +}; + +struct cam_sensor_i2c_reg_setting hi847_otp_finish_setting2 = { + hi847_otp_finish_reg2, + sizeof(hi847_otp_finish_reg2)/sizeof(hi847_otp_finish_reg2[0]), + CAMERA_SENSOR_I2C_TYPE_WORD, + CAMERA_SENSOR_I2C_TYPE_BYTE, + 10 +}; + +#endif +#if defined(CONFIG_HI1337_OTP) +#include "hi1337_otp.h" + +struct cam_sensor_i2c_reg_setting load_hi1337_otp_setfile = { + load_sensor_hi1337_otp_setfile_reg, + sizeof(load_sensor_hi1337_otp_setfile_reg)/sizeof(load_sensor_hi1337_otp_setfile_reg[0]), + CAMERA_SENSOR_I2C_TYPE_WORD, + CAMERA_SENSOR_I2C_TYPE_WORD, + 50 +}; + +struct cam_sensor_i2c_reg_setting hi1337_otp_init_setting1 = { + hi1337_otp_init_reg1, + sizeof(hi1337_otp_init_reg1)/sizeof(hi1337_otp_init_reg1[0]), + CAMERA_SENSOR_I2C_TYPE_WORD, + CAMERA_SENSOR_I2C_TYPE_BYTE, + 10 +}; + +struct cam_sensor_i2c_reg_setting hi1337_otp_init_setting2 = { + hi1337_otp_init_reg2, + sizeof(hi1337_otp_init_reg2)/sizeof(hi1337_otp_init_reg2[0]), + CAMERA_SENSOR_I2C_TYPE_WORD, + CAMERA_SENSOR_I2C_TYPE_BYTE, + 10 +}; + +struct cam_sensor_i2c_reg_setting hi1337_otp_finish_setting1 = { + hi1337_otp_finish_reg1, + sizeof(hi1337_otp_finish_reg1)/sizeof(hi1337_otp_finish_reg1[0]), + CAMERA_SENSOR_I2C_TYPE_WORD, + CAMERA_SENSOR_I2C_TYPE_BYTE, + 10 +}; + +struct cam_sensor_i2c_reg_setting hi1337_otp_finish_setting2 = { + hi1337_otp_finish_reg2, + sizeof(hi1337_otp_finish_reg2)/sizeof(hi1337_otp_finish_reg2[0]), + CAMERA_SENSOR_I2C_TYPE_WORD, + CAMERA_SENSOR_I2C_TYPE_BYTE, + 10 +}; +#endif + +#if defined(CONFIG_HI847_OTP) +static int cam_otp_hi847_init( struct camera_io_master *io_master_info) +{ + int rc = 0; + + if ( !io_master_info ) + { + CAM_ERR( CAM_EEPROM, "io_master_info is NULL" ); + return(-EINVAL); + } + + /* load otp global setfile */ + + rc = camera_io_dev_write( io_master_info, &load_hi847_otp_setfile ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "load otp globle setfile failed" ); + return(rc); + } + + /* OTP initial setting1 write */ + rc = camera_io_dev_write( io_master_info, &hi847_otp_init_setting1 ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "load otp initial setfile1 failed" ); + return(rc); + } + + msleep(10); + + /* OTP initial setting2 write */ + rc = camera_io_dev_write( io_master_info, &hi847_otp_init_setting2 ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "load otp initial setfile2 failed" ); + return(rc); + } + + CAM_INFO( CAM_EEPROM, "load otp init setting done!"); + return rc; +} + +static int cam_otp_hi847_read( struct camera_io_master *io_master_info, uint32_t addr, + uint8_t *memptr ) +{ + int rc = 0; + struct cam_sensor_i2c_reg_setting i2c_reg_settings; + struct cam_sensor_i2c_reg_array i2c_reg_array; + enum camera_sensor_i2c_type addr_type = CAMERA_SENSOR_I2C_TYPE_WORD; + enum camera_sensor_i2c_type data_type = CAMERA_SENSOR_I2C_TYPE_BYTE; + uint32_t read_addr = 0; + + if ( !io_master_info ) + { + CAM_ERR( CAM_EEPROM, "io_master_info is NULL" ); + return(-EINVAL); + } + + i2c_reg_settings.addr_type = addr_type; + i2c_reg_settings.data_type = data_type; + i2c_reg_settings.size = 1; + i2c_reg_settings.delay = 4; + i2c_reg_array.delay = 4; + + /* high address */ + i2c_reg_array.reg_addr = 0x030a; + i2c_reg_array.reg_data = (addr >> 8) & 0xff; + i2c_reg_settings.reg_setting = &i2c_reg_array; + + rc = camera_io_dev_write( io_master_info, &i2c_reg_settings ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "write high address failed" ); + goto err; + } + + /* low address */ + i2c_reg_array.reg_addr = 0x030b; + i2c_reg_array.reg_data = addr & 0xff; + i2c_reg_settings.reg_setting = &i2c_reg_array; + + rc = camera_io_dev_write( io_master_info, &i2c_reg_settings ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "write low address failed" ); + goto err; + } + + i2c_reg_array.reg_addr = 0x031C; + i2c_reg_array.reg_data = 0x00; + i2c_reg_settings.reg_setting = &i2c_reg_array; + + rc = camera_io_dev_write( io_master_info, &i2c_reg_settings ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "write otp signal 1 failed" ); + goto err; + } + i2c_reg_array.reg_addr = 0x031D; + i2c_reg_array.reg_data = 0x00; + i2c_reg_settings.reg_setting = &i2c_reg_array; + + rc = camera_io_dev_write( io_master_info, &i2c_reg_settings ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "write otp signal 2 failed" ); + goto err; + } + /* OTP continue read mode */ + i2c_reg_array.reg_addr = 0x0302; + i2c_reg_array.reg_data = 0x01; + i2c_reg_settings.reg_setting = &i2c_reg_array; + + rc = camera_io_dev_write( io_master_info, &i2c_reg_settings ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "continuous read failed" ); + goto err; + } + + /* OTP data verify */ + rc = camera_io_dev_read( io_master_info, 0x030a, &read_addr, addr_type, addr_type, false); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "read failed rc %d", rc ); + } + if(read_addr != addr) + CAM_INFO( CAM_EEPROM, "ERROR WRONG addr=0x%x read_addr=0x%x", addr, read_addr ); + + CAM_INFO( CAM_EEPROM, "addr=0x%x read_addr=0x%x", addr, read_addr ); + /* OTP data read */ + rc = camera_io_dev_read_seq( io_master_info, 0x0308, memptr, addr_type, data_type, 1 ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "read failed rc %d", rc ); + } + + CAM_ERR( CAM_EEPROM, "addr=0x%x read_addr=0x%x *memptr=0x%x", addr, read_addr, *memptr ); + +err: + return(rc); +} + + +static int cam_otp_hi847_burst_read( struct camera_io_master *io_master_info, uint32_t addr, + uint8_t *memptr, uint32_t read_size ) +{ + int rc = 0; + struct cam_sensor_i2c_reg_setting i2c_reg_settings; + struct cam_sensor_i2c_reg_array i2c_reg_array; + enum camera_sensor_i2c_type addr_type = CAMERA_SENSOR_I2C_TYPE_WORD; + enum camera_sensor_i2c_type data_type = CAMERA_SENSOR_I2C_TYPE_BYTE; + uint32_t read_addr = 0; + + if ( !io_master_info ) + { + CAM_ERR( CAM_EEPROM, "io_master_info is NULL" ); + return(-EINVAL); + } + + i2c_reg_settings.addr_type = addr_type; + i2c_reg_settings.data_type = data_type; + i2c_reg_settings.size = 1; + i2c_reg_settings.delay = 4; + i2c_reg_array.delay = 4; + + /* high address */ + i2c_reg_array.reg_addr = 0x030a; + i2c_reg_array.reg_data = (addr >> 8) & 0xff; + i2c_reg_settings.reg_setting = &i2c_reg_array; + + rc = camera_io_dev_write( io_master_info, &i2c_reg_settings ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "write high address failed" ); + goto err; + } + + /* low address */ + i2c_reg_array.reg_addr = 0x030b; + i2c_reg_array.reg_data = addr & 0xff; + i2c_reg_settings.reg_setting = &i2c_reg_array; + + rc = camera_io_dev_write( io_master_info, &i2c_reg_settings ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "write low address failed" ); + goto err; + } + + i2c_reg_array.reg_addr = 0x031C; + i2c_reg_array.reg_data = 0x00; + i2c_reg_settings.reg_setting = &i2c_reg_array; + + rc = camera_io_dev_write( io_master_info, &i2c_reg_settings ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "write otp signal 1 failed" ); + goto err; + } + i2c_reg_array.reg_addr = 0x031D; + i2c_reg_array.reg_data = 0x00; + i2c_reg_settings.reg_setting = &i2c_reg_array; + + rc = camera_io_dev_write( io_master_info, &i2c_reg_settings ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "write otp signal 2 failed" ); + goto err; + } + /* OTP continue read mode */ + i2c_reg_array.reg_addr = 0x0302; + i2c_reg_array.reg_data = 0x01; + i2c_reg_settings.reg_setting = &i2c_reg_array; + + rc = camera_io_dev_write( io_master_info, &i2c_reg_settings ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "continuous read failed" ); + goto err; + } + + /* OTP data verify*/ + rc = camera_io_dev_read( io_master_info, 0x030a, &read_addr, addr_type, addr_type, false); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "read failed rc %d", rc ); + } + + CAM_INFO( CAM_EEPROM, "CHECK ERROR addr=0x%x read_addr=0x%x", addr, read_addr ); + + /* burst read on */ + i2c_reg_array.reg_addr = 0x0712; + i2c_reg_array.reg_data = 0x01; + i2c_reg_settings.reg_setting = &i2c_reg_array; + + rc = camera_io_dev_write( io_master_info, &i2c_reg_settings ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "continuous read failed" ); + goto err; + } + + /* OTP data burst read */ + rc = camera_io_dev_read_seq( io_master_info, 0x0308, memptr, addr_type, data_type, read_size ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "read failed rc %d", rc ); + } + + /* burst read off */ + i2c_reg_array.reg_addr = 0x0712; + i2c_reg_array.reg_data = 0x00; + i2c_reg_settings.reg_setting = &i2c_reg_array; + + rc = camera_io_dev_write( io_master_info, &i2c_reg_settings ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "continuous read failed" ); + goto err; + } + +err: + return(rc); +} + +int cam_otp_hi847_read_memory( struct cam_eeprom_ctrl_t *e_ctrl, + struct cam_eeprom_memory_block_t *block ) + +{ + struct cam_eeprom_memory_map_t *emap = block->map; + struct cam_eeprom_soc_private *eb_info; + uint32_t addr = 0; + uint32_t read_size = 0; + uint32_t offset = 0; + uint8_t OTP_Bank = 0; + uint8_t *memptr = block->mapdata; + int read_bytes = 0; + int rc = 0; + int j = 0; + + if ( !e_ctrl ) + { + CAM_ERR( CAM_EEPROM, "e_ctrl is NULL" ); + return(-EINVAL); + } + + eb_info = (struct cam_eeprom_soc_private *) e_ctrl->soc_info.soc_private; + + rc = cam_otp_hi847_init(&e_ctrl->io_master_info); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "OTP init failed" ); + goto err; + } + + /* select bank */ + rc = cam_otp_hi847_read( &e_ctrl->io_master_info, SENSOR_HI847_OTP_BANK_SELECT_REGISTER, &OTP_Bank ); + + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "read data failed" ); + goto err; + } + CAM_INFO( CAM_EEPROM, "current OTP_Bank: %d", OTP_Bank ); + + switch ( OTP_Bank ) + { + /* Refer to OTP document */ + case 0: + case 1: + offset = 0x0704; + break; + + case 3: + offset = 0x0D04; + break; + + case 7: + offset = 0x1304; + break; + + case 0xF: + offset = 0x1904; + break; + + default: + CAM_INFO( CAM_EEPROM, "Bank error : Bank(%d)", OTP_Bank ); + return EINVAL; + } + CAM_INFO( CAM_EEPROM, "read OTP offset: 0x%x", offset ); + + for ( j = 1; j < block->num_map; j++ ) + { + read_size = emap[j].mem.valid_size; + memptr = block->mapdata + emap[j].mem.addr; + addr = emap[j].mem.addr + offset; + + CAM_INFO( CAM_EEPROM, "emap[%d / %d].mem.addr=0x%x OTP addr=0x%x read_size=0x%x mapdata=%pK memptr=%pK subdev=%d type=%d", + j, block->num_map, emap[j].mem.addr, addr, read_size, block->mapdata, memptr, e_ctrl->soc_info.index, e_ctrl->eeprom_device_type ); + + cam_otp_hi847_burst_read( &e_ctrl->io_master_info, addr, memptr, read_size ); + memptr += read_size; + } + CAM_INFO( CAM_EEPROM, "read data done memptr=%pK VR:: End read_bytes=0x%x\n", memptr, read_bytes ); + + /* OTP finish setting1 write */ + rc = camera_io_dev_write( &e_ctrl->io_master_info, &hi847_otp_finish_setting1 ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "load otp finish setfile1 failed" ); + return(rc); + } + + msleep(10); + + /* OTP finish setting2 write */ + rc = camera_io_dev_write( &e_ctrl->io_master_info, &hi847_otp_finish_setting2 ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "load otp finish setfile2 failed" ); + return(rc); + } + +err: + return(rc); +} + +#endif +#if defined(CONFIG_HI1337_OTP) +static int cam_otp_hi1337_init( struct camera_io_master *io_master_info) +{ + int rc = 0; + + if ( !io_master_info ) + { + CAM_ERR( CAM_EEPROM, "io_master_info is NULL" ); + return(-EINVAL); + } + + /* load otp global setfile */ + + rc = camera_io_dev_write( io_master_info, &load_hi1337_otp_setfile ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "load otp globle setfile failed" ); + return(rc); + } + + /* OTP initial setting1 write */ + rc = camera_io_dev_write( io_master_info, &hi1337_otp_init_setting1 ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "load otp initial setfile1 failed" ); + return(rc); + } + + msleep(10); + + /* OTP initial setting2 write */ + rc = camera_io_dev_write( io_master_info, &hi1337_otp_init_setting2 ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "load otp initial setfile2 failed" ); + return(rc); + } + + CAM_INFO( CAM_EEPROM, "load otp init setting done!"); + return rc; +} + +static int cam_otp_hi1337_read( struct camera_io_master *io_master_info, uint32_t addr, + uint8_t *memptr ) +{ + int rc = 0; + struct cam_sensor_i2c_reg_setting i2c_reg_settings; + struct cam_sensor_i2c_reg_array i2c_reg_array; + enum camera_sensor_i2c_type addr_type = CAMERA_SENSOR_I2C_TYPE_WORD; + enum camera_sensor_i2c_type data_type = CAMERA_SENSOR_I2C_TYPE_BYTE; + uint32_t read_addr = 0; + + if ( !io_master_info ) + { + CAM_ERR( CAM_EEPROM, "io_master_info is NULL" ); + return(-EINVAL); + } + + i2c_reg_settings.addr_type = addr_type; + i2c_reg_settings.data_type = data_type; + i2c_reg_settings.size = 1; + i2c_reg_settings.delay = 4; + i2c_reg_array.delay = 4; + + /* high address */ + i2c_reg_array.reg_addr = 0x030a; + i2c_reg_array.reg_data = (addr >> 8) & 0xff; + i2c_reg_settings.reg_setting = &i2c_reg_array; + + rc = camera_io_dev_write( io_master_info, &i2c_reg_settings ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "write high address failed" ); + goto err; + } + + /* low address */ + i2c_reg_array.reg_addr = 0x030b; + i2c_reg_array.reg_data = addr & 0xff; + i2c_reg_settings.reg_setting = &i2c_reg_array; + + rc = camera_io_dev_write( io_master_info, &i2c_reg_settings ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "write low address failed" ); + goto err; + } + + i2c_reg_array.reg_addr = 0x031C; + i2c_reg_array.reg_data = 0x00; + i2c_reg_settings.reg_setting = &i2c_reg_array; + + rc = camera_io_dev_write( io_master_info, &i2c_reg_settings ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "write otp signal 1 failed" ); + goto err; + } + i2c_reg_array.reg_addr = 0x031D; + i2c_reg_array.reg_data = 0x00; + i2c_reg_settings.reg_setting = &i2c_reg_array; + + rc = camera_io_dev_write( io_master_info, &i2c_reg_settings ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "write otp signal 2 failed" ); + goto err; + } + /* OTP continue read mode */ + i2c_reg_array.reg_addr = 0x0302; + i2c_reg_array.reg_data = 0x01; + i2c_reg_settings.reg_setting = &i2c_reg_array; + + rc = camera_io_dev_write( io_master_info, &i2c_reg_settings ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "continuous read failed" ); + goto err; + } + + /* OTP data verify */ + rc = camera_io_dev_read( io_master_info, 0x030a, &read_addr, addr_type, addr_type, false); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "read failed rc %d", rc ); + } + if(read_addr != addr) + CAM_INFO( CAM_EEPROM, "ERROR WRONG addr=0x%x read_addr=0x%x", addr, read_addr ); + + CAM_INFO( CAM_EEPROM, "addr=0x%x read_addr=0x%x", addr, read_addr ); + /* OTP data read */ + rc = camera_io_dev_read_seq( io_master_info, 0x0308, memptr, addr_type, data_type, 1 ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "read failed rc %d", rc ); + } + + CAM_ERR( CAM_EEPROM, "addr=0x%x read_addr=0x%x *memptr=0x%x", addr, read_addr, *memptr ); + +err: + return(rc); +} + + +static int cam_otp_hi1337_burst_read( struct camera_io_master *io_master_info, uint32_t addr, + uint8_t *memptr, uint32_t read_size ) +{ + int rc = 0; + struct cam_sensor_i2c_reg_setting i2c_reg_settings; + struct cam_sensor_i2c_reg_array i2c_reg_array; + enum camera_sensor_i2c_type addr_type = CAMERA_SENSOR_I2C_TYPE_WORD; + enum camera_sensor_i2c_type data_type = CAMERA_SENSOR_I2C_TYPE_BYTE; + uint32_t read_addr = 0; + + if ( !io_master_info ) + { + CAM_ERR( CAM_EEPROM, "io_master_info is NULL" ); + return(-EINVAL); + } + + i2c_reg_settings.addr_type = addr_type; + i2c_reg_settings.data_type = data_type; + i2c_reg_settings.size = 1; + i2c_reg_settings.delay = 4; + i2c_reg_array.delay = 4; + + /* high address */ + i2c_reg_array.reg_addr = 0x030a; + i2c_reg_array.reg_data = (addr >> 8) & 0xff; + i2c_reg_settings.reg_setting = &i2c_reg_array; + + rc = camera_io_dev_write( io_master_info, &i2c_reg_settings ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "write high address failed" ); + goto err; + } + + /* low address */ + i2c_reg_array.reg_addr = 0x030b; + i2c_reg_array.reg_data = addr & 0xff; + i2c_reg_settings.reg_setting = &i2c_reg_array; + + rc = camera_io_dev_write( io_master_info, &i2c_reg_settings ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "write low address failed" ); + goto err; + } + + i2c_reg_array.reg_addr = 0x031C; + i2c_reg_array.reg_data = 0x00; + i2c_reg_settings.reg_setting = &i2c_reg_array; + + rc = camera_io_dev_write( io_master_info, &i2c_reg_settings ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "write otp signal 1 failed" ); + goto err; + } + i2c_reg_array.reg_addr = 0x031D; + i2c_reg_array.reg_data = 0x00; + i2c_reg_settings.reg_setting = &i2c_reg_array; + + rc = camera_io_dev_write( io_master_info, &i2c_reg_settings ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "write otp signal 2 failed" ); + goto err; + } + /* OTP continue read mode */ + i2c_reg_array.reg_addr = 0x0302; + i2c_reg_array.reg_data = 0x01; + i2c_reg_settings.reg_setting = &i2c_reg_array; + + rc = camera_io_dev_write( io_master_info, &i2c_reg_settings ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "continuous read failed" ); + goto err; + } + + /* OTP data verify*/ + rc = camera_io_dev_read( io_master_info, 0x030a, &read_addr, addr_type, addr_type, false); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "read failed rc %d", rc ); + } + + CAM_INFO( CAM_EEPROM, "CHECK ERROR addr=0x%x read_addr=0x%x", addr, read_addr ); + + /* burst read on */ + i2c_reg_array.reg_addr = 0x0712; + i2c_reg_array.reg_data = 0x01; + i2c_reg_settings.reg_setting = &i2c_reg_array; + + rc = camera_io_dev_write( io_master_info, &i2c_reg_settings ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "continuous read failed" ); + goto err; + } + + /* OTP data burst read */ + rc = camera_io_dev_read_seq( io_master_info, 0x0308, memptr, addr_type, data_type, read_size ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "read failed rc %d", rc ); + } + + /* burst read off */ + i2c_reg_array.reg_addr = 0x0712; + i2c_reg_array.reg_data = 0x00; + i2c_reg_settings.reg_setting = &i2c_reg_array; + + rc = camera_io_dev_write( io_master_info, &i2c_reg_settings ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "continuous read failed" ); + goto err; + } + +err: + return(rc); +} + +int cam_otp_hi1337_read_memory( struct cam_eeprom_ctrl_t *e_ctrl, + struct cam_eeprom_memory_block_t *block ) + +{ + struct cam_eeprom_memory_map_t *emap = block->map; + struct cam_eeprom_soc_private *eb_info; + uint32_t addr = 0; + uint32_t read_size = 0; + uint32_t offset = 0; + uint8_t OTP_Bank = 0; + uint8_t *memptr = block->mapdata; + int read_bytes = 0; + int rc = 0; + int j = 0; + + if ( !e_ctrl ) + { + CAM_ERR( CAM_EEPROM, "e_ctrl is NULL" ); + return(-EINVAL); + } + + eb_info = (struct cam_eeprom_soc_private *) e_ctrl->soc_info.soc_private; + + rc = cam_otp_hi1337_init(&e_ctrl->io_master_info); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "OTP init failed" ); + goto err; + } + + /* select bank */ + rc = cam_otp_hi1337_read( &e_ctrl->io_master_info, SENSOR_HI1337_OTP_BANK_SELECT_REGISTER, &OTP_Bank ); + + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "read data failed" ); + goto err; + } + CAM_INFO( CAM_EEPROM, "current OTP_Bank: %d", OTP_Bank ); + + switch ( OTP_Bank ) + { + /* Refer to OTP document */ + case 0: + case 1: + offset = 0x0704; + break; + + case 3: + offset = 0x0D04; + break; + + case 7: + offset = 0x1304; + break; + + case 0xF: + offset = 0x1904; + break; + + default: + CAM_INFO( CAM_EEPROM, "Bank error : Bank(%d)", OTP_Bank ); + return EINVAL; + } + CAM_INFO( CAM_EEPROM, "read OTP offset: 0x%x", offset ); + + for ( j = 1; j < block->num_map; j++ ) + { + read_size = emap[j].mem.valid_size; + memptr = block->mapdata + emap[j].mem.addr; + addr = emap[j].mem.addr + offset; + + CAM_INFO( CAM_EEPROM, "emap[%d / %d].mem.addr=0x%x OTP addr=0x%x read_size=0x%x mapdata=%pK memptr=%pK subdev=%d type=%d", + j, block->num_map, emap[j].mem.addr, addr, read_size, block->mapdata, memptr, e_ctrl->soc_info.index, e_ctrl->eeprom_device_type ); + + cam_otp_hi1337_burst_read( &e_ctrl->io_master_info, addr, memptr, read_size ); + memptr += read_size; + } + CAM_INFO( CAM_EEPROM, "read data done memptr=%pK VR:: End read_bytes=0x%x\n", memptr, read_bytes ); + + /* OTP finish setting1 write */ + rc = camera_io_dev_write( &e_ctrl->io_master_info, &hi1337_otp_finish_setting1 ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "load otp finish setfile1 failed" ); + return(rc); + } + + msleep(10); + + /* OTP finish setting2 write */ + rc = camera_io_dev_write( &e_ctrl->io_master_info, &hi1337_otp_finish_setting2 ); + if ( rc < 0 ) + { + CAM_ERR( CAM_EEPROM, "load otp finish setfile2 failed" ); + return(rc); + } + +err: + return(rc); +} +#endif + +#ifdef CAM_EEPROM_DBG_DUMP +int cam_sec_eeprom_dump(uint32_t subdev_id, uint8_t *mapdata, uint32_t addr, uint32_t size) +{ + int rc = 0; + int j; + + if (mapdata == NULL) { + CAM_ERR(CAM_EEPROM, "mapdata is NULL"); + return -1; + } + if (size == 0) { + CAM_ERR(CAM_EEPROM, "size is 0"); + return -1; + } + + CAM_INFO(CAM_EEPROM, "subdev_id: %d, eeprom dump addr = 0x%04X, total read size = %d", subdev_id, addr, size); + for (j = 0; j < size; j++) + CAM_INFO(CAM_EEPROM, "addr = 0x%04X, data = 0x%02X", addr+j, mapdata[addr+j]); + + return rc; +} +#endif + +static int isValidIdx(eConfigNameInfoIdx confIdx, uint32_t *ConfAddr) +{ + if (confIdx >= MAX_CONFIG_INFO_IDX) + { + CAM_ERR(CAM_EEPROM, "invalid index: %d, max:%d", confIdx, MAX_CONFIG_INFO_IDX); + return 0; + } + + if (ConfigInfo[confIdx].isSet == 1) + { + *ConfAddr = ConfigInfo[confIdx].value; + CAM_DBG(CAM_EEPROM, "%s: %d, isSet: %d, addr: 0x%08X", + ConfigInfoStrs[confIdx], confIdx, ConfigInfo[confIdx].isSet, + ConfigInfo[confIdx].value); + + return 1; + } + else + { + *ConfAddr = 0; + CAM_DBG(CAM_EEPROM, "%s: %d, isSet: %d", + ConfigInfoStrs[confIdx], confIdx, ConfigInfo[confIdx].isSet); + + return 0; + } +} + +static int cam_sec_eeprom_module_info_set_sensor_id(ModuleInfo_t *mInfo, eConfigNameInfoIdx idx, uint8_t *pMapData) +{ + char *sensorId = ""; + + if ((mInfo == NULL || mInfo->mVer.sensor_id == NULL || mInfo->mVer.sensor2_id == NULL) + || (idx != ADDR_M_SENSOR_ID && idx != ADDR_S_SENSOR_ID)) + { + CAM_ERR(CAM_EEPROM, "sensor_id is NULL"); + return 1; + } + + if (idx == ADDR_S_SENSOR_ID) + sensorId = mInfo->mVer.sensor2_id; + else + sensorId = mInfo->mVer.sensor_id; + + memcpy(sensorId, pMapData, FROM_SENSOR_ID_SIZE); + sensorId[FROM_SENSOR_ID_SIZE] = '\0'; + + CAM_INFO(CAM_EEPROM, + "%s sensor_id = %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x", + mInfo->typeStr, + sensorId[0], sensorId[1], sensorId[2], sensorId[3], + sensorId[4], sensorId[5], sensorId[6], sensorId[7], + sensorId[8], sensorId[9], sensorId[10], sensorId[11], + sensorId[12], sensorId[13], sensorId[14], sensorId[15]); + + return 0; +} + +static int cam_sec_eeprom_module_info_set_module_id(ModuleInfo_t *mInfo, uint8_t *pMapData) +{ + char *moduleId = ""; + + if (mInfo == NULL || mInfo->mVer.module_id == NULL) + { + CAM_ERR(CAM_EEPROM, "module_id is NULL"); + return 1; + } + moduleId = mInfo->mVer.module_id; + + memcpy(moduleId, pMapData, FROM_MODULE_ID_SIZE); + moduleId[FROM_MODULE_ID_SIZE] = '\0'; + + CAM_DBG(CAM_EEPROM, "%s module_id = %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X", + mInfo->typeStr, + moduleId[0], moduleId[1], moduleId[2], moduleId[3], + moduleId[4], moduleId[5], moduleId[6], moduleId[7], + moduleId[8], moduleId[9]); + + return 0; +} + +static int cam_sec_eeprom_module_info_set_load_version(int rev, struct cam_eeprom_ctrl_t *e_ctrl, ModuleInfo_t *mInfo) +{ + int rc = 0; + int i = 0; + + uint8_t loadfrom = 'N'; + uint8_t sensor_ver[2] = {0,}; + uint8_t dll_ver[2] = {0,}; + uint32_t normal_is_supported = 0; + uint8_t normal_cri_rev = 0; + uint8_t bVerNull = FALSE; + + uint32_t ConfIdx = 0; + uint32_t ConfAddr = 0; + + char cal_ver[FROM_MODULE_FW_INFO_SIZE+1] = ""; + char ideal_ver[FROM_MODULE_FW_INFO_SIZE+1] = ""; + + char *module_fw_ver; + char *load_fw_ver; + char *phone_fw_ver; + + if ((e_ctrl == NULL) || (e_ctrl->cal_data.mapdata == NULL)) { + CAM_ERR(CAM_EEPROM, "e_ctrl is NULL"); + return -EINVAL; + } + + if ((mInfo == NULL) || (mInfo->mVer.sensor_id == NULL)) + { + CAM_ERR(CAM_EEPROM, "invalid argument"); + rc = 1; + return rc; + } + + module_fw_ver = mInfo->mVer.module_fw_ver; + phone_fw_ver = mInfo->mVer.phone_fw_ver; + load_fw_ver = mInfo->mVer.load_fw_ver; + + memset(module_fw_ver, 0x00, FROM_MODULE_FW_INFO_SIZE+1); + memset(phone_fw_ver, 0x00, FROM_MODULE_FW_INFO_SIZE+1); + memset(load_fw_ver, 0x00, FROM_MODULE_FW_INFO_SIZE+1); + + if (isValidIdx(ADDR_M_CALMAP_VER, &ConfAddr) == 1) { + ConfAddr += 0x03; + mInfo->mapVer = e_ctrl->cal_data.mapdata[ConfAddr]; + } + + if (mInfo->mapVer >= 0x80 || !isalnum(mInfo->mapVer)) { + CAM_INFO(CAM_EEPROM, "subdev_id: %d, map version = 0x%x", mInfo->type, mInfo->mapVer); + mInfo->mapVer = '0'; + } else { + CAM_INFO(CAM_EEPROM, "subdev_id: %d, map version = %c [0x%x]", mInfo->type, mInfo->mapVer, mInfo->mapVer); + } + + if (mInfo->M_or_S == MAIN_MODULE) { + ConfIdx = ADDR_M_FW_VER; + } else { + ConfIdx = ADDR_S_FW_VER; + } + + if (isValidIdx(ConfIdx, &ConfAddr) == 1) + { + memcpy(module_fw_ver, &e_ctrl->cal_data.mapdata[ConfAddr], FROM_MODULE_FW_INFO_SIZE); + module_fw_ver[FROM_MODULE_FW_INFO_SIZE] = '\0'; + CAM_DBG(CAM_EEPROM, + "%s manufacturer info = %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x", + mInfo->typeStr, + module_fw_ver[0], module_fw_ver[1], module_fw_ver[2], module_fw_ver[3], module_fw_ver[4], + module_fw_ver[5], module_fw_ver[6], module_fw_ver[7], module_fw_ver[8], module_fw_ver[9], + module_fw_ver[10]); + + /* temp phone version */ + snprintf(phone_fw_ver, FROM_MODULE_FW_INFO_SIZE+1, "%s%s%s%s", + mInfo->mVer.phone_hw_info, mInfo->mVer.phone_sw_info, + mInfo->mVer.phone_vendor_info, mInfo->mVer.phone_process_info); + phone_fw_ver[FROM_MODULE_FW_INFO_SIZE] = '\0'; + CAM_DBG(CAM_EEPROM, + "%s phone info = %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x", + mInfo->typeStr, + phone_fw_ver[0], phone_fw_ver[1], phone_fw_ver[2], phone_fw_ver[3], phone_fw_ver[4], + phone_fw_ver[5], phone_fw_ver[6], phone_fw_ver[7], phone_fw_ver[8], phone_fw_ver[9], + phone_fw_ver[10]); + } + +#if defined(CONFIG_SAMSUNG_REAR_BOKEH) + if (mInfo->type == SEC_WIDE_SENSOR) { + ConfIdx = ADDR_CUSTOM_FW_VER; + memset(bokeh_module_fw_ver,0x00,sizeof(bokeh_module_fw_ver)); + if (isValidIdx(ConfIdx, &ConfAddr) == 1) + { + memcpy(bokeh_module_fw_ver, &e_ctrl->cal_data.mapdata[ConfAddr], FROM_MODULE_FW_INFO_SIZE); + bokeh_module_fw_ver[FROM_MODULE_FW_INFO_SIZE] = '\0'; + CAM_DBG(CAM_EEPROM, + "[BOKEH]%s manufacturer info = %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x", + mInfo->typeStr, + bokeh_module_fw_ver[0], bokeh_module_fw_ver[1], bokeh_module_fw_ver[2], bokeh_module_fw_ver[3], bokeh_module_fw_ver[4], + bokeh_module_fw_ver[5], bokeh_module_fw_ver[6], bokeh_module_fw_ver[7], bokeh_module_fw_ver[8], bokeh_module_fw_ver[9], + bokeh_module_fw_ver[10]); + } + ConfIdx = ADDR_CUSTOM_SENSOR_ID; + memset(sensor_id[INDEX_REAR3],0x00,sizeof(sensor_id[INDEX_REAR3])); + if (isValidIdx(ConfIdx, &ConfAddr) == 1) + { + memcpy(sensor_id[INDEX_REAR3], &e_ctrl->cal_data.mapdata[ConfAddr], FROM_SENSOR_ID_SIZE); + sensor_id[INDEX_REAR3][FROM_SENSOR_ID_SIZE] = '\0'; + CAM_DBG(CAM_EEPROM, + "[BOKEH]%s sensor_id = %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x", + mInfo->typeStr, + sensor_id[INDEX_REAR3][0], sensor_id[INDEX_REAR3][1], sensor_id[INDEX_REAR3][2], sensor_id[INDEX_REAR3][3], + sensor_id[INDEX_REAR3][4], sensor_id[INDEX_REAR3][5], sensor_id[INDEX_REAR3][6], sensor_id[INDEX_REAR3][7], + sensor_id[INDEX_REAR3][8], sensor_id[INDEX_REAR3][9], sensor_id[INDEX_REAR3][10], sensor_id[INDEX_REAR3][11], + sensor_id[INDEX_REAR3][12], sensor_id[INDEX_REAR3][13], sensor_id[INDEX_REAR3][14], sensor_id[INDEX_REAR3][15]); + } + } + //fill rear3 fw info + sprintf(fw_ver[INDEX_REAR3], "%s %s\n", bokeh_module_fw_ver, bokeh_module_fw_ver); + sprintf(fw_full_ver[INDEX_REAR3], "%s %s %s\n", bokeh_module_fw_ver, bokeh_module_fw_ver,bokeh_module_fw_ver); +#endif + + /* temp load version */ + if (mInfo->type == SEC_WIDE_SENSOR && mInfo->M_or_S == MAIN_MODULE && + strncmp(phone_fw_ver, module_fw_ver, HW_INFO_MAX_SIZE-1) == 0 && + strncmp(&phone_fw_ver[HW_INFO_MAX_SIZE-1], &module_fw_ver[HW_INFO_MAX_SIZE-1], SW_INFO_MAX_SIZE-1) >= 0) + { + CAM_INFO(CAM_EEPROM, "Load from phone"); + strcpy(load_fw_ver, phone_fw_ver); + loadfrom = 'P'; + } + else + { + CAM_INFO(CAM_EEPROM, "Load from EEPROM"); + strcpy(load_fw_ver, module_fw_ver); + loadfrom = 'E'; + } + + // basically, cal_ver is the version when the module is calibrated. + // It can be different in case that the module_fw_ver is updated by FW on F-ROM for testing. + // otherwise, module_fw_ver and cal_ver should be the same. + if (mInfo->M_or_S == MAIN_MODULE) { + ConfIdx = ADDR_M_FW_VER; + } else { + ConfIdx = ADDR_S_FW_VER; + } + + if (isValidIdx(ConfIdx, &ConfAddr) == 1) + { + bVerNull = FALSE; + for(i = 0; i < FROM_MODULE_FW_INFO_SIZE; i ++) { + if (e_ctrl->cal_data.mapdata[ConfAddr + i] >= 0x80 || !isalnum(e_ctrl->cal_data.mapdata[ConfAddr + i])) { + cal_ver[i] = ' '; + bVerNull = TRUE; + } else { + cal_ver[i] = e_ctrl->cal_data.mapdata[ConfAddr + i]; + } + + if (phone_fw_ver[i] >= 0x80 || !isalnum(phone_fw_ver[i])) + { + phone_fw_ver[i] = ' '; + } + } + } + + if (isValidIdx(ADDR_M_MODULE_ID, &ConfAddr) == 1) + { + ConfAddr += 0x06; + cam_sec_eeprom_module_info_set_module_id(mInfo, &e_ctrl->cal_data.mapdata[ConfAddr]); + } + + sensor_ver[0] = 0; + sensor_ver[1] = 0; + dll_ver[0] = 0; + dll_ver[1] = 0; + + ConfIdx = ADDR_M_SENSOR_ID; + if (isValidIdx(ConfIdx, &ConfAddr) == 1) + { + cam_sec_eeprom_module_info_set_sensor_id(mInfo, ConfIdx, &e_ctrl->cal_data.mapdata[ConfAddr]); + sensor_ver[0] = mInfo->mVer.sensor_id[8]; + } + + if (isValidIdx(ADDR_M_DLL_VER, &ConfAddr) == 1) + { + ConfAddr += 0x03; + dll_ver[0] = e_ctrl->cal_data.mapdata[ConfAddr] - '0'; + } + + normal_is_supported = e_ctrl->camera_normal_cal_crc; + + if (isValidIdx(DEF_M_CHK_VER, &ConfAddr) == 1) + { + normal_cri_rev = CriterionRev; + } + + strcpy(ideal_ver, phone_fw_ver); + if (module_fw_ver[9] < 0x80 && isalnum(module_fw_ver[9])) { + ideal_ver[9] = module_fw_ver[9]; + } + if (module_fw_ver[10] < 0x80 && isalnum(module_fw_ver[10])) { + ideal_ver[10] = module_fw_ver[10]; + } + + if (rev < normal_cri_rev && bVerNull == TRUE) + { + strcpy(cal_ver, ideal_ver); + loadfrom = 'P'; + CAM_ERR(CAM_EEPROM, "set tmp ver: %s", cal_ver); + } + + snprintf(mInfo->mVer.module_info, SYSFS_MODULE_INFO_SIZE, "SSCAL %c%s%04X%04XR%02dM%cD%02XD%02XS%02XS%02X/%s%04X%04XR%02d", + loadfrom, cal_ver, (e_ctrl->is_supported >> 16) & 0xFFFF, e_ctrl->is_supported & 0xFFFF, + rev & 0xFF, mInfo->mapVer, dll_ver[0] & 0xFF, dll_ver[1] & 0xFF, sensor_ver[0] & 0xFF, sensor_ver[1] & 0xFF, + ideal_ver, (normal_is_supported >> 16) & 0xFFFF, normal_is_supported & 0xFFFF, normal_cri_rev); +#ifdef CAM_EEPROM_DBG + CAM_DBG(CAM_EEPROM, "%s info = %s", mInfo->typeStr, mInfo->mVer.module_info); +#endif + + /* update EEPROM fw version on sysfs */ + // if (mInfo->type != SEC_WIDE_SENSOR) + { + strncpy(load_fw_ver, module_fw_ver, FROM_MODULE_FW_INFO_SIZE); + load_fw_ver[FROM_MODULE_FW_INFO_SIZE] = '\0'; + sprintf(phone_fw_ver, "N"); + } + + // tele module + if (mInfo->type == SEC_WIDE_SENSOR && mInfo->M_or_S != MAIN_MODULE) + { + sprintf(phone_fw_ver, "N"); + } + + sprintf(mInfo->mVer.cam_fw_ver, "%s %s\n", module_fw_ver, load_fw_ver); + sprintf(mInfo->mVer.cam_fw_full_ver, "%s %s %s\n", module_fw_ver, phone_fw_ver, load_fw_ver); + +#ifdef CAM_EEPROM_DBG + CAM_DBG(CAM_EEPROM, "%s manufacturer info = %c %c %c %c %c %c %c %c %c %c %c", + mInfo->typeStr, + module_fw_ver[0], module_fw_ver[1], module_fw_ver[2], module_fw_ver[3], module_fw_ver[4], + module_fw_ver[5], module_fw_ver[6], module_fw_ver[7], module_fw_ver[8], module_fw_ver[9], + module_fw_ver[10]); + + CAM_DBG(CAM_EEPROM, "%s phone_fw_ver = %c %c %c %c %c %c %c %c %c %c %c", + mInfo->typeStr, + phone_fw_ver[0], phone_fw_ver[1], phone_fw_ver[2], phone_fw_ver[3], phone_fw_ver[4], + phone_fw_ver[5], phone_fw_ver[6], phone_fw_ver[7], phone_fw_ver[8], phone_fw_ver[9], + phone_fw_ver[10]); + + CAM_DBG(CAM_EEPROM, "%s load_fw_ver = %c %c %c %c %c %c %c %c %c %c %c", + mInfo->typeStr, + load_fw_ver[0], load_fw_ver[1], load_fw_ver[2], load_fw_ver[3], load_fw_ver[4], + load_fw_ver[5], load_fw_ver[6], load_fw_ver[7], load_fw_ver[8], load_fw_ver[9], + load_fw_ver[10]); +#endif + + return rc; +} + +#if defined(CONFIG_SAMSUNG_REAR_DUAL) || defined(CONFIG_SAMSUNG_REAR_TRIPLE) || defined(CONFIG_SAMSUNG_REAR_TOF) || defined(CONFIG_SAMSUNG_FRONT_DUAL) || defined(CONFIG_SAMSUNG_FRONT_TOF) || defined(CONFIG_SAMSUNG_REAR_QUADRA) +#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) +static int cam_sec_eeprom_module_info_set_dual_tilt(eDualTiltMode tiltMode, uint32_t dual_addr_idx, + uint32_t dual_size_idx, uint8_t *pMapData, char *log_str, + ModuleInfo_t *mInfo) +{ + uint32_t offset_dll_ver = 0; + uint32_t offset_x = 0; + uint32_t offset_y = 0; + uint32_t offset_z = 0; + uint32_t offset_sx = 0; + uint32_t offset_sy = 0; + uint32_t offset_range = 0; + uint32_t offset_max_err = 0; + uint32_t offset_avg_err = 0; + uint32_t offset_project_cal_type = 0; + + uint8_t *dual_cal; + DualTilt_t *dual_tilt; + + uint32_t addr = 0; + uint32_t size = 0; + uint8_t var = 0; + + if (mInfo == NULL || mInfo->mVer.dual_cal == NULL || mInfo->mVer.DualTilt == NULL) + { + CAM_ERR(CAM_EEPROM, "dual_cal or DualTilt is NULL"); + return 1; + } + + dual_cal = mInfo->mVer.dual_cal; + dual_tilt = mInfo->mVer.DualTilt; + memset(dual_tilt, 0x00, sizeof(DualTilt_t)); + + if (isValidIdx(dual_addr_idx, &addr) == 1 && isValidIdx(dual_size_idx, &size) == 1) + { + switch (tiltMode) + { + case DUAL_TILT_REAR_WIDE: + case DUAL_TILT_REAR_UW: + offset_dll_ver = 0x0000; + offset_x = 0x0060; + offset_y = 0x0064; + offset_z = 0x0068; + offset_sx = 0x00C0; + offset_sy = 0x00C4; + offset_range = 0x07E0; + offset_max_err = 0x07E4; + offset_avg_err = 0x07E8; + offset_project_cal_type = 0x0108; + break; + + case DUAL_TILT_FRONT: + offset_dll_ver = 0x007A; + offset_x = 0x00B8; + offset_y = 0x00BC; + offset_z = 0x00C0; + offset_sx = 0x00DC; + offset_sy = 0x00E0; + offset_range = 0x02D2; + offset_max_err = 0x02D6; + offset_avg_err = 0x02DA; + offset_project_cal_type = 0x02DE; + break; + + case DUAL_TILT_TOF_REAR: + offset_dll_ver = 0x0000; + offset_x = 0x006C; + offset_y = 0x0070; + offset_z = 0x0074; + offset_sx = 0x03C0; + offset_sy = 0x03C4; + offset_range = 0x04E0; + offset_max_err = 0x04E4; + offset_avg_err = 0x04E8; + break; + + case DUAL_TILT_TOF_REAR2: + offset_dll_ver = 0x0000; + offset_x = 0x0160; + offset_y = 0x0164; + offset_z = 0x0168; + offset_sx = 0x05C8; + offset_sy = 0x05CC; + offset_range = 0x06E8; + offset_max_err = 0x06EC; + offset_avg_err = 0x06F0; + break; + + case DUAL_TILT_TOF_FRONT: + offset_dll_ver = 0x07F4; + offset_x = 0x04B8; + offset_y = 0x04BC; + offset_z = 0x04C0; + offset_sx = 0x04DC; + offset_sy = 0x04E0; + offset_range = 0x07EC; + offset_max_err = 0x07E8; + offset_avg_err = 0x07E4; + break; + + case DUAL_TILT_REAR_TELE: + offset_dll_ver = 0x02F4; + offset_x = 0x00B8; + offset_y = 0x00BC; + offset_z = 0x00C0; + offset_sx = 0x00DC; + offset_sy = 0x00E0; + offset_range = 0x02D2; + offset_max_err = 0x02D6; + offset_avg_err = 0x02DA; + offset_project_cal_type = 0x02DF; + break; + + default: + break; + } + + memcpy(dual_cal, &pMapData[addr], size); + dual_cal[size] = '\0'; + CAM_INFO(CAM_EEPROM, "%s dual cal = %s", log_str, dual_cal); + + /* dual tilt */ + memcpy(&dual_tilt->dll_ver, &pMapData[addr + offset_dll_ver], 4); + memcpy(&dual_tilt->x, &pMapData[addr + offset_x], 4); + memcpy(&dual_tilt->y, &pMapData[addr + offset_y], 4); + memcpy(&dual_tilt->z, &pMapData[addr + offset_z], 4); + memcpy(&dual_tilt->sx, &pMapData[addr + offset_sx], 4); + memcpy(&dual_tilt->sy, &pMapData[addr + offset_sy], 4); + memcpy(&dual_tilt->range, &pMapData[addr + offset_range], 4); + memcpy(&dual_tilt->max_err, &pMapData[addr + offset_max_err], 4); + memcpy(&dual_tilt->avg_err, &pMapData[addr + offset_avg_err], 4); + + sprintf(dual_tilt->project_cal_type, "NONE"); + if (offset_project_cal_type) + { + for (var = 0; var < PROJECT_CAL_TYPE_MAX_SIZE; var++) + { + if ((pMapData[addr + offset_project_cal_type] == 0xFF) && (var == 0)) + { + break; + } + + if ((pMapData[addr + offset_project_cal_type+var] == 0xFF) || (pMapData[addr + offset_project_cal_type+var] == 0x00)) + { + dual_tilt->project_cal_type[var] = '\0'; + break; + } + memcpy(&dual_tilt->project_cal_type[var], &pMapData[addr + offset_project_cal_type+var], 1); + } + } + + CAM_DBG(CAM_EEPROM, + "%s dual tilt x = %d, y = %d, z = %d, sx = %d, sy = %d, range = %d, max_err = %d, avg_err = %d, dll_ver = %d, project_cal_type=%s", + log_str, + dual_tilt->x, dual_tilt->y, dual_tilt->z, dual_tilt->sx, + dual_tilt->sy, dual_tilt->range, dual_tilt->max_err, + dual_tilt->avg_err, dual_tilt->dll_ver, dual_tilt->project_cal_type); + } + else + { + CAM_ERR(CAM_EEPROM, + "isSet addr: %d, size: %d", ConfigInfo[dual_addr_idx].isSet, ConfigInfo[dual_addr_idx].isSet); + } + + return 0; +} +#endif +#endif + +static int cam_sec_eeprom_module_info_set_paf(uint32_t dual_addr_idx, + uint32_t st_offset, uint32_t mid_far_size, uint8_t *pMapData, char *log_str, + char *paf_cal, uint32_t paf_cal_size) +{ + int i, step, offset = 0, cnt = 0; + uint32_t size; + uint32_t st_addr = 0; + uint32_t size_offset = 1; + + if (mid_far_size == PAF_MID_SIZE) + step = 8; + else + step = 2; + + size = mid_far_size/step; + if (size > size_offset) + { + size = size - size_offset; + } + else + { + CAM_ERR(CAM_EEPROM, "mid_far_size was wrong mid_far_size = %d", mid_far_size); + return 0; + } + + CAM_DBG(CAM_EEPROM, "paf_cal: %p, paf_cal_size: %d", paf_cal, paf_cal_size); + if (isValidIdx(dual_addr_idx, &st_addr) == 1) + { + st_addr += st_offset; + + memset(paf_cal, 0, paf_cal_size); + + for (i = 0; i < size; i++) { + cnt = scnprintf(&paf_cal[offset], paf_cal_size-offset, + "%d,", *((s16 *)&pMapData[st_addr + step*i])); + offset += cnt; + } + + cnt = scnprintf(&paf_cal[offset], paf_cal_size-offset, + "%d\n", *((s16 *)&pMapData[st_addr + step*i])); + offset += cnt; + paf_cal[offset] = '\0'; + + CAM_DBG(CAM_EEPROM, "%s = %s", log_str, paf_cal); + } + else + { + CAM_DBG(CAM_EEPROM, + "isSet addr: %d, size: %d", ConfigInfo[dual_addr_idx].isSet, ConfigInfo[dual_addr_idx].isSet); + } + + return 0; +} + +static int cam_sec_eeprom_module_info_set_afcal(uint32_t st_addr_idx, AfIdx_t *af_idx, uint32_t num_idx, + uint8_t *pMapData, char *af_cal_str, uint32_t af_cal_str_size) +{ + int i, offset = 0, cnt = 0; + uint32_t tempval; + uint32_t st_addr = 0; + int len = 0; + + CAM_INFO(CAM_EEPROM, "st_addr_idx: 0x%04X, af_cal_str = %s", st_addr_idx, af_cal_str); + + if (isValidIdx(st_addr_idx, &st_addr) == 1) + { + memset(af_cal_str, 0, af_cal_str_size); + + for(i = 0; i < num_idx; i ++) + { + memcpy(&tempval, &pMapData[st_addr + af_idx[i].offset], 4); + + cnt = scnprintf(&af_cal_str[offset], af_cal_str_size-offset, "%d ", tempval); + offset += cnt; + } + af_cal_str[offset] = '\0'; + + len = strlen(af_cal_str); + if (af_cal_str[len-1] == ' ') + af_cal_str[len-1] = '\0'; + + CAM_INFO(CAM_EEPROM, "af_cal_str = %s", af_cal_str); + } + else + { + CAM_ERR(CAM_EEPROM, + "isSet addr: %d", ConfigInfo[st_addr_idx].isSet); + } + + return 0; +} + +#if defined(CONFIG_SAMSUNG_REAR_TOF) || defined(CONFIG_SAMSUNG_FRONT_TOF) +static int cam_sec_eeprom_module_info_tof(uint8_t *pMapData, char *log_str, + uint8_t *tof_cal, uint8_t *tof_extra_cal, int *tof_uid, uint8_t *tof_cal_res, + int *tof_cal_500, int *tof_cal_300) +{ + uint32_t st_addr = 0; + uint32_t uid_addr = 0; + uint32_t res_addr = 0; + uint32_t cal_size = 0; + uint32_t cal_extra_size = 0; + uint32_t validation_500 = 0; + uint32_t validation_300 = 0; + + if (isValidIdx(ADDR_TOFCAL_START, &st_addr) == 1 && + isValidIdx(ADDR_TOFCAL_SIZE, &cal_size) == 1 && + isValidIdx(ADDR_TOFCAL_UID, &uid_addr) == 1 && + isValidIdx(ADDR_TOFCAL_RESULT, &res_addr) == 1 && + isValidIdx(ADDR_VALIDATION_500, &validation_500) == 1 && + isValidIdx(ADDR_VALIDATION_300, &validation_300) == 1) + { + cal_extra_size = cal_size - TOFCAL_SIZE; + CAM_INFO(CAM_EEPROM, "%s tof cal_size: %d, cal_extra_size: %d", log_str, cal_size, cal_extra_size); + + memcpy(tof_uid, &pMapData[uid_addr], 4); + CAM_DBG(CAM_EEPROM, "%s tof uid = 0x%04X", log_str, *tof_uid); + + memcpy(tof_cal_500, &pMapData[validation_500], 2); + CAM_DBG(CAM_EEPROM, "%s tof 500mm validation data = 0x%04X", log_str, *tof_cal_500); + + memcpy(tof_cal_300, &pMapData[validation_300], 2); + CAM_DBG(CAM_EEPROM, "%s tof 300mm validation data = 0x%04X", log_str, *tof_cal_300); + + memcpy(tof_cal, &pMapData[st_addr], TOFCAL_SIZE); + tof_cal[TOFCAL_SIZE] = '\0'; + CAM_DBG(CAM_EEPROM, "%s tof cal = %s", log_str, tof_cal); + + memcpy(tof_extra_cal, &pMapData[st_addr + TOFCAL_SIZE], cal_extra_size); + tof_extra_cal[cal_extra_size] = '\0'; + CAM_DBG(CAM_EEPROM, "%s tof ext = %s", log_str, tof_extra_cal); + + CAM_DBG(CAM_EEPROM, "%s tof RESULT_ADDR 0x%x 0x%x 0x%x", + log_str, + pMapData[res_addr], + pMapData[res_addr + 2], + pMapData[res_addr + 4]); + + if (pMapData[res_addr] == 0x11 && + pMapData[res_addr + 2] == 0x11 && + pMapData[res_addr + 4] == 0x11) + { + *tof_cal_res = 1; + } + } + else + { + CAM_ERR(CAM_EEPROM, "start: %d, end: %d, uid: %d, result: %d", + ConfigInfo[ADDR_TOFCAL_START].isSet, + ConfigInfo[ADDR_TOFCAL_SIZE].isSet, + ConfigInfo[ADDR_TOFCAL_UID].isSet, + ConfigInfo[ADDR_TOFCAL_RESULT].isSet); + } + + return 0; +} +#endif + +void cam_sec_eeprom_reset_module_info(struct cam_eeprom_ctrl_t *e_ctrl) +{ + int index = -1; + + switch(e_ctrl->soc_info.index) + { + case SEC_WIDE_SENSOR: + index = INDEX_REAR; + break; + case SEC_ULTRA_WIDE_SENSOR: + index = INDEX_REAR2; + break; +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) + case SEC_TELE_SENSOR: + index = INDEX_REAR3; + break; +#endif +#if defined(CONFIG_SAMSUNG_REAR_QUADRA) + case SEC_TELE2_SENSOR: + index = INDEX_REAR4; + break; +#endif + case SEC_FRONT_SENSOR: + index = INDEX_FRONT; + break; +#if defined(CONFIG_SAMSUNG_FRONT_DUAL) + case SEC_FRONT_AUX1_SENSOR: + index = INDEX_FRONT2; + break; +#endif +#if defined(CONFIG_SAMSUNG_FRONT_TOP) +#if defined(CONFIG_SAMSUNG_FRONT_DUAL) + case SEC_FRONT_TOP_SENSOR: + index = INDEX_FRONT3; + break; +#else + case SEC_FRONT_TOP_SENSOR: + index = INDEX_FRONT2; + break; +#endif +#endif + default: + break; + } + if (index>=0){ + memcpy(module_id[index], M_MODULE_INFO, FROM_MODULE_ID_SIZE); + } + else{ + CAM_ERR(CAM_EEPROM, "Invalid Camera ID!"); + } +} + +int cam_sec_eeprom_update_module_info(struct cam_eeprom_ctrl_t *e_ctrl) +{ + int rc = 0; + + uint32_t ConfAddr = 0; + ModuleInfo_t mInfo; + ModuleInfo_t mInfoSub; + int index = -1; + +#if 0//TEMP_8350 + unsigned int rev = sec_hw_rev(); +#else + unsigned int rev = 0; +#endif + + CAM_INFO(CAM_EEPROM, "E"); + + if (!e_ctrl) { + CAM_ERR(CAM_EEPROM, "e_ctrl is NULL"); + return -EINVAL; + } + + if (e_ctrl->soc_info.index >= SEC_SENSOR_ID_MAX) { + CAM_ERR(CAM_EEPROM, "subdev_id: %d is not supported", e_ctrl->soc_info.index); + return 0; + } + + memset(&mInfo, 0x00, sizeof(ModuleInfo_t)); + memset(&mInfoSub, 0x00, sizeof(ModuleInfo_t)); + + switch(e_ctrl->soc_info.index) + { + case SEC_WIDE_SENSOR: + strlcpy(mInfo.typeStr, "Rear", FROM_MODULE_FW_INFO_SIZE); + index = INDEX_REAR; + break; + case SEC_ULTRA_WIDE_SENSOR: + strlcpy(mInfo.typeStr, "Rear2", FROM_MODULE_FW_INFO_SIZE); + index = INDEX_REAR2; + break; +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) + case SEC_TELE_SENSOR: + strlcpy(mInfo.typeStr, "Rear3", FROM_MODULE_FW_INFO_SIZE); + index = INDEX_REAR3; + break; +#endif +#if defined(CONFIG_SAMSUNG_REAR_QUADRA) + case SEC_TELE2_SENSOR: + strlcpy(mInfo.typeStr, "Rear4", FROM_MODULE_FW_INFO_SIZE); + index = INDEX_REAR4; + break; +#endif + case SEC_FRONT_SENSOR: + strlcpy(mInfo.typeStr, "Front", FROM_MODULE_FW_INFO_SIZE); + index = INDEX_FRONT; + break; +#if defined(CONFIG_SAMSUNG_FRONT_DUAL) + case SEC_FRONT_AUX1_SENSOR: + strlcpy(mInfo.typeStr, "Front2", FROM_MODULE_FW_INFO_SIZE); + index = INDEX_FRONT2; + break; +#endif +#if defined(CONFIG_SAMSUNG_FRONT_TOP) +#if defined(CONFIG_SAMSUNG_FRONT_DUAL) + case SEC_FRONT_TOP_SENSOR: + strlcpy(mInfo.typeStr, "Front3", FROM_MODULE_FW_INFO_SIZE); + index = INDEX_FRONT3; + break; +#else + case SEC_FRONT_TOP_SENSOR: + strlcpy(mInfo.typeStr, "Front2", FROM_MODULE_FW_INFO_SIZE); + index = INDEX_FRONT2; + break; +#endif +#endif + +#if defined(CONFIG_SAMSUNG_REAR_TOF) + case SEC_REAR_TOF_SENSOR: + strlcpy(mInfo.typeStr, "RearTof", FROM_MODULE_FW_INFO_SIZE); + mInfo.typeStr[FROM_MODULE_FW_INFO_SIZE-1] = '\0'; + + mInfo.type = e_ctrl->soc_info.index; + mInfo.M_or_S = MAIN_MODULE; + + mInfo.mVer.sensor_id = rear_tof_sensor_id; + mInfo.mVer.sensor2_id = rear_tof_sensor_id; + mInfo.mVer.module_id = rear_tof_module_id; + + mInfo.mVer.module_info = rear_tof_module_info; + + mInfo.mVer.cam_cal_ack = rear_tof_cam_cal_check; + mInfo.mVer.cam_fw_ver = rear_tof_fw_ver; + mInfo.mVer.cam_fw_full_ver = rear_tof_fw_full_ver; + + mInfo.mVer.fw_user_ver = rear_tof_fw_user_ver; + mInfo.mVer.fw_factory_ver = rear_tof_fw_factory_ver; + break; +#endif + +#if defined(CONFIG_SAMSUNG_FRONT_TOF) + case SEC_FRONT_TOF_SENSOR: + strlcpy(mInfo.typeStr, "FrontTof", FROM_MODULE_FW_INFO_SIZE); + mInfo.typeStr[FROM_MODULE_FW_INFO_SIZE-1] = '\0'; + + mInfo.type = e_ctrl->soc_info.index; + mInfo.M_or_S = MAIN_MODULE; + + mInfo.mVer.sensor_id = front_tof_sensor_id; + mInfo.mVer.sensor2_id = front_tof_sensor_id; + mInfo.mVer.module_id = front2_module_id; + + mInfo.mVer.module_info = front_tof_module_info; + + mInfo.mVer.cam_cal_ack = front_tof_cam_cal_check; + mInfo.mVer.cam_fw_ver = front_tof_cam_fw_ver; + mInfo.mVer.cam_fw_full_ver = front_tof_cam_fw_full_ver; + + mInfo.mVer.fw_user_ver = front_tof_cam_fw_user_ver; + mInfo.mVer.fw_factory_ver = front_tof_cam_fw_factory_ver; + break; +#endif + default: + break; + } + + if (index >= 0) { + mInfo.typeStr[FROM_MODULE_FW_INFO_SIZE-1] = '\0'; + mInfo.type = e_ctrl->soc_info.index; + mInfo.M_or_S = MAIN_MODULE; + + mInfo.mVer.sensor_id = sensor_id[index]; + mInfo.mVer.sensor2_id = sensor_id[index]; + mInfo.mVer.module_id = module_id[index]; + + mInfo.mVer.module_info = module_info[index]; + + mInfo.mVer.cam_cal_ack = cam_cal_check[index]; + if (e_ctrl->soc_info.index == SEC_FRONT_TOP_SENSOR) + mInfo.mVer.cam_cal_ack = cam_cal_check[INDEX_FRONT]; + mInfo.mVer.cam_fw_ver = fw_ver[index]; + mInfo.mVer.cam_fw_full_ver = fw_full_ver[index]; + + mInfo.mVer.fw_user_ver = fw_user_ver[index]; + mInfo.mVer.fw_factory_ver = fw_factory_ver[index]; + } + + memcpy(mInfo.mVer.phone_hw_info, M_HW_INFO, HW_INFO_MAX_SIZE); + memcpy(mInfo.mVer.phone_sw_info, M_SW_INFO, SW_INFO_MAX_SIZE); + memcpy(mInfo.mVer.phone_vendor_info, M_VENDOR_INFO, VENDOR_INFO_MAX_SIZE); + memcpy(mInfo.mVer.phone_process_info, M_PROCESS_INFO, PROCESS_INFO_MAX_SIZE); + + cam_sec_eeprom_module_info_set_load_version(rev, e_ctrl, &mInfo); + + if (e_ctrl->soc_info.index == SEC_FRONT_SENSOR) { +#if !defined(CONFIG_SAMSUNG_FRONT_TOP_EEPROM) + /* front af cal*/ + AfIdx_t front_idx[] = { + {AF_CAL_NEAR_IDX, AF_CAL_NEAR_OFFSET_FROM_AF}, + {AF_CAL_FAR_IDX, AF_CAL_FAR_OFFSET_FROM_AF} + }; + + cam_sec_eeprom_module_info_set_afcal(ADDR_M_AF, front_idx, sizeof(front_idx)/sizeof(front_idx[0]), + e_ctrl->cal_data.mapdata, af_cal_str[INDEX_FRONT], sizeof(af_cal_str[INDEX_FRONT])); +#endif //!defined(CONFIG_SAMSUNG_FRONT_TOP_EEPROM) + + /* front mtf exif */ + if (isValidIdx(ADDR_M0_MTF, &ConfAddr) == 1) + { + memcpy(mtf_exif[INDEX_FRONT], &e_ctrl->cal_data.mapdata[ConfAddr], FROM_MTF_SIZE); + mtf_exif[INDEX_FRONT][FROM_MTF_SIZE] = '\0'; + CAM_DBG(CAM_EEPROM, "front mtf exif = %s", mtf_exif[INDEX_FRONT]); + } + + if (isValidIdx(ADDR_M0_PAF, &ConfAddr) == 1) + { + ConfAddr += PAF_CAL_ERR_CHECK_OFFSET; + memcpy(&paf_err_data_result[INDEX_FRONT], &e_ctrl->cal_data.mapdata[ConfAddr], 4); + } + +#if 0//defined(CONFIG_SAMSUNG_FRONT_DUAL) + /* front2 dual cal */ + mInfo.mVer.dual_cal = dual_cal; + mInfo.mVer.DualTilt = &dual_tilt[INDEX_FRONT2]; + cam_sec_eeprom_module_info_set_dual_tilt(DUAL_TILT_FRONT, ADDR_M_DUAL_CAL, + SIZE_M_DUAL_CAL, e_ctrl->cal_data.mapdata, "front2", &mInfo); +#endif //#if defined(CONFIG_SAMSUNG_FRONT_DUAL) + +#if defined(CONFIG_SAMSUNG_FRONT_TOF) + /* front tof dual cal */ + mInfo.mVer.dual_cal = front_tof_dual_cal; + mInfo.mVer.DualTilt = &front_tof_dual; + cam_sec_eeprom_module_info_set_dual_tilt(DUAL_TILT_TOF_FRONT, ADDR_TOFCAL_START, + ADDR_TOFCAL_SIZE, e_ctrl->cal_data.mapdata, "front_tof", &mInfo); +#endif + } +#if defined(CONFIG_SAMSUNG_FRONT_TOP) + else if (e_ctrl->soc_info.index == SEC_FRONT_TOP_SENSOR) + { +#if !defined(CONFIG_SAMSUNG_FRONT_TOP_EEPROM) + /* front3 af cal*/ + AfIdx_t front3_idx[] = { + {AF_CAL_NEAR_IDX, AF_CAL_NEAR_OFFSET_FROM_AF}, + {AF_CAL_FAR_IDX, AF_CAL_FAR_OFFSET_FROM_AF} + }; + + cam_sec_eeprom_module_info_set_afcal(ADDR_M_AF, front3_idx, sizeof(front3_idx)/sizeof(front3_idx[0]), + e_ctrl->cal_data.mapdata, af_cal_str[INDEX_FRONT3], sizeof(af_cal_str[INDEX_FRONT3])); +#endif //!defined(CONFIG_SAMSUNG_FRONT_TOP_EEPROM) + } +#endif //#if defined(CONFIG_SAMSUNG_FRONT_TOP) +#if defined(CONFIG_SEC_E3Q_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT) + else if ((e_ctrl->soc_info.index == SEC_WIDE_SENSOR) + || (e_ctrl->soc_info.index == SEC_ULTRA_WIDE_SENSOR) + || (e_ctrl->soc_info.index == SEC_TELE_SENSOR) +#if defined(CONFIG_SAMSUNG_REAR_QUADRA) + || (e_ctrl->soc_info.index == SEC_TELE2_SENSOR) +#endif + ) +#elif defined(CONFIG_SEC_E1Q_PROJECT) || defined(CONFIG_SEC_E2Q_PROJECT) || defined(CONFIG_SEC_Q6Q_PROJECT) + else if ((e_ctrl->soc_info.index == SEC_WIDE_SENSOR) || (e_ctrl->soc_info.index == SEC_TELE_SENSOR)) +#else + else if (e_ctrl->soc_info.index == SEC_WIDE_SENSOR) +#endif + { + /* rear mtf exif */ + if (isValidIdx(ADDR_M0_MTF, &ConfAddr) == 1) + { + memcpy(mtf_exif[INDEX_REAR], &e_ctrl->cal_data.mapdata[ConfAddr], FROM_MTF_SIZE); + mtf_exif[INDEX_REAR][FROM_MTF_SIZE] = '\0'; + CAM_DBG(CAM_EEPROM, "rear mtf exif = %s", mtf_exif[INDEX_REAR]); + } + + /* rear mtf2 exif */ + if (isValidIdx(ADDR_M1_MTF, &ConfAddr) == 1) + { + memcpy(rear_mtf2_exif, &e_ctrl->cal_data.mapdata[ConfAddr], FROM_MTF_SIZE); + rear_mtf2_exif[FROM_MTF_SIZE] = '\0'; + CAM_DBG(CAM_EEPROM, "rear mtf2 exif = %s", rear_mtf2_exif); + } + +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) + /* rear3 mtf exif */ + if (isValidIdx(ADDR_S0_MTF, &ConfAddr) == 1) + { + memcpy(mtf_exif[INDEX_REAR3], &e_ctrl->cal_data.mapdata[ConfAddr], FROM_MTF_SIZE); + mtf_exif[INDEX_REAR3][FROM_MTF_SIZE] = '\0'; + CAM_DBG(CAM_EEPROM, "rear3 mtf exif = %s", mtf_exif[INDEX_REAR3]); + } +#if defined(CONFIG_SAMSUNG_REAR_QUADRA) + /* rear4 mtf exif */ + if (isValidIdx(ADDR_S0_MTF, &ConfAddr) == 1) + { + memcpy(mtf_exif[INDEX_REAR4], &e_ctrl->cal_data.mapdata[ConfAddr], FROM_MTF_SIZE); + mtf_exif[INDEX_REAR4][FROM_MTF_SIZE] = '\0'; + CAM_DBG(CAM_EEPROM, "rear4 mtf exif = %s", mtf_exif[INDEX_REAR4]); + } +#endif + +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) || defined(CONFIG_SAMSUNG_REAR_QUADRA) +#if defined(CONFIG_SEC_E3Q_PROJECT) + CAM_INFO(CAM_EEPROM, "Getting dualcal from eeprom is skipped."); +#elif defined(CONFIG_SEC_E1Q_PROJECT) || defined(CONFIG_SEC_E2Q_PROJECT) || defined(CONFIG_SEC_Q6Q_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT) + CAM_INFO(CAM_EEPROM, "Getting dualcal from eeprom is skipped."); +#else + CAM_INFO(CAM_EEPROM, "Getting dualcal from eeprom is skipped."); +#endif +#endif + + CAM_DBG(CAM_EEPROM, "[CAL] index:%d valid(%d, %d)", e_ctrl->soc_info.index, isValidIdx(ADDR_M_AF, &ConfAddr), isValidIdx(ADDR_S0_AF, &ConfAddr)); + { +#if defined(CONFIG_SEC_E3Q_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT) + AfIdx_t rear_idx[] = { + {AF_CAL_NEAR_IDX, AF_CAL_NEAR_OFFSET_FROM_AF}, + {AF_CAL_FAR_IDX, AF_CAL_FAR_OFFSET_FROM_AF}, + {AF_CAL_M1_IDX, AF_CAL_M1_OFFSET_FROM_AF}, + {AF_CAL_M2_IDX, AF_CAL_M2_OFFSET_FROM_AF}, + }; + + if (e_ctrl->soc_info.index == SEC_WIDE_SENSOR) { + cam_sec_eeprom_module_info_set_afcal(ADDR_M_AF, rear_idx, sizeof(rear_idx)/sizeof(rear_idx[0]), + e_ctrl->cal_data.mapdata, af_cal_str[INDEX_REAR], sizeof(af_cal_str[INDEX_REAR])); + } + else if (e_ctrl->soc_info.index == SEC_ULTRA_WIDE_SENSOR) { + cam_sec_eeprom_module_info_set_afcal(ADDR_M_AF, rear_idx, sizeof(rear_idx)/sizeof(rear_idx[0]), + e_ctrl->cal_data.mapdata, af_cal_str[INDEX_REAR2], sizeof(af_cal_str[INDEX_REAR2])); + } + else if (e_ctrl->soc_info.index == SEC_TELE_SENSOR) { + cam_sec_eeprom_module_info_set_afcal(ADDR_S0_AF, rear_idx, sizeof(rear_idx)/sizeof(rear_idx[0]), + e_ctrl->cal_data.mapdata, af_cal_str[INDEX_REAR3], sizeof(af_cal_str[INDEX_REAR3])); + } +#if defined(CONFIG_SAMSUNG_REAR_QUADRA) + else if (e_ctrl->soc_info.index == SEC_TELE2_SENSOR) { + cam_sec_eeprom_module_info_set_afcal(ADDR_S0_AF, rear_idx, sizeof(rear_idx)/sizeof(rear_idx[0]), + e_ctrl->cal_data.mapdata, af_cal_str[INDEX_REAR4], sizeof(af_cal_str[INDEX_REAR4])); + } +#endif +#else // #if defined(CONFIG_SEC_E3Q_PROJECT) + AfIdx_t rear_idx[] = { + {AF_CAL_NEAR_IDX, AF_CAL_NEAR_OFFSET_FROM_AF}, + {AF_CAL_FAR_IDX, AF_CAL_FAR_OFFSET_FROM_AF}, + {AF_CAL_M1_IDX, AF_CAL_M1_OFFSET_FROM_AF}, + {AF_CAL_M2_IDX, AF_CAL_M2_OFFSET_FROM_AF}, + }; + + cam_sec_eeprom_module_info_set_afcal(ADDR_M_AF, rear_idx, sizeof(rear_idx)/sizeof(rear_idx[0]), + e_ctrl->cal_data.mapdata, af_cal_str[INDEX_REAR], sizeof(af_cal_str[INDEX_REAR])); + + cam_sec_eeprom_module_info_set_afcal(ADDR_S0_AF, rear_idx, sizeof(rear_idx)/sizeof(rear_idx[0]), + e_ctrl->cal_data.mapdata, af_cal_str[INDEX_REAR3], sizeof(af_cal_str[INDEX_REAR3])); +#endif // #if defined(CONFIG_SEC_E3Q_PROJECT) + } + +#elif defined(CONFIG_SAMSUNG_REAR_DUAL) // #if defined(CONFIG_SAMSUNG_REAR_TRIPLE) + /* AF Cal. data read */ +#if defined(CONFIG_SEC_B6Q_PROJECT) || defined(CONFIG_SEC_GTS10P_PROJECT) || defined(CONFIG_SEC_GTS10U_PROJECT) + { + AfIdx_t rear_idx[] = { + {AF_CAL_NEAR_IDX, AF_CAL_NEAR_OFFSET_FROM_AF}, + {AF_CAL_FAR_IDX, AF_CAL_FAR_OFFSET_FROM_AF}, + }; + + cam_sec_eeprom_module_info_set_afcal(ADDR_M_AF, rear_idx, sizeof(rear_idx)/sizeof(rear_idx[0]), + e_ctrl->cal_data.mapdata, af_cal_str[INDEX_REAR], sizeof(af_cal_str[INDEX_REAR])); + } +#else + { + AfIdx_t rear_idx[] = { + {AF_CAL_NEAR_IDX, AF_CAL_NEAR_OFFSET_FROM_AF}, + {AF_CAL_FAR_IDX, AF_CAL_FAR_OFFSET_FROM_AF}, + {AF_CAL_M1_IDX, AF_CAL_M1_OFFSET_FROM_AF}, + {AF_CAL_M2_IDX, AF_CAL_M2_OFFSET_FROM_AF}, + }; + + cam_sec_eeprom_module_info_set_afcal(ADDR_M_AF, rear_idx, sizeof(rear_idx)/sizeof(rear_idx[0]), + e_ctrl->cal_data.mapdata, af_cal_str[INDEX_REAR], sizeof(af_cal_str[INDEX_REAR])); + } +#endif + + CAM_INFO(CAM_EEPROM, "Getting dualcal from eeprom is skipped."); +#endif + + cam_sec_eeprom_module_info_set_paf(ADDR_M0_PAF, + PAF_MID_OFFSET, PAF_MID_SIZE, e_ctrl->cal_data.mapdata, "rear_paf_cal_data_mid", + rear_paf_cal_data_mid, sizeof(rear_paf_cal_data_mid)); + + cam_sec_eeprom_module_info_set_paf(ADDR_M0_PAF, + PAF_FAR_OFFSET, PAF_FAR_SIZE, e_ctrl->cal_data.mapdata, "rear_paf_cal_data_far", + rear_paf_cal_data_far, sizeof(rear_paf_cal_data_far)); + + if (isValidIdx(ADDR_M0_PAF, &ConfAddr) == 1) + { + ConfAddr += PAF_CAL_ERR_CHECK_OFFSET; + memcpy(&paf_err_data_result[INDEX_REAR], &e_ctrl->cal_data.mapdata[ConfAddr], 4); + } + + cam_sec_eeprom_module_info_set_paf(ADDR_M1_PAF, + PAF_MID_OFFSET, PAF_MID_SIZE, e_ctrl->cal_data.mapdata, "rear_f2_paf_cal_data_mid", + rear_f2_paf_cal_data_mid, sizeof(rear_f2_paf_cal_data_mid)); + + cam_sec_eeprom_module_info_set_paf(ADDR_M1_PAF, + PAF_FAR_OFFSET, PAF_FAR_SIZE, e_ctrl->cal_data.mapdata, "rear_f2_paf_cal_data_far", + rear_f2_paf_cal_data_far, sizeof(rear_f2_paf_cal_data_far)); + + if (isValidIdx(ADDR_M1_PAF, &ConfAddr) == 1) + { + ConfAddr += PAF_CAL_ERR_CHECK_OFFSET; + memcpy(&f2_paf_err_data_result, &e_ctrl->cal_data.mapdata[ConfAddr], 4); + } + +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) + if (isValidIdx(ADDR_S0_PAF, &ConfAddr) == 1) + { + ConfAddr += PAF_CAL_ERR_CHECK_OFFSET; + memcpy(&paf_err_data_result[INDEX_REAR3], &e_ctrl->cal_data.mapdata[ConfAddr], 4); + } +#endif + +#if defined(CONFIG_SEC_E3Q_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT) + if (e_ctrl->soc_info.index == SEC_ULTRA_WIDE_SENSOR) { + if (isValidIdx(ADDR_M0_PAF, &ConfAddr) == 1) + { + ConfAddr += PAF_CAL_ERR_CHECK_OFFSET; + memcpy(&paf_err_data_result[INDEX_REAR2], &e_ctrl->cal_data.mapdata[ConfAddr], 4); + } + } + +#if defined(CONFIG_SAMSUNG_REAR_QUADRA) + if (e_ctrl->soc_info.index == SEC_TELE2_SENSOR) { + if (isValidIdx(ADDR_S0_PAF, &ConfAddr) == 1) + { + ConfAddr += PAF_CAL_ERR_CHECK_OFFSET; + memcpy(&paf_err_data_result[INDEX_REAR4], &e_ctrl->cal_data.mapdata[ConfAddr], 4); + } + } +#endif +#endif + +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + if (isValidIdx(ADDR_M_OIS, &ConfAddr) == 1) { + + ConfAddr += OIS_CAL_MARK_START_OFFSET; + memcpy(&ois_cal_mark[INDEX_REAR], &e_ctrl->cal_data.mapdata[ConfAddr], 1); + ConfAddr -= OIS_CAL_MARK_START_OFFSET; + if (ois_cal_mark[INDEX_REAR] == 0xBB) { + ois_gain_result[INDEX_REAR] = 0; + ois_sr_result[INDEX_REAR] = 0; + } else { + ois_gain_result[INDEX_REAR] = 1; + ois_sr_result[INDEX_REAR] = 1; + } + + ConfAddr += OIS_XYGG_START_OFFSET; + memcpy(ois_xygg[INDEX_REAR], &e_ctrl->cal_data.mapdata[ConfAddr], OIS_XYGG_SIZE); + ConfAddr -= OIS_XYGG_START_OFFSET; + + ConfAddr += OIS_XYSR_START_OFFSET; + memcpy(ois_xysr[INDEX_REAR], &e_ctrl->cal_data.mapdata[ConfAddr], OIS_XYSR_SIZE); + } + +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) + if (isValidIdx(ADDR_S_OIS, &ConfAddr) == 1) { + int isCal = 0, j = 0; + uint8_t* cal_mark = &ois_cal_mark[INDEX_REAR3]; + int* gain_result = &ois_gain_result[INDEX_REAR3]; + int* sr_result = &ois_sr_result[INDEX_REAR3]; + uint8_t *xygg = ois_xygg[INDEX_REAR3]; + uint8_t *xysr = ois_xysr[INDEX_REAR3]; + uint8_t *cross_talk = ois_cross_talk[INDEX_REAR3]; + int* cross_talk_result = &ois_cross_talk_result[INDEX_REAR3]; +#if defined(CONFIG_SAMSUNG_REAR_QUADRA) + if (e_ctrl->soc_info.index == SEC_TELE2_SENSOR) { + cal_mark = &ois_cal_mark[INDEX_REAR4]; + gain_result = &ois_gain_result[INDEX_REAR4]; + sr_result = &ois_sr_result[INDEX_REAR4]; + xygg = ois_xygg[INDEX_REAR4]; + xysr = ois_xysr[INDEX_REAR4]; + cross_talk = ois_cross_talk[INDEX_REAR4]; + cross_talk_result = &ois_cross_talk_result[INDEX_REAR4]; + } +#endif + + ConfAddr += OIS_CAL_MARK_START_OFFSET; + memcpy(cal_mark, &e_ctrl->cal_data.mapdata[ConfAddr], 1); + ConfAddr -= OIS_CAL_MARK_START_OFFSET; + *gain_result = ((*cal_mark) == 0xBB) ? 0 : 1; + *sr_result = ((*cal_mark) == 0xBB) ? 0 : 1; + + ConfAddr += OIS_XYGG_START_OFFSET; + memcpy(xygg, &e_ctrl->cal_data.mapdata[ConfAddr], OIS_XYGG_SIZE); + ConfAddr -= OIS_XYGG_START_OFFSET; + + ConfAddr += OIS_XYSR_START_OFFSET; + memcpy(xysr, &e_ctrl->cal_data.mapdata[ConfAddr], OIS_XYSR_SIZE); + ConfAddr -= OIS_XYSR_START_OFFSET; + + ConfAddr += OIS_CROSSTALK_START_OFFSET; + memcpy(cross_talk, &e_ctrl->cal_data.mapdata[ConfAddr], OIS_CROSSTALK_SIZE); + ConfAddr -= OIS_CROSSTALK_START_OFFSET; + *cross_talk_result = 0; + for (j = 0; j < OIS_CROSSTALK_SIZE; j++) { + if (cross_talk[j] != 0xFF) { + isCal = 1; + break; + } + } + *cross_talk_result = (isCal == 0) ? 1 : 0; + } + + if (isValidIdx(ADDR_S_DUAL_CAL, &ConfAddr) == 1) { + + ConfAddr += WIDE_OIS_CENTER_SHIFT_START_OFFSET; + memcpy(ois_center_shift[INDEX_REAR], &e_ctrl->cal_data.mapdata[ConfAddr], OIS_CENTER_SHIFT_SIZE); + ConfAddr -= WIDE_OIS_CENTER_SHIFT_START_OFFSET; + + ConfAddr += TELE_OIS_CENTER_SHIFT_START_OFFSET; + memcpy(ois_center_shift[INDEX_REAR3], &e_ctrl->cal_data.mapdata[ConfAddr], OIS_CENTER_SHIFT_SIZE); + ConfAddr -= TELE_OIS_CENTER_SHIFT_START_OFFSET; + + } +#endif +#endif + +#if defined(CONFIG_SAMSUNG_REAR_TOF) + /* rear tof dual cal */ + mInfo.mVer.dual_cal = rear_tof_dual_cal; + mInfo.mVer.DualTilt = &rear_tof_dual; + cam_sec_eeprom_module_info_set_dual_tilt(DUAL_TILT_TOF_REAR, ADDR_TOFCAL_START, + ADDR_TOFCAL_SIZE, e_ctrl->cal_data.mapdata, "rear tof", &mInfo); + + /* rear2 tof tilt */ + // same dual_cal data between rear_tof and rear2_tof + mInfo.mVer.dual_cal = rear_tof_dual_cal; + mInfo.mVer.DualTilt = &rear2_tof_dual; + cam_sec_eeprom_module_info_set_dual_tilt(DUAL_TILT_TOF_REAR2, ADDR_TOFCAL_START, + ADDR_TOFCAL_SIZE, e_ctrl->cal_data.mapdata, "rear2 tof", &mInfo); +#endif + } +#if defined(CONFIG_SAMSUNG_REAR_DUAL) + else if (e_ctrl->soc_info.index == SEC_ULTRA_WIDE_SENSOR) { + /* rear2 mtf exif */ + if (isValidIdx(ADDR_M0_MTF, &ConfAddr) == 1) + { + memcpy(mtf_exif[INDEX_REAR2], &e_ctrl->cal_data.mapdata[ConfAddr], FROM_MTF_SIZE); + mtf_exif[INDEX_REAR2][FROM_MTF_SIZE] = '\0'; + CAM_DBG(CAM_EEPROM, "rear2 mtf exif = %s", mtf_exif[INDEX_REAR2]); + } + } +#endif +#if defined(CONFIG_SAMSUNG_REAR_TOF) + else if (e_ctrl->soc_info.index == SEC_REAR_TOF_SENSOR) { + cam_sec_eeprom_module_info_tof(e_ctrl->cal_data.mapdata, "rear", + rear_tof_cal, rear_tof_cal_extra, &rear_tof_uid, &rear_tof_cal_result, + &rear_tof_validation_500, &rear_tof_validation_300); + } + +#endif +#if defined(CONFIG_SAMSUNG_FRONT_TOF) + else if (e_ctrl->soc_info.index == SEC_FRONT_TOF_SENSOR) { + cam_sec_eeprom_module_info_tof(e_ctrl->cal_data.mapdata, "front", + front_tof_cal, front_tof_cal_extra, &front_tof_uid, &front_tof_cal_result, + &rear_tof_validation_500, &rear_tof_validation_300); + + if (mInfo.mapVer < '5') { + CAM_INFO(CAM_EEPROM, "invalid front tof uid (map_ver %c), force chage to 0xCB29", mInfo.mapVer); + front_tof_uid = 0xCB29; + } + } +#endif + + rc = cam_sec_eeprom_check_firmware_cal(e_ctrl->is_supported, e_ctrl->camera_normal_cal_crc, &mInfo); + +#if defined(CONFIG_SAMSUNG_WACOM_NOTIFIER) + // Update for each module + if (1 == (e_ctrl->is_supported & 0x1)) + { + is_eeprom_info_update(e_ctrl->soc_info.index, mInfo.mVer.module_fw_ver); + } + + // Probe Timing different for each model +#if defined(CONFIG_SEC_E3Q_PROJECT) + if (SEC_TELE2_SENSOR == e_ctrl->soc_info.index) + { + is_eeprom_wacom_update_notifier(); + } +#endif +#endif /* CONFIG_SAMSUNG_WACOM_NOTIFIER */ + + return rc; +} + +void cam_sec_eeprom_update_sysfs_fw_version( + const char *update_fw_ver, cam_eeprom_fw_version_idx update_fw_index, ModuleInfo_t *mInfo) +{ + if (update_fw_index == EEPROM_FW_VER) + strlcpy(mInfo->mVer.module_fw_ver, update_fw_ver, FROM_MODULE_FW_INFO_SIZE + 1); + else if (update_fw_index == PHONE_FW_VER) + strlcpy(mInfo->mVer.phone_fw_ver, update_fw_ver, FROM_MODULE_FW_INFO_SIZE + 1); + else { +#if defined(CONFIG_SAMSUNG_REAR_TOF) + if (mInfo->type == SEC_REAR_TOF_SENSOR) + { + sprintf(mInfo->mVer.load_fw_ver, "N"); + CAM_INFO(CAM_EEPROM, "rear tof not support load_fw_ver"); + } + else +#endif +#if defined(CONFIG_SAMSUNG_FRONT_TOF) + if (mInfo->type == SEC_FRONT_TOF_SENSOR) + { + sprintf(mInfo->mVer.load_fw_ver, "N"); + CAM_INFO(CAM_EEPROM, "front tof not support load_fw_ver"); + } + else +#endif + strlcpy(mInfo->mVer.load_fw_ver, update_fw_ver, FROM_MODULE_FW_INFO_SIZE + 1); + } + + /* update EEPROM fw version on sysfs */ + // all camera module except rear wide module. + if ((mInfo->type != SEC_WIDE_SENSOR) + || (mInfo->type == SEC_WIDE_SENSOR && mInfo->M_or_S != MAIN_MODULE)) + { + sprintf(mInfo->mVer.phone_fw_ver, "N"); + } + + sprintf(mInfo->mVer.cam_fw_ver, "%s %s\n", mInfo->mVer.module_fw_ver, mInfo->mVer.load_fw_ver); + sprintf(mInfo->mVer.cam_fw_full_ver, "%s %s %s\n", mInfo->mVer.module_fw_ver, mInfo->mVer.phone_fw_ver, mInfo->mVer.load_fw_ver); + + CAM_INFO(CAM_EEPROM, "camera_idx: %d, cam_fw_full_ver: %s", mInfo->type, mInfo->mVer.cam_fw_full_ver); +} + +int32_t cam_sec_eeprom_check_firmware_cal(uint32_t camera_cal_crc, uint32_t camera_normal_cal_crc, ModuleInfo_t *mInfo) +{ + int rc = 0, offset = 0, cnt = 0; + char final_cmd_ack[SYSFS_FW_VER_SIZE] = "NG_"; + char cam_cal_ack[SYSFS_FW_VER_SIZE] = "NULL"; + + uint8_t isNeedUpdate = TRUE; + uint8_t version_isp = 0, version_module_maker_ver = 0; + uint8_t isValid_EEPROM_data = TRUE; + uint8_t isQCmodule = TRUE; + uint8_t camera_cal_ack = OK; + uint8_t camera_fw_ack = OK; + + if ((mInfo == NULL) || (mInfo->mVer.cam_fw_ver == NULL)) + { + CAM_ERR(CAM_EEPROM, "invalid argument"); + rc = 0; + return rc; + } + + version_isp = mInfo->mVer.cam_fw_ver[3]; + version_module_maker_ver = mInfo->mVer.cam_fw_ver[10]; + + if (version_isp == 0xff || version_module_maker_ver == 0xff) { + CAM_ERR(CAM_EEPROM, "invalid eeprom data"); + isValid_EEPROM_data = FALSE; + cam_sec_eeprom_update_sysfs_fw_version("NULL", EEPROM_FW_VER, mInfo); + } + + /* 1. check camera firmware and cal data */ + CAM_INFO(CAM_EEPROM, "camera_cal_crc: 0x%x", camera_cal_crc); + + if (camera_cal_crc == camera_normal_cal_crc) { + camera_cal_ack = OK; + strncpy(cam_cal_ack, "Normal", SYSFS_FW_VER_SIZE); + } else { + camera_cal_ack = CRASH; + strncpy(cam_cal_ack, "Abnormal", SYSFS_FW_VER_SIZE); + + offset = strlen(final_cmd_ack); + if (mInfo->type == SEC_WIDE_SENSOR) { + camera_cal_ack = CRASH; + strncpy(cam_cal_ack, "Abnormal", SYSFS_FW_VER_SIZE); +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) + if ((camera_cal_crc & CAMERA_CAL_CRC_WIDE) != CAMERA_CAL_CRC_WIDE) { + cnt = scnprintf(&final_cmd_ack[offset], SYSFS_FW_VER_SIZE-offset, "%s", "CD"); + offset += cnt; + } else { + cnt = scnprintf(&final_cmd_ack[offset], SYSFS_FW_VER_SIZE-offset, "%s", "CD4"); + offset += cnt; + } +#else + cnt = scnprintf(&final_cmd_ack[offset], SYSFS_FW_VER_SIZE-offset, "%s", "CD"); + offset += cnt; +#endif + } else { + camera_cal_ack = CRASH; + strncpy(cam_cal_ack, "Abnormal", SYSFS_FW_VER_SIZE); + cnt = scnprintf(&final_cmd_ack[offset], SYSFS_FW_VER_SIZE-offset, "%s", "CD3"); + offset += cnt; + } + final_cmd_ack[offset] = '\0'; + + switch(mInfo->type) + { + case SEC_FRONT_SENSOR: +#if defined(CONFIG_SAMSUNG_FRONT_TOP) + case SEC_FRONT_TOP_SENSOR: +#endif +#if defined(UNUSE_FRONT_EEPROM) + strncpy(final_cmd_ack, "NG_", 3); + strncpy(cam_cal_ack, "NULL", SYSFS_FW_VER_SIZE); + camera_cal_ack = OK; +#endif + break; + + default: + break; + } + } + + /* 3-1. all success case: display LOAD FW */ + if (camera_fw_ack && camera_cal_ack) + isNeedUpdate = FALSE; + + /* 3-2. fail case: update CMD_ACK on sysfs (load fw) */ + // If not QC module, return NG. + if (version_isp >= 0x80 || !isalnum(version_isp)) + CAM_INFO(CAM_EEPROM, "ISP Ver : 0x%x", version_isp); + else + CAM_INFO(CAM_EEPROM, "ISP Ver : %c", version_isp); + + if (version_isp != 'Q' && version_isp != 'U' && version_isp != 'A' && version_isp != 'X' && version_isp != 'E') { + CAM_ERR(CAM_EEPROM, "This is not Qualcomm module!"); + + if (mInfo->type == SEC_WIDE_SENSOR) { + strncpy(final_cmd_ack, "NG_FWCD", SYSFS_FW_VER_SIZE); + strncpy(cam_cal_ack, "Abnormal", SYSFS_FW_VER_SIZE); + } else { + strncpy(final_cmd_ack, "NG_CD3_L", SYSFS_FW_VER_SIZE); + strncpy(cam_cal_ack, "Abnormal", SYSFS_FW_VER_SIZE); + } + + isNeedUpdate = TRUE; + isQCmodule = FALSE; + camera_cal_ack = CRASH; + } + +#if defined(CONFIG_SAMSUNG_REAR_TOF) + if (mInfo->type == SEC_REAR_TOF_SENSOR) + { + isNeedUpdate = TRUE; + CAM_INFO(CAM_EEPROM,"Set true sysfs update for TOF"); + } +#endif +#if defined(CONFIG_SAMSUNG_FRONT_TOF) + if (mInfo->type == SEC_FRONT_TOF_SENSOR) + { + isNeedUpdate = TRUE; + CAM_INFO(CAM_EEPROM,"Set true sysfs update for TOF"); + } +#endif + + if (isNeedUpdate) { + CAM_ERR(CAM_EEPROM, "final_cmd_ack : %s", final_cmd_ack); + cam_sec_eeprom_update_sysfs_fw_version(final_cmd_ack, LOAD_FW_VER, mInfo); + } else { + // just display success fw version log + CAM_INFO(CAM_EEPROM, "final_cmd_ack : %s", final_cmd_ack); + memset(final_cmd_ack, 0, sizeof(final_cmd_ack)); + strncpy(final_cmd_ack, mInfo->mVer.cam_fw_full_ver, SYSFS_FW_VER_SIZE); + final_cmd_ack[SYSFS_FW_VER_SIZE-1] = '\0'; + + CAM_INFO(CAM_EEPROM, "final_cmd_ack : %s", final_cmd_ack); + } + + /* 4. update CAL check ack on sysfs rear_calcheck */ + strlcpy(mInfo->mVer.cam_cal_ack, cam_cal_ack, SYSFS_FW_VER_SIZE); + snprintf(cal_crc, SYSFS_FW_VER_SIZE, "%s %s\n", cam_cal_check[INDEX_REAR], cam_cal_check[INDEX_FRONT]); + + CAM_INFO(CAM_EEPROM, + "version_module_maker: 0x%x, MODULE_VER_ON_PVR: 0x%x, MODULE_VER_ON_SRA: 0x%x", + version_module_maker_ver, ModuleVerOnPVR, ModuleVerOnSRA); + CAM_INFO(CAM_EEPROM, + "cal_map_version: 0x%x vs FROM_CAL_MAP_VERSION: 0x%x", + mInfo->mapVer, minCalMapVer); + + if ((isQCmodule == TRUE) && ((isValid_EEPROM_data == FALSE) || (mInfo->mapVer < minCalMapVer) + || (version_module_maker_ver < ModuleVerOnPVR))) { + strncpy(mInfo->mVer.fw_user_ver, "NG", SYSFS_FW_VER_SIZE); + } else { + if (camera_cal_ack == CRASH) + strncpy(mInfo->mVer.fw_user_ver, "NG", SYSFS_FW_VER_SIZE); + else + strncpy(mInfo->mVer.fw_user_ver, "OK", SYSFS_FW_VER_SIZE); + } + + if ((isQCmodule == TRUE) && ((isValid_EEPROM_data == FALSE) || (mInfo->mapVer < minCalMapVer) + || (version_module_maker_ver < ModuleVerOnSRA))) { + strncpy(mInfo->mVer.fw_factory_ver, "NG_VER", SYSFS_FW_VER_SIZE); + } else { + if (camera_cal_ack == CRASH) { + if (mInfo->type == SEC_WIDE_SENSOR) { + strncpy(mInfo->mVer.fw_factory_ver, "NG_VER", SYSFS_FW_VER_SIZE); + } else { + strncpy(mInfo->mVer.fw_factory_ver, "NG_CRC", SYSFS_FW_VER_SIZE); + + if (mInfo->type == SEC_FRONT_SENSOR || mInfo->type == SEC_ULTRA_WIDE_SENSOR) // TEMP_8550 + strncpy(mInfo->mVer.fw_factory_ver, "OK", SYSFS_FW_VER_SIZE); + } + } + else { + strncpy(mInfo->mVer.fw_factory_ver, "OK", SYSFS_FW_VER_SIZE); + } + } + + return rc; +} + +/** + * cam_sec_eeprom_verify_sum - verify crc32 checksum + * @mem: data buffer + * @size: size of data buffer + * @sum: expected checksum + * @rev_endian: compare reversed endian (0:little, 1:big) + * + * Returns 0 if checksum match, -EINVAL otherwise. + */ +static int cam_sec_eeprom_verify_sum(const char *mem, uint32_t size, uint32_t sum, uint32_t rev_endian) +{ + uint32_t crc = ~0; + uint32_t cmp_crc = 0; + + /* check overflow */ + if (size > crc - sizeof(uint32_t)) + return -EINVAL; + + crc = crc32_le(crc, mem, size); + + crc = ~crc; + if (rev_endian == 1) { + cmp_crc = (((crc) & 0xFF) << 24) + | (((crc) & 0xFF00) << 8) + | (((crc) >> 8) & 0xFF00) + | ((crc) >> 24); + } else { + cmp_crc = crc; + } + CAM_DBG(CAM_EEPROM, "endian %d, expect 0x%x, result 0x%x", rev_endian, sum, cmp_crc); + + if (cmp_crc != sum) { + CAM_ERR(CAM_EEPROM, "endian %d, expect 0x%x, result 0x%x", rev_endian, sum, cmp_crc); + return -EINVAL; + } else { + CAM_DBG(CAM_EEPROM, "checksum pass 0x%x", sum); + return 0; + } +} + +/** + * cam_sec_eeprom_match_crc - verify multiple regions using crc + * @data: data block to be verified + * + * Iterates through all regions stored in @data. Regions with odd index + * are treated as data, and its next region is treated as checksum. Thus + * regions of even index must have valid_size of 4 or 0 (skip verification). + * Returns a bitmask of verified regions, starting from LSB. 1 indicates + * a checksum match, while 0 indicates checksum mismatch or not verified. + */ +uint32_t cam_sec_eeprom_match_crc(struct cam_eeprom_memory_block_t *data, uint32_t subdev_id) +{ + int j, rc; + uint32_t *sum; + uint32_t ret = 0; + uint8_t *memptr, *memptr_crc; + struct cam_eeprom_memory_map_t *map; + + if (!data) { + CAM_ERR(CAM_EEPROM, "data is NULL"); + return -EINVAL; + } + map = data->map; + +#if 1 +{ + + uint8_t map_ver = 0; + uint32_t ConfAddr = 0; + + if (subdev_id < SEC_SENSOR_ID_MAX) + { + if (isValidIdx(ADDR_M_CALMAP_VER, &ConfAddr) == 1) { + ConfAddr += 0x03; + map_ver = data->mapdata[ConfAddr]; + } + else + { + CAM_INFO(CAM_EEPROM, "ADDR_M_CALMAP_VER is not set: %d", subdev_id); + } + } + else + { + CAM_INFO(CAM_EEPROM, "subdev_id: %d is not supported", subdev_id); + return 0; + } + + if (map_ver >= 0x80 || !isalnum(map_ver)) + CAM_INFO(CAM_EEPROM, "map subdev_id = %d, version = 0x%x", subdev_id, map_ver); + else + CAM_INFO(CAM_EEPROM, "map subdev_id = %d, version = %c [0x%x]", subdev_id, map_ver, map_ver); +} +#endif + + // idx 0 is the actual reading section (whole data) + // from idx 1, start to compare CRC checksum + // (1: CRC area for header, 2: CRC value) + for (j = 1; j + 1 < data->num_map; j += 2) { + memptr = data->mapdata + map[j].mem.addr; + memptr_crc = data->mapdata + map[j+1].mem.addr; + + /* empty table or no checksum */ + if (!map[j].mem.valid_size || !map[j+1].mem.valid_size) { + CAM_ERR(CAM_EEPROM, "continue"); + continue; + } + + if (map[j+1].mem.valid_size < sizeof(uint32_t)) { + CAM_ERR(CAM_EEPROM, "[%d : size 0x%X] malformatted data mapping", j+1, map[j+1].mem.valid_size); + return -EINVAL; + } + CAM_DBG(CAM_EEPROM, "[%d] memptr 0x%x, memptr_crc 0x%x", j, map[j].mem.addr, map[j + 1].mem.addr); + sum = (uint32_t *) (memptr_crc + map[j+1].mem.valid_size - sizeof(uint32_t)); + rc = cam_sec_eeprom_verify_sum(memptr, map[j].mem.valid_size, *sum, 0); + + if (!rc) + ret |= 1 << (j/2); + } + + CAM_INFO(CAM_EEPROM, "CRC result = 0x%08X", ret); + + return ret; +} + +/** + * cam_sec_eeprom_calc_calmap_size - Calculate cal array size based on the cal map + * @e_ctrl: ctrl structure + * + * Returns size of cal array + */ +int32_t cam_sec_eeprom_calc_calmap_size(struct cam_eeprom_ctrl_t *e_ctrl) +{ + struct cam_eeprom_memory_map_t *map = NULL; + uint32_t minMap, maxMap, minLocal, maxLocal; + int32_t i; + int32_t calmap_size = 0; + + if (e_ctrl == NULL || + (e_ctrl->cal_data.num_map == 0) || + (e_ctrl->cal_data.map == NULL)) { + CAM_INFO(CAM_EEPROM, "cal size is wrong"); + return calmap_size; + } + + map = e_ctrl->cal_data.map; + minMap = minLocal = 0xFFFFFFFF; + maxMap = maxLocal = 0x00; + + for (i = 0; i < e_ctrl->cal_data.num_map; i++) { + minLocal = map[i].mem.addr; + maxLocal = minLocal + map[i].mem.valid_size; + + if (minMap > minLocal) + { + minMap = minLocal; + } + + if (maxMap < maxLocal) + { + maxMap = maxLocal; + } + + CAM_DBG(CAM_EEPROM, "[%d / %d] minLocal = 0x%X, minMap = 0x%X, maxLocal = 0x%X, maxMap = 0x%X", + i+1, e_ctrl->cal_data.num_map, minLocal, minMap, maxLocal, maxMap); + } + calmap_size = maxMap - minMap; + + CAM_INFO(CAM_EEPROM, "calmap_size = 0x%X, minMap = 0x%X, maxMap = 0x%X", + calmap_size, minMap, maxMap); + + return calmap_size; +} + +int32_t cam_sec_eeprom_fill_configInfo(char *configString, uint32_t value, ConfigInfo_t *ConfigInfo) +{ + int32_t i, ret = 1; + + for(i = 0; i < MAX_CONFIG_INFO_IDX; i ++) + { + if (ConfigInfo[i].isSet == 1) + continue; + + if (!strcmp(configString, ConfigInfoStrs[i])) + { + ConfigInfo[i].isSet = 1; + ConfigInfo[i].value = value; + ret = 0; + + switch(i) + { + case DEF_M_CORE_VER: + memset(M_HW_INFO, 0x00, HW_INFO_MAX_SIZE); + M_HW_INFO[0] = (value) & 0xFF; + + memset(S_HW_INFO, 0x00, HW_INFO_MAX_SIZE); + S_HW_INFO[0] = (value) & 0xFF; + + if ((value>>16) & 0xFF) + { + S_HW_INFO[0] = (value>>16) & 0xFF; + CAM_DBG(CAM_EEPROM, "value: 0x%08X, S_HW_INFO[0]: 0x%02X", value, S_HW_INFO[0]); + } + + break; + + case DEF_M_VER_HW: + M_HW_INFO[1] = (value >> 24) & 0xFF; + M_HW_INFO[2] = (value >> 16) & 0xFF; + M_HW_INFO[3] = (value >> 8) & 0xFF; + M_HW_INFO[4] = (value) & 0xFF; + + CAM_DBG(CAM_EEPROM, "M_HW_INFO: %c %c%c %c %c", + M_HW_INFO[0], M_HW_INFO[1], M_HW_INFO[2], M_HW_INFO[3], M_HW_INFO[4]); + break; + + case DEF_M_VER_SW: + memset(M_SW_INFO, 0x00, SW_INFO_MAX_SIZE); + M_SW_INFO[0] = (value >> 24) & 0xFF; + M_SW_INFO[1] = (value >> 16) & 0xFF; + M_SW_INFO[2] = (value >> 8) & 0xFF; + M_SW_INFO[3] = (value) & 0xFF; + + CAM_DBG(CAM_EEPROM, "M_SW_INFO: %c %c %c%c", + M_SW_INFO[0], M_SW_INFO[1], M_SW_INFO[2], M_SW_INFO[3]); + + memset(S_SW_INFO, 0x00, SW_INFO_MAX_SIZE); + S_SW_INFO[0] = (value >> 24) & 0xFF; + S_SW_INFO[1] = (value >> 16) & 0xFF; + S_SW_INFO[2] = (value >> 8) & 0xFF; + S_SW_INFO[3] = (value) & 0xFF; + break; + + case DEF_M_VER_ETC: + memset(M_VENDOR_INFO, 0x00, VENDOR_INFO_MAX_SIZE); + memset(M_PROCESS_INFO, 0x00, PROCESS_INFO_MAX_SIZE); + M_VENDOR_INFO[0] = (value >> 24) & 0xFF; + M_PROCESS_INFO[0] = (value >> 16) & 0xFF; + + CAM_DBG(CAM_EEPROM, "M_ETC_VER: %c %c", + M_VENDOR_INFO[0], M_PROCESS_INFO[0]); + + memset(S_VENDOR_INFO, 0x00, VENDOR_INFO_MAX_SIZE); + memset(S_PROCESS_INFO, 0x00, PROCESS_INFO_MAX_SIZE); + S_VENDOR_INFO[0] = (value >> 24) & 0xFF; + S_PROCESS_INFO[0] = (value >> 16) & 0xFF; + break; + + case DEF_S_VER_HW: + S_HW_INFO[1] = (value >> 24) & 0xFF; + S_HW_INFO[2] = (value >> 16) & 0xFF; + S_HW_INFO[3] = (value >> 8) & 0xFF; + S_HW_INFO[4] = (value) & 0xFF; + + CAM_DBG(CAM_EEPROM, "S_HW_INFO: %c %c%c %c %c", + S_HW_INFO[0], S_HW_INFO[1], S_HW_INFO[2], S_HW_INFO[3], S_HW_INFO[4]); + break; + + case DEF_M_CHK_VER: + CriterionRev = (value >> 24) & 0xFF; + ModuleVerOnPVR = (value >> 16) & 0xFF; + ModuleVerOnSRA = (value >> 8) & 0xFF; + minCalMapVer = ((value ) & 0xFF) + '0'; + + CAM_DBG(CAM_EEPROM, "value: 0x%08X, CriterionRev: %d, ModuleVerOnPVR: %c, ModuleVerOnSRA: %c, minCalMapVer: %d", + value, CriterionRev, ModuleVerOnPVR, ModuleVerOnSRA, minCalMapVer); + break; + + default: + break; + } + } + } + + return ret; +} + +/** + * cam_sec_eeprom_get_customInfo - parse the userspace IO config and + * read phone version at eebindriver.bin + * @e_ctrl: ctrl structure + * @csl_packet: csl packet received + * + * Returns success or failure + */ +int32_t cam_sec_eeprom_get_customInfo(struct cam_eeprom_ctrl_t *e_ctrl, + struct cam_packet *csl_packet) +{ + struct cam_buf_io_cfg *io_cfg; + uint32_t i = 0; + int rc = 0; + uintptr_t buf_addr; + size_t buf_size = 0; + uint8_t *read_buffer; + + uint8_t *pBuf = NULL; + uint32_t nConfig = 0; + char *strConfigName = "CustomInfo"; + + char configString[MaximumCustomStringLength] = ""; + uint32_t configValue = 0; + + io_cfg = (struct cam_buf_io_cfg *) ((uint8_t *) + &csl_packet->payload + + csl_packet->io_configs_offset); + + CAM_DBG(CAM_EEPROM, "number of IO configs: %d:", + csl_packet->num_io_configs); + + for (i = 0; i < csl_packet->num_io_configs; i++) { + CAM_DBG(CAM_EEPROM, "Direction: %d:", io_cfg->direction); + if (io_cfg->direction == CAM_BUF_OUTPUT) { + rc = cam_mem_get_cpu_buf(io_cfg->mem_handle[0], + &buf_addr, &buf_size); + CAM_DBG(CAM_EEPROM, "buf_addr : %pK, buf_size : %zu", + (void *)buf_addr, buf_size); + + read_buffer = (uint8_t *)buf_addr; + if (!read_buffer) { + CAM_ERR(CAM_EEPROM, + "invalid buffer to copy data"); + return -EINVAL; + } + read_buffer += io_cfg->offsets[0]; + + if (buf_size < e_ctrl->cal_data.num_data) { + CAM_ERR(CAM_EEPROM, + "failed to copy, Invalid size"); + return -EINVAL; + } + + CAM_DBG(CAM_EEPROM, "copy the data, len:%d, read_buffer[0] = %d, read_buffer[4] = %d", + e_ctrl->cal_data.num_data, read_buffer[0], read_buffer[4]); + + memset(&ConfigInfo, 0x00, sizeof(ConfigInfo_t) * MAX_CONFIG_INFO_IDX); + + pBuf = read_buffer; + if (strcmp(pBuf, strConfigName) == 0) { + pBuf += strlen(strConfigName)+1+sizeof(uint32_t); + + memcpy(&nConfig, pBuf, sizeof(uint32_t)); + pBuf += sizeof(uint32_t); + + CAM_INFO(CAM_EEPROM, "nConfig: %d", nConfig); + for(i = 0; i < nConfig; i ++) { + memcpy(configString, pBuf, MaximumCustomStringLength); + pBuf += MaximumCustomStringLength; + + memcpy(&configValue, pBuf, sizeof(uint32_t)); + pBuf += sizeof(uint32_t); + +#if 0 + CAM_INFO(CAM_EEPROM, "ConfigInfo[%d] = %s 0x%04X", i, configString, configValue); +#endif + + cam_sec_eeprom_fill_configInfo(configString, configValue, ConfigInfo); + } + } + +#if 0 + for(i = 0; i < MAX_CONFIG_INFO_IDX; i ++) + { + if (ConfigInfo[i].isSet == 1) + { + CAM_INFO(CAM_EEPROM, "ConfigInfo[%d] (%d) = %s 0x%04X", + i, ConfigInfo[i].isSet, ConfigInfoStrs[i], ConfigInfo[i].value); + } + } +#endif + + memset(read_buffer, 0x00, e_ctrl->cal_data.num_data); + } else { + CAM_ERR(CAM_EEPROM, "Invalid direction"); + rc = -EINVAL; + } + } + + return rc; +} + +/** + * cam_sec_eeprom_get_phone_ver - parse the userspace IO config and + * read phone version at eebindriver.bin + * @e_ctrl: ctrl structure + * @csl_packet: csl packet received + * + * Returns success or failure + */ + +#define REAR_MODULE_FW_VERSION (0x50) +int32_t cam_sec_eeprom_get_phone_ver(struct cam_eeprom_ctrl_t *e_ctrl, + struct cam_packet *csl_packet) +{ + (void) e_ctrl; + (void) csl_packet; + + return 0; +#if 0 + struct cam_buf_io_cfg *io_cfg; + uint32_t i = 0, j = 0; + int rc = 0; + uintptr_t buf_addr; + size_t buf_size; + uint8_t *read_buffer; + + int nVer = 0; + uint8_t *pBuf = NULL; + uint8_t bVerNormal = TRUE; + + char tmp_hw_info[HW_INFO_MAX_SIZE];// = HW_INFO; + char tmp_sw_info[SW_INFO_MAX_SIZE];// = SW_INFO; + char tmp_vendor_info[VENDOR_INFO_MAX_SIZE];// = VENDOR_INFO; + char tmp_process_info[PROCESS_INFO_MAX_SIZE];// = PROCESS_INFO; + unsigned int tmp_rev = 0; + + io_cfg = (struct cam_buf_io_cfg *) ((uint8_t *) + &csl_packet->payload + + csl_packet->io_configs_offset); + + CAM_INFO(CAM_EEPROM, "number of IO configs: %d:", + csl_packet->num_io_configs); + + for (i = 0; i < csl_packet->num_io_configs; i++) { + CAM_INFO(CAM_EEPROM, "Direction: %d:", io_cfg->direction); + if (io_cfg->direction == CAM_BUF_OUTPUT) { + rc = cam_mem_get_cpu_buf(io_cfg->mem_handle[0], + &buf_addr, &buf_size); + CAM_INFO(CAM_EEPROM, "buf_addr : %pK, buf_size : %zu", + (void *)buf_addr, buf_size); + + read_buffer = (uint8_t *)buf_addr; + if (!read_buffer) { + CAM_ERR(CAM_EEPROM, + "invalid buffer to copy data"); + return -EINVAL; + } + read_buffer += io_cfg->offsets[0]; + + if (buf_size < e_ctrl->cal_data.num_data) { + CAM_ERR(CAM_EEPROM, + "failed to copy, Invalid size"); + return -EINVAL; + } + + CAM_INFO(CAM_EEPROM, "copy the data, len:%d, read_buffer[0] = %d, read_buffer[4] = %d", + e_ctrl->cal_data.num_data, read_buffer[0], read_buffer[4]); + + pBuf = read_buffer; + memcpy(&nVer, pBuf, sizeof(int)); + pBuf += sizeof(int); + + memcpy(&tmp_rev, pBuf, sizeof(int)); + pBuf += sizeof(int); + + bVerNormal = TRUE; + for(j = 0; j < FROM_MODULE_FW_INFO_SIZE; j ++) { + CAM_DBG(CAM_EEPROM, "mapdata[0x%04X] = 0x%02X", + REAR_MODULE_FW_VERSION + j, + e_ctrl->cal_data.mapdata[REAR_MODULE_FW_VERSION + j]); + + if (e_ctrl->cal_data.mapdata[REAR_MODULE_FW_VERSION + j] >= 0x80 + || !isalnum(e_ctrl->cal_data.mapdata[REAR_MODULE_FW_VERSION + j] & 0xFF)) { + CAM_ERR(CAM_EEPROM, "Invalid Version"); + bVerNormal = FALSE; + break; + } + } + + if (bVerNormal == TRUE) { + memcpy(hw_phone_info, &e_ctrl->cal_data.mapdata[REAR_MODULE_FW_VERSION], + HW_INFO_MAX_SIZE); + hw_phone_info[HW_INFO_MAX_SIZE-1] = '\0'; + CAM_INFO(CAM_EEPROM, "hw_phone_info: %s", hw_phone_info); + } +#if 0 + else { + memcpy(hw_phone_info, HW_INFO, HW_INFO_MAX_SIZE); + memcpy(sw_phone_info, SW_INFO, SW_INFO_MAX_SIZE); + memcpy(vendor_phone_info, VENDOR_INFO, VENDOR_INFO_MAX_SIZE); + memcpy(process_phone_info, PROCESS_INFO, PROCESS_INFO_MAX_SIZE); + CAM_INFO(CAM_EEPROM, "Set Ver : %s %s %s %s", + hw_phone_info, sw_phone_info, + vendor_phone_info, process_phone_info); + } +#endif + CAM_INFO(CAM_EEPROM, "hw_phone_info: %s", hw_phone_info); + + for (i = 0; i < nVer; i++) { + memcpy(tmp_hw_info, pBuf, HW_INFO_MAX_SIZE); + pBuf += HW_INFO_MAX_SIZE; + + memcpy(tmp_sw_info, pBuf, SW_INFO_MAX_SIZE); + pBuf += SW_INFO_MAX_SIZE; + + memcpy(tmp_vendor_info, pBuf, VENDOR_INFO_MAX_SIZE); + tmp_vendor_info[VENDOR_INFO_MAX_SIZE-1] = '\0'; + pBuf += VENDOR_INFO_MAX_SIZE-1; + + memcpy(tmp_process_info, pBuf, PROCESS_INFO_MAX_SIZE); + tmp_process_info[PROCESS_INFO_MAX_SIZE-1] = '\0'; + pBuf += PROCESS_INFO_MAX_SIZE; + + CAM_INFO(CAM_EEPROM, "[temp %d/%d] : %s %s %s %s", + i, nVer, tmp_hw_info, tmp_sw_info, + tmp_vendor_info, tmp_process_info); + + if (strcmp(hw_phone_info, tmp_hw_info) == 0) { + memcpy(sw_phone_info, tmp_sw_info, SW_INFO_MAX_SIZE); + memcpy(vendor_phone_info, tmp_vendor_info, VENDOR_INFO_MAX_SIZE); + memcpy(process_phone_info, tmp_process_info, PROCESS_INFO_MAX_SIZE); + CAM_INFO(CAM_EEPROM, "rear [%d] : %s %s %s %s", + i, hw_phone_info, sw_phone_info, + vendor_phone_info, process_phone_info); + } +#if 0 +#if defined(CONFIG_SAMSUNG_REAR_DUAL) + else if (strcmp(rear2_hw_phone_info, tmp_hw_info) == 0) { + memcpy(rear2_sw_phone_info, tmp_sw_info, SW_INFO_MAX_SIZE); + memcpy(rear2_vendor_phone_info, tmp_vendor_info, VENDOR_INFO_MAX_SIZE); + memcpy(rear2_process_phone_info, tmp_process_info, PROCESS_INFO_MAX_SIZE); + CAM_INFO(CAM_EEPROM, "rear2 [%d] : %s %s %s %s", + i, rear2_hw_phone_info, rear2_sw_phone_info, + rear2_vendor_phone_info, rear2_process_phone_info); + } +#endif +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) + else if (strcmp(rear3_hw_phone_info, tmp_hw_info) == 0) { + memcpy(rear3_sw_phone_info, tmp_sw_info, SW_INFO_MAX_SIZE); + memcpy(rear3_vendor_phone_info, tmp_vendor_info, VENDOR_INFO_MAX_SIZE); + memcpy(rear3_process_phone_info, tmp_process_info, PROCESS_INFO_MAX_SIZE); + CAM_INFO(CAM_EEPROM, "rear3 [%d] : %s %s %s %s", + i, rear3_hw_phone_info, rear3_sw_phone_info, + rear3_vendor_phone_info, rear3_process_phone_info); + } +#endif + else if (strcmp(front_hw_phone_info, tmp_hw_info) == 0) { + memcpy(front_sw_phone_info, tmp_sw_info, SW_INFO_MAX_SIZE); + memcpy(front_vendor_phone_info, tmp_vendor_info, VENDOR_INFO_MAX_SIZE); + memcpy(front_process_phone_info, tmp_process_info, PROCESS_INFO_MAX_SIZE); + CAM_INFO(CAM_EEPROM, "front [%d] : %s %s %s %s", + i, front_hw_phone_info, front_sw_phone_info, + front_vendor_phone_info, front_process_phone_info); + } +#if defined(CONFIG_SAMSUNG_FRONT_DUAL) + else if (strcmp(front2_hw_phone_info, tmp_hw_info) == 0) { + memcpy(front2_sw_phone_info, tmp_sw_info, SW_INFO_MAX_SIZE); + memcpy(front2_vendor_phone_info, tmp_vendor_info, VENDOR_INFO_MAX_SIZE); + memcpy(front2_process_phone_info, tmp_process_info, PROCESS_INFO_MAX_SIZE); + CAM_INFO(CAM_EEPROM, "front2 [%d] : %s %s %s %s", + i, front2_hw_phone_info, front2_sw_phone_info, + front2_vendor_phone_info, front2_process_phone_info); + } +#endif +#if defined(CONFIG_SAMSUNG_FRONT_TOP) + else if (strcmp(front3_hw_phone_info, tmp_hw_info) == 0) { + memcpy(front3_sw_phone_info, tmp_sw_info, SW_INFO_MAX_SIZE); + memcpy(front3_vendor_phone_info, tmp_vendor_info, VENDOR_INFO_MAX_SIZE); + memcpy(front3_process_phone_info, tmp_process_info, PROCESS_INFO_MAX_SIZE); + CAM_INFO(CAM_EEPROM, "front3 [%d] : %s %s %s %s", + i, front3_hw_phone_info, front3_sw_phone_info, + front3_vendor_phone_info, front3_process_phone_info); + } +#endif +#endif + else { + CAM_INFO(CAM_EEPROM, "invalid hwinfo: %s", tmp_hw_info); + } + } + memset(read_buffer, 0x00, e_ctrl->cal_data.num_data); + } else { + CAM_ERR(CAM_EEPROM, "Invalid direction"); + rc = -EINVAL; + } + } + + return rc; +#endif +} diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_eeprom/cam_sec_eeprom_core.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_eeprom/cam_sec_eeprom_core.h new file mode 100644 index 0000000000..a945278e22 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_eeprom/cam_sec_eeprom_core.h @@ -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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_eeprom/hi1337_otp.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_eeprom/hi1337_otp.h new file mode 100644 index 0000000000..6f5b5ac807 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_eeprom/hi1337_otp.h @@ -0,0 +1,1645 @@ +/* Copyright (c) 2011-2018, 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 HI1337_OTP_H +#define HI1337_OTP_H + + +#define SENSOR_HI1337_OTP_BANK_SELECT_REGISTER 0x0700 + +struct cam_sensor_i2c_reg_array load_sensor_hi1337_otp_setfile_reg[] = { + {0x0790, 0x0100}, + {0x2000, 0x0000}, + {0x2002, 0x0058}, + {0x2006, 0x40B2}, + {0x2008, 0xB05C}, + {0x200A, 0x8446}, + {0x200C, 0x40B2}, + {0x200E, 0xB082}, + {0x2010, 0x8450}, + {0x2012, 0x40B2}, + {0x2014, 0xB0AE}, + {0x2016, 0x84C6}, + {0x2018, 0x40B2}, + {0x201A, 0xB0FA}, + {0x201C, 0x8470}, + {0x201E, 0x40B2}, + {0x2020, 0xB120}, + {0x2022, 0x84B4}, + {0x2024, 0x40B2}, + {0x2026, 0xB15C}, + {0x2028, 0x84B0}, + {0x202A, 0x40B2}, + {0x202C, 0xB18A}, + {0x202E, 0x84B8}, + {0x2030, 0x40B2}, + {0x2032, 0xB1C0}, + {0x2034, 0x847C}, + {0x2036, 0x40B2}, + {0x2038, 0xB42E}, + {0x203A, 0x8478}, + {0x203C, 0x40B2}, + {0x203E, 0xB4C2}, + {0x2040, 0x8476}, + {0x2042, 0x40B2}, + {0x2044, 0xB53E}, + {0x2046, 0x847E}, + {0x2048, 0x40B2}, + {0x204A, 0xB64E}, + {0x204C, 0x843A}, + {0x204E, 0x40B2}, + {0x2050, 0xB830}, + {0x2052, 0x845C}, + {0x2054, 0x40B2}, + {0x2056, 0xB860}, + {0x2058, 0x845E}, + {0x205A, 0x4130}, + {0x205C, 0x1292}, + {0x205E, 0xD016}, + {0x2060, 0xB3D2}, + {0x2062, 0x0B00}, + {0x2064, 0x2002}, + {0x2066, 0xD2E2}, + {0x2068, 0x0381}, + {0x206A, 0x93C2}, + {0x206C, 0x0263}, + {0x206E, 0x2001}, + {0x2070, 0x4130}, + {0x2072, 0x422D}, + {0x2074, 0x403E}, + {0x2076, 0x879E}, + {0x2078, 0x403F}, + {0x207A, 0x192A}, + {0x207C, 0x1292}, + {0x207E, 0x843E}, + {0x2080, 0x3FF7}, + {0x2082, 0x422D}, + {0x2084, 0x403E}, + {0x2086, 0x192A}, + {0x2088, 0x403F}, + {0x208A, 0x862C}, + {0x208C, 0x1292}, + {0x208E, 0x843E}, + {0x2090, 0xB3D2}, + {0x2092, 0x0267}, + {0x2094, 0x2403}, + {0x2096, 0xD0F2}, + {0x2098, 0x0040}, + {0x209A, 0x0381}, + {0x209C, 0x90F2}, + {0x209E, 0x0010}, + {0x20A0, 0x0260}, + {0x20A2, 0x2002}, + {0x20A4, 0x1292}, + {0x20A6, 0x84BC}, + {0x20A8, 0x1292}, + {0x20AA, 0xD020}, + {0x20AC, 0x4130}, + {0x20AE, 0x1292}, + {0x20B0, 0x8470}, + {0x20B2, 0x1292}, + {0x20B4, 0x8452}, + {0x20B6, 0x0900}, + {0x20B8, 0x7118}, + {0x20BA, 0x1292}, + {0x20BC, 0x848E}, + {0x20BE, 0x0900}, + {0x20C0, 0x7112}, + {0x20C2, 0x0800}, + {0x20C4, 0x7A20}, + {0x20C6, 0x4292}, + {0x20C8, 0x86EE}, + {0x20CA, 0x7334}, + {0x20CC, 0x0F00}, + {0x20CE, 0x7304}, + {0x20D0, 0x421F}, + {0x20D2, 0x8620}, + {0x20D4, 0x1292}, + {0x20D6, 0x846E}, + {0x20D8, 0x1292}, + {0x20DA, 0x8488}, + {0x20DC, 0x0B00}, + {0x20DE, 0x7114}, + {0x20E0, 0x0002}, + {0x20E2, 0x1292}, + {0x20E4, 0x848C}, + {0x20E6, 0x1292}, + {0x20E8, 0x8454}, + {0x20EA, 0x43C2}, + {0x20EC, 0x85F6}, + {0x20EE, 0x4292}, + {0x20F0, 0x0C34}, + {0x20F2, 0x0202}, + {0x20F4, 0x1292}, + {0x20F6, 0x8444}, + {0x20F8, 0x4130}, + {0x20FA, 0x4392}, + {0x20FC, 0x7360}, + {0x20FE, 0xB3D2}, + {0x2100, 0x0B00}, + {0x2102, 0x2402}, + {0x2104, 0xC2E2}, + {0x2106, 0x0381}, + {0x2108, 0x0900}, + {0x210A, 0x732C}, + {0x210C, 0x4382}, + {0x210E, 0x7360}, + {0x2110, 0x422D}, + {0x2112, 0x403E}, + {0x2114, 0x8700}, + {0x2116, 0x403F}, + {0x2118, 0x86F8}, + {0x211A, 0x1292}, + {0x211C, 0x843E}, + {0x211E, 0x4130}, + {0x2120, 0x4F0C}, + {0x2122, 0x403F}, + {0x2124, 0x0267}, + {0x2126, 0xF0FF}, + {0x2128, 0xFFDF}, + {0x212A, 0x0000}, + {0x212C, 0xF0FF}, + {0x212E, 0xFFEF}, + {0x2130, 0x0000}, + {0x2132, 0x421D}, + {0x2134, 0x84B0}, + {0x2136, 0x403E}, + {0x2138, 0x06F9}, + {0x213A, 0x4C0F}, + {0x213C, 0x1292}, + {0x213E, 0x84AC}, + {0x2140, 0x4F4E}, + {0x2142, 0xB31E}, + {0x2144, 0x2403}, + {0x2146, 0xD0F2}, + {0x2148, 0x0020}, + {0x214A, 0x0267}, + {0x214C, 0xB32E}, + {0x214E, 0x2403}, + {0x2150, 0xD0F2}, + {0x2152, 0x0010}, + {0x2154, 0x0267}, + {0x2156, 0xC3E2}, + {0x2158, 0x0267}, + {0x215A, 0x4130}, + {0x215C, 0x120B}, + {0x215E, 0x120A}, + {0x2160, 0x403A}, + {0x2162, 0x1140}, + {0x2164, 0x1292}, + {0x2166, 0xD080}, + {0x2168, 0x430B}, + {0x216A, 0x4A0F}, + {0x216C, 0x532A}, + {0x216E, 0x1292}, + {0x2170, 0x84A4}, + {0x2172, 0x4F0E}, + {0x2174, 0x430F}, + {0x2176, 0x5E82}, + {0x2178, 0x870C}, + {0x217A, 0x6F82}, + {0x217C, 0x870E}, + {0x217E, 0x531B}, + {0x2180, 0x923B}, + {0x2182, 0x2BF3}, + {0x2184, 0x413A}, + {0x2186, 0x413B}, + {0x2188, 0x4130}, + {0x218A, 0xF0F2}, + {0x218C, 0x007F}, + {0x218E, 0x0267}, + {0x2190, 0x421D}, + {0x2192, 0x84B6}, + {0x2194, 0x403E}, + {0x2196, 0x01F9}, + {0x2198, 0x1292}, + {0x219A, 0x84AC}, + {0x219C, 0x4F4E}, + {0x219E, 0xF35F}, + {0x21A0, 0x2403}, + {0x21A2, 0xD0F2}, + {0x21A4, 0xFF80}, + {0x21A6, 0x0267}, + {0x21A8, 0xB36E}, + {0x21AA, 0x2404}, + {0x21AC, 0xD0F2}, + {0x21AE, 0x0040}, + {0x21B0, 0x0267}, + {0x21B2, 0x3C03}, + {0x21B4, 0xF0F2}, + {0x21B6, 0xFFBF}, + {0x21B8, 0x0267}, + {0x21BA, 0xC2E2}, + {0x21BC, 0x0267}, + {0x21BE, 0x4130}, + {0x21C0, 0x120B}, + {0x21C2, 0x120A}, + {0x21C4, 0x8231}, + {0x21C6, 0x430B}, + {0x21C8, 0x93C2}, + {0x21CA, 0x0C0A}, + {0x21CC, 0x2404}, + {0x21CE, 0xB3D2}, + {0x21D0, 0x0B05}, + {0x21D2, 0x2401}, + {0x21D4, 0x431B}, + {0x21D6, 0x422D}, + {0x21D8, 0x403E}, + {0x21DA, 0x192A}, + {0x21DC, 0x403F}, + {0x21DE, 0x879E}, + {0x21E0, 0x1292}, + {0x21E2, 0x843E}, + {0x21E4, 0x930B}, + {0x21E6, 0x20F4}, + {0x21E8, 0x93E2}, + {0x21EA, 0x0241}, + {0x21EC, 0x24EB}, + {0x21EE, 0x403A}, + {0x21F0, 0x0292}, + {0x21F2, 0x4AA2}, + {0x21F4, 0x0A00}, + {0x21F6, 0xB2E2}, + {0x21F8, 0x0361}, + {0x21FA, 0x2405}, + {0x21FC, 0x4A2F}, + {0x21FE, 0x1292}, + {0x2200, 0x8474}, + {0x2202, 0x4F82}, + {0x2204, 0x0A1C}, + {0x2206, 0x93C2}, + {0x2208, 0x0360}, + {0x220A, 0x34CD}, + {0x220C, 0x430C}, + {0x220E, 0x4C0F}, + {0x2210, 0x5F0F}, + {0x2212, 0x4F0D}, + {0x2214, 0x510D}, + {0x2216, 0x4F0E}, + {0x2218, 0x5A0E}, + {0x221A, 0x4E1E}, + {0x221C, 0x0002}, + {0x221E, 0x4F1F}, + {0x2220, 0x192A}, + {0x2222, 0x1202}, + {0x2224, 0xC232}, + {0x2226, 0x4303}, + {0x2228, 0x4E82}, + {0x222A, 0x0130}, + {0x222C, 0x4F82}, + {0x222E, 0x0138}, + {0x2230, 0x421E}, + {0x2232, 0x013A}, + {0x2234, 0x421F}, + {0x2236, 0x013C}, + {0x2238, 0x4132}, + {0x223A, 0x108E}, + {0x223C, 0x108F}, + {0x223E, 0xEF4E}, + {0x2240, 0xEF0E}, + {0x2242, 0xF37F}, + {0x2244, 0xC312}, + {0x2246, 0x100F}, + {0x2248, 0x100E}, + {0x224A, 0x4E8D}, + {0x224C, 0x0000}, + {0x224E, 0x531C}, + {0x2250, 0x922C}, + {0x2252, 0x2BDD}, + {0x2254, 0xB3D2}, + {0x2256, 0x1921}, + {0x2258, 0x2403}, + {0x225A, 0x410F}, + {0x225C, 0x1292}, + {0x225E, 0x847E}, + {0x2260, 0x403B}, + {0x2262, 0x843E}, + {0x2264, 0x422D}, + {0x2266, 0x410E}, + {0x2268, 0x403F}, + {0x226A, 0x1908}, + {0x226C, 0x12AB}, + {0x226E, 0x403D}, + {0x2270, 0x0005}, + {0x2272, 0x403E}, + {0x2274, 0x0292}, + {0x2276, 0x403F}, + {0x2278, 0x85EC}, + {0x227A, 0x12AB}, + {0x227C, 0x421F}, + {0x227E, 0x060E}, + {0x2280, 0x9F82}, + {0x2282, 0x8628}, + {0x2284, 0x288D}, + {0x2286, 0x9382}, + {0x2288, 0x060E}, + {0x228A, 0x248A}, + {0x228C, 0x90BA}, + {0x228E, 0x0010}, + {0x2290, 0x0000}, + {0x2292, 0x2C0B}, + {0x2294, 0x93C2}, + {0x2296, 0x85F6}, + {0x2298, 0x2008}, + {0x229A, 0x403F}, + {0x229C, 0x06A7}, + {0x229E, 0xD0FF}, + {0x22A0, 0x0007}, + {0x22A2, 0x0000}, + {0x22A4, 0xF0FF}, + {0x22A6, 0xFFF8}, + {0x22A8, 0x0000}, + {0x22AA, 0x4392}, + {0x22AC, 0x8628}, + {0x22AE, 0x403F}, + {0x22B0, 0x06A7}, + {0x22B2, 0xD2EF}, + {0x22B4, 0x0000}, + {0x22B6, 0xC2EF}, + {0x22B8, 0x0000}, + {0x22BA, 0x93C2}, + {0x22BC, 0x86E3}, + {0x22BE, 0x2068}, + {0x22C0, 0xB0F2}, + {0x22C2, 0x0040}, + {0x22C4, 0x0B05}, + {0x22C6, 0x2461}, + {0x22C8, 0xD3D2}, + {0x22CA, 0x0410}, + {0x22CC, 0xB3E2}, + {0x22CE, 0x0381}, + {0x22D0, 0x2089}, + {0x22D2, 0x90B2}, + {0x22D4, 0x0030}, + {0x22D6, 0x0A00}, + {0x22D8, 0x2C52}, + {0x22DA, 0x93C2}, + {0x22DC, 0x85F6}, + {0x22DE, 0x204F}, + {0x22E0, 0x430E}, + {0x22E2, 0x430C}, + {0x22E4, 0x4C0F}, + {0x22E6, 0x5F0F}, + {0x22E8, 0x5F0F}, + {0x22EA, 0x5F0F}, + {0x22EC, 0x4F1F}, + {0x22EE, 0x8570}, + {0x22F0, 0xF03F}, + {0x22F2, 0x07FF}, + {0x22F4, 0x903F}, + {0x22F6, 0x0400}, + {0x22F8, 0x343E}, + {0x22FA, 0x5F0E}, + {0x22FC, 0x531C}, + {0x22FE, 0x923C}, + {0x2300, 0x2BF1}, + {0x2302, 0x4E0F}, + {0x2304, 0x930E}, + {0x2306, 0x3834}, + {0x2308, 0x110F}, + {0x230A, 0x110F}, + {0x230C, 0x110F}, + {0x230E, 0x9382}, + {0x2310, 0x85F6}, + {0x2312, 0x2023}, + {0x2314, 0x5F82}, + {0x2316, 0x86E6}, + {0x2318, 0x403B}, + {0x231A, 0x86E6}, + {0x231C, 0x4B2F}, + {0x231E, 0x12B0}, + {0x2320, 0xB3FA}, + {0x2322, 0x4F8B}, + {0x2324, 0x0000}, + {0x2326, 0x430C}, + {0x2328, 0x4C0D}, + {0x232A, 0x5D0D}, + {0x232C, 0x5D0D}, + {0x232E, 0x5D0D}, + {0x2330, 0x403A}, + {0x2332, 0x86E8}, + {0x2334, 0x421B}, + {0x2336, 0x86E6}, + {0x2338, 0x4B0F}, + {0x233A, 0x8A2F}, + {0x233C, 0x4F0E}, + {0x233E, 0x4E0F}, + {0x2340, 0x5F0F}, + {0x2342, 0x7F0F}, + {0x2344, 0xE33F}, + {0x2346, 0x8E8D}, + {0x2348, 0x8570}, + {0x234A, 0x7F8D}, + {0x234C, 0x8572}, + {0x234E, 0x531C}, + {0x2350, 0x923C}, + {0x2352, 0x2BEA}, + {0x2354, 0x4B8A}, + {0x2356, 0x0000}, + {0x2358, 0x3C45}, + {0x235A, 0x9382}, + {0x235C, 0x85F8}, + {0x235E, 0x2005}, + {0x2360, 0x4382}, + {0x2362, 0x86E6}, + {0x2364, 0x4382}, + {0x2366, 0x86E8}, + {0x2368, 0x3FD7}, + {0x236A, 0x4F82}, + {0x236C, 0x86E6}, + {0x236E, 0x3FD4}, + {0x2370, 0x503F}, + {0x2372, 0x0007}, + {0x2374, 0x3FC9}, + {0x2376, 0x5F0E}, + {0x2378, 0x503E}, + {0x237A, 0xF800}, + {0x237C, 0x3FBF}, + {0x237E, 0x430F}, + {0x2380, 0x12B0}, + {0x2382, 0xB3FA}, + {0x2384, 0x4382}, + {0x2386, 0x86E6}, + {0x2388, 0x3C2D}, + {0x238A, 0xC3D2}, + {0x238C, 0x0410}, + {0x238E, 0x3F9E}, + {0x2390, 0x430D}, + {0x2392, 0x403E}, + {0x2394, 0x0050}, + {0x2396, 0x403F}, + {0x2398, 0x84D0}, + {0x239A, 0x1292}, + {0x239C, 0x844E}, + {0x239E, 0x3F90}, + {0x23A0, 0x5392}, + {0x23A2, 0x8628}, + {0x23A4, 0x3F84}, + {0x23A6, 0x403B}, + {0x23A8, 0x843E}, + {0x23AA, 0x4A0F}, + {0x23AC, 0x532F}, + {0x23AE, 0x422D}, + {0x23B0, 0x4F0E}, + {0x23B2, 0x403F}, + {0x23B4, 0x0E08}, + {0x23B6, 0x12AB}, + {0x23B8, 0x422D}, + {0x23BA, 0x403E}, + {0x23BC, 0x192A}, + {0x23BE, 0x410F}, + {0x23C0, 0x12AB}, + {0x23C2, 0x3F48}, + {0x23C4, 0x93C2}, + {0x23C6, 0x85F6}, + {0x23C8, 0x2312}, + {0x23CA, 0x403A}, + {0x23CC, 0x85EC}, + {0x23CE, 0x3F11}, + {0x23D0, 0x403D}, + {0x23D2, 0x0200}, + {0x23D4, 0x422E}, + {0x23D6, 0x403F}, + {0x23D8, 0x192A}, + {0x23DA, 0x1292}, + {0x23DC, 0x844E}, + {0x23DE, 0xC3D2}, + {0x23E0, 0x1921}, + {0x23E2, 0x3F02}, + {0x23E4, 0x422D}, + {0x23E6, 0x403E}, + {0x23E8, 0x879E}, + {0x23EA, 0x403F}, + {0x23EC, 0x192A}, + {0x23EE, 0x1292}, + {0x23F0, 0x843E}, + {0x23F2, 0x5231}, + {0x23F4, 0x413A}, + {0x23F6, 0x413B}, + {0x23F8, 0x4130}, + {0x23FA, 0x4382}, + {0x23FC, 0x052C}, + {0x23FE, 0x4F0D}, + {0x2400, 0x930D}, + {0x2402, 0x3402}, + {0x2404, 0xE33D}, + {0x2406, 0x531D}, + {0x2408, 0xF03D}, + {0x240A, 0x07F0}, + {0x240C, 0x4D0E}, + {0x240E, 0xC312}, + {0x2410, 0x100E}, + {0x2412, 0x110E}, + {0x2414, 0x110E}, + {0x2416, 0x110E}, + {0x2418, 0x930F}, + {0x241A, 0x3803}, + {0x241C, 0x4EC2}, + {0x241E, 0x052C}, + {0x2420, 0x3C04}, + {0x2422, 0x4EC2}, + {0x2424, 0x052D}, + {0x2426, 0xE33D}, + {0x2428, 0x531D}, + {0x242A, 0x4D0F}, + {0x242C, 0x4130}, + {0x242E, 0x120B}, + {0x2430, 0x120A}, + {0x2432, 0x93C2}, + {0x2434, 0x85F6}, + {0x2436, 0x2003}, + {0x2438, 0xB3D2}, + {0x243A, 0x0360}, + {0x243C, 0x2402}, + {0x243E, 0x1292}, + {0x2440, 0x847A}, + {0x2442, 0x1292}, + {0x2444, 0x847C}, + {0x2446, 0x93C2}, + {0x2448, 0x0600}, + {0x244A, 0x3803}, + {0x244C, 0x93C2}, + {0x244E, 0x0604}, + {0x2450, 0x3832}, + {0x2452, 0xD2F2}, + {0x2454, 0x0F01}, + {0x2456, 0xB3D2}, + {0x2458, 0x0363}, + {0x245A, 0x2418}, + {0x245C, 0x421F}, + {0x245E, 0x1246}, + {0x2460, 0x4F0E}, + {0x2462, 0x430F}, + {0x2464, 0x421B}, + {0x2466, 0x1244}, + {0x2468, 0x430A}, + {0x246A, 0xDA0E}, + {0x246C, 0xDB0F}, + {0x246E, 0x821E}, + {0x2470, 0x86F4}, + {0x2472, 0x721F}, + {0x2474, 0x86F6}, + {0x2476, 0x2C1B}, + {0x2478, 0x421F}, + {0x247A, 0x1240}, + {0x247C, 0xF03F}, + {0x247E, 0x01FF}, + {0x2480, 0x9F82}, + {0x2482, 0x0A00}, + {0x2484, 0x2814}, + {0x2486, 0xD0F2}, + {0x2488, 0xFF80}, + {0x248A, 0x1240}, + {0x248C, 0x93C2}, + {0x248E, 0x85F6}, + {0x2490, 0x2015}, + {0x2492, 0xB0F2}, + {0x2494, 0x0020}, + {0x2496, 0x0381}, + {0x2498, 0x2407}, + {0x249A, 0x9292}, + {0x249C, 0x862A}, + {0x249E, 0x0384}, + {0x24A0, 0x2C03}, + {0x24A2, 0xD3D2}, + {0x24A4, 0x0649}, + {0x24A6, 0x3C0A}, + {0x24A8, 0xC3D2}, + {0x24AA, 0x0649}, + {0x24AC, 0x3C07}, + {0x24AE, 0xF0F2}, + {0x24B0, 0x007F}, + {0x24B2, 0x1240}, + {0x24B4, 0x3FEB}, + {0x24B6, 0xC2F2}, + {0x24B8, 0x0F01}, + {0x24BA, 0x3FCD}, + {0x24BC, 0x413A}, + {0x24BE, 0x413B}, + {0x24C0, 0x4130}, + {0x24C2, 0x425F}, + {0x24C4, 0x86E2}, + {0x24C6, 0xD25F}, + {0x24C8, 0x86E1}, + {0x24CA, 0x4F4E}, + {0x24CC, 0x5E0E}, + {0x24CE, 0x425F}, + {0x24D0, 0x0204}, + {0x24D2, 0xF07F}, + {0x24D4, 0x0003}, + {0x24D6, 0xF37F}, + {0x24D8, 0xDF0E}, + {0x24DA, 0x40B2}, + {0x24DC, 0x8030}, + {0x24DE, 0x7A00}, + {0x24E0, 0x40B2}, + {0x24E2, 0x0100}, + {0x24E4, 0x7A02}, + {0x24E6, 0x40B2}, + {0x24E8, 0x0D04}, + {0x24EA, 0x7A0C}, + {0x24EC, 0x40B2}, + {0x24EE, 0xFFF0}, + {0x24F0, 0x7A04}, + {0x24F2, 0x93C2}, + {0x24F4, 0x86E0}, + {0x24F6, 0x240A}, + {0x24F8, 0x40B2}, + {0x24FA, 0xFFF1}, + {0x24FC, 0x7A06}, + {0x24FE, 0x40B2}, + {0x2500, 0xFFF4}, + {0x2502, 0x7A08}, + {0x2504, 0x40B2}, + {0x2506, 0xFFF5}, + {0x2508, 0x7A0A}, + {0x250A, 0x3C09}, + {0x250C, 0x40B2}, + {0x250E, 0xFFF2}, + {0x2510, 0x7A06}, + {0x2512, 0x40B2}, + {0x2514, 0xFFF4}, + {0x2516, 0x7A08}, + {0x2518, 0x40B2}, + {0x251A, 0xFFF6}, + {0x251C, 0x7A0A}, + {0x251E, 0xF03E}, + {0x2520, 0x0003}, + {0x2522, 0x5E0E}, + {0x2524, 0x425F}, + {0x2526, 0x86E2}, + {0x2528, 0xD25F}, + {0x252A, 0x86E1}, + {0x252C, 0xF31F}, + {0x252E, 0x5F0F}, + {0x2530, 0x5F0F}, + {0x2532, 0x5F0F}, + {0x2534, 0xD31E}, + {0x2536, 0xDF0E}, + {0x2538, 0x4E82}, + {0x253A, 0x7A12}, + {0x253C, 0x4130}, + {0x253E, 0x120B}, + {0x2540, 0x120A}, + {0x2542, 0x1209}, + {0x2544, 0x1208}, + {0x2546, 0x1207}, + {0x2548, 0x1206}, + {0x254A, 0x1205}, + {0x254C, 0x1204}, + {0x254E, 0x8231}, + {0x2550, 0x4F81}, + {0x2552, 0x0000}, + {0x2554, 0x4381}, + {0x2556, 0x0002}, + {0x2558, 0x4304}, + {0x255A, 0x411C}, + {0x255C, 0x0002}, + {0x255E, 0x5C0C}, + {0x2560, 0x4C0F}, + {0x2562, 0x5F0F}, + {0x2564, 0x5F0F}, + {0x2566, 0x5F0F}, + {0x2568, 0x5F0F}, + {0x256A, 0x5F0F}, + {0x256C, 0x503F}, + {0x256E, 0x1980}, + {0x2570, 0x440D}, + {0x2572, 0x5D0D}, + {0x2574, 0x4D0E}, + {0x2576, 0x5F0E}, + {0x2578, 0x4E2E}, + {0x257A, 0x4D05}, + {0x257C, 0x5505}, + {0x257E, 0x5F05}, + {0x2580, 0x4516}, + {0x2582, 0x0008}, + {0x2584, 0x4517}, + {0x2586, 0x000A}, + {0x2588, 0x460A}, + {0x258A, 0x470B}, + {0x258C, 0xF30A}, + {0x258E, 0xF32B}, + {0x2590, 0x4A81}, + {0x2592, 0x0004}, + {0x2594, 0x4B81}, + {0x2596, 0x0006}, + {0x2598, 0xB03E}, + {0x259A, 0x2000}, + {0x259C, 0x2404}, + {0x259E, 0xF03E}, + {0x25A0, 0x1FFF}, + {0x25A2, 0xE33E}, + {0x25A4, 0x531E}, + {0x25A6, 0xF317}, + {0x25A8, 0x503E}, + {0x25AA, 0x2000}, + {0x25AC, 0x4E0F}, + {0x25AE, 0x5F0F}, + {0x25B0, 0x7F0F}, + {0x25B2, 0xE33F}, + {0x25B4, 0x512C}, + {0x25B6, 0x4C28}, + {0x25B8, 0x4309}, + {0x25BA, 0x4E0A}, + {0x25BC, 0x4F0B}, + {0x25BE, 0x480C}, + {0x25C0, 0x490D}, + {0x25C2, 0x1202}, + {0x25C4, 0xC232}, + {0x25C6, 0x12B0}, + {0x25C8, 0xFFC0}, + {0x25CA, 0x4132}, + {0x25CC, 0x108E}, + {0x25CE, 0x108F}, + {0x25D0, 0xEF4E}, + {0x25D2, 0xEF0E}, + {0x25D4, 0xF37F}, + {0x25D6, 0xC312}, + {0x25D8, 0x100F}, + {0x25DA, 0x100E}, + {0x25DC, 0x4E85}, + {0x25DE, 0x0018}, + {0x25E0, 0x4F85}, + {0x25E2, 0x001A}, + {0x25E4, 0x480A}, + {0x25E6, 0x490B}, + {0x25E8, 0x460C}, + {0x25EA, 0x470D}, + {0x25EC, 0x1202}, + {0x25EE, 0xC232}, + {0x25F0, 0x12B0}, + {0x25F2, 0xFFC0}, + {0x25F4, 0x4132}, + {0x25F6, 0x4E0C}, + {0x25F8, 0x4F0D}, + {0x25FA, 0x108C}, + {0x25FC, 0x108D}, + {0x25FE, 0xED4C}, + {0x2600, 0xED0C}, + {0x2602, 0xF37D}, + {0x2604, 0xC312}, + {0x2606, 0x100D}, + {0x2608, 0x100C}, + {0x260A, 0x411E}, + {0x260C, 0x0004}, + {0x260E, 0x411F}, + {0x2610, 0x0006}, + {0x2612, 0x5E0E}, + {0x2614, 0x6F0F}, + {0x2616, 0x5E0E}, + {0x2618, 0x6F0F}, + {0x261A, 0x5E0E}, + {0x261C, 0x6F0F}, + {0x261E, 0xDE0C}, + {0x2620, 0xDF0D}, + {0x2622, 0x4C85}, + {0x2624, 0x002C}, + {0x2626, 0x4D85}, + {0x2628, 0x002E}, + {0x262A, 0x5314}, + {0x262C, 0x9224}, + {0x262E, 0x2B95}, + {0x2630, 0x5391}, + {0x2632, 0x0002}, + {0x2634, 0x92A1}, + {0x2636, 0x0002}, + {0x2638, 0x2B8F}, + {0x263A, 0x5231}, + {0x263C, 0x4134}, + {0x263E, 0x4135}, + {0x2640, 0x4136}, + {0x2642, 0x4137}, + {0x2644, 0x4138}, + {0x2646, 0x4139}, + {0x2648, 0x413A}, + {0x264A, 0x413B}, + {0x264C, 0x4130}, + {0x264E, 0x120B}, + {0x2650, 0x120A}, + {0x2652, 0x1209}, + {0x2654, 0x8031}, + {0x2656, 0x000C}, + {0x2658, 0x425F}, + {0x265A, 0x0205}, + {0x265C, 0xC312}, + {0x265E, 0x104F}, + {0x2660, 0x114F}, + {0x2662, 0x114F}, + {0x2664, 0x114F}, + {0x2666, 0x114F}, + {0x2668, 0x114F}, + {0x266A, 0xF37F}, + {0x266C, 0x4F0B}, + {0x266E, 0xF31B}, + {0x2670, 0x5B0B}, + {0x2672, 0x5B0B}, + {0x2674, 0x5B0B}, + {0x2676, 0x503B}, + {0x2678, 0xD196}, + {0x267A, 0x4219}, + {0x267C, 0x0508}, + {0x267E, 0xF039}, + {0x2680, 0x2000}, + {0x2682, 0x4F0A}, + {0x2684, 0xC312}, + {0x2686, 0x100A}, + {0x2688, 0xE31A}, + {0x268A, 0x421F}, + {0x268C, 0x86EE}, + {0x268E, 0x503F}, + {0x2690, 0xFF60}, + {0x2692, 0x903F}, + {0x2694, 0x00C8}, + {0x2696, 0x2C02}, + {0x2698, 0x403F}, + {0x269A, 0x00C8}, + {0x269C, 0x4F82}, + {0x269E, 0x7322}, + {0x26A0, 0xB3D2}, + {0x26A2, 0x0381}, + {0x26A4, 0x2009}, + {0x26A6, 0x421F}, + {0x26A8, 0x85F8}, + {0x26AA, 0xD21F}, + {0x26AC, 0x85F6}, + {0x26AE, 0x930F}, + {0x26B0, 0x24B1}, + {0x26B2, 0x40F2}, + {0x26B4, 0xFF80}, + {0x26B6, 0x0619}, + {0x26B8, 0x1292}, + {0x26BA, 0xD00A}, + {0x26BC, 0x430D}, + {0x26BE, 0x93C2}, + {0x26C0, 0x86E0}, + {0x26C2, 0x2003}, + {0x26C4, 0xB2F2}, + {0x26C6, 0x0360}, + {0x26C8, 0x2001}, + {0x26CA, 0x431D}, + {0x26CC, 0x425F}, + {0x26CE, 0x86E3}, + {0x26D0, 0xD25F}, + {0x26D2, 0x86E2}, + {0x26D4, 0xF37F}, + {0x26D6, 0x5F0F}, + {0x26D8, 0x425E}, + {0x26DA, 0x86DD}, + {0x26DC, 0xDE0F}, + {0x26DE, 0x5F0F}, + {0x26E0, 0x5B0F}, + {0x26E2, 0x4FA2}, + {0x26E4, 0x0402}, + {0x26E6, 0x930D}, + {0x26E8, 0x2007}, + {0x26EA, 0x930A}, + {0x26EC, 0x248E}, + {0x26EE, 0x4F5F}, + {0x26F0, 0x0001}, + {0x26F2, 0xF37F}, + {0x26F4, 0x4FC2}, + {0x26F6, 0x0403}, + {0x26F8, 0x93C2}, + {0x26FA, 0x86DD}, + {0x26FC, 0x2483}, + {0x26FE, 0xC2F2}, + {0x2700, 0x0400}, + {0x2702, 0xB2E2}, + {0x2704, 0x0265}, + {0x2706, 0x2407}, + {0x2708, 0x421F}, + {0x270A, 0x0508}, + {0x270C, 0xF03F}, + {0x270E, 0xFFDF}, + {0x2710, 0xD90F}, + {0x2712, 0x4F82}, + {0x2714, 0x0508}, + {0x2716, 0xB3D2}, + {0x2718, 0x0383}, + {0x271A, 0x2484}, + {0x271C, 0x403F}, + {0x271E, 0x0508}, + {0x2720, 0x4FB1}, + {0x2722, 0x0000}, + {0x2724, 0x4FB1}, + {0x2726, 0x0002}, + {0x2728, 0x4FB1}, + {0x272A, 0x0004}, + {0x272C, 0x403F}, + {0x272E, 0x0500}, + {0x2730, 0x4FB1}, + {0x2732, 0x0006}, + {0x2734, 0x4FB1}, + {0x2736, 0x0008}, + {0x2738, 0x4FB1}, + {0x273A, 0x000A}, + {0x273C, 0xB3E2}, + {0x273E, 0x0383}, + {0x2740, 0x2412}, + {0x2742, 0xC2E1}, + {0x2744, 0x0002}, + {0x2746, 0xB2E2}, + {0x2748, 0x0383}, + {0x274A, 0x434F}, + {0x274C, 0x634F}, + {0x274E, 0xF37F}, + {0x2750, 0x4F4E}, + {0x2752, 0x114E}, + {0x2754, 0x434E}, + {0x2756, 0x104E}, + {0x2758, 0x415F}, + {0x275A, 0x0007}, + {0x275C, 0xF07F}, + {0x275E, 0x007F}, + {0x2760, 0xDE4F}, + {0x2762, 0x4FC1}, + {0x2764, 0x0007}, + {0x2766, 0xB2F2}, + {0x2768, 0x0383}, + {0x276A, 0x2415}, + {0x276C, 0xF0F1}, + {0x276E, 0xFFBF}, + {0x2770, 0x0000}, + {0x2772, 0xB0F2}, + {0x2774, 0x0010}, + {0x2776, 0x0383}, + {0x2778, 0x434E}, + {0x277A, 0x634E}, + {0x277C, 0x5E4E}, + {0x277E, 0x5E4E}, + {0x2780, 0x5E4E}, + {0x2782, 0x5E4E}, + {0x2784, 0x5E4E}, + {0x2786, 0x5E4E}, + {0x2788, 0x415F}, + {0x278A, 0x0006}, + {0x278C, 0xF07F}, + {0x278E, 0xFFBF}, + {0x2790, 0xDE4F}, + {0x2792, 0x4FC1}, + {0x2794, 0x0006}, + {0x2796, 0xB0F2}, + {0x2798, 0x0020}, + {0x279A, 0x0383}, + {0x279C, 0x2410}, + {0x279E, 0xF0F1}, + {0x27A0, 0xFFDF}, + {0x27A2, 0x0002}, + {0x27A4, 0xB0F2}, + {0x27A6, 0x0040}, + {0x27A8, 0x0383}, + {0x27AA, 0x434E}, + {0x27AC, 0x634E}, + {0x27AE, 0x5E4E}, + {0x27B0, 0x5E4E}, + {0x27B2, 0x415F}, + {0x27B4, 0x0008}, + {0x27B6, 0xC26F}, + {0x27B8, 0xDE4F}, + {0x27BA, 0x4FC1}, + {0x27BC, 0x0008}, + {0x27BE, 0x93C2}, + {0x27C0, 0x0383}, + {0x27C2, 0x3412}, + {0x27C4, 0xF0F1}, + {0x27C6, 0xFFDF}, + {0x27C8, 0x0000}, + {0x27CA, 0x425E}, + {0x27CC, 0x0382}, + {0x27CE, 0xF35E}, + {0x27D0, 0x5E4E}, + {0x27D2, 0x5E4E}, + {0x27D4, 0x5E4E}, + {0x27D6, 0x5E4E}, + {0x27D8, 0x5E4E}, + {0x27DA, 0x415F}, + {0x27DC, 0x0006}, + {0x27DE, 0xF07F}, + {0x27E0, 0xFFDF}, + {0x27E2, 0xDE4F}, + {0x27E4, 0x4FC1}, + {0x27E6, 0x0006}, + {0x27E8, 0x410F}, + {0x27EA, 0x4FB2}, + {0x27EC, 0x0508}, + {0x27EE, 0x4FB2}, + {0x27F0, 0x050A}, + {0x27F2, 0x4FB2}, + {0x27F4, 0x050C}, + {0x27F6, 0x4FB2}, + {0x27F8, 0x0500}, + {0x27FA, 0x4FB2}, + {0x27FC, 0x0502}, + {0x27FE, 0x4FB2}, + {0x2800, 0x0504}, + {0x2802, 0x3C10}, + {0x2804, 0xD2F2}, + {0x2806, 0x0400}, + {0x2808, 0x3F7C}, + {0x280A, 0x4F6F}, + {0x280C, 0xF37F}, + {0x280E, 0x4FC2}, + {0x2810, 0x0402}, + {0x2812, 0x3F72}, + {0x2814, 0x90F2}, + {0x2816, 0x0011}, + {0x2818, 0x0619}, + {0x281A, 0x2B4E}, + {0x281C, 0x50F2}, + {0x281E, 0xFFF0}, + {0x2820, 0x0619}, + {0x2822, 0x3F4A}, + {0x2824, 0x5031}, + {0x2826, 0x000C}, + {0x2828, 0x4139}, + {0x282A, 0x413A}, + {0x282C, 0x413B}, + {0x282E, 0x4130}, + {0x2830, 0x0900}, + {0x2832, 0x7312}, + {0x2834, 0x421F}, + {0x2836, 0x0A08}, + {0x2838, 0xF03F}, + {0x283A, 0xF7FF}, + {0x283C, 0x4F82}, + {0x283E, 0x0A88}, + {0x2840, 0x0900}, + {0x2842, 0x7312}, + {0x2844, 0x421F}, + {0x2846, 0x0A0E}, + {0x2848, 0xF03F}, + {0x284A, 0x7FFF}, + {0x284C, 0x4F82}, + {0x284E, 0x0A8E}, + {0x2850, 0x0900}, + {0x2852, 0x7312}, + {0x2854, 0x421F}, + {0x2856, 0x0A1E}, + {0x2858, 0xC31F}, + {0x285A, 0x4F82}, + {0x285C, 0x0A9E}, + {0x285E, 0x4130}, + {0x2860, 0x4292}, + {0x2862, 0x0A08}, + {0x2864, 0x0A88}, + {0x2866, 0x0900}, + {0x2868, 0x7312}, + {0x286A, 0x4292}, + {0x286C, 0x0A0E}, + {0x286E, 0x0A8E}, + {0x2870, 0x0900}, + {0x2872, 0x7312}, + {0x2874, 0x4292}, + {0x2876, 0x0A1E}, + {0x2878, 0x0A9E}, + {0x287A, 0x4130}, + {0x287C, 0x7400}, + {0x287E, 0x8058}, + {0x2880, 0x1807}, + {0x2882, 0x00E0}, + {0x2884, 0x7002}, + {0x2886, 0x17C7}, + {0x2888, 0x0045}, + {0x288A, 0x0006}, + {0x288C, 0x17CC}, + {0x288E, 0x0015}, + {0x2890, 0x1512}, + {0x2892, 0x216F}, + {0x2894, 0x005B}, + {0x2896, 0x005D}, + {0x2898, 0x00DE}, + {0x289A, 0x00DD}, + {0x289C, 0x5023}, + {0x289E, 0x00DE}, + {0x28A0, 0x005B}, + {0x28A2, 0x0410}, + {0x28A4, 0x0091}, + {0x28A6, 0x0015}, + {0x28A8, 0x0040}, + {0x28AA, 0x7023}, + {0x28AC, 0x1653}, + {0x28AE, 0x0156}, + {0x28B0, 0x0001}, + {0x28B2, 0x2081}, + {0x28B4, 0x700E}, + {0x28B6, 0x2F99}, + {0x28B8, 0x005C}, + {0x28BA, 0x0000}, + {0x28BC, 0x5040}, + {0x28BE, 0x0045}, + {0x28C0, 0x213A}, + {0x28C2, 0x0303}, + {0x28C4, 0x0148}, + {0x28C6, 0x0049}, + {0x28C8, 0x0045}, + {0x28CA, 0x0046}, + {0x28CC, 0x081D}, + {0x28CE, 0x00DE}, + {0x28D0, 0x00DD}, + {0x28D2, 0x00DC}, + {0x28D4, 0x00DE}, + {0x28D6, 0x04D6}, + {0x28D8, 0x2014}, + {0x28DA, 0x2081}, + {0x28DC, 0x704E}, + {0x28DE, 0x2F99}, + {0x28E0, 0x005C}, + {0x28E2, 0x0002}, + {0x28E4, 0x5060}, + {0x28E6, 0x31C0}, + {0x28E8, 0x2122}, + {0x28EA, 0x7800}, + {0x28EC, 0xC08C}, + {0x28EE, 0x0001}, + {0x28F0, 0x9038}, + {0x28F2, 0x59F7}, + {0x28F4, 0x907A}, + {0x28F6, 0x03D8}, + {0x28F8, 0x8D90}, + {0x28FA, 0x01C0}, + {0x28FC, 0x7400}, + {0x28FE, 0x2002}, + {0x2900, 0x70DF}, + {0x2902, 0x3F40}, + {0x2904, 0x0240}, + {0x2906, 0x7800}, + {0x2908, 0x0021}, + {0x290A, 0x7400}, + {0x290C, 0x0001}, + {0x290E, 0x70DF}, + {0x2910, 0x3F5F}, + {0x2912, 0x7012}, + {0x2914, 0x2F01}, + {0x2916, 0x7800}, + {0x2918, 0x7400}, + {0x291A, 0x2004}, + {0x291C, 0x70DF}, + {0x291E, 0x3F20}, + {0x2920, 0x0240}, + {0x2922, 0x7800}, + {0x2924, 0x0041}, + {0x2926, 0x7400}, + {0x2928, 0x2008}, + {0x292A, 0x70DF}, + {0x292C, 0x3F20}, + {0x292E, 0x0240}, + {0x2930, 0x7800}, + {0x2932, 0x0041}, + {0x2934, 0x7400}, + {0x2936, 0x0004}, + {0x2938, 0x70DF}, + {0x293A, 0x3F5F}, + {0x293C, 0x7012}, + {0x293E, 0x2F01}, + {0x2940, 0x7800}, + {0x2942, 0x7400}, + {0x2944, 0x2010}, + {0x2946, 0x70DF}, + {0x2948, 0x3F40}, + {0x294A, 0x0240}, + {0x294C, 0x7800}, + {0x294E, 0x0000}, + {0x2950, 0xB87C}, + {0x2952, 0x0000}, + {0x2954, 0xB87C}, + {0x2956, 0xB8EC}, + {0x2958, 0x0002}, + {0x295A, 0x0063}, + {0x295C, 0xB918}, + {0x295E, 0x0063}, + {0x2960, 0xB8FC}, + {0x2962, 0x0063}, + {0x2964, 0xB926}, + {0x2966, 0x0063}, + {0x2968, 0xB934}, + {0x296A, 0xB908}, + {0x296C, 0x0004}, + {0x296E, 0x0063}, + {0x2970, 0xB926}, + {0x2972, 0x0063}, + {0x2974, 0xB942}, + {0x2976, 0x0063}, + {0x2978, 0xB918}, + {0x297A, 0x0063}, + {0x297C, 0xB90A}, + {0x297E, 0xB908}, + {0x2980, 0x0004}, + {0x2982, 0x0066}, + {0x2984, 0x0067}, + {0x2986, 0x00AF}, + {0x2988, 0x01CF}, + {0x298A, 0x0087}, + {0x298C, 0x0083}, + {0x298E, 0x011B}, + {0x2990, 0x035A}, + {0x2992, 0x00FA}, + {0x2994, 0x00F2}, + {0x2996, 0x00A6}, + {0x2998, 0x00A4}, + {0x299A, 0xFFFF}, + {0x299C, 0x002D}, + {0x299E, 0x005A}, + {0x29A0, 0x0000}, + {0x29A2, 0x0000}, + {0x29A4, 0xB982}, + {0x29A6, 0xB94E}, + {0x29A8, 0xB99C}, + {0x29AA, 0xB95A}, + {0x29AC, 0xB96E}, + {0x29AE, 0xB95A}, + {0x29B0, 0xB96E}, + {0x29B2, 0xB95A}, + {0x29B4, 0xB96E}, + {0x29B6, 0xB95A}, + {0x29B8, 0xB96E}, + {0x29BA, 0xB95A}, + {0x29BC, 0xB96E}, + {0x29BE, 0xB95A}, + {0x29C0, 0xB96E}, + {0x29C2, 0xB95A}, + {0x29C4, 0xB96E}, + {0x29C6, 0xB95A}, + {0x29C8, 0xB96E}, + {0x29CA, 0xB95A}, + {0x29CC, 0xB96E}, + {0x29CE, 0xB95A}, + {0x29D0, 0xB96E}, + {0x29D2, 0xB95A}, + {0x29D4, 0xB96E}, + {0x29D6, 0xB95A}, + {0x29D8, 0xB96E}, + {0x29DA, 0xB95A}, + {0x29DC, 0xB96E}, + {0x29DE, 0xB95A}, + {0x29E0, 0xB96E}, + {0x29E2, 0xB95A}, + {0x29E4, 0xB96E}, + {0x29E6, 0xB95A}, + {0x29E8, 0xB96E}, + {0x3710, 0x871E}, + {0x3712, 0xB9CA}, + {0x3714, 0xB9A8}, + {0x3716, 0xD140}, + {0x3718, 0xB9AA}, + {0x371A, 0xB9A6}, + {0x371C, 0x0000}, + {0x371E, 0x0040}, + {0x3720, 0x0040}, + {0x3722, 0x0040}, + {0x3724, 0x0040}, + {0x3726, 0x0044}, + {0x3728, 0x0049}, + {0x372A, 0x004D}, + {0x372C, 0x0052}, + {0x372E, 0x0057}, + {0x3730, 0x005C}, + {0x3732, 0x0062}, + {0x3734, 0x0068}, + {0x3736, 0x006E}, + {0x3738, 0x0074}, + {0x373A, 0x007A}, + {0x373C, 0x0080}, + {0x373E, 0x0087}, + {0x3740, 0x008E}, + {0x3742, 0x0095}, + {0x3744, 0x009C}, + {0x3746, 0x00A4}, + {0x3748, 0x00AB}, + {0x374A, 0x00B2}, + {0x374C, 0x00BA}, + {0x374E, 0x00C1}, + {0x3750, 0x00C7}, + {0x3752, 0x00CD}, + {0x3754, 0x00D4}, + {0x3756, 0x00DA}, + {0x3758, 0x00E0}, + {0x375A, 0x00E6}, + {0x375C, 0x00E6}, + {0x375E, 0x0000}, + {0x3760, 0x0000}, + {0x3762, 0x0000}, + {0x3764, 0x0000}, + {0x3766, 0x0000}, + {0x3768, 0x0000}, + {0x376A, 0x0000}, + {0x376C, 0x0000}, + {0x376E, 0x0000}, + {0x3770, 0x0000}, + {0x3772, 0x0000}, + {0x3774, 0x0000}, + {0x3776, 0x0000}, + {0x3778, 0x0000}, + {0x377A, 0x0000}, + {0x377C, 0x0000}, + {0x377E, 0x0000}, + {0x3780, 0x0000}, + {0x3782, 0x0000}, + {0x3784, 0x0000}, + {0x3786, 0x0000}, + {0x3788, 0x0000}, + {0x378A, 0x0000}, + {0x378C, 0x0000}, + {0x378E, 0x0000}, + {0x3790, 0x0000}, + {0x3792, 0x0000}, + {0x3794, 0x0000}, + {0x3796, 0x0000}, + {0x3798, 0x0000}, + {0x379A, 0x0000}, + {0x379C, 0x0000}, + {0x026A, 0xFFFF}, + {0x026C, 0x00FF}, + {0x026E, 0x0000}, + {0x0360, 0x1E8E}, + {0x040E, 0x01EB}, + {0x0600, 0x1130}, + {0x0602, 0x3112}, + {0x0604, 0x8048}, + {0x0606, 0x00E9}, + {0x0676, 0x07FF}, + {0x0678, 0x0002}, + {0x067A, 0x0505}, + {0x067C, 0x0505}, + {0x06A8, 0x0240}, + {0x06AA, 0x00CA}, + {0x06AC, 0x0041}, + {0x06B4, 0x3FFF}, + {0x06DE, 0x0505}, + {0x06E0, 0x0505}, + {0x06E2, 0xFF00}, + {0x06E4, 0x8369}, + {0x06E6, 0x8369}, + {0x06E8, 0x8369}, + {0x06EA, 0x8369}, + {0x052A, 0x0000}, + {0x052C, 0x0000}, + {0x1102, 0x0008}, + {0x0A04, 0xB4C5}, + {0x0A06, 0xC400}, + {0x0A08, 0x988A}, + {0x0A0A, 0xF386}, + {0x0A0E, 0xEEC0}, + {0x0A12, 0x0000}, + {0x0A18, 0x0010}, + {0x0A1E, 0x000F}, + {0x0A20, 0x0015}, + {0x0C00, 0x0021}, + {0x0C16, 0x0002}, + {0x0708, 0x6FC0}, + {0x070C, 0x0000}, + {0x0780, 0x010F}, + {0x120C, 0x1428}, + {0x121A, 0x0000}, + {0x121C, 0x1896}, + {0x121E, 0x0032}, + {0x1220, 0x0000}, + {0x1222, 0x96FF}, + {0x1244, 0x0000}, + {0x105C, 0x0F0B}, + {0x1958, 0x003F}, + {0x195A, 0x004C}, + {0x195C, 0x0097}, + {0x195E, 0x0221}, + {0x1960, 0x03FF}, + {0x1980, 0x007D}, + {0x1982, 0x0028}, + {0x1984, 0x2018}, + {0x1986, 0x0010}, + {0x1988, 0x0000}, + {0x198A, 0x0000}, + {0x198C, 0x0428}, + {0x198E, 0x0000}, + {0x1990, 0x1B33}, + {0x1992, 0x0000}, + {0x1994, 0x3000}, + {0x1996, 0x0002}, + {0x1962, 0x003F}, + {0x1964, 0x004C}, + {0x1966, 0x0097}, + {0x1968, 0x0221}, + {0x196A, 0x03FF}, + {0x19C0, 0x007D}, + {0x19C2, 0x0028}, + {0x19C4, 0x2018}, + {0x19C6, 0x0010}, + {0x19C8, 0x0000}, + {0x19CA, 0x0000}, + {0x19CC, 0x0428}, + {0x19CE, 0x0000}, + {0x19D0, 0x1B33}, + {0x19D2, 0x0000}, + {0x19D4, 0x3000}, + {0x19D6, 0x0002}, + {0x196C, 0x003F}, + {0x196E, 0x004C}, + {0x1970, 0x0097}, + {0x1972, 0x0221}, + {0x1974, 0x03FF}, + {0x1A00, 0x007D}, + {0x1A02, 0x0028}, + {0x1A04, 0x2018}, + {0x1A06, 0x0010}, + {0x1A08, 0x0000}, + {0x1A0A, 0x0000}, + {0x1A0C, 0x0428}, + {0x1A0E, 0x0000}, + {0x1A10, 0x1B33}, + {0x1A12, 0x0000}, + {0x1A14, 0x3000}, + {0x1A16, 0x0002}, + {0x1976, 0x003F}, + {0x1978, 0x004C}, + {0x197A, 0x0097}, + {0x197C, 0x0221}, + {0x197E, 0x03FF}, + {0x1A40, 0x007D}, + {0x1A42, 0x0028}, + {0x1A44, 0x2018}, + {0x1A46, 0x0010}, + {0x1A48, 0x0000}, + {0x1A4A, 0x0000}, + {0x1A4C, 0x0428}, + {0x1A4E, 0x0000}, + {0x1A50, 0x1B33}, + {0x1A52, 0x0000}, + {0x1A54, 0x3000}, + {0x1A56, 0x0002}, + {0x027E, 0x0100}, + {0x0204, 0x0000}, + {0x0206, 0x02D0}, + {0x020A, 0x0CF6}, + {0x020E, 0x0CFA}, + {0x0214, 0x0200}, + {0x0216, 0x0200}, + {0x0218, 0x0200}, + {0x021A, 0x0200}, + {0x0406, 0x0008}, + {0x0408, 0x1084}, + {0x0224, 0x002E}, + {0x022A, 0x0017}, + {0x022C, 0x0E1F}, + {0x022E, 0x0C61}, + {0x0234, 0x1111}, + {0x0236, 0x1111}, + {0x0238, 0x1111}, + {0x023A, 0x1111}, + {0x0248, 0x0100}, + {0x0250, 0x0000}, + {0x0252, 0x0006}, + {0x0254, 0x0000}, + {0x0256, 0x0000}, + {0x0258, 0x0000}, + {0x025A, 0x0000}, + {0x025C, 0x0000}, + {0x025E, 0x0202}, + {0x0440, 0x0031}, + {0x0F00, 0x0000}, + {0x0F04, 0x0070}, + {0x0B02, 0x0000}, + {0x0B04, 0x00DC}, + {0x0B12, 0x0FA0}, + {0x0B14, 0x0BB8}, + {0x0B20, 0x0100}, + {0x1100, 0x1100}, + {0x1108, 0x0202}, + {0x1118, 0x0000}, + {0x0A10, 0xB040}, + {0x0C14, 0x0070}, + {0x0C18, 0x0FA0}, + {0x0C1A, 0x0BB8}, + {0x0730, 0x0001}, + {0x0732, 0x0000}, + {0x0734, 0x0300}, + {0x0736, 0x005A}, + {0x0738, 0x0002}, + {0x073C, 0x0700}, + {0x0740, 0x0000}, + {0x0742, 0x0000}, + {0x0744, 0x0300}, + {0x0746, 0x00DC}, + {0x0748, 0x0002}, + {0x074A, 0x0900}, + {0x074C, 0x0000}, + {0x074E, 0x0100}, + {0x0750, 0x0000}, + {0x1200, 0x0526}, + {0x1202, 0x0A00}, + {0x120E, 0xF027}, + {0x1210, 0x8027}, + {0x1000, 0x0300}, + {0x1002, 0xC311}, + {0x1004, 0x2BAB}, + {0x1010, 0x0100}, + {0x1012, 0x019C}, + {0x1014, 0x0076}, + {0x1016, 0x0076}, + {0x101A, 0x0076}, + {0x1020, 0xC10B}, + {0x1022, 0x0B34}, + {0x1024, 0x050D}, + {0x1026, 0x1311}, + {0x1028, 0x1B0E}, + {0x102A, 0x130A}, + {0x102C, 0x2200}, + {0x1038, 0x1100}, + {0x103E, 0x0001}, + {0x1042, 0x0108}, + {0x1044, 0x00F8}, + {0x1046, 0x0004}, + {0x1048, 0x00F8}, + {0x1066, 0x0100}, + {0x1600, 0xE000}, + {0x1608, 0x0080}, + {0x160A, 0x0F80}, + {0x160C, 0x004A}, + {0x160E, 0x0BA0}, + {0x0268, 0x00EB}, + {0x0F06, 0x003E}, + {0x1246, 0x012C}, + {0x0B00, 0x0100}, + {0x0B00, 0x0000}, + {0x027E, 0x0000}, + {0x0700, 0x0117}, + {0x0700, 0x0017}, + {0x0790, 0x0100}, + {0x2000, 0x0000}, + {0x2002, 0x0058}, + {0x2006, 0x4130}, + {0x2008, 0x403D}, + {0x200A, 0x004D}, + {0x200C, 0x403E}, + {0x200E, 0xD000}, + {0x2010, 0x403F}, + {0x2012, 0x8430}, + {0x2014, 0x12B0}, + {0x2016, 0xD6F4}, + {0x2018, 0x1292}, + {0x201A, 0x84BE}, + {0x201C, 0x40B2}, + {0x201E, 0x1FFF}, + {0x2020, 0x8708}, + {0x2022, 0x93C2}, + {0x2024, 0x0263}, + {0x2026, 0x2005}, + {0x2028, 0xB3E2}, + {0x202A, 0x0360}, + {0x202C, 0x2402}, + {0x202E, 0x1292}, + {0x2030, 0x84A0}, + {0x2032, 0x1292}, + {0x2034, 0x8446}, + {0x2036, 0x40B2}, + {0x2038, 0xF518}, + {0x203A, 0x8494}, + {0x203C, 0x90F2}, + {0x203E, 0x0010}, + {0x2040, 0x0260}, + {0x2042, 0x23FC}, + {0x2044, 0x1292}, + {0x2046, 0x84BC}, + {0x2048, 0x3FF9}, + {0x204A, 0x4130}, + {0x204C, 0xB008}, + {0x036A, 0xB008}, + {0x0708, 0xEF82}, + {0x070C, 0x0000}, + {0x0732, 0x0000}, + {0x0734, 0x0300}, + {0x0736, 0x0064}, + {0x0738, 0x0003}, + {0x0266, 0x0000}, + {0x0360, 0x2C8E}, + {0x027E, 0x0100}, + {0x0B00, 0x0000}, +}; + +struct cam_sensor_i2c_reg_array hi1337_otp_init_reg1[] = { + {0x0B00, 0x00, 0}, +}; + +struct cam_sensor_i2c_reg_array hi1337_otp_init_reg2[] = { + {0x0260, 0x10, 0}, + {0x030F, 0x14, 0}, + {0x0B00, 0x01, 0}, +}; + +struct cam_sensor_i2c_reg_array hi1337_otp_finish_reg1[] = { + {0x0B00, 0x00, 0}, +}; + +struct cam_sensor_i2c_reg_array hi1337_otp_finish_reg2[] = { + {0x0260, 0x00, 0}, + {0x0B00, 0x01, 0}, +}; + +#endif /* HI1337_OTP_H */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_eeprom/hi847_otp.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_eeprom/hi847_otp.h new file mode 100644 index 0000000000..e96051dbcf --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_eeprom/hi847_otp.h @@ -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 */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_flash/cam_flash_core.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_flash/cam_flash_core.c index df052b6166..fbe08b7180 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_flash/cam_flash_core.c +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_flash/cam_flash_core.c @@ -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 +#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 diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_flash/cam_flash_core.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_flash/cam_flash_core.h index f4e451c1ef..56b324e3ca 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_flash/cam_flash_core.h +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_flash/cam_flash_core.h @@ -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_*/ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_flash/cam_flash_dev.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_flash/cam_flash_dev.c index 9ca2b44b2f..4ded348daf 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_flash/cam_flash_dev.c +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_flash/cam_flash_dev.c @@ -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 +#include +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: diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_flash/cam_flash_dev.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_flash/cam_flash_dev.h index b1aa79ea0a..f536a1e043 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_flash/cam_flash_dev.h +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_flash/cam_flash_dev.h @@ -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); diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_flash/cam_flash_soc.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_flash/cam_flash_soc.c index 9be1040952..f36d433e8c 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_flash/cam_flash_soc.c +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_flash/cam_flash_soc.c @@ -8,6 +8,9 @@ #include #include "cam_flash_soc.h" #include "cam_res_mgr_api.h" +#if IS_REACHABLE(CONFIG_LEDS_S2MPB02) +#include +#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, diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_core.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_core.c index de75aa9dfe..4c3db6c6ac 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_core.c +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_core.c @@ -15,6 +15,25 @@ #include "cam_res_mgr_api.h" #include "cam_common_util.h" #include "cam_packet_util.h" +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) +#include "cam_ois_mcu_stm32g.h" +#include "cam_ois_thread.h" +#include + +#define OIS_READ_BUFFER_MODULE_NUM_OFFSET 0 +#define OIS_READ_BUFFER_VALID_SAMPLE_OFFSET 1 +#define OIS_READ_BUFFER_TIMESTAMP_OFFSET 2 +#define OIS_READ_BUFFER_MCU_DEBUG_INFO_OFFSET_HAL 10 +#define OIS_READ_BUFFER_MCU_DEBUG_INFO_OFFSET_MCU 6 +#define OIS_READ_BUFFER_VALID_SAMPLE_NUM_MAX 12 + +#define SAMSUNG_OIS_DATA_LITTLE_ENDIAN +#define OIS_RW_OP_TIME_CHECK_MAX_NS 4000000 +#define OIS_MCU_TS_OFFSET_MIN_US (-3000) +#define OIS_MCU_TS_OFFSET_MAX_US (3000) + +static uint64_t stored_timestamp = 0; +#endif #define CAM_OIS_FW_VERSION_CHECK_MASK 0x1 @@ -96,17 +115,42 @@ static int cam_ois_get_dev_handle(struct cam_ois_ctrl_t *o_ctrl, struct cam_sensor_acquire_dev ois_acq_dev; struct cam_create_dev_hdl bridge_params; struct cam_control *cmd = (struct cam_control *)arg; +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + int i = 0, idx = -1; + if (o_ctrl->bridge_cnt >= MAX_BRIDGE_COUNT) { + CAM_ERR(CAM_OIS, "Device is already max acquired"); + return -EFAULT; + } + + for (i = 0; i < MAX_BRIDGE_COUNT; i++) { + if (o_ctrl->bridge_intf[i].device_hdl == -1) { + idx = i; + break; + } + } + + if (idx == -1) { + CAM_ERR(CAM_OIS, "All Device(%d) is already acquired", o_ctrl->bridge_cnt); + return -EFAULT; + } +#else if (o_ctrl->bridge_intf.device_hdl != -1) { CAM_ERR(CAM_OIS, "Device is already acquired"); return -EFAULT; } +#endif + if (copy_from_user(&ois_acq_dev, u64_to_user_ptr(cmd->handle), sizeof(ois_acq_dev))) return -EFAULT; bridge_params.session_hdl = ois_acq_dev.session_handle; +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + bridge_params.ops = &o_ctrl->bridge_intf[idx].ops; +#else bridge_params.ops = &o_ctrl->bridge_intf.ops; +#endif bridge_params.v4l2_sub_dev_flag = 0; bridge_params.media_entity_flag = 0; bridge_params.priv = o_ctrl; @@ -118,8 +162,14 @@ static int cam_ois_get_dev_handle(struct cam_ois_ctrl_t *o_ctrl, CAM_ERR(CAM_OIS, "Can not create device handle"); return -EFAULT; } +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + o_ctrl->bridge_intf[idx].device_hdl = ois_acq_dev.device_handle; + o_ctrl->bridge_intf[idx].session_hdl = ois_acq_dev.session_handle; + o_ctrl->bridge_cnt++; +#else o_ctrl->bridge_intf.device_hdl = ois_acq_dev.device_handle; o_ctrl->bridge_intf.session_hdl = ois_acq_dev.session_handle; +#endif CAM_DBG(CAM_OIS, "Device Handle: %d", ois_acq_dev.device_handle); if (copy_to_user(u64_to_user_ptr(cmd->handle), &ois_acq_dev, @@ -130,7 +180,59 @@ static int cam_ois_get_dev_handle(struct cam_ois_ctrl_t *o_ctrl, return 0; } +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) +/** + * cam_ois_release_dev_handle - get device handle + * @o_ctrl: ctrl structure + * @arg: Camera control command argument + * + * Returns success or failure + */ +static int cam_ois_release_dev_handle(struct cam_ois_ctrl_t *o_ctrl, + void *arg) +{ + struct cam_control *cmd = (struct cam_control *)arg; + struct cam_sensor_release_dev ois_rel_dev; + int i = 0, rc = 0; + + if (!o_ctrl || !arg) { + CAM_INFO(CAM_OIS, "Invalid argument"); + return -EINVAL; + } + + if (copy_from_user(&ois_rel_dev, u64_to_user_ptr(cmd->handle), + sizeof(struct cam_sensor_release_dev))) + return -EFAULT; + + for (i = 0; i < MAX_BRIDGE_COUNT; i++) { + if (o_ctrl->bridge_intf[i].device_hdl == -1) + continue; + + if ((o_ctrl->bridge_intf[i].device_hdl == ois_rel_dev.device_handle) && + (o_ctrl->bridge_intf[i].session_hdl == ois_rel_dev.session_handle)) { + CAM_INFO(CAM_OIS, "Release the device hdl %d", o_ctrl->bridge_intf[i].device_hdl); + rc = cam_destroy_device_hdl(o_ctrl->bridge_intf[i].device_hdl); + if (rc < 0) + CAM_ERR(CAM_OIS, "fail destroying the device hdl"); + o_ctrl->bridge_intf[i].device_hdl = -1; + o_ctrl->bridge_intf[i].link_hdl = -1; + o_ctrl->bridge_intf[i].session_hdl = -1; + + if (o_ctrl->bridge_cnt > 0) + o_ctrl->bridge_cnt--; + break; + } + } + + return 0; +} +#endif + +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) +int cam_ois_power_up(struct cam_ois_ctrl_t *o_ctrl) +#else static int cam_ois_power_up(struct cam_ois_ctrl_t *o_ctrl) +#endif { int rc = 0; struct cam_hw_soc_info *soc_info = &o_ctrl->soc_info; @@ -138,6 +240,11 @@ static int cam_ois_power_up(struct cam_ois_ctrl_t *o_ctrl) struct cam_sensor_power_ctrl_t *power_info; struct completion *i3c_probe_completion = NULL; +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + if (o_ctrl->is_power_up) + return 0; +#endif + soc_private = (struct cam_ois_soc_private *)o_ctrl->soc_info.soc_private; power_info = &soc_private->power_info; @@ -145,12 +252,21 @@ static int cam_ois_power_up(struct cam_ois_ctrl_t *o_ctrl) (power_info->power_down_setting == NULL)) { CAM_INFO(CAM_OIS, "Using default power settings"); +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + rc = cam_get_dt_power_setting_data(soc_info->dev->of_node, + soc_info, power_info); + if (rc < 0) { + CAM_ERR(CAM_OIS, "failed in getting power settings"); + return rc; + } +#else rc = cam_ois_construct_default_power_setting(power_info); if (rc < 0) { CAM_ERR(CAM_OIS, "Construct default ois power setting failed."); return rc; } +#endif } /* Parse and fill vreg params for power up settings */ @@ -192,6 +308,9 @@ static int cam_ois_power_up(struct cam_ois_ctrl_t *o_ctrl) goto cci_failure; } +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + o_ctrl->is_power_up = true; +#endif return rc; cci_failure: if (cam_sensor_util_power_down(power_info, soc_info)) @@ -206,7 +325,11 @@ cci_failure: * * Returns success or failure */ +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) +int cam_ois_power_down(struct cam_ois_ctrl_t *o_ctrl) +#else static int cam_ois_power_down(struct cam_ois_ctrl_t *o_ctrl) +#endif { int32_t rc = 0; struct cam_sensor_power_ctrl_t *power_info; @@ -219,6 +342,23 @@ static int cam_ois_power_down(struct cam_ois_ctrl_t *o_ctrl) return -EINVAL; } +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + if (!o_ctrl->is_power_up) + return 0; + + rc = cam_ois_set_servo_ctrl(o_ctrl, 0); + if (rc < 0) { + CAM_ERR(CAM_OIS, "ois servo ctrl off failed"); + } + + // MCU requires 10ms delay after servo off + usleep_range(10000, 10010); + + o_ctrl->is_power_up = false; + o_ctrl->is_servo_on = false; + o_ctrl->is_config = false; +#endif + soc_private = (struct cam_ois_soc_private *)o_ctrl->soc_info.soc_private; power_info = &soc_private->power_info; @@ -236,11 +376,157 @@ static int cam_ois_power_down(struct cam_ois_ctrl_t *o_ctrl) } camera_io_release(&o_ctrl->io_master_info); +#if !defined(CONFIG_SAMSUNG_OIS_MCU_STM32) o_ctrl->cam_ois_state = CAM_OIS_ACQUIRE; +#endif return rc; } +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) +static int cam_ois_update_time(struct i2c_settings_array *i2c_set, uint32_t *camera_id) +{ + struct i2c_settings_list *i2c_list; + int32_t rc = 0; + uint32_t size = 0; + uint32_t i = 0; + uint64_t qtime_ns = 0; + + if (i2c_set == NULL) { + CAM_ERR(CAM_OIS, "Invalid Args"); + return -EINVAL; + } + + rc = cam_sensor_util_get_current_qtimer_ns(&qtime_ns); + if (rc < 0) { + CAM_ERR(CAM_OIS, + "Failed to get current qtimer value: %d", + rc); + return rc; + } + + stored_timestamp = qtime_ns; + + list_for_each_entry(i2c_list, + &(i2c_set->list_head), list) { + if ((i2c_list->op_code == CAM_SENSOR_I2C_WRITE_SEQ) || (i2c_list->op_code == CAM_SENSOR_I2C_WRITE_BURST)) { + i2c_list->i2c_settings.size = 4; + size = i2c_list->i2c_settings.size; + /* qtimer is 4 bytes so validate here*/ + if (size < 4) { + CAM_ERR(CAM_OIS, "Invalid write time settings"); + return -EINVAL; + } + + *camera_id = i2c_list->i2c_settings.reg_setting[0].reg_data & 0xFF; + + if ((*camera_id != 0) && (*camera_id != 3) && (*camera_id != 4)) { + CAM_ERR(CAM_OIS, "Invalid ois master camera id %d", *camera_id); + *camera_id = 0; + } + + for (i = 0; i < size; i++) { + i2c_list->i2c_settings.reg_setting[i].reg_addr = i2c_list->i2c_settings.reg_setting[0].reg_addr; + i2c_list->i2c_settings.reg_setting[i].reg_data = (qtime_ns & 0xFF); + qtime_ns >>= 8; + + if(i == (size - 1)) { + i2c_list->i2c_settings.reg_setting[i].reg_data = (*camera_id & 0xF); + } + //CAM_DBG(CAM_OIS, " [%d] reg[0x%x] = 0x%x", i, (i2c_list->i2c_settings.reg_setting[i].reg_addr + i), i2c_list->i2c_settings.reg_setting[i].reg_data); + } + } + } + + return rc; +} + +static int cam_ois_convert_timestamp( + struct i2c_settings_array *i2c_settings, uint64_t *calibrated_ts, uint64_t *stored_ts, int32_t *ois_ts, uint8_t mcu_debug_info[], uint8_t *module_num, uint8_t *valid_num) +{ + int32_t rc = 0; + struct i2c_settings_list *i2c_list; + uint8_t *read_buff = NULL; + uint32_t buff_length = 0; + + uint32_t byte_to_bit = 8; + uint32_t timestamp_fw_size = 2; + int16_t timestamp_ois_us = 0; + uint32_t timestamp_qtimer_size = 8; + uint32_t timestamp_buff_offset = OIS_READ_BUFFER_TIMESTAMP_OFFSET; + int32_t timestamp_tmp_us = 0; + int64_t timestamp_ois_ns = 0; + uint64_t timestamp_stored_ns = stored_timestamp; + uint64_t calibrated_timestamp_ns = 0; + uint32_t i = 0; + uint8_t ois_mcu_debug_info[4] = { 0, }; + + list_for_each_entry(i2c_list, + &(i2c_settings->list_head), list) { + read_buff = i2c_list->i2c_settings.read_buff; + buff_length = i2c_list->i2c_settings.read_buff_len; + + if ((read_buff == NULL) || (buff_length == 0)) { + CAM_ERR(CAM_OIS, + "Invalid input buffer, buffer: %pK, length: %d", + read_buff, buff_length); + return -EINVAL; + } + + for (i = 0; i < timestamp_fw_size; i++) { + //CAM_DBG(CAM_OIS, " get [%d] ois_rd_buf[%d] = 0x%x, ois_mcu_debug_info[%d] = 0x%x", i, (timestamp_buff_offset + i), read_buff[timestamp_buff_offset + i], \ + //(timestamp_buff_offset + timestamp_fw_size + i), read_buff[timestamp_buff_offset + timestamp_fw_size + i]); + timestamp_tmp_us = read_buff[timestamp_buff_offset + i]; +#ifdef SAMSUNG_OIS_DATA_LITTLE_ENDIAN + timestamp_ois_us |= (timestamp_tmp_us << (byte_to_bit * i)); +#else + timestamp_ois_us |= (timestamp_tmp_us << (byte_to_bit * (timestamp_fw_size - 1 - i))); +#endif + } + + *module_num = read_buff[OIS_READ_BUFFER_MODULE_NUM_OFFSET]; + *valid_num = read_buff[OIS_READ_BUFFER_VALID_SAMPLE_OFFSET]; + + for (i = 0; i < 4; i++) { + ois_mcu_debug_info[i] = read_buff[OIS_READ_BUFFER_MCU_DEBUG_INFO_OFFSET_MCU + i]; + mcu_debug_info[i] = ois_mcu_debug_info[i]; + read_buff[OIS_READ_BUFFER_MCU_DEBUG_INFO_OFFSET_MCU + i] = 0; + + if (read_buff[OIS_READ_BUFFER_VALID_SAMPLE_OFFSET] == 0) { + read_buff[OIS_READ_BUFFER_MCU_DEBUG_INFO_OFFSET_HAL + i] = ois_mcu_debug_info[i]; + } + } + +#ifdef OIS_MCU_TS_OFFSET_CORRECTION + if ((timestamp_ois_us >= OIS_MCU_TS_OFFSET_MIN_US) && (timestamp_ois_us <= OIS_MCU_TS_OFFSET_MAX_US)) { + timestamp_ois_ns = (int64_t)timestamp_ois_us * 1000; + } else { + timestamp_ois_ns = 0; + } +#else + timestamp_ois_ns = (int64_t)timestamp_ois_us * 1000; +#endif + calibrated_timestamp_ns = timestamp_stored_ns + timestamp_ois_ns; + + *calibrated_ts = calibrated_timestamp_ns; + *stored_ts = timestamp_stored_ns; + *ois_ts = (int32_t)timestamp_ois_us; + + for (i = 0; i < timestamp_qtimer_size; i++) { +#ifdef SAMSUNG_OIS_DATA_LITTLE_ENDIAN + read_buff[timestamp_buff_offset + i] = (calibrated_timestamp_ns & 0xFF); + //CAM_DBG(CAM_OIS, " set [%d] ois_rd_buf[%d] = 0x%x", i, (timestamp_buff_offset + i), read_buff[timestamp_buff_offset + i]); +#else + read_buff[timestamp_buff_offset + (timestamp_qtimer_size - 1 - i)] = (calibrated_timestamp_ns & 0xFF); + //CAM_DBG(CAM_OIS, " set [%d] ois_rd_buf[%d] = 0x%x", i, (timestamp_buff_offset + (timestamp_qtimer_size - 1 - i)), read_buff[timestamp_buff_offset + (timestamp_qtimer_size - 1 - i)]); +#endif + calibrated_timestamp_ns >>= byte_to_bit; + } + } + + return rc; +} +#else static int cam_ois_update_time(struct i2c_settings_array *i2c_set, enum cam_endianness_type endianness) { @@ -309,9 +595,15 @@ static int cam_ois_update_time(struct i2c_settings_array *i2c_set, return rc; } +#endif +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) +int cam_ois_apply_settings(struct cam_ois_ctrl_t *o_ctrl, + struct i2c_settings_array *i2c_set) +#else static int cam_ois_apply_settings(struct cam_ois_ctrl_t *o_ctrl, struct i2c_settings_array *i2c_set) +#endif { struct i2c_settings_list *i2c_list; int32_t rc = 0; @@ -330,6 +622,32 @@ static int cam_ois_apply_settings(struct cam_ois_ctrl_t *o_ctrl, list_for_each_entry(i2c_list, &(i2c_set->list_head), list) { if (i2c_list->op_code == CAM_SENSOR_I2C_WRITE_RANDOM) { +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + if ((i2c_list->i2c_settings.size == 1) && + (i2c_list->i2c_settings.addr_type == CAMERA_SENSOR_I2C_TYPE_INVALID) && + (i2c_list->i2c_settings.data_type == CAMERA_SENSOR_I2C_TYPE_INVALID)) + continue; + + size = i2c_list->i2c_settings.size; + for (i = 0; i < size; i++) { + if (i2c_list->i2c_settings.reg_setting[i].reg_addr == OISSEL) { + o_ctrl->driver_output_mask |= + (i2c_list->i2c_settings.reg_setting[i].reg_data & 0x7); + CAM_INFO(CAM_OIS, + "Configure OIS driver output 0x%x on, result mask 0x%x", + (i2c_list->i2c_settings.reg_setting[i].reg_data & 0x7), + o_ctrl->driver_output_mask); + i2c_list->i2c_settings.reg_setting[i].reg_data = + o_ctrl->driver_output_mask; + } + + if (i2c_list->i2c_settings.reg_setting[i].reg_addr == OISMODE) { + rc = cam_ois_set_ois_mode(o_ctrl, + i2c_list->i2c_settings.reg_setting[i].reg_data); + return rc; + } + } +#endif rc = camera_io_dev_write(&(o_ctrl->io_master_info), &(i2c_list->i2c_settings)); if (rc < 0) { @@ -369,6 +687,20 @@ static int cam_ois_apply_settings(struct cam_ois_ctrl_t *o_ctrl, } } } +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + else if (i2c_list->op_code == CAM_SENSOR_I2C_WRITE_BURST) { + rc = camera_io_dev_write_continuous( + &(o_ctrl->io_master_info), + &(i2c_list->i2c_settings), + CAM_SENSOR_I2C_WRITE_BURST); + if (rc < 0) { + CAM_ERR(CAM_OIS, + "Failed to burst write I2C settings: %d", + rc); + return rc; + } + } +#endif } return rc; @@ -410,6 +742,13 @@ static int cam_ois_slaveInfo_pkt_parser(struct cam_ois_ctrl_t *o_ctrl, rc = -EINVAL; } +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + o_ctrl->gyro_raw_x = ois_info->gyro_raw_x; + o_ctrl->gyro_raw_y = ois_info->gyro_raw_y; + o_ctrl->gyro_raw_z = ois_info->gyro_raw_z; + o_ctrl->efs_cal = ois_info->efs_cal; +#endif + return rc; } @@ -693,6 +1032,7 @@ static int cam_ois_fw_info_pkt_parser(struct cam_ois_ctrl_t *o_ctrl, return rc; } +#if !defined(CONFIG_SAMSUNG_OIS_MCU_STM32) static int cam_ois_fw_download(struct cam_ois_ctrl_t *o_ctrl) { uint16_t total_bytes = 0; @@ -1031,6 +1371,68 @@ release_firmware: return rc; } +#endif + +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) +static int cam_ois_driverOutput_pkt_parser(struct cam_ois_ctrl_t *o_ctrl, + uint32_t *cmd_buf, size_t len) +{ + int32_t rc = 0; + struct cam_cmd_ois_driver_output *ois_driver_output; + struct cam_sensor_i2c_reg_setting i2c_reg_setting; + + if (!o_ctrl) { + CAM_ERR(CAM_OIS, "Invalid Args"); + return -EINVAL; + } + + if (!o_ctrl || !cmd_buf || len < sizeof(struct cam_cmd_ois_driver_output)) { + CAM_ERR(CAM_OIS, "Invalid Args"); + return -EINVAL; + } + + i2c_reg_setting.reg_setting = kmalloc(sizeof(struct cam_sensor_i2c_reg_array), GFP_KERNEL); + if (!i2c_reg_setting.reg_setting) { + CAM_ERR(CAM_OIS, + "Failed in allocating i2c_array"); + return -ENOMEM; + } + + ois_driver_output = (struct cam_cmd_ois_driver_output *)cmd_buf; + mutex_lock(&(o_ctrl->ois_mode_mutex)); + if (ois_driver_output->onoff) + o_ctrl->driver_output_mask |= ois_driver_output->driver_output_mask; + else + o_ctrl->driver_output_mask &= ~(ois_driver_output->driver_output_mask); + + i2c_reg_setting.reg_setting[0].reg_addr = OISSEL; + i2c_reg_setting.reg_setting[0].reg_data = o_ctrl->driver_output_mask; + i2c_reg_setting.reg_setting[0].delay = 0; + i2c_reg_setting.reg_setting[0].data_mask = 0; + i2c_reg_setting.addr_type = CAMERA_SENSOR_I2C_TYPE_WORD; + i2c_reg_setting.data_type = CAMERA_SENSOR_I2C_TYPE_BYTE; + i2c_reg_setting.size = 1; + i2c_reg_setting.delay = 0; + rc = camera_io_dev_write(&o_ctrl->io_master_info, + &i2c_reg_setting); + if (rc < 0) { + CAM_ERR(CAM_OIS, + "Failed to random write I2C settings: %d", rc); + goto end; + } + CAM_INFO(CAM_OIS, "Configure OIS driver output 0x%x %s, result mask 0x%x, rc %d", + ois_driver_output->driver_output_mask, + ois_driver_output->onoff ? "on" : "off", + o_ctrl->driver_output_mask, rc); + +end: + mutex_unlock(&(o_ctrl->ois_mode_mutex)); + kfree(i2c_reg_setting.reg_setting); + i2c_reg_setting.reg_setting = NULL; + + return rc; +} +#endif /** * cam_ois_pkt_parse - Parse csl packet @@ -1059,6 +1461,9 @@ static int cam_ois_pkt_parse(struct cam_ois_ctrl_t *o_ctrl, void *arg) struct cam_ois_soc_private *soc_private = (struct cam_ois_soc_private *)o_ctrl->soc_info.soc_private; struct cam_sensor_power_ctrl_t *power_info = &soc_private->power_info; +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + struct cam_ois_thread_msg_t *msg = NULL; +#endif ioctl_ctrl = (struct cam_control *)arg; if (copy_from_user(&dev_config, @@ -1097,6 +1502,12 @@ static int cam_ois_pkt_parse(struct cam_ois_ctrl_t *o_ctrl, void *arg) switch (csl_packet->header.op_code & 0xFFFFFF) { case CAM_OIS_PACKET_OPCODE_INIT: +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + if (o_ctrl->is_config) { + cam_mem_put_cpu_buf(dev_config.packet_handle); + return rc; + } +#endif CAM_DBG(CAM_OIS, "CAM_OIS_PACKET_OPCODE_INIT,num_cmd_buf %d", csl_packet->num_cmd_buf); @@ -1191,6 +1602,9 @@ static int cam_ois_pkt_parse(struct cam_ois_ctrl_t *o_ctrl, void *arg) if (o_ctrl->i2c_init_data.is_settings_valid == 0) { CAM_DBG(CAM_OIS, "Received init/config settings"); +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + mutex_lock(&(o_ctrl->i2c_init_data_mutex)); +#endif i2c_reg_settings = &(o_ctrl->i2c_init_data); i2c_reg_settings->is_settings_valid = 1; @@ -1199,6 +1613,9 @@ static int cam_ois_pkt_parse(struct cam_ois_ctrl_t *o_ctrl, void *arg) &o_ctrl->io_master_info, i2c_reg_settings, &cmd_desc[i], 1, NULL); +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + mutex_unlock(&(o_ctrl->i2c_init_data_mutex)); +#endif if (rc < 0) { CAM_ERR(CAM_OIS, "init parsing failed: %d", rc); @@ -1206,7 +1623,9 @@ static int cam_ois_pkt_parse(struct cam_ois_ctrl_t *o_ctrl, void *arg) cam_mem_put_cpu_buf(dev_config.packet_handle); return rc; } - } else if ((o_ctrl->is_ois_calib != 0) && + } +#if !defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + else if ((o_ctrl->is_ois_calib != 0) && (o_ctrl->i2c_calib_data.is_settings_valid == 0)) { CAM_DBG(CAM_OIS, @@ -1240,6 +1659,7 @@ static int cam_ois_pkt_parse(struct cam_ois_ctrl_t *o_ctrl, void *arg) "fw init parsing failed: %d", rc); } } +#endif break; } cam_mem_put_cpu_buf(cmd_desc[i].mem_handle); @@ -1252,8 +1672,35 @@ static int cam_ois_pkt_parse(struct cam_ois_ctrl_t *o_ctrl, void *arg) cam_mem_put_cpu_buf(dev_config.packet_handle); return rc; } + +#if defined(CONFIG_SAMSUNG_SUPPORT_RUMBA_FW_UPDATE) + rc = cam_ois_rumba_check_validation(o_ctrl); + if (rc == 0) { + CAM_INFO(CAM_OIS, "rumba f/w update is required"); + //goto release_mutex; + } +#endif } +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + o_ctrl->cam_ois_state = CAM_OIS_CONFIG; + + o_ctrl->ois_mode = 0; + msg = kmalloc(sizeof(struct cam_ois_thread_msg_t), GFP_KERNEL); + if (msg == NULL) { + CAM_ERR(CAM_OIS, "Failed alloc memory for msg, Out of memory"); + goto pwr_dwn; + } + + memset(msg, 0, sizeof(struct cam_ois_thread_msg_t)); + msg->msg_type = CAM_OIS_THREAD_MSG_START; + rc = cam_ois_thread_add_msg(o_ctrl, msg); + if (rc < 0) { + CAM_ERR(CAM_OIS, "Failed add msg to OIS thread"); + goto pwr_dwn; + } + o_ctrl->is_config = true; +#else CAM_DBG(CAM_OIS, "ois_fw_flag: %d", o_ctrl->ois_fw_flag); if (o_ctrl->ois_fw_flag) { CAM_DBG(CAM_OIS, "fw_count: %d", o_ctrl->fw_info.fw_count); @@ -1372,6 +1819,7 @@ static int cam_ois_pkt_parse(struct cam_ois_ctrl_t *o_ctrl, void *arg) "Fail deleting Calibration data: rc: %d", rc); rc = 0; } +#endif break; case CAM_OIS_PACKET_OPCODE_OIS_CONTROL: CAM_DBG(CAM_OIS, "CAM_OIS_PACKET_OPCODE_OIS_CONTROL"); @@ -1386,18 +1834,39 @@ static int cam_ois_pkt_parse(struct cam_ois_ctrl_t *o_ctrl, void *arg) offset = (uint32_t *)&csl_packet->payload; offset += (csl_packet->cmd_buf_offset / sizeof(uint32_t)); cmd_desc = (struct cam_cmd_buf_desc *)(offset); +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + mutex_lock(&(o_ctrl->i2c_mode_data_mutex)); +#endif i2c_reg_settings = &(o_ctrl->i2c_mode_data); i2c_reg_settings->is_settings_valid = 1; i2c_reg_settings->request_id = 0; rc = cam_sensor_i2c_command_parser(&o_ctrl->io_master_info, i2c_reg_settings, cmd_desc, 1, NULL); +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + mutex_unlock(&(o_ctrl->i2c_mode_data_mutex)); +#endif if (rc < 0) { CAM_ERR(CAM_OIS, "OIS pkt parsing failed: %d", rc); cam_mem_put_cpu_buf(dev_config.packet_handle); return rc; } +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + msg = kmalloc(sizeof(struct cam_ois_thread_msg_t), GFP_KERNEL); + if (msg == NULL) { + CAM_ERR(CAM_OIS, "Failed alloc memory for msg, Out of memory"); + cam_mem_put_cpu_buf(dev_config.packet_handle); + return -ENOMEM; + } + + memset(msg, 0, sizeof(struct cam_ois_thread_msg_t)); + msg->i2c_reg_settings = i2c_reg_settings; + msg->msg_type = CAM_OIS_THREAD_MSG_APPLY_SETTING; + rc = cam_ois_thread_add_msg(o_ctrl, msg); + if (rc < 0) + CAM_ERR(CAM_OIS, "Failed add msg to OIS thread"); +#else rc = cam_ois_apply_settings(o_ctrl, i2c_reg_settings); if (rc < 0) { CAM_ERR(CAM_OIS, "Cannot apply mode settings"); @@ -1412,8 +1881,17 @@ static int cam_ois_pkt_parse(struct cam_ois_ctrl_t *o_ctrl, void *arg) cam_mem_put_cpu_buf(dev_config.packet_handle); return rc; } +#endif break; case CAM_OIS_PACKET_OPCODE_READ: { +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) +struct i2c_settings_list *i2c_list; + uint64_t end_ts = 0, op_time = 0; + uint64_t calibrated_ts = 0, stored_ts = 0; + int32_t ois_ts = 0; + uint8_t mcu_debug_info[4] = { 0, }; + uint8_t module_num = 0, valid_num = 0; +#endif uint64_t qtime_ns; struct cam_buf_io_cfg *io_cfg; struct i2c_settings_array i2c_read_settings; @@ -1468,10 +1946,18 @@ static int cam_ois_pkt_parse(struct cam_ois_ctrl_t *o_ctrl, void *arg) rc = cam_sensor_util_get_current_qtimer_ns(&qtime_ns); if (rc < 0) { CAM_ERR(CAM_OIS, "failed to get qtimer rc:%d"); +#if !defined(CONFIG_SAMSUNG_OIS_MCU_STM32) cam_mem_put_cpu_buf(dev_config.packet_handle); return rc; +#endif } +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + list_for_each_entry(i2c_list, &(i2c_read_settings.list_head), list) { + CAM_DBG(CAM_OIS, "[QIS][K] (1) read ois data (addr: 0x%x)", i2c_list->i2c_settings.reg_setting[0].reg_addr); + } +#endif + rc = cam_sensor_i2c_read_data( &i2c_read_settings, &o_ctrl->io_master_info); @@ -1482,6 +1968,37 @@ static int cam_ois_pkt_parse(struct cam_ois_ctrl_t *o_ctrl, void *arg) return rc; } +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + rc = cam_ois_convert_timestamp(&i2c_read_settings, &calibrated_ts, &stored_ts, &ois_ts, mcu_debug_info, &module_num, &valid_num); + if (rc < 0) { + CAM_ERR(CAM_OIS, "cannot convert timesatmp (rc = %d)", rc); + delete_request(&i2c_read_settings); + cam_mem_put_cpu_buf(dev_config.packet_handle); + return rc; + } + + CAM_DBG(CAM_OIS, "[QIS][K] (2) convert timestamp (cal_ts: %lld = stored_ts: %lld + ois_ts: %d000 (rcv %d))", \ + calibrated_ts, stored_ts, ois_ts, ois_ts); + + rc = cam_sensor_util_get_current_qtimer_ns(&end_ts); + if (rc < 0) { + CAM_DBG(CAM_OIS, "failed to get end_ts rc: %d", rc); + } else if (end_ts >= stored_ts) { + op_time = end_ts - stored_ts; + } else { + op_time = 0; + } + + if ((ois_ts < OIS_MCU_TS_OFFSET_MIN_US) || (ois_ts >= OIS_MCU_TS_OFFSET_MAX_US) || + (op_time > OIS_RW_OP_TIME_CHECK_MAX_NS) || (valid_num == 0) || (valid_num >= OIS_READ_BUFFER_VALID_SAMPLE_NUM_MAX)) { + CAM_INFO(CAM_OIS, "[QIS][K] (E) ois[%d] mcu_debug_info = 0x%x, 0x%x, 0x%x, 0x%x (valid_num = %d, op_time = %lld us, ois_ts = %d us)", \ + module_num, mcu_debug_info[0], mcu_debug_info[1], mcu_debug_info[2], mcu_debug_info[3], valid_num, (op_time/1000), ois_ts); + } else { + CAM_DBG(CAM_OIS, "[QIS][K] (3) ois[%d] mcu_debug_info = 0x%x, 0x%x, 0x%x, 0x%x (valid_num = %d, op_time = %lld us, ois_ts = %d us)", \ + module_num, mcu_debug_info[0], mcu_debug_info[1], mcu_debug_info[2], mcu_debug_info[3], valid_num, (op_time/1000), ois_ts); + } +#endif + if (csl_packet->num_io_configs > 1) { rc = cam_sensor_util_write_qtimer_to_io_buffer( qtime_ns, &io_cfg[1]); @@ -1504,6 +2021,9 @@ static int cam_ois_pkt_parse(struct cam_ois_ctrl_t *o_ctrl, void *arg) break; } case CAM_OIS_PACKET_OPCODE_WRITE_TIME: { +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + uint32_t camera_id = 0; +#endif CAM_DBG(CAM_OIS, "CAM_OIS_PACKET_OPCODE_WRITE_TIME"); if (o_ctrl->cam_ois_state < CAM_OIS_CONFIG) { @@ -1517,30 +2037,42 @@ static int cam_ois_pkt_parse(struct cam_ois_ctrl_t *o_ctrl, void *arg) offset = (uint32_t *)&csl_packet->payload; offset += (csl_packet->cmd_buf_offset / sizeof(uint32_t)); cmd_desc = (struct cam_cmd_buf_desc *)(offset); +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + mutex_lock(&(o_ctrl->i2c_time_data_mutex)); +#endif i2c_reg_settings = &(o_ctrl->i2c_time_data); i2c_reg_settings->is_settings_valid = 1; i2c_reg_settings->request_id = 0; rc = cam_sensor_i2c_command_parser(&o_ctrl->io_master_info, i2c_reg_settings, cmd_desc, 1, NULL); +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + mutex_unlock(&(o_ctrl->i2c_time_data_mutex)); +#endif if (rc < 0) { CAM_ERR(CAM_OIS, "OIS pkt parsing failed: %d", rc); cam_mem_put_cpu_buf(dev_config.packet_handle); return rc; } +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + rc = cam_ois_update_time(i2c_reg_settings, &camera_id); +#else if (o_ctrl->fw_info.fw_count > 0) { uint8_t ois_endianness = (o_ctrl->fw_info.endianness & OIS_ENDIANNESS_MASK_INPUTPARAM) >> 4; rc = cam_ois_update_time(i2c_reg_settings, ois_endianness); } else rc = cam_ois_update_time(i2c_reg_settings, CAM_ENDIANNESS_LITTLE); +#endif if (rc < 0) { CAM_ERR(CAM_OIS, "Cannot update time"); cam_mem_put_cpu_buf(dev_config.packet_handle); return rc; } - +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + CAM_DBG(CAM_OIS, "[QIS][K] (0) write qtimer (camID:%d, stored_ts %lld (0x%x))", camera_id, stored_timestamp, stored_timestamp); +#endif rc = cam_ois_apply_settings(o_ctrl, i2c_reg_settings); if (rc < 0) { CAM_ERR(CAM_OIS, "Cannot apply mode settings"); @@ -1557,6 +2089,65 @@ static int cam_ois_pkt_parse(struct cam_ois_ctrl_t *o_ctrl, void *arg) } break; } +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + case CAM_OIS_PACKET_OPCODE_CONFIG_DRIVER_OUTPUT: { + CAM_DBG(CAM_OIS, + "CAM_OIS_PACKET_OPCODE_CONFIG_DRIVER_OUTPUT"); + if (o_ctrl->cam_ois_state < CAM_OIS_CONFIG) { + rc = -EINVAL; + CAM_ERR(CAM_OIS, + "Not in right state to config driver output: %d", + o_ctrl->cam_ois_state); + cam_mem_put_cpu_buf(dev_config.packet_handle); + return rc; + } + offset = (uint32_t *)&csl_packet->payload; + offset += (csl_packet->cmd_buf_offset / sizeof(uint32_t)); + cmd_desc = (struct cam_cmd_buf_desc *)(offset); + CAM_INFO(CAM_OIS, "num_cmd_buf %d", csl_packet->num_cmd_buf); + /* Loop through multiple command buffers */ + for (i = 0; i < csl_packet->num_cmd_buf; i++) { + total_cmd_buf_in_bytes = cmd_desc[i].length; + if (!total_cmd_buf_in_bytes) + continue; + + rc = cam_mem_get_cpu_buf(cmd_desc[i].mem_handle, + &generic_ptr, &len_of_buff); + if (rc < 0) { + CAM_ERR(CAM_OIS, "Failed to get cpu buf : 0x%x", + cmd_desc[i].mem_handle); + return rc; + } + cmd_buf = (uint32_t *)generic_ptr; + if (!cmd_buf) { + CAM_ERR(CAM_OIS, "invalid cmd buf"); + return -EINVAL; + } + + if ((len_of_buff < sizeof(struct common_header)) || + (cmd_desc[i].offset > (len_of_buff - + sizeof(struct common_header)))) { + CAM_ERR(CAM_OIS, + "Invalid length for sensor cmd"); + return -EINVAL; + } + remain_len = len_of_buff - cmd_desc[i].offset; + cmd_buf += cmd_desc[i].offset / sizeof(uint32_t); + cmm_hdr = (struct common_header *)cmd_buf; + + CAM_DBG(CAM_OIS, + "cmm_hdr->cmd_type: %d", cmm_hdr->cmd_type); + rc = cam_ois_driverOutput_pkt_parser(o_ctrl, cmd_buf, remain_len); + if (rc < 0) { + CAM_ERR(CAM_OIS, + "Failed in parsing driver output"); + return rc; + } + cam_mem_put_cpu_buf(cmd_desc[i].mem_handle); + } + break; + } +#endif default: CAM_ERR(CAM_OIS, "Invalid Opcode: %d", (csl_packet->header.op_code & 0xFFFFFF)); @@ -1580,6 +2171,26 @@ void cam_ois_shutdown(struct cam_ois_ctrl_t *o_ctrl) struct cam_ois_soc_private *soc_private = (struct cam_ois_soc_private *)o_ctrl->soc_info.soc_private; struct cam_sensor_power_ctrl_t *power_info = &soc_private->power_info; +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + + CAM_INFO(CAM_OIS, "cam_ois_shutdown"); + + cam_ois_thread_destroy(o_ctrl); + for (i = MAX_BRIDGE_COUNT - 1; i >= 0; i--) { + if (o_ctrl->bridge_intf[i].device_hdl == -1) + continue; + + CAM_INFO(CAM_OIS, "Release the device hdl %d", o_ctrl->bridge_intf[i].device_hdl); + rc = cam_destroy_device_hdl(o_ctrl->bridge_intf[i].device_hdl); + if (rc < 0) + CAM_ERR(CAM_OIS, "fail destroying the device hdl"); + o_ctrl->bridge_intf[i].device_hdl = -1; + o_ctrl->bridge_intf[i].link_hdl = -1; + o_ctrl->bridge_intf[i].session_hdl = -1; + } + o_ctrl->start_cnt = 0; + o_ctrl->bridge_cnt = 0; +#endif if (o_ctrl->cam_ois_state == CAM_OIS_INIT) return; @@ -1588,8 +2199,10 @@ void cam_ois_shutdown(struct cam_ois_ctrl_t *o_ctrl) rc = cam_ois_power_down(o_ctrl); if (rc < 0) CAM_ERR(CAM_OIS, "OIS Power down failed"); + o_ctrl->cam_ois_state = CAM_OIS_ACQUIRE; } +#if !defined(CONFIG_SAMSUNG_OIS_MCU_STM32) if (o_ctrl->cam_ois_state >= CAM_OIS_ACQUIRE) { rc = cam_destroy_device_hdl(o_ctrl->bridge_intf.device_hdl); if (rc < 0) @@ -1598,6 +2211,7 @@ void cam_ois_shutdown(struct cam_ois_ctrl_t *o_ctrl) o_ctrl->bridge_intf.link_hdl = -1; o_ctrl->bridge_intf.session_hdl = -1; } +#endif if (o_ctrl->i2c_fwinit_data.is_settings_valid == 1) delete_request(&o_ctrl->i2c_fwinit_data); @@ -1639,6 +2253,11 @@ void cam_ois_shutdown(struct cam_ois_ctrl_t *o_ctrl) if (o_ctrl->i2c_init_data.is_settings_valid == 1) delete_request(&o_ctrl->i2c_init_data); +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + if (o_ctrl->i2c_time_data.is_settings_valid == 1) + delete_request(&o_ctrl->i2c_time_data); +#endif + kfree(power_info->power_setting); kfree(power_info->power_down_setting); power_info->power_setting = NULL; @@ -1691,6 +2310,20 @@ int cam_ois_driver_cmd(struct cam_ois_ctrl_t *o_ctrl, void *arg) rc = -EFAULT; goto release_mutex; } +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + rc = cam_ois_check_fw(o_ctrl); + if (rc < 0) { + CAM_ERR(CAM_OIS, "Failed check fw"); + rc = 0; // return success even if check fw is failed + } +#if defined(CONFIG_SAMSUNG_SUPPORT_RUMBA_FW_UPDATE) + rc = cam_ois_rumba_check_fw(o_ctrl); + if (rc < 0) { + CAM_INFO(CAM_OIS, "rumba f/w update did not proceed"); + rc = 0; // return success even if check fw is failed + } +#endif +#endif CAM_DBG(CAM_OIS, "ois_cap: ID: %d", ois_cap.slot_info); break; case CAM_ACQUIRE_DEV: @@ -1700,11 +2333,30 @@ int cam_ois_driver_cmd(struct cam_ois_ctrl_t *o_ctrl, void *arg) goto release_mutex; } +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + if (o_ctrl->bridge_cnt > 1) + goto release_mutex; + + o_ctrl->driver_output_mask = 0; + rc = cam_ois_thread_create(o_ctrl); + if (rc < 0) { + CAM_ERR(CAM_OIS, "Failed create OIS thread"); + goto release_mutex; + } +#endif + o_ctrl->cam_ois_state = CAM_OIS_ACQUIRE; break; case CAM_START_DEV: +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + o_ctrl->start_cnt++; +#endif if (o_ctrl->cam_ois_state != CAM_OIS_CONFIG) { +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + rc = 0; +#else rc = -EINVAL; +#endif CAM_WARN(CAM_OIS, "Not in right state for start : %d", o_ctrl->cam_ois_state); @@ -1720,6 +2372,27 @@ int cam_ois_driver_cmd(struct cam_ois_ctrl_t *o_ctrl, void *arg) } break; case CAM_RELEASE_DEV: +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + rc = cam_ois_release_dev_handle(o_ctrl, arg); + if (rc < 0) { + CAM_ERR(CAM_OIS, "destroying the device hdl"); + goto release_mutex; + } + + if (o_ctrl->bridge_cnt > 0) + goto release_mutex; + + cam_ois_thread_destroy(o_ctrl); + o_ctrl->ois_mode = 0; + + if (o_ctrl->cam_ois_state == CAM_OIS_CONFIG) { + rc = cam_ois_power_down(o_ctrl); + if (rc < 0) { + CAM_ERR(CAM_OIS, "OIS Power Down Failed"); + goto release_mutex; + } + } +#else if (o_ctrl->cam_ois_state == CAM_OIS_START) { rc = -EINVAL; CAM_WARN(CAM_OIS, @@ -1748,6 +2421,7 @@ int cam_ois_driver_cmd(struct cam_ois_ctrl_t *o_ctrl, void *arg) o_ctrl->bridge_intf.device_hdl = -1; o_ctrl->bridge_intf.link_hdl = -1; o_ctrl->bridge_intf.session_hdl = -1; +#endif o_ctrl->cam_ois_state = CAM_OIS_INIT; kfree(power_info->power_setting); @@ -1757,6 +2431,11 @@ int cam_ois_driver_cmd(struct cam_ois_ctrl_t *o_ctrl, void *arg) power_info->power_down_setting_size = 0; power_info->power_setting_size = 0; +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + if (o_ctrl->i2c_time_data.is_settings_valid == 1) + delete_request(&o_ctrl->i2c_time_data); +#endif + if (o_ctrl->i2c_mode_data.is_settings_valid == 1) delete_request(&o_ctrl->i2c_mode_data); @@ -1790,6 +2469,17 @@ int cam_ois_driver_cmd(struct cam_ois_ctrl_t *o_ctrl, void *arg) break; case CAM_STOP_DEV: +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + if (o_ctrl->start_cnt > 0) + o_ctrl->start_cnt--; + + if (o_ctrl->start_cnt != 0) { + CAM_WARN(CAM_OIS, + "Still device running : %d", + o_ctrl->start_cnt); + goto release_mutex; + } + if (o_ctrl->cam_ois_state != CAM_OIS_START) { rc = -EINVAL; CAM_WARN(CAM_OIS, @@ -1797,6 +2487,14 @@ int cam_ois_driver_cmd(struct cam_ois_ctrl_t *o_ctrl, void *arg) o_ctrl->cam_ois_state); goto release_mutex; } +#else + if (o_ctrl->cam_ois_state != CAM_OIS_START) { + CAM_WARN(CAM_OIS, + "Not in right state for stop : %d", + o_ctrl->cam_ois_state); + goto release_mutex; + } +#endif o_ctrl->cam_ois_state = CAM_OIS_CONFIG; break; case CAM_FLUSH_REQ: diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_core.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_core.h index c4956695a3..5d09f7ac33 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_core.h +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_core.h @@ -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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_dev.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_dev.c index 4d0689efce..65b33fc690 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_dev.c +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_dev.c @@ -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: diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_dev.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_dev.h index 59712fa409..af4908aba1 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_dev.h +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_dev.h @@ -22,6 +22,12 @@ #include #include "cam_soc_util.h" #include "cam_context.h" +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) +#include +#include +#include +#include +#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 }; /** diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_mcu_stm32g.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_mcu_stm32g.c new file mode 100644 index 0000000000..55f3176b0f --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_mcu_stm32g.c @@ -0,0 +1,4797 @@ +/* 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 +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "cam_debug_util.h" +#include +#include "cam_ois_mcu_stm32g.h" +#include "cam_ois_thread.h" +#include "cam_ois_core.h" +#include "cam_eeprom_dev.h" +#include "cam_actuator_core.h" +#if defined(CONFIG_USE_CAMERA_HW_BIG_DATA) +#include "cam_hw_bigdata.h" +#endif +#if defined(CONFIG_SAMSUNG_OIS_TAMODE_CONTROL) +#include +#endif + +#if defined(CONFIG_SEC_B6Q_PROJECT) || defined(CONFIG_SEC_Q6Q_PROJECT) +#define OIS_B6Q_FIRST_VERSION "BSC3QE1M" +#define OIS_Q6Q_FIRST_VERSION "CBC3QI1A" +#endif +#if defined(CONFIG_SEC_Q6AQ_PROJECT) +#define OIS_Q6AQ_FIRST_VERSION "EBC3RA2A" +#endif + +static int oisfw_force_update; +module_param(oisfw_force_update, int, 0644); + +#if defined(CONFIG_SAMSUNG_SUPPORT_RUMBA_FW_UPDATE) +static uint ois_rumba_fw; +module_param(ois_rumba_fw, uint, 0444); +#endif + +extern char ois_fw_full[40]; +extern char ois_debug[40]; + +extern struct cam_actuator_ctrl_t *g_a_ctrls[SEC_SENSOR_ID_MAX]; + +uint8_t ois_xygg[INDEX_MAX][OIS_XYGG_SIZE] = { 0, }; +uint8_t ois_cal_mark[INDEX_MAX] = { 0, }; +uint8_t ois_center_shift[INDEX_MAX][OIS_CENTER_SHIFT_SIZE] = { 0, }; + +int total_fw_size; + +//for mcu sysboot + +/* Target specific definitions + * 1. Startup delay + * STM32 target needs at least t-ms delay after reset msecs + * 2. Target I2C slave dddress + */ +const uint32_t sysboot_i2c_startup_delay = 50; /* msec */ +const uint16_t sysboot_i2c_slave_address = 0x62; + +/* STM32MCU PID */ +const uint16_t product_id = 0x460; + +/* Flash memory characteristics from target datasheet (msec unit) */ +const uint32_t flash_prog_time = 37; /* per page or sector */ +const uint32_t flash_full_erase_time = 40 * 32; /* 2K erase time(40ms) * 32 pages */ +const uint32_t flash_page_erase_time = 36; /* per page or sector */ + +/* Memory map specific */ + +typedef struct +{ + uint32_t size; + uint32_t count; +} sysboot_page_type; + +typedef struct +{ + uint32_t flashbase; /* flash memory starting address */ + uint32_t sysboot; /* system memory starting address */ + uint32_t optionbyte; /* option byte starting address */ + sysboot_page_type *pages; +} sysboot_map_type; + +/* Flash memory page(or sector) structure */ +sysboot_page_type memory_pages[] = { + {2048, 32}, + { 0, 0} +}; + +sysboot_map_type memory_map = +{ + 0x08000000, /* flash memory starting address */ + 0x1FFF0000, /* system memory starting address */ + 0x1FFF7800, /* option byte starting address */ + (sysboot_page_type *)memory_pages, +}; + +static int ois_mcu_chip_command(struct cam_ois_ctrl_t *o_ctrl, int command); + +/** + * @brief Connect to the device and do SYNC transaction. + * Reset(NRST) and BOOT0 pin control + * @param protocol + * @retval 0: success, others are fail. + */ +int sysboot_connect(struct cam_ois_ctrl_t *o_ctrl) +{ + int ret = 0; + CAM_INFO(CAM_OIS, "mcu sysboot_connect (reset = %d, boot0 = %d)", o_ctrl->reset_ctrl_gpio, o_ctrl->boot0_ctrl_gpio); + + /* STEP1. Turn to the MCU system boot mode */ + { + /* Assert NRST reset */ + gpio_direction_output(o_ctrl->reset_ctrl_gpio, 0); + /* Change BOOT pins to System Bootloader */ + gpio_direction_output(o_ctrl->boot0_ctrl_gpio, 1); + /* NRST should hold down (Vnf(NRST) > 300 ns), considering capacitor, give enough time */ + usleep_range(BOOT_NRST_PULSE_INTVL* 1000, + BOOT_NRST_PULSE_INTVL* 1000 + 1000); + /* Release NRST reset */ + gpio_direction_output(o_ctrl->reset_ctrl_gpio, 1); + /* Put little delay for the target prepared */ + msleep(BOOT_I2C_STARTUP_DELAY); + gpio_direction_output(o_ctrl->boot0_ctrl_gpio, 0); + } + /* STEP2. Send SYNC frame then waiting for ACK */ + ret = ois_mcu_chip_command(o_ctrl, BOOT_I2C_CMD_SYNC); + + if (ret >= 0) + { + /* STEP3. When I2C mode, Turn to the MCU system boot mode once again for protocol == SYSBOOT_PROTO_I2C */ + { + /* Assert NRST reset */ + gpio_direction_output(o_ctrl->reset_ctrl_gpio, 0); + gpio_direction_output(o_ctrl->boot0_ctrl_gpio, 1); + /* NRST should hold down (Vnf(NRST) > 300 ns), considering capacitor, give enough time */ + usleep_range(BOOT_NRST_PULSE_INTVL* 1000, + BOOT_NRST_PULSE_INTVL* 1000 + 1000); + /* Release NRST reset */ + gpio_direction_output(o_ctrl->reset_ctrl_gpio, 1); + /* Put little delay for the target prepared */ + msleep(BOOT_I2C_STARTUP_DELAY); + gpio_direction_output(o_ctrl->boot0_ctrl_gpio, 0); + } + } + + return ret; +} + +/** + * @brief Disconnect the device + * Reset(NRST) and BOOT0 pin control + * @param protocol + * @retval None + */ +void sysboot_disconnect(struct cam_ois_ctrl_t *o_ctrl) +{ + CAM_INFO(CAM_OIS, "sysboot disconnect"); + /* Change BOOT pins to Main flash */ + gpio_direction_output(o_ctrl->boot0_ctrl_gpio, 0); + usleep_range(1000, 1100); + /* Assert NRST reset */ + gpio_direction_output(o_ctrl->reset_ctrl_gpio, 0); + /* NRST should hold down (Vnf(NRST) > 300 ns), considering capacitor, give enough time */ + usleep_range(BOOT_NRST_PULSE_INTVL* 1000, BOOT_NRST_PULSE_INTVL* 1000 + 1000); + /* Release NRST reset */ + gpio_direction_output(o_ctrl->reset_ctrl_gpio, 1); + msleep(150); +} + +/** + * @brief Convert the device memory map to erase param. format. + * (start page and numbers to be erased) + * @param device memory address, length, erase ref. + * @retval 0 is success, others are fail. + */ +int sysboot_conv_memory_map(struct cam_ois_ctrl_t *o_ctrl, uint32_t address, size_t len, sysboot_erase_param_type *erase) +{ + sysboot_page_type *map = memory_map.pages; + int found = 0; + int total_bytes = 0, total_pages = 0; + int ix = 0; + int unit = 0; + CAM_INFO(CAM_OIS, "mcu"); + + /* find out the matched starting page number and total page count */ + + for (ix = 0; map[ix].size != 0; ++ix) + { + for (unit = 0; unit < map[ix].count; ++unit) + { + /* MATCH CASE: Starting address aligned and page number to be erased */ + if (address == memory_map.flashbase + total_bytes) + { + found++; + erase->page = total_pages; + } + total_bytes += map[ix].size; + total_pages++; + /* MATCH CASE: End of page number to be erased */ + if ((found == 1) && (len <= total_bytes)) + { + found++; + erase->count = total_pages - erase->page; + } + } + } + + if (found < 2) + { + /* Not aligned address or too much length inputted */ + return BOOT_ERR_DEVICE_MEMORY_MAP; + } + + if ((address == memory_map.flashbase) && (erase->count == total_pages)) + { + erase->page = 0xFFFF; /* mark the full erase */ + } + + return 0; +} + +//sysboot.c +/** + * @brief Calculate 8-bit checksum. + * @param source data and length + * @retval checksum value. + */ +uint8_t sysboot_checksum(uint8_t *src, uint32_t len) +{ + uint8_t csum = *src++; + //CAM_ERR(CAM_OIS, "mcu"); + + if (len) + { + while (--len) + { + csum ^= *src++; + } + } + else + { + csum = 0; /* error (no length param) */ + } + + return csum; +} + +//sysboot_i2c.c +//static uint8_t xmit[BOOT_I2C_ERASE_PARAM_LEN(BOOT_I2C_MAX_PAYLOAD_LEN)] = {0, }; + +/** + * @brief Waiting for an host ACK response + * @param timeout (msec) + * @retval 0 is success, others are fail. + */ +static int sysboot_i2c_wait_ack(struct cam_ois_ctrl_t *o_ctrl, unsigned long timeout) +{ + int ret = 0; + unsigned char resp = 0; + int temp = 0; + + // Guard code to make sure timeout value is not too large + if (timeout > BOOT_I2C_WAIT_MAX_RESP_TMOUT) + { + timeout = BOOT_I2C_WAIT_MAX_RESP_TMOUT; + } + + while(1) + { + ret = i2c_master_recv(o_ctrl->io_master_info.client, &resp, 1); + if(ret >= 0) + { + if(resp == BOOT_I2C_RESP_ACK) + { + //CAM_ERR(CAM_OIS, "[mcu] wait ack success 0x%x ",resp); + } else{ + CAM_ERR(CAM_OIS, "[mcu] wait ack failed 0x%x ", resp); + } + //return resp; + return 0; + } + else + { + CAM_ERR(CAM_OIS, "[mcu] failed resp is 0x%x ,ret is %d", resp, ret); + usleep_range(10000,11000); + temp = temp + 10; + if (temp > timeout) + { + CAM_ERR(CAM_OIS, "[mcu] timeout ,ret is %d temp %d timeout %d", ret, temp, timeout); + ret = -ETIMEDOUT; + break; + } + //usleep_range(BOOT_I2C_INTER_PKT_BACK_INTVL * 1000, BOOT_I2C_INTER_PKT_BACK_INTVL * 1000 + 1000); + } + } + return -1; + +} + +#if 0 +/** + * @brief Transmit the raw packet datas. + * @param source, length, timeout (msec) + * @retval 0 is success, others are fail. + */ +static int sysboot_i2c_send(struct cam_ois_ctrl_t *o_ctrl, uint8_t *cmd, uint32_t len, unsigned long timeout) +{ + int ret = 0; + int retry = 0; + int i = 0; + + for (retry = 0; retry < BOOT_I2C_SYNC_RETRY_COUNT; ++retry) + { + /* transmit command */ + ret = i2c_master_send(o_ctrl->io_master_info.client, cmd, len); + if (ret < 0) + { + + if (time_after(jiffies,timeout)) + { + ret = -ETIMEDOUT; + break; + } + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + CAM_ERR(CAM_OIS, "[mcu] send data fail "); + continue; + } + } + CAM_ERR(CAM_OIS, "client->addr=0x%x success send: %d Byte", o_ctrl->io_master_info.client->addr, ret); + for(i = 0; i < ret; i++) + { + CAM_ERR(CAM_OIS, "[mcu] send data : 0x%x ", cmd[i]); + } + return ret; +} + +/** + * @brief Receive the raw packet datas. + * @param destination, length, timeout (msec) + * @retval 0 is success, others are fail. + */ + +static int sysboot_i2c_recv(struct cam_ois_ctrl_t *o_ctrl, uint8_t *recv, uint32_t len, unsigned long timeout) +{ + int ret = 0; + int retry = 0; + int i = 0; + + for (retry = 0; retry < BOOT_I2C_SYNC_RETRY_COUNT; ++retry) + { + /* transmit command */ + ret = i2c_master_recv(o_ctrl->io_master_info.client, recv, len); + + if (ret < 0) + { + if (time_after(jiffies,timeout)) + { + ret = -ETIMEDOUT; + break; + } + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + CAM_ERR(CAM_OIS, "[mcu] recv data fail "); + continue; + + } + } + for(i = 0; i < ret; i++) + { + CAM_ERR(CAM_OIS, "[mcu] recv data : 0x%x ", recv[i]); + } + + return ret; + +} +#endif + +/** + * @brief Get device PID or Get device BL version + * @param None + * @retval 0 is success, others are fail. + */ +static int sysboot_i2c_get_info(struct cam_ois_ctrl_t *o_ctrl, + uint8_t *cmd, uint32_t cmd_size, uint32_t data_size) +{ + uint8_t recv[BOOT_I2C_RESP_GET_ID_LEN] = {0, }; + int ret = 0; + int retry = 0; + + CAM_INFO(CAM_OIS, "mcu 0x%x 0x%x", cmd[0], cmd[1]); + for (retry = 0; retry < BOOT_I2C_SYNC_RETRY_COUNT; ++retry) + { + /* transmit command */ + ret = i2c_master_send(o_ctrl->io_master_info.client, cmd, cmd_size); + if (ret < 0) + { + CAM_ERR(CAM_OIS, "mcu send data fail ret = %d", ret); + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + /* wait for ACK response */ + ret = sysboot_i2c_wait_ack(o_ctrl, BOOT_I2C_WAIT_RESP_TMOUT); + if (ret < 0) + { + CAM_ERR(CAM_OIS, "mcu wait ack fail ret = %d", ret); + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + /* receive payload */ + ret = i2c_master_recv(o_ctrl->io_master_info.client, recv, data_size); + if (ret < 0) + { + CAM_ERR(CAM_OIS, "mcu receive payload fail ret = %d", ret); + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + /* wait for ACK response */ + ret = sysboot_i2c_wait_ack(o_ctrl, BOOT_I2C_WAIT_RESP_TMOUT); + if (ret < 0) + { + CAM_ERR(CAM_OIS, "mcu wait ack fail ret = %d", ret); + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + + if(cmd[0] == BOOT_I2C_CMD_GET_ID){ + memcpy((void *)&(o_ctrl->info.id), &recv[1], recv[0] + 1); + o_ctrl->info.id = NTOHS(o_ctrl->info.id); + CAM_INFO(CAM_OIS, "success get info id %d", o_ctrl->info.id); + }else if(cmd[0] == BOOT_I2C_CMD_GET_VER){ + memcpy((void *)&(o_ctrl->info.ver), recv , 1); + CAM_INFO(CAM_OIS, "success get info version %d", o_ctrl->info.ver); + } + + return 0; + } + + return ret + cmd[0]; +} + +/** + * @brief SYNC transaction + * @param None + * @retval 0 is success, others are fail. + */ +int sysboot_i2c_sync(struct cam_ois_ctrl_t *o_ctrl, uint8_t *cmd) +{ + int ret = 0; + + CAM_INFO(CAM_OIS, "mcu"); + /* set it and wait for it to be so */ + ret = i2c_master_send(o_ctrl->io_master_info.client, cmd, 1); + CAM_INFO(CAM_OIS,"i2c client addr 0x%x ", o_ctrl->io_master_info.client->addr); + if(ret >= 0){ + CAM_INFO(CAM_OIS,"success connect to target mcu "); + }else{ + CAM_ERR(CAM_OIS,"failed connect to target mcu "); + } + return ret; +} + +/** + * @brief Get device info.(PID, BL ver, etc,.) + * @param None + * @retval 0 is success, others are fail. + */ +int sysboot_i2c_info(struct cam_ois_ctrl_t *o_ctrl) +{ + int ret = 0; + CAM_INFO(CAM_OIS, "mcu"); + memset((void *)&(o_ctrl->info), 0x00, sizeof(o_ctrl->info)); + ois_mcu_chip_command(o_ctrl, BOOT_I2C_CMD_GET_ID); + ois_mcu_chip_command(o_ctrl, BOOT_I2C_CMD_GET_VER); + return ret; +} + +/** + * @brief Read the device memory + * @param source(address), destination, length + * @retval 0 is success, others are fail. + */ +int sysboot_i2c_read(struct cam_ois_ctrl_t *o_ctrl, uint32_t address, uint8_t *dst, size_t len) +{ + uint8_t cmd[BOOT_I2C_REQ_CMD_LEN] = {0, }; //BOOT_I2C_REQ_CMD_LEN = 2 + uint8_t startaddr[BOOT_I2C_REQ_ADDRESS_LEN] = {0, }; //BOOT_I2C_REQ_ADDRESS_LEN = 5 + uint8_t nbytes[BOOT_I2C_READ_PARAM_LEN] = {0, }; //BOOT_I2C_READ_PARAM_LEN = 2 + int ret = 0; + int retry = 0; + + /* build command */ + cmd[0] = BOOT_I2C_CMD_READ; + cmd[1] = ~cmd[0]; + + /* build address + checksum */ + *(uint32_t *)startaddr = HTONL(address); + startaddr[BOOT_I2C_ADDRESS_LEN] = sysboot_checksum(startaddr, BOOT_I2C_ADDRESS_LEN); + + /* build number of bytes + checksum */ + nbytes[0] = len - 1; + nbytes[1] = ~nbytes[0]; + CAM_DBG(CAM_OIS, "read address 0x%x",address); + + for (retry = 0; retry < BOOT_I2C_SYNC_RETRY_COUNT; ++retry) + { + /* transmit command */ + ret = i2c_master_send(o_ctrl->io_master_info.client, cmd, sizeof(cmd)); + if (ret < 0) + { + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + /* wait for ACK response */ + ret = sysboot_i2c_wait_ack(o_ctrl, BOOT_I2C_WAIT_RESP_TMOUT); + if (ret < 0) + { + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + /* transmit address */ + ret = i2c_master_send(o_ctrl->io_master_info.client, startaddr, sizeof(startaddr)); + if (ret < 0) + { + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + /* wait for ACK response */ + ret = sysboot_i2c_wait_ack(o_ctrl, BOOT_I2C_WAIT_RESP_TMOUT); + if (ret < 0) + { + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + + /* transmit number of bytes */ + ret = i2c_master_send(o_ctrl->io_master_info.client, nbytes, sizeof(nbytes)); + if (ret < 0) + { + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + /* wait for ACK response */ + ret = sysboot_i2c_wait_ack(o_ctrl, BOOT_I2C_WAIT_RESP_TMOUT); + if (ret < 0) + { + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + + /* receive payload */ + ret = i2c_master_recv(o_ctrl->io_master_info.client, dst, len); + if (ret < 0) + { + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + return 0; + } + + return ret + BOOT_ERR_API_READ; +} + +/** + * @brief Write the contents to the device memory + * @param destination(address), source, length + * @retval 0 is success, others are fail. + */ +int sysboot_i2c_write(struct cam_ois_ctrl_t *o_ctrl, uint32_t address, uint8_t *src, size_t len) +{ + uint8_t cmd[BOOT_I2C_REQ_CMD_LEN] = {0, }; + uint8_t startaddr[BOOT_I2C_REQ_ADDRESS_LEN] = {0, }; + int ret = 0; + int retry = 0; + char * buf = NULL; + /* build command */ + cmd[0] = BOOT_I2C_CMD_WRITE; + cmd[1] = ~cmd[0]; + + /* build address + checksum */ + *(uint32_t *)startaddr = HTONL(address); + startaddr[BOOT_I2C_ADDRESS_LEN] = sysboot_checksum(startaddr, BOOT_I2C_ADDRESS_LEN); + + /* build number of bytes + checksum */ + CAM_DBG(CAM_OIS, "mcu address = 0x%x", address); + + buf = kzalloc(len + 2, GFP_KERNEL); + if (!buf) + return -ENOMEM; + buf[0] = len -1; + memcpy(&buf[1], src, len); + buf[len+1] = sysboot_checksum(buf, len + 1); + + for (retry = 0; retry < BOOT_I2C_SYNC_RETRY_COUNT; ++retry) + { + /* transmit command */ + ret = i2c_master_send(o_ctrl->io_master_info.client, cmd, 2); + if (ret < 0) + { + CAM_ERR(CAM_OIS, "[mcu] txdata fail "); + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + /* wait for ACK response */ + ret = sysboot_i2c_wait_ack(o_ctrl, BOOT_I2C_WAIT_RESP_TMOUT); + if (ret < 0) + { + CAM_ERR(CAM_OIS, "[mcu]mcu_wait_ack fail after txdata "); + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + + + /* transmit address */ + ret = i2c_master_send(o_ctrl->io_master_info.client, startaddr, 5); + if (ret < 0) + { + CAM_ERR(CAM_OIS, "[mcu] txdata fail "); + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + /* wait for ACK response */ + ret = sysboot_i2c_wait_ack(o_ctrl, BOOT_I2C_WAIT_RESP_TMOUT); + if (ret < 0) + { + CAM_ERR(CAM_OIS, "[mcu]mcu_wait_ack fail after txdata "); + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + + /* transmit number of bytes + datas */ + + ret = i2c_master_send(o_ctrl->io_master_info.client, buf, BOOT_I2C_WRITE_PARAM_LEN(len)); + if (ret < 0) + { + CAM_ERR(CAM_OIS, "[mcu] txdata fail "); + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + //msleep(len); + /* wait for ACK response */ + ret = sysboot_i2c_wait_ack(o_ctrl, BOOT_I2C_WRITE_TMOUT); + if (ret < 0) + { + CAM_ERR(CAM_OIS, "[mcu]mcu_wait_ack fail after txdata "); + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + kfree(buf); + + return 0; + } + msleep(2); + kfree(buf); + + return ret + BOOT_ERR_API_WRITE; +} + +/** + * @brief Erase the device memory + * @param destination(address), length + * @retval 0 is success, others are fail. + */ +int sysboot_i2c_erase(struct cam_ois_ctrl_t *o_ctrl, uint32_t address, size_t len) +{ + uint8_t cmd[BOOT_I2C_REQ_CMD_LEN] = {0, }; + sysboot_erase_param_type erase; + uint8_t xmit_bytes = 0; + int ret = 0; + int retry = 0; + uint8_t *xmit = NULL; + + /* build command */ + cmd[0] = BOOT_I2C_CMD_ERASE; + cmd[1] = ~cmd[0]; + + /* build erase parameter */ + ret = sysboot_conv_memory_map(o_ctrl, address, len, &erase); + if (ret < 0) + { + return ret + BOOT_ERR_API_ERASE; + } + CAM_INFO(CAM_OIS, "erase.page 0x%x", erase.page); + + xmit = kmalloc(1024, GFP_KERNEL | GFP_DMA); + if (xmit == NULL) { + CAM_ERR(CAM_OIS, "out of memory"); + return ret + BOOT_ERR_API_ERASE; + } + + memset(xmit, 0, 1024); + + for (retry = 0; retry < BOOT_I2C_SYNC_RETRY_COUNT; ++retry) + { + /* build full erase command */ + if (erase.page == 0xFFFF) + { + *(uint16_t *)xmit = (uint16_t)erase.page; + } + /* build page erase command */ + else + { + *(uint16_t *)xmit = HTONS((erase.count - 1)); + } + xmit_bytes = sizeof(uint16_t); + xmit[xmit_bytes] = sysboot_checksum(xmit, xmit_bytes); + xmit_bytes++; + /* transmit command */ + ret = i2c_master_send(o_ctrl->io_master_info.client, cmd, sizeof(cmd)); + if (ret < 0) + { + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + + /* wait for ACK response */ + ret = sysboot_i2c_wait_ack(o_ctrl, BOOT_I2C_WAIT_RESP_TMOUT); + if (ret < 0) + { + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + /* transmit parameter */ + ret = i2c_master_send(o_ctrl->io_master_info.client, xmit, xmit_bytes); + if (ret < 0) + { + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + /* wait for ACK response */ + //msleep(2*32); + ret = sysboot_i2c_wait_ack(o_ctrl, (erase.page == 0xFFFF) ? BOOT_I2C_FULL_ERASE_TMOUT : BOOT_I2C_WAIT_RESP_TMOUT); + if (ret < 0) + { + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + + /* case of page erase */ + if (erase.page != 0xFFFF) + { + /* build page erase parameter */ + register int ix; + register uint16_t *pbuf = (uint16_t *)xmit; + for (ix = 0; ix < erase.count; ++ix) + { + pbuf[ix] = HTONS((erase.page + ix)); + } + CAM_INFO(CAM_OIS, "erase.count %d", erase.count); + CAM_INFO(CAM_OIS, "&pbuf[ix] %pK,xmit %pK", &pbuf[ix], xmit); + xmit_bytes = 2 * erase.count; + *((uint8_t *)&pbuf[ix]) = sysboot_checksum(xmit, xmit_bytes); + CAM_INFO(CAM_OIS, "xmit_bytes %d", xmit_bytes); + xmit_bytes++; + /* transmit parameter */ + ret = i2c_master_send(o_ctrl->io_master_info.client, xmit, xmit_bytes); + if (ret < 0) + { + CAM_ERR(CAM_OIS, "Error ret %d", ret); + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + msleep(1000); + + /* wait for ACK response */ + ret = sysboot_i2c_wait_ack(o_ctrl, BOOT_I2C_PAGE_ERASE_TMOUT(erase.count + 1)); + if (ret < 0) + { + CAM_ERR(CAM_OIS, "Error wait_ack (ret %d, timeout %d)", ret,BOOT_I2C_PAGE_ERASE_TMOUT(erase.count + 1)); + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + } + CAM_INFO(CAM_OIS, "erase finish (retry %d)", retry); + kfree(xmit); + return 0; + } + + if (xmit) + kfree(xmit); + return ret + BOOT_ERR_API_ERASE; +} + +/** + * @brief Go to specific address of the device (for starting application) + * @param branch destination(address) + * @retval 0 is success, others are fail. + */ +int sysboot_i2c_go(struct cam_ois_ctrl_t *o_ctrl, uint32_t address) +{ + uint8_t cmd[BOOT_I2C_REQ_CMD_LEN] = {0, }; + uint8_t startaddr[BOOT_I2C_REQ_ADDRESS_LEN] = {0, }; + int ret = 0; + int retry = 0; + + /* build command */ + cmd[0] = BOOT_I2C_CMD_GO; + cmd[1] = ~cmd[0]; + + /* build address + checksum */ + *(uint32_t *)startaddr = HTONL(address); + startaddr[BOOT_I2C_ADDRESS_LEN] = sysboot_checksum(startaddr, BOOT_I2C_ADDRESS_LEN); + CAM_INFO(CAM_OIS, "mcu"); + + for (retry = 0; retry < BOOT_I2C_SYNC_RETRY_COUNT; ++retry) + { + /* transmit command */ + ret = i2c_master_send(o_ctrl->io_master_info.client, cmd, sizeof(cmd)); + if (ret < 0) + { + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + /* wait for ACK response */ + ret = sysboot_i2c_wait_ack(o_ctrl, BOOT_I2C_WAIT_RESP_TMOUT); + if (ret < 0) + { + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + /* transmit address */ + ret = i2c_master_send(o_ctrl->io_master_info.client, startaddr, sizeof(startaddr)); + if (ret < 0) + { + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + /* wait for ACK response */ + ret = sysboot_i2c_wait_ack(o_ctrl, BOOT_I2C_WAIT_RESP_TMOUT + 200); /* 200??? */ + if (ret < 0) + { + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + + return 0; + } + + return ret + BOOT_ERR_API_GO; +} + +/** + * @brief Unprotect the write protect + * @param None + * @retval 0 is success, others are fail. + */ +int sysboot_i2c_write_unprotect(struct cam_ois_ctrl_t *o_ctrl) +{ + uint8_t cmd[BOOT_I2C_REQ_CMD_LEN] = {0, }; + int ret = 0; + int retry = 0; + + /* build command */ + cmd[0] = BOOT_I2C_CMD_WRITE_UNPROTECT; + cmd[1] = ~cmd[0]; + CAM_INFO(CAM_OIS, "mcu"); + + for (retry = 0; retry < BOOT_I2C_SYNC_RETRY_COUNT; ++retry) + { + /* transmit command */ + ret = i2c_master_send(o_ctrl->io_master_info.client, cmd, sizeof(cmd)); + if (ret < 0) + { + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + /* wait for ACK response */ + ret = sysboot_i2c_wait_ack(o_ctrl, BOOT_I2C_FULL_ERASE_TMOUT); + if (ret < 0) + { + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + /* wait for ACK response */ + ret = sysboot_i2c_wait_ack(o_ctrl, BOOT_I2C_FULL_ERASE_TMOUT); + if (ret < 0) + { + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + + return 0; + } + + return ret + BOOT_ERR_API_WRITE_UNPROTECT; +} + +/** + * @brief Unprotect the read protect + * @param None + * @retval 0 is success, others are fail. + */ +int sysboot_i2c_read_unprotect(struct cam_ois_ctrl_t *o_ctrl) +{ + uint8_t cmd[BOOT_I2C_REQ_CMD_LEN] = {0, }; + int ret = 0; + int retry = 0; + + /* build command */ + cmd[0] = BOOT_I2C_CMD_READ_UNPROTECT; + cmd[1] = ~cmd[0]; + CAM_INFO(CAM_OIS, "mcu"); + + for (retry = 0; retry < BOOT_I2C_SYNC_RETRY_COUNT; ++retry) + { + /* transmit command */ + ret = i2c_master_send(o_ctrl->io_master_info.client, cmd, sizeof(cmd)); + if (ret < 0) + { + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + /* wait for ACK response */ + ret = sysboot_i2c_wait_ack(o_ctrl, BOOT_I2C_FULL_ERASE_TMOUT); + if (ret < 0) + { + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + /* wait for ACK response */ + ret = sysboot_i2c_wait_ack(o_ctrl, BOOT_I2C_FULL_ERASE_TMOUT); + if (ret < 0) + { + msleep(BOOT_I2C_SYNC_RETRY_INTVL); + continue; + } + + return 0; + } + + return ret + BOOT_ERR_API_READ_UNPROTECT; +} + +/* ---------------------------------------------------------------------- */ + +static int ois_mcu_chip_command(struct cam_ois_ctrl_t *o_ctrl, int command) +{ + /* build command */ + uint8_t cmd[BOOT_I2C_REQ_CMD_LEN] = {0, }; + int ret = 0; + CAM_INFO(CAM_OIS, "[mcu] start"); + + /* execute the command */ + switch(command) + { + case BOOT_I2C_CMD_GET: + cmd[0] = 0x00; + break; + + case BOOT_I2C_CMD_GET_VER: + cmd[0] = 0x01; + cmd[1] = ~cmd[0]; + ret = sysboot_i2c_get_info(o_ctrl, cmd, 2, 1); + break; + + case BOOT_I2C_CMD_GET_ID: + cmd[0] = 0x02; + cmd[1] = ~cmd[0]; + ret = sysboot_i2c_get_info(o_ctrl, cmd, 2, 3); + break; + + case BOOT_I2C_CMD_READ: + cmd[0] = 0x11; + break; + + case BOOT_I2C_CMD_WRITE: + cmd[0] = 0x31; + break; + + case BOOT_I2C_CMD_ERASE: + cmd[0] = 0x44; + break; + + case BOOT_I2C_CMD_GO: + cmd[0] = 0x21; + break; + + case BOOT_I2C_CMD_WRITE_UNPROTECT: + cmd[0] = 0x73; + break; + + case BOOT_I2C_CMD_READ_UNPROTECT: + cmd[0] = 0x92; + break; + + case BOOT_I2C_CMD_SYNC: + /* UNKNOWN command */ + cmd[0] = 0xFF; + sysboot_i2c_sync(o_ctrl, cmd); + break; + + default: + break; + return -EINVAL; + } + + return ret ; +} + + +/** + * @brief Validation check for TARGET + * @param None + * @retval 0: success, others are fail + */ +int target_validation(struct cam_ois_ctrl_t *o_ctrl) +{ + int ret = 0; + CAM_DBG(CAM_OIS, "Start target validation"); + /* Connection ------------------------------------------------------------- */ + ret = sysboot_connect(o_ctrl); + if (ret < 0) + { + CAM_INFO(CAM_OIS, "Error: Cannot connect to the target (%d) but skip", ret); + goto validation_fail; + } + CAM_DBG(CAM_OIS, "1. Connection OK"); + + ret = sysboot_i2c_info(o_ctrl); + if (ret < 0) + { + CAM_DBG(CAM_OIS, "Error: Failed to collect the target info (%d)", ret); + goto validation_fail; + } + + CAM_DBG(CAM_OIS, " 2. Get target info OK Target PID: 0x%X, Bootloader version: 0x%X", o_ctrl->info.id, o_ctrl->info.ver); + + return 0; + +validation_fail: + sysboot_disconnect(o_ctrl); + CAM_ERR(CAM_OIS, " Failed: target disconnected"); + + return -1; +} + +/** + * @brief Getting STATUS of the TARGET empty check + * @param None + * @retval 0: empty check reset, 1: empty check set, others are fail + */ +int target_empty_check_status(struct cam_ois_ctrl_t *o_ctrl) +{ + uint32_t value = 0; + int ret = 0; + CAM_INFO(CAM_OIS, "mcu"); + + /* Read first flash memory word ------------------------------------------- */ + ret = sysboot_i2c_read(o_ctrl, memory_map.flashbase, (uint8_t *)&value, sizeof(value)); + + if (ret < 0) + { + CAM_ERR(CAM_OIS, "[INF] Error: Failed to read word for empty check (%d)", ret); + goto empty_check_status_fail; + } + + CAM_DBG(CAM_OIS, "[INF] Flash Word: 0x%08X", value); + + if (value == 0xFFFFFFFF) + { + return 1; + } + + return 0; + +empty_check_status_fail: + + return -1; +} + +int target_option_update(struct cam_ois_ctrl_t *o_ctrl){ + int ret = 0; + uint32_t optionbyte = 0; + int retry = 3; + CAM_INFO(CAM_OIS, "[mao]read option byte begin "); + + for(retry = 0; retry < 3; retry ++ ){ + ret = sysboot_i2c_read(o_ctrl,memory_map.optionbyte, (uint8_t *)&optionbyte, sizeof(optionbyte)); + if((ret < 0) || ((optionbyte & 0xff) != 0xaa)){ + ret = sysboot_i2c_read_unprotect(o_ctrl); + if(ret < 0){ + CAM_ERR(CAM_OIS, "[mao]ois_mcu_read_unprotect failed "); + }else{ + CAM_INFO(CAM_OIS, "[mao]ois_mcu_read_unprotect ok "); + } + msleep(60); + ret = sysboot_connect(o_ctrl); + //try connection again + continue; + } + + if (optionbyte & (1 << 24)) { + /* Option byte write ---------------------------------------------------- */ + optionbyte &= ~(1 << 24); + ret = sysboot_i2c_write(o_ctrl,memory_map.optionbyte, (uint8_t *)&optionbyte, sizeof(optionbyte)); + if(ret < 0){ + msleep(1); + continue; + } + CAM_INFO(CAM_OIS, "[mao]write option byte ok "); + //try connection again + }else{ + CAM_INFO(CAM_OIS, "[mao]option byte is 0, return success "); + return 0; + } + } + + return ret; +} + +int target_read_hwver(struct cam_ois_ctrl_t *o_ctrl){ + int ret = 0; + int i = 0; + + uint32_t addr[4] = {0, }; + uint8_t dst = 0; + uint32_t address = 0; + + for(i = 0; i<4 ; i++){ + addr[i] = 0x80F8 + i + memory_map.flashbase; + address = addr[i]; + ret = sysboot_i2c_read(o_ctrl,address, &dst, 1); + + if(ret < 0){ + CAM_ERR(CAM_OIS,"read fwver addr 0x%x fail", address); + }else{ + CAM_DBG(CAM_OIS,"read fwver addr 0x%x dst 0x%x", address, dst); + } + } + return ret ; +} + +int target_read_vdrinfo(struct cam_ois_ctrl_t *o_ctrl){ + int ret = 0; + int i = 0; + uint32_t addr[4] = {0, }; + unsigned char dst[5] = ""; + uint32_t address = 0; + uint8_t *data = NULL ; + + for(i = 0; i<4 ; i++){ + addr[i] = 0x807C+i+memory_map.flashbase; + address = addr[i]; + ret = sysboot_i2c_read(o_ctrl, address, dst, 4); + + if(ret < 0){ + CAM_ERR(CAM_OIS,"read fwver addr 0x%x fail", address); + }else{ + CAM_DBG(CAM_OIS,"read fwver addr 0x%x dst [0] 0x%x,[1] 0x%x,[2] 0x%x,[3] 0x%x,", + address, dst[0], dst[1], dst[2], dst[3]); + } + } + address = memory_map.flashbase + 0x8000; + + data = kmalloc(256, GFP_KERNEL | GFP_DMA); + if (data != NULL) { + memset(data, 0, 256); + + ret = sysboot_i2c_read(o_ctrl, address, data, 256); + //strncpy(dst,data+0x7c,4); + strncpy(dst,data + 124, 4); + CAM_INFO(CAM_OIS,"read fwver addr 0x%x dst [0] 0x%x,[1] 0x%x,[2] 0x%x,[3] 0x%x,", + address + 0x7C, dst[0], dst[1], dst[2], dst[3]); + + if (data) + kfree(data); + } else { + CAM_ERR(CAM_OIS,"out of memory"); + } + return ret ; +} + +int target_empty_check_clear(struct cam_ois_ctrl_t * o_ctrl) +{ + int ret = 0; + uint32_t optionbyte = 0; + + /* Option Byte read ------------------------------------------------------- */ + ret = sysboot_i2c_read(o_ctrl, memory_map.optionbyte, (uint8_t *)&optionbyte, sizeof(optionbyte)); + if (ret < 0) { + CAM_ERR(CAM_OIS,"Option Byte read fail"); + goto empty_check_clear_fail; + } + + CAM_INFO(CAM_OIS,"Option Byte read 0x%x ", optionbyte); + + /* Option byte write (dummy: readed value) -------------------------------- */ + ret = sysboot_i2c_write(o_ctrl, memory_map.optionbyte, (uint8_t *)&optionbyte, sizeof(optionbyte)); + if (ret < 0) { + CAM_ERR(CAM_OIS,"Option Byte write fail"); + goto empty_check_clear_fail; + } + CAM_INFO(CAM_OIS,"Option Byte write 0x%x ", optionbyte); + + /* Put little delay for Target program option byte and self-reset */ + msleep(150); + /* Option byte read for checking protection status ------------------------ */ + /* 1> Re-connect to the target */ + ret = sysboot_connect(o_ctrl); + if (ret) { + CAM_ERR(CAM_OIS,"Cannot connect to the target for RDP check (%d)",ret); + goto empty_check_clear_fail; + } + + /* 2> Read from target for status checking and recover it if needed */ + ret = sysboot_i2c_read(o_ctrl, memory_map.optionbyte, (uint8_t *)&optionbyte, sizeof(optionbyte)); + if ((ret < 0) || ((optionbyte & 0x000000FF) != 0xAA)) { + CAM_ERR(CAM_OIS,"Failed to read option byte from target (%d)",ret); + /* Tryout the RDP level to 0 */ + ret = sysboot_i2c_read_unprotect(o_ctrl); + if (ret) { + CAM_INFO(CAM_OIS,"Readout unprotect Not OK ... Host restart and try again"); + } else { + CAM_INFO(CAM_OIS,"Readout unprotect OK ... Host restart and try again"); + } + /* Put little delay for Target erase all of pages */ + msleep(50); + goto empty_check_clear_fail; + } + + return 0; +empty_check_clear_fail: + return -1; +} + +#if 0 +int target_normal_on(struct cam_ois_ctrl_t * o_ctrl) +{ + int ret = 0; + /* Release NRST reset */ + gpio_direction_output(o_ctrl->reset_ctrl_gpio, 1); + /* Put little delay for the target prepared */ + usleep_range(1000, 1100); + gpio_direction_output(o_ctrl->boot0_ctrl_gpio, 0); + usleep_range(1000, 1100); + return ret; +} +#endif + +// ois +int cam_ois_i2c_read(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 rc = 0; + uint32_t temp; + + rc = camera_io_dev_read(&o_ctrl->io_master_info, + addr, &temp, + addr_type, data_type, false); + if (rc < 0) { + CAM_ERR(CAM_OIS, "ois i2c byte read failed addr : 0x%x data : 0x%x, rc %d", addr, *data, rc); + return rc; + } + *data = temp; + + CAM_DBG(CAM_OIS, "addr = 0x%x data: 0x%x", addr, *data); + return rc; +} + +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 rc = 0; + struct cam_sensor_i2c_reg_setting write_setting; + + write_setting.reg_setting = kmalloc(sizeof(struct cam_sensor_i2c_reg_array), GFP_KERNEL); + if (!write_setting.reg_setting) { + return -ENOMEM; + } + memset(write_setting.reg_setting, 0, sizeof(struct cam_sensor_i2c_reg_array)); + + write_setting.addr_type = addr_type; + write_setting.data_type = data_type; + write_setting.delay = 0; + + write_setting.size = 1; + write_setting.reg_setting[0].reg_addr = addr; + write_setting.reg_setting[0].reg_data = data; + write_setting.reg_setting[0].delay = 0; + + rc = camera_io_dev_write(&o_ctrl->io_master_info, &write_setting); + + if (rc < 0) { + CAM_ERR(CAM_OIS, "ois i2c byte write failed addr : 0x%x data : 0x%x", addr, data); + goto free_reg_setting; + } + + CAM_DBG(CAM_OIS, "addr = 0x%x data: 0x%x", addr, data); + +free_reg_setting: + if (write_setting.reg_setting) + kfree(write_setting.reg_setting); + return rc; +} + +int cam_ois_i2c_write_continous(struct cam_ois_ctrl_t *o_ctrl, + uint32_t addr, uint8_t *data, + enum camera_sensor_i2c_type addr_type, + enum camera_sensor_i2c_type data_type, int data_size) +{ + int i = 0, rc = 0; + struct cam_sensor_i2c_reg_setting write_settings; + + write_settings.reg_setting = + (struct cam_sensor_i2c_reg_array *) + kmalloc(sizeof(struct cam_sensor_i2c_reg_array) * data_size, + GFP_KERNEL); + if (!write_settings.reg_setting) { + return -ENOMEM; + } + memset(write_settings.reg_setting, 0, + sizeof(struct cam_sensor_i2c_reg_array) * data_size); + + write_settings.addr_type = addr_type; + write_settings.data_type = data_type; + write_settings.size = data_size; + write_settings.delay = 0; + + + for (i = 0; i < data_size; i++) + { + write_settings.reg_setting[i].reg_addr = addr; + write_settings.reg_setting[i].reg_data = data[i]; + write_settings.reg_setting[i].delay = 0; + } + + rc = camera_io_dev_write_continuous(&o_ctrl->io_master_info, + &write_settings, CAM_SENSOR_I2C_WRITE_SEQ); + + if (write_settings.reg_setting) + kfree(write_settings.reg_setting); + + return rc; +} + +int cam_ois_bypass_mode2_i2c_read(struct cam_ois_ctrl_t *o_ctrl, + uint16_t uild, uint16_t uiReg, + uint8_t ucRegSize, uint8_t* pBuf, + uint8_t ucSize) +{ + int i = 0; + uint32_t RcvData = 0; + int retry = 10; + int ret = 0; + + // Device ID + uild = NTOHS(uild); + ret |= cam_ois_i2c_write(o_ctrl, 0x0100, uild, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + // Register Address + uiReg = NTOHS(uiReg); + ret |= cam_ois_i2c_write(o_ctrl, 0x0102, uiReg, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + // Register Address Size + ret |= cam_ois_i2c_write(o_ctrl, 0x0104, ucRegSize, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + // Data size + ret |= cam_ois_i2c_write(o_ctrl, 0x0105, ucSize, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + + ret |= cam_ois_i2c_write(o_ctrl, ByPassCtrl, 0x2, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + + do { + ret |= cam_ois_i2c_read(o_ctrl, ByPassCtrl, &RcvData, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + usleep_range(1000, 1100); + } while ((RcvData != 0) && (retry-- > 0)); + + // Parsing data into transmit buffer + for (i = 0; i < ucSize; i++) { + ret |= cam_ois_i2c_read(o_ctrl, 0x0106 + i, &RcvData, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + CAM_DBG(CAM_OIS, "RcvData[0x%x] %d", 0x0106 + i, RcvData); + *(pBuf + i) = (RcvData & 0xFF); + } + + return ret; +} + +int cam_ois_bypass_mode2_i2c_write(struct cam_ois_ctrl_t *o_ctrl, + uint16_t uild, uint16_t uiReg, + uint8_t ucRegSize, uint8_t* pBuf, + uint8_t ucSize) +{ + uint32_t RcvData = 0; + int retry = 10; + int ret = 0; + + // Device ID + uild = NTOHS(uild); + ret |= cam_ois_i2c_write(o_ctrl, 0x0100, uild, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + // Register Address + uiReg = NTOHS(uiReg); + ret |= cam_ois_i2c_write(o_ctrl, 0x0102, uiReg, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + // Register Address Size + ret |= cam_ois_i2c_write(o_ctrl, 0x0104, ucRegSize, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + // Data size + ret |= cam_ois_i2c_write(o_ctrl, 0x0105, ucSize, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + + ret |= cam_ois_i2c_write_continous(o_ctrl, 0x0106, pBuf, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, ucSize); + + ret |= cam_ois_i2c_write(o_ctrl, ByPassCtrl, 0x2, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + + do { + ret |= cam_ois_i2c_read(o_ctrl, ByPassCtrl, &RcvData, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + usleep_range(1000, 1100); + } while ((RcvData != 0) && (retry-- > 0)); + + return ret; +} + +int cam_ois_check_tele_cross_talk(struct cam_ois_ctrl_t *o_ctrl, uint16_t *result) +{ + uint8_t buf[2]; + uint16_t val; + int i = 0, ret = 0; + + buf[0] = 0x08; + ret |= cam_ois_bypass_mode2_i2c_write(o_ctrl, RUMBA_WRITE_UILD, 0x0002 , 2, buf, 1); + + buf[0] = 0x01; + ret |= cam_ois_bypass_mode2_i2c_write(o_ctrl, RUMBA_WRITE_UILD, 0x0080 , 2, buf, 1); + + buf[0] = 0x01; + ret |= cam_ois_bypass_mode2_i2c_write(o_ctrl, RUMBA_WRITE_UILD, 0x0000 , 2, buf, 1); + + + // X,Y initial position (2 Byte) + // X axis + buf[0] = (uint8_t)(800 & 0xFF); + buf[1] = (uint8_t)((800 >> 8) & 0xFF); + ret |= cam_ois_bypass_mode2_i2c_write(o_ctrl, RUMBA_WRITE_UILD, 0x0022 , 2, buf, 2); + + // Y axis + buf[0] = (2048 & 0xFF); + buf[1] = (2048 >> 8) & 0xFF; + ret |= cam_ois_bypass_mode2_i2c_write(o_ctrl, RUMBA_WRITE_UILD, 0x0024 , 2, buf, 2); + + for (i = 0; i < STEP_COUNT; i++) { + // Move X axis + val = (uint16_t)(INIT_X_TARGET + (i * STEP_VALUE)); + buf[0] = (uint8_t)(val & 0xFF); + buf[1] = (uint8_t)((val >> 8) & 0xFF); + ret |= cam_ois_bypass_mode2_i2c_write(o_ctrl, RUMBA_WRITE_UILD, 0x0022, 2, buf, 2); + msleep(45); + + // Read Y Hall + ret |= cam_ois_bypass_mode2_i2c_read(o_ctrl, RUMBA_READ_UILD, 0x0090, 2, buf, 2); + result[i] = (buf[1] << 8)| buf[0]; + CAM_INFO(CAM_OIS, "result[%d] %d", i, result[i]); + } + + return ret; +} + +int cam_ois_check_ois_valid_show(struct cam_ois_ctrl_t *o_ctrl, uint16_t *result) +{ + uint32_t val = 0; + int i, ret = 0; + + ret = cam_ois_wait_idle(o_ctrl, 2); + if (ret < 0) { + CAM_ERR(CAM_OIS, "wait ois idle status failed"); + return ret; + } + + ret = cam_ois_i2c_read(o_ctrl, (OISERR + 1), &val, CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (ret < 0) { + CAM_ERR(CAM_OIS, "get ois error register value failed, i2c fail %d", ret); + return ret; + } + + val &= 0xFF; + + CAM_INFO(CAM_OIS, "ois error reg[0x%x] = 0x%x", (OISERR + 1), val); + + for (i = 0; i < 3; i++) { + result[i] = (val & 0x2) | (val & 0x4); + CAM_INFO(CAM_OIS, "result[%d] = %d, (val = 0x%x, err[x,y] = [%d, %d])", i, result[i], val, (val & 0x2), (val & 0x4)); + val >>= 2; + } + + return ret; +} + +uint32_t cam_ois_check_ext_clk(struct cam_ois_ctrl_t *o_ctrl) +{ + uint8_t buf[4]; + int ret = 0; + uint32_t cur_clk = 0; + + ret |= cam_ois_bypass_mode2_i2c_read(o_ctrl, RUMBA_READ_UILD, 0x03F0, 2, buf, 4); + cur_clk = (buf[3] << 24) | (buf[2] << 16) | + (buf[1] << 8) | buf[0]; + CAM_INFO(CAM_OIS, "cur_clk %u", cur_clk); + + return cur_clk; +} + +int32_t cam_ois_set_ext_clk(struct cam_ois_ctrl_t *o_ctrl, uint32_t clk) +{ + uint8_t buf[4]; + uint8_t pll_multi = 0, pll_divide = 0; + int i = 0, ret = 0; + uint32_t cur_clk = 0; + int retry = 100; + + cur_clk = cam_ois_check_ext_clk(o_ctrl); + + if (cur_clk == clk) + return cur_clk; + CAM_INFO(CAM_OIS, "cur_clk %u, new_clk %u", cur_clk, clk); + + switch (clk) { + case CAMERA_OIS_EXT_CLK_12MHZ: + pll_multi = 0x08; + pll_divide = 0x03; + break; + case CAMERA_OIS_EXT_CLK_17MHZ: + pll_multi = 0x09; + pll_divide = 0x05; + break; + case CAMERA_OIS_EXT_CLK_19P2MHZ: + pll_multi = 0x05; + pll_divide = 0x03; + break; + case CAMERA_OIS_EXT_CLK_24MHZ: + pll_multi = 0x04; + pll_divide = 0x03; + break; + case CAMERA_OIS_EXT_CLK_26MHZ: + pll_multi = 0x06; + pll_divide = 0x05; + break; + default: + CAM_INFO(CAM_OIS, "unsupported cur_clk: 0x%08x", clk); + return -EINVAL; + } + + // Reg EXTCLK(0x03F0) = 26000000U + for (i = 0; i < 4; i++) + buf[i] = (clk >> (i * 8)) & 0xFF; + ret |= cam_ois_bypass_mode2_i2c_write(o_ctrl, RUMBA_WRITE_UILD, 0x03F0 , 2, buf, 4); + + // Reg PLLMULTIPLE(0x03F4)=0x06 + buf[0] = pll_multi; + ret |= cam_ois_bypass_mode2_i2c_write(o_ctrl, RUMBA_WRITE_UILD, 0x03F4 , 2, buf, 1); + + // Reg PLLDIVIDE(0x03F5)=0x05 + buf[0] = pll_divide; + ret |= cam_ois_bypass_mode2_i2c_write(o_ctrl, RUMBA_WRITE_UILD, 0x03F5 , 2, buf, 1); + + // Reg FLSWRTRESULT(0x0027)=0xAA + buf[0] = 0xAA; + ret |= cam_ois_bypass_mode2_i2c_write(o_ctrl, RUMBA_WRITE_UILD, 0x0027 , 2, buf, 1); + + // Reg OISDATAWRITE(0x0003)=0x01 + buf[0] = 0x01; + ret |= cam_ois_bypass_mode2_i2c_write(o_ctrl, RUMBA_WRITE_UILD, 0x0003 , 2, buf, 1); + + msleep(200); + + // Read Reg FLSWRTRESULT(0x27) + retry = 100; + do { + usleep_range(2000, 2100); + ret |= cam_ois_bypass_mode2_i2c_read(o_ctrl, RUMBA_READ_UILD, 0x0027, 2, buf, 1); + } while ((buf[0] != 0xAA) && (--retry > 0)); + if ((ret < 0) || (retry <= 0)) + CAM_ERR(CAM_OIS, "Read Reg FLSWRTRESULT fail val %u, retry %d", buf[0], retry); + + // Reg OISDATAWRITE(0x000D)=0x01 + buf[0] = 0x01; + ret |= cam_ois_bypass_mode2_i2c_write(o_ctrl, RUMBA_WRITE_UILD, 0x000D , 2, buf, 1); + + // Read Reg OISSTS + retry = 100; + do { + usleep_range(2000, 2100); + ret |= cam_ois_bypass_mode2_i2c_read(o_ctrl, RUMBA_READ_UILD, 0x0001, 2, buf, 1); + } while ((buf[0] != 0x09) && (--retry > 0)); + if ((ret < 0) || (retry <= 0)) + CAM_ERR(CAM_OIS, "Read Reg OISSTS fail val %u, retry %d", buf[0], retry); + + // Reg DFLSCMD(0x000E)=0x06 + buf[0] = 0x06; + ret |= cam_ois_bypass_mode2_i2c_write(o_ctrl, RUMBA_WRITE_UILD, 0x000E , 2, buf, 1); + msleep(50); + + return ret; +} + +int cam_ois_wait_idle(struct cam_ois_ctrl_t *o_ctrl, int retries) +{ + uint32_t status = 0; + int ret = 0; + + /* check ois status if it`s idle or not */ + /* OISSTS register(0x0001) 1Byte read */ + /* 0x01 == IDLE State */ + do { + ret = cam_ois_i2c_read(o_ctrl, OISSTS, &status, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (status == 0x01) + break; + if (--retries < 0) { + if (ret < 0) { + CAM_ERR(CAM_OIS, "failed due to i2c fail"); + return -EIO; + } + CAM_ERR(CAM_OIS, "ois status is not idle, current status %d", status); + return -EBUSY; + } + usleep_range(5000, 5100); + } while (status != 0x01); + return 0; +} + +int cam_ois_init(struct cam_ois_ctrl_t *o_ctrl) +{ + uint32_t status = 0; + uint32_t read_value = 0; + int rc = 0, retries = 0; +#if defined(CONFIG_USE_CAMERA_HW_BIG_DATA) + uint32_t hw_cam_position; +#endif + + CAM_INFO(CAM_OIS, "E"); + + retries = 20; + do { + rc = cam_ois_i2c_read(o_ctrl, OISSTS, &status, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if ((status == 0x01) || + (status == 0x13)) + break; + if (--retries < 0) { + if (rc < 0) { + CAM_ERR(CAM_OIS, "failed due to i2c fail %d", rc); +#if defined(CONFIG_USE_CAMERA_HW_BIG_DATA) + if (rc < 0) { + msm_is_sec_get_sensor_position(&hw_cam_position); + { + hw_bigdata_i2c_from_ois_status_reg(hw_cam_position); + } + } +#endif + + break; + } + CAM_ERR(CAM_OIS, "ois status is 0x01 or 0x13, current status %d", status); + break; + } + usleep_range(5000, 5050); + } while ((status != 0x01) && (status != 0x13)); + + rc = cam_ois_mcu_init(o_ctrl); + if (rc < 0) + CAM_ERR(CAM_OIS, "OIS MCU init failed %d", rc); + + // OIS Shift Setting + rc = cam_ois_set_shift(o_ctrl); + if (rc < 0) { + CAM_ERR(CAM_OIS, "ois shift calibration enable failed, i2c fail %d", rc); + return rc; + } + + // VDIS Setting + rc = cam_ois_set_ggfadeup(o_ctrl, 1000); + if (rc < 0) { + CAM_ERR(CAM_OIS, "ois set vdis setting ggfadeup failed %d", rc); + return rc; + } + rc = cam_ois_set_ggfadedown(o_ctrl, 1000); + if (rc < 0) { + CAM_ERR(CAM_OIS, "ois set vdis setting ggfadedown failed %d", rc); + return rc; + } + + // OIS Hall Center Read + rc = cam_ois_i2c_read(o_ctrl, XCENTER_M1, &read_value, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + if (rc < 0) { + CAM_ERR(CAM_OIS, "ois read hall X center failed %d", rc); + return rc; + } + o_ctrl->x_center = NTOHS(read_value); + CAM_DBG(CAM_OIS, "ois read hall x center %d", o_ctrl->x_center); + + rc = cam_ois_i2c_read(o_ctrl, YCENTER_M1, &read_value, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + if (rc < 0) { + CAM_ERR(CAM_OIS, "ois read hall Y center failed %d", rc); + return rc; + } + o_ctrl->y_center = NTOHS(read_value); + CAM_DBG(CAM_OIS, "ois read hall y center %d", o_ctrl->y_center); + + // Compensation Angle Setting + rc = cam_ois_set_angle_for_compensation(o_ctrl); + if (rc < 0) { + CAM_ERR(CAM_OIS, "ois set angle for compensation failed %d", rc); + return rc; + } + + // Init Setting(Dual OIS Setting) + mutex_lock(&(o_ctrl->i2c_init_data_mutex)); + rc = cam_ois_apply_settings(o_ctrl, &o_ctrl->i2c_init_data); + if (rc < 0) + CAM_ERR(CAM_OIS, "ois set dual ois setting failed %d", rc); + + rc = delete_request(&o_ctrl->i2c_init_data); + if (rc < 0) { + CAM_WARN(CAM_OIS, + "Failed deleting Init data: rc: %d", rc); + rc = 0; + } + mutex_unlock(&(o_ctrl->i2c_init_data_mutex)); + + // Read error register + rc = cam_ois_i2c_read(o_ctrl, OISERR, &read_value, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + if (rc < 0) { + CAM_ERR(CAM_OIS, "get ois error register value failed, i2c fail"); + return rc; + } + + o_ctrl->err_reg = NTOHS(read_value); + if ((o_ctrl->err_reg & 0x7E00) != 0) { + CAM_ERR(CAM_OIS, "ois error reg[0x%x] = 0x%x", OISERR, o_ctrl->err_reg); + } + +#if defined(CONFIG_USE_CAMERA_HW_BIG_DATA) + hw_bigdata_i2c_from_ois_error_reg(o_ctrl->err_reg); +#endif + +#if defined(CONFIG_SAMSUNG_OIS_TAMODE_CONTROL) + o_ctrl->ois_tamode_onoff = false; + cam_ois_add_tamode_msg(o_ctrl); +#endif + + o_ctrl->ois_mode = 0; + + CAM_INFO(CAM_OIS, "X"); + + return rc; +} + +int cam_ois_get_fw_status(struct cam_ois_ctrl_t *o_ctrl) +{ + int rc = 0; + uint32_t i = 0; + uint8_t status_arr[OIS_FW_STATUS_SIZE]; + uint32_t status = 0; + + rc = camera_io_dev_read_seq(&o_ctrl->io_master_info, + OIS_FW_STATUS_OFFSET, status_arr, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, + OIS_FW_STATUS_SIZE); + if (rc < 0){ + CAM_ERR(CAM_OIS, "i2c read fail"); + CAM_ERR(CAM_OIS, "MCU NACK need update FW again"); + return -2; + } + + for (i = 0; i < OIS_FW_STATUS_SIZE; i++) + status |= status_arr[i] << (i * 8); + + // In case previous update failed, (like removing the battery during update) + // Module itself set the 0x00FC ~ 0x00FF register as error status + // So if previous fw update failed, 0x00FC ~ 0x00FF register value is '4451' + if (status == 4451) { //previous fw update failed, 0x00FC ~ 0x00FF register value is 4451 + return -1; + } + + return 0; +} + +int32_t cam_ois_read_phone_ver(struct cam_ois_ctrl_t *o_ctrl) +{ + char char_ois_ver[OIS_VER_SIZE + 1] = ""; + int ret = 0, i = 0; + uint32_t offset = 0, size = 0; + uint32_t fw_size; + const struct firmware *fw = NULL; + struct device *dev = o_ctrl->soc_info.dev; + unsigned char *buffer = NULL; + + /* Load FW */ + ret = request_firmware(&fw, OIS_MCU_FW_NAME, dev); + if (ret) { + CAM_ERR(CAM_OIS, "Failed to locate %s", OIS_MCU_FW_NAME); + return ret; + } + + fw_size = (uint32_t)fw->size; + buffer = vmalloc(fw_size); + if (!buffer) { + CAM_ERR(CAM_OIS, + "Failed in allocating i2c_array: fw_size: %u", fw_size); + ret = -ENOMEM; + goto ERROR; + } + memcpy(buffer, fw->data, fw_size); + + CAM_INFO(CAM_OIS, "OIS FW : %s", OIS_MCU_FW_NAME); + + offset = OIS_MCU_VERSION_OFFSET; + size = OIS_MCU_VERSION_SIZE; + if ((offset + size) < fw_size) + memcpy(char_ois_ver, + buffer + offset, + sizeof(char) * size); + + offset = OIS_MCU_VDRINFO_OFFSET; + size = OIS_VER_SIZE - OIS_MCU_VERSION_SIZE; + if ((offset + size) < fw_size) + memcpy(char_ois_ver + OIS_MCU_VERSION_SIZE, + buffer + offset, + sizeof(char) * size); + + o_ctrl->phone_ver[0] = char_ois_ver[3]; // core version + o_ctrl->phone_ver[1] = char_ois_ver[2]; + o_ctrl->phone_ver[2] = char_ois_ver[1]; // MCU infor + o_ctrl->phone_ver[3] = char_ois_ver[0]; // Gyro + o_ctrl->phone_ver[4] = char_ois_ver[4]; // FW release year + o_ctrl->phone_ver[5] = char_ois_ver[5]; // FW release month + o_ctrl->phone_ver[6] = char_ois_ver[6]; // FW release count + o_ctrl->phone_ver[7] = char_ois_ver[7]; // Dev or Rel + + for (i = 0; i < OIS_VER_SIZE; i++) { + if (!isalnum(o_ctrl->phone_ver[i])) { + CAM_ERR(CAM_OIS, "version char (%c) is not alnum type.", o_ctrl->phone_ver[i]); + ret = -1; + goto ERROR; + } + } + + CAM_INFO(CAM_OIS, "%c%c%c%c%c%c%c%c", + o_ctrl->phone_ver[0], o_ctrl->phone_ver[1], + o_ctrl->phone_ver[2], o_ctrl->phone_ver[3], + o_ctrl->phone_ver[4], o_ctrl->phone_ver[5], + o_ctrl->phone_ver[6], o_ctrl->phone_ver[7]); + +ERROR: + if (buffer) { + vfree(buffer); + buffer = NULL; + } + release_firmware(fw); + return ret; +} + +int32_t cam_ois_read_module_ver(struct cam_ois_ctrl_t *o_ctrl) +{ + int rc = 0, i = 0; + uint8_t data[OIS_VER_SIZE + 1] = ""; + + rc = camera_io_dev_read_seq(&o_ctrl->io_master_info, + HWVER, data, CAMERA_SENSOR_I2C_TYPE_WORD, + CAMERA_SENSOR_I2C_TYPE_BYTE, OIS_MCU_VERSION_SIZE); + if (rc < 0) + return -2; + + rc = camera_io_dev_read_seq(&o_ctrl->io_master_info, + VDRINFO, data + OIS_MCU_VERSION_SIZE, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, + OIS_MCU_VDRINFO_SIZE); + if (rc < 0) + return -2; + + o_ctrl->module_ver[0] = data[3]; // core version + o_ctrl->module_ver[1] = data[2]; + o_ctrl->module_ver[2] = data[1]; // MCU infor + o_ctrl->module_ver[3] = data[0]; // Gyro + o_ctrl->module_ver[4] = data[4]; // FW release year + o_ctrl->module_ver[5] = data[5]; // FW release month + o_ctrl->module_ver[6] = data[6]; // FW release count + o_ctrl->module_ver[7] = data[7]; // Dev or Rel + + for (i = 0; i < OIS_VER_SIZE; i++) { + if(!isalnum(o_ctrl->module_ver[i])) { + CAM_ERR(CAM_OIS, "module_ver[%d] is not alnum type", i); + return -1; + } + } + + CAM_INFO(CAM_OIS, "%c%c%c%c%c%c%c%c", + o_ctrl->module_ver[0], o_ctrl->module_ver[1], + o_ctrl->module_ver[2], o_ctrl->module_ver[3], + o_ctrl->module_ver[4], o_ctrl->module_ver[5], + o_ctrl->module_ver[6], o_ctrl->module_ver[7]); + + return 0; +} + +#if 0 +int32_t cam_ois_read_manual_cal_info(struct cam_ois_ctrl_t *o_ctrl) +{ + int rc = 0; + uint8_t user_data[OIS_VER_SIZE+1] = {0, }; + uint8_t version_data[20] = { 0x21, 0x43, 0x65, 0x87, 0x23, 0x01, 0xEF, 0xCD, 0x00, 0x74, + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 }; + uint32_t val = 0; + + rc = cam_ois_i2c_write_continous(o_ctrl, FLS_DATA, version_data, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, (int)sizeof(version_data)); + if (rc < 0) + CAM_ERR(CAM_OIS, "ois i2c read word failed addr : 0x%x", FLS_DATA); + usleep_range(5000, 6000); + + rc |= cam_ois_i2c_read(o_ctrl, 0x0118, &val, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); //Core version + user_data[0] = (uint8_t)(val & 0x00FF); + + rc |= cam_ois_i2c_read(o_ctrl, 0x0119, &val, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); //Gyro Sensor + user_data[1] = (uint8_t)(val & 0x00FF); + + rc |= cam_ois_i2c_read(o_ctrl, 0x011A, &val, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); //Driver IC + user_data[2] = (uint8_t)(val & 0x00FF); + if (rc < 0) + CAM_ERR(CAM_OIS, "ois i2c read word failed addr : 0x%x", FLS_DATA); + + memcpy(o_ctrl->cal_ver, user_data, (OIS_VER_SIZE) * sizeof(uint8_t)); + o_ctrl->cal_ver[OIS_VER_SIZE] = '\0'; + + CAM_INFO(CAM_OIS, "Core version = 0x%02x, Gyro sensor = 0x%02x, Driver IC = 0x%02x", + o_ctrl->cal_ver[0], o_ctrl->cal_ver[1], o_ctrl->cal_ver[2]); + + return 0; +} +#endif + +int cam_ois_set_shift(struct cam_ois_ctrl_t *o_ctrl) +{ + int rc = 0; + uint32_t i = 0; + uint32_t CAAFPOS_ADDR[MAX_MODULE_NUM] = { CAAFPOSM1, CAAFPOSM2, CAAFPOSM3 }; + + CAM_DBG(CAM_OIS, "Enter"); + CAM_INFO(CAM_OIS, "SET :: SHIFT_CALIBRATION"); + + if (cam_ois_wait_idle(o_ctrl, 2) < 0) { + CAM_ERR(CAM_OIS, "wait ois idle status failed"); + goto ERROR; + } + + // init af position + for (i = 0; i < CUR_MODULE_NUM; i++) { + rc |= cam_ois_i2c_write(o_ctrl, CAAFPOS_ADDR[i], 0x80, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (rc < 0) { + CAM_ERR(CAM_OIS, "ois write M%u init af position , i2c fail", (i + 1)); + goto ERROR; + } + } + + //enable shift control + rc = cam_ois_i2c_write(o_ctrl, CACTRL, 0x01, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); // OIS shift calibration enable + if (rc < 0) { + CAM_ERR(CAM_OIS, "ois shift calibration enable failed, i2c fail"); + goto ERROR; + } + +ERROR: + CAM_DBG(CAM_OIS, "Exit"); + return rc; +} + +int cam_ois_set_angle_for_compensation(struct cam_ois_ctrl_t *o_ctrl) +{ + int rc = 0; + uint8_t data[4] = { 0x06, 0x81, 0x55, 0x3F }; + + CAM_INFO(CAM_OIS, "Enter"); + + /* angle compensation 1.5->1.25 + before addr:0x0000, data:0x01 + write 0x3F558106 + write 0x3F558106 + */ + rc = cam_ois_i2c_write_continous(o_ctrl, 0x0348, data, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, (int)sizeof(data)); + if (rc < 0) { + CAM_ERR(CAM_OIS, "i2c failed"); + } + + rc = cam_ois_i2c_write_continous(o_ctrl, 0x03D8, data, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, (int)sizeof(data)); + if (rc < 0) { + CAM_ERR(CAM_OIS, "i2c failed"); + } + + return rc; +} + +int cam_ois_set_ggfadeup(struct cam_ois_ctrl_t *o_ctrl, uint16_t value) +{ + int rc = 0; + uint8_t data[2] = { 0, }; + + CAM_INFO(CAM_OIS, "Enter %d", value); + + data[0] = value & 0xFF; + data[1] = (value >> 8) & 0xFF; + + rc = cam_ois_i2c_write_continous(o_ctrl, GGFADEUP, data, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, (int)sizeof(data)); + if (rc < 0) + CAM_ERR(CAM_OIS, "ois set ggfadeup failed, i2c fail"); + + CAM_INFO(CAM_OIS, "Exit"); + return rc; +} + +int cam_ois_set_ggfadedown(struct cam_ois_ctrl_t *o_ctrl, uint16_t value) +{ + int rc = 0; + uint8_t data[2] = { 0, }; + + CAM_INFO(CAM_OIS, "Enter %d", value); + + data[0] = value & 0xFF; + data[1] = (value >> 8) & 0xFF; + + rc = cam_ois_i2c_write_continous(o_ctrl, GGFADEDOWN, data, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, (int)sizeof(data)); + if (rc < 0) + CAM_ERR(CAM_OIS, "ois set ggfadedown failed, i2c fail"); + + CAM_INFO(CAM_OIS, "Exit"); + return rc; +} + +int cam_ois_create_shift_table(struct cam_ois_ctrl_t *o_ctrl, uint8_t *shift_data) +{ + int i = 0, j = 0, k = 0; + int16_t dataX[9] = {0, }, dataY[9] = {0, }; + uint16_t tempX = 0, tempY = 0; + uint32_t addr_en[2] = {0x00, 0x01}; + uint32_t addr_x[2] = {0x10, 0x40}; + uint32_t addr_y[2] = {0x22, 0x52}; + + if (!o_ctrl || !shift_data) + goto ERROR; + + CAM_INFO(CAM_OIS, "Enter"); + + for (i = 0; i < 2; i++) { + if (shift_data[addr_en[i]] != 0x11) { + o_ctrl->shift_tbl[i].ois_shift_used = false; + continue; + } + o_ctrl->shift_tbl[i].ois_shift_used = true; + + for (j = 0; j < 9; j++) { + // ACT #1 Shift X : 0x0210 ~ 0x0220 (2byte), ACT #2 Shift X : 0x0240 ~ 0x0250 (2byte) + tempX = (uint16_t)(shift_data[addr_x[i] + (j * 2)] | + (shift_data[addr_x[i] + (j * 2) + 1] << 8)); + if (tempX > 32767) + tempX -= 65536; + dataX[j] = (int16_t)tempX; + + // ACT #1 Shift Y : 0x0222 ~ 0x0232 (2byte), ACT #2 Shift X : 0x0252 ~ 0x0262 (2byte) + tempY = (uint16_t)(shift_data[addr_y[i] + (j * 2)] | + (shift_data[addr_y[i] + (j * 2) + 1] << 8)); + if (tempY > 32767) + tempY -= 65536; + dataY[j] = (int16_t)tempY; + } + + for (j = 0; j < 9; j++) + CAM_INFO(CAM_OIS, "module%d, dataX[%d] = %5d / dataY[%d] = %5d", + i + 1, j, dataX[j], j, dataY[j]); + + for (j = 0; j < 8; j++) { + for (k = 0; k < 64; k++) { + o_ctrl->shift_tbl[i].ois_shift_x[k + (j << 6)] = + ((((int32_t)dataX[j + 1] - dataX[j]) * k) >> 6) + dataX[j]; + o_ctrl->shift_tbl[i].ois_shift_y[k + (j << 6)] = + ((((int32_t)dataY[j + 1] - dataY[j]) * k) >> 6) + dataY[j]; + } + } + } + + CAM_DBG(CAM_OIS, "Exit"); + return 0; + +ERROR: + CAM_ERR(CAM_OIS, "create ois shift table fail"); + return -1; +} + +int cam_ois_shift_calibration(struct cam_ois_ctrl_t *o_ctrl, uint16_t af_position, uint16_t subdev_id) +{ + //int8_t data[4] = {0, }; + int rc = 0; + uint32_t CAAFPOS_ADDR = CAAFPOSM1; + + //CAM_DBG(CAM_OIS, "cam_ois_shift_calibration %d, subdev: %d", af_position, subdev_id); + + if (!o_ctrl) + return -1; + + if (!o_ctrl->is_power_up) { + CAM_WARN(CAM_OIS, "ois is not power up"); + return 0; + } + if (!o_ctrl->is_servo_on) { + CAM_WARN(CAM_OIS, "ois serve is not on yet"); + return 0; + } + + if (af_position >= NUM_AF_POSITION) { + CAM_ERR(CAM_OIS, "af position error %u", af_position); + return -1; + } + CAM_DBG(CAM_OIS, "ois shift af position %X", af_position); + + //ois cal info no shift data, 1byte? + //send af position both to wide and tele ? + //assume af position is only 1byte + CAM_DBG(CAM_OIS, "write for actuator %d", subdev_id); + if (subdev_id == SEC_WIDE_SENSOR) + CAAFPOS_ADDR = CAAFPOSM1; + else if (subdev_id == SEC_TELE_SENSOR) + CAAFPOS_ADDR = CAAFPOSM2; + else if (subdev_id == SEC_TELE2_SENSOR) + CAAFPOS_ADDR = CAAFPOSM3; + + rc = cam_ois_i2c_write(o_ctrl, CAAFPOS_ADDR, af_position, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (rc < 0) + CAM_ERR(CAM_OIS, "write module#1 ois shift calibration error"); + + return rc; +} + +#if 0 +int32_t cam_ois_read_user_data_section(struct cam_ois_ctrl_t *o_ctrl, uint16_t addr, int size, uint8_t *user_data) +{ + uint8_t read_data[0x02FF] = {0, }, shift_data[0xFF] = {0, }; + int rc = 0, i = 0; + uint32_t read_status = 0; + + /* OIS Servo Off */ + if (cam_ois_i2c_write(o_ctrl, 0x0000, 0, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE) < 0) + goto ERROR; + + if (cam_ois_wait_idle(o_ctrl, 2) < 0) { + CAM_ERR(CAM_OIS, "wait ois idle status failed"); + goto ERROR; + } +#if 0 + /* User Data Area & Address Setting - 1Page */ + rc = cam_ois_i2c_write(o_ctrl, DFLSSIZE_W, 0x40, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); // DLFSSIZE_W Register(0x000F) : Size = 4byte * Value + memset(®_setting, 0, sizeof(struct cam_sensor_i2c_reg_array)); + reg_setting.reg_addr = DFLSADR; + reg_setting.reg_data = 0x0000; + rc |= cam_ois_i2c_write(o_ctrl, ®_setting, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + rc |= cam_ois_i2c_write(o_ctrl, DFLSCMD, 0x04, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); // DFLSCMD Register(0x000E) = READ + if (rc < 0) + goto ERROR; + + for (i = MAX_RETRY_COUNT; i > 0; i--) { + if (cam_ois_i2c_read(o_ctrl, DFLSCMD, &read_status, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE) < 0) + goto ERROR; + if (read_status == 0x14) /* Read Complete? */ + break; + usleep_range(10000, 11000); // give some delay to wait + } + if (i < 0) { + CAM_ERR(CAM_OIS, "DFLSCMD Read command fail"); + goto ERROR; + } +#endif + /* OIS Data Header Read */ + rc = camera_io_dev_read_seq(&o_ctrl->io_master_info, + 0x5F60, read_data, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0x50); + if (rc < 0) + goto ERROR; + + /* copy Cal-Version */ + CAM_INFO(CAM_OIS, "userdata cal ver : %c %c %c %c %c %c %c %c", + read_data[0], read_data[1], read_data[2], read_data[3], + read_data[4], read_data[5], read_data[6], read_data[7]); + memcpy(user_data, read_data, size * sizeof(uint8_t)); + + + /* User Data Area & Address Setting - 2Page */ + rc = cam_ois_i2c_write(o_ctrl, DFLSSIZE_W, 0x40, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); // DLFSSIZE_W Register(0x000F) : Size = 4byte * Value + rc |= cam_ois_i2c_write(o_ctrl, DFLSADR, 0x0001, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); // Data Write Start Address Offset : 0x0000 + rc |= cam_ois_i2c_write(o_ctrl, DFLSCMD, 0x04, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); // DFLSCMD Register(0x000E) = READ + if (rc < 0) + goto ERROR; + + for (i = MAX_RETRY_COUNT; i >= 0; i--) { + if (cam_ois_i2c_read(o_ctrl, DFLSCMD, &read_status, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE) < 0) + goto ERROR; + if (read_status == 0x14) /* Read Complete? */ + break; + usleep_range(10000, 11000); // give some delay to wait + } + if (i < 0) { + CAM_ERR(CAM_OIS, "DFLSCMD Read command fail"); + goto ERROR; + } + + /* OIS Cal Data Read */ + rc = camera_io_dev_read_seq(&o_ctrl->io_master_info, + FLS_DATA, read_data + 0x0100, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0xFF); + if (rc < 0) + goto ERROR; + + /* User Data Area & Address Setting - 3Page */ + rc = cam_ois_i2c_write(o_ctrl, DFLSSIZE_W, 0x40, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); // DLFSSIZE_W Register(0x000F) : Size = 4byte * Value + rc |= cam_ois_i2c_write(o_ctrl, DFLSADR, 0x0002, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); // Data Write Start Address Offset : 0x0000 + rc |= cam_ois_i2c_write(o_ctrl, DFLSCMD, 0x04, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); // DFLSCMD Register(0x000E) = READ + if (rc < 0) + goto ERROR; + + for (i = MAX_RETRY_COUNT; i >= 0; i--) { + if (cam_ois_i2c_read(o_ctrl, DFLSCMD, &read_status, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE) < 0) + goto ERROR; + if (read_status == 0x14) /* Read Complete? */ + break; + usleep_range(10000, 11000); // give some delay to wait + } + if (i < 0) { + CAM_ERR(CAM_OIS, "DFLSCMD Read command fail"); + goto ERROR; + } + + /* OIS Shift Info Read */ + /* OIS Shift Calibration Read */ + rc = camera_io_dev_read_seq(&o_ctrl->io_master_info, + FLS_DATA, shift_data, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0xFF); + if (rc < 0) + goto ERROR; + + memset(&o_ctrl->shift_tbl, 0, sizeof(o_ctrl->shift_tbl)); + cam_ois_create_shift_table(o_ctrl, shift_data); +ERROR: + return rc; +} + +int32_t cam_ois_read_cal_info(struct cam_ois_ctrl_t *o_ctrl, + uint32_t *chksum_rumba, uint32_t *chksum_line, uint32_t *is_different_crc) +{ + int rc = 0; + uint8_t user_data[OIS_VER_SIZE + 1] = {0, }; + + rc = cam_ois_i2c_read(o_ctrl, 0x007A, chksum_rumba, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); // OIS Driver IC cal checksum + if (rc < 0) + CAM_ERR(CAM_OIS, "ois i2c read word failed addr : 0x%x", 0x7A); + + rc = cam_ois_i2c_read(o_ctrl, 0x021E, chksum_line, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); // Line cal checksum + if (rc < 0) + CAM_ERR(CAM_OIS, "ois i2c read word failed addr : 0x%x", 0x021E); + + rc = cam_ois_i2c_read(o_ctrl, OISERR, is_different_crc, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + if (rc < 0) + CAM_ERR(CAM_OIS, "ois i2c read word failed addr : 0x%x", 0x0004); + + CAM_INFO(CAM_OIS, "cal checksum(rumba : %d, line : %d), compare_crc = %d", + *chksum_rumba, *chksum_line, *is_different_crc); + + if (cam_ois_read_user_data_section(o_ctrl, OIS_USER_DATA_START_ADDR, OIS_VER_SIZE, user_data) < 0) { + CAM_ERR(CAM_OIS, " failed to read user data"); + return -1; + } + + memcpy(o_ctrl->cal_ver, user_data, (OIS_VER_SIZE) * sizeof(uint8_t)); + o_ctrl->cal_ver[OIS_VER_SIZE] = '\0'; + + CAM_INFO(CAM_OIS, "cal version = 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x(%s)", + o_ctrl->cal_ver[0], o_ctrl->cal_ver[1], + o_ctrl->cal_ver[2], o_ctrl->cal_ver[3], + o_ctrl->cal_ver[4], o_ctrl->cal_ver[5], + o_ctrl->cal_ver[6], o_ctrl->cal_ver[7], + o_ctrl->cal_ver); + + return 0; +} +#endif + +uint16_t cam_ois_calcchecksum(unsigned char *data, int size) +{ + int i = 0; + uint16_t result = 0; + + for (i = 0; i < size; i += 2) + result = result + (0xFFFF & (((*(data + i + 1)) << 8) | (*(data + i)))); + + return result; +} + +int32_t cam_ois_fw_update(struct cam_ois_ctrl_t *o_ctrl, + bool is_force_update) +{ + int ret = 0; + uint8_t sendData[OIS_FW_UPDATE_PACKET_SIZE] = ""; + uint16_t checkSum = 0; + uint32_t val = 0; + unsigned char *buffer = NULL; + char bin_ver[OIS_VER_SIZE + 1] = ""; + char mod_ver[OIS_VER_SIZE + 1] = ""; + int i = 0; + int empty_check_en = 0; + uint32_t address = 0; + uint32_t wbytes = 0; + int len = 0; + uint32_t unit = OIS_FW_UPDATE_PACKET_SIZE; + uint32_t fw_size; + const struct firmware *fw = NULL; + struct device *dev = o_ctrl->soc_info.dev; + uint32_t org_addr = 0; + + CAM_INFO(CAM_OIS, " ENTER"); + + /* Load FW */ + ret = request_firmware(&fw, OIS_MCU_FW_NAME, dev); + if (ret) { + CAM_ERR(CAM_OIS, "Failed to locate %s", OIS_MCU_FW_NAME); + return ret; + } + + fw_size = (uint32_t)fw->size; + buffer = vmalloc(fw_size); + if (!buffer) { + CAM_ERR(CAM_OIS, + "Failed in allocating i2c_array: fw_size: %u", fw_size); + ret = -ENOMEM; + goto ERROR; + } + memcpy(buffer, fw->data, fw_size); + + /* update a program code */ + cam_ois_i2c_write(o_ctrl, FWUPCTRL, 0xB5, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + msleep(55); + + /* verify checkSum */ + checkSum = cam_ois_calcchecksum(buffer, fw_size); + CAM_INFO(CAM_OIS, "[OIS_FW_DBG] ois cal checksum = %u", checkSum); + + //enter system bootloader mode + CAM_INFO(CAM_OIS,"need update MCU FW, enter system bootloader mode (client->addr = 0x%x)", o_ctrl->io_master_info.client->addr); + org_addr = o_ctrl->io_master_info.client->addr; + if (org_addr != sysboot_i2c_slave_address) { + o_ctrl->io_master_info.client->addr = sysboot_i2c_slave_address; + } + CAM_INFO(CAM_OIS, "[OIS_FW_DBG] change slave addr 0x%x -> 0x%x", + org_addr, o_ctrl->io_master_info.client->addr); + + msleep(50); + + ret = target_validation(o_ctrl); + if(ret < 0){ + CAM_ERR(CAM_OIS,"mcu connect failed"); + goto ERROR; + } + //check_option_byte + target_option_update(o_ctrl); + //check empty status + empty_check_en = target_empty_check_status(o_ctrl); + //erase + sysboot_i2c_erase(o_ctrl,memory_map.flashbase,65536 - 2048); + + address = memory_map.flashbase; + len = fw_size; + /* Write UserProgram Data */ + while (len > 0) + { + wbytes = (len > unit) ? unit : len; + /* write the unit */ + CAM_DBG(CAM_OIS, "[OIS_FW_DBG] write wbytes=%d left len=%d", wbytes, len); + for(i = 0; i 0){ + if(target_empty_check_clear(o_ctrl)<0) { + ret = -1; + goto ERROR; + } + } + //sysboot_disconnect + sysboot_disconnect(o_ctrl); + + CAM_INFO(CAM_OIS, "[OIS_FW_DBG] restore slave addr 0x%x -> 0x%x", + o_ctrl->io_master_info.client->addr, org_addr); + if (org_addr != o_ctrl->io_master_info.client->addr) { + o_ctrl->io_master_info.client->addr = org_addr; + } + /* write checkSum */ + sendData[0] = (checkSum & 0x00FF); + sendData[1] = (checkSum & 0xFF00) >> 8; + sendData[2] = 0; + sendData[3] = 0x80; + ret = cam_ois_i2c_write_continous(o_ctrl, FWUPCHKSUM, sendData, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 4); + + msleep(190); // RUMBA Self Reset + + cam_ois_i2c_read(o_ctrl, FWUPERR, &val, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); // Error Status read + if (val == 0x0000) + CAM_INFO(CAM_OIS, "progCode update success"); + else + CAM_ERR(CAM_OIS, "progCode update fail"); + + /* s/w reset */ + if (cam_ois_i2c_write(o_ctrl, DFLSCTRL, 0x01, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE) < 0) + CAM_ERR(CAM_OIS, "[OIS_FW_DBG] s/w reset i2c write error : 0x000D"); + if (cam_ois_i2c_write(o_ctrl, DFLSCMD, 0x06, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE) < 0) + CAM_ERR(CAM_OIS, "[OIS_FW_DBG] s/w reset i2c write error : 0x000E"); + + msleep(50); + +#if 0 + /* Param init - Flash to Rumba */ + if (cam_ois_i2c_write(o_ctrl, 0x0036, 0x03, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE) < 0) + CAM_ERR(CAM_OIS, "[OIS_FW_DBG] param init i2c write error : 0x0036"); + msleep(200); +#endif + ret = cam_ois_read_module_ver(o_ctrl); + if(ret < 0){ + CAM_ERR(CAM_OIS,"cam_ois_read_module_ver failed after update FW, ret %d",ret); + } + + ret = cam_ois_read_phone_ver(o_ctrl); + if(ret < 0){ + CAM_ERR(CAM_OIS,"cam_ois_read_phone_ver failed after update FW, ret %d",ret); + } + + memcpy(bin_ver, &o_ctrl->phone_ver, OIS_VER_SIZE * sizeof(char)); + memcpy(mod_ver, &o_ctrl->module_ver, OIS_VER_SIZE * sizeof(char)); + bin_ver[OIS_VER_SIZE] = '\0'; + mod_ver[OIS_VER_SIZE] = '\0'; + + CAM_INFO(CAM_OIS, "[OIS_FW_DBG] after update version : phone %s, module %s", bin_ver, mod_ver); + if (strncmp(bin_ver, mod_ver, OIS_VER_SIZE) != 0) { //after update phone bin ver == module ver + ret = -1; + CAM_ERR(CAM_OIS, "[OIS_FW_DBG] module ver is not the same with phone ver , update failed"); + goto ERROR; + } + + CAM_INFO(CAM_OIS, "[OIS_FW_DBG] ois fw update done"); + +ERROR: + if (buffer) { + vfree(buffer); + buffer = NULL; + } + fw_size = 0; + release_firmware(fw); + return ret; +} + +// check ois version to see if it is available for selftest or not +void cam_ois_version(struct cam_ois_ctrl_t *o_ctrl) +{ + int ret = 0; + uint32_t val_c = 0, val_d = 0; + uint32_t version = 0; + + ret = cam_ois_i2c_read(o_ctrl, HWVER, &val_c, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (ret < 0) + CAM_ERR(CAM_OIS, "i2c read fail"); + + ret = cam_ois_i2c_read(o_ctrl, 0xFA, &val_d, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (ret < 0) + CAM_ERR(CAM_OIS, "i2c read fail"); + version = (val_d << 8) | val_c; + + CAM_INFO(CAM_OIS, "OIS version = 0x%04x , after 11AE version , fw supoort selftest", version); + CAM_INFO(CAM_OIS, "End"); +} + +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 rc = 0, result = 0; + uint32_t RcvData = 0; + int xgzero_val = 0, ygzero_val = 0, zgzero_val = 0; + int retries = 40; + int scale_factor = OIS_GYRO_SCALE_FACTOR_LSM6DSO; + uint32_t rcvStatus = 0x23; + + rcvStatus = 0x63; + + CAM_INFO(CAM_OIS, "Enter"); + if (!o_ctrl) + return 0; + + if (cam_ois_wait_idle(o_ctrl, 2) < 0) { + CAM_ERR(CAM_OIS, "wait ois idle status failed"); + return 0; + } + + /* Gyro Calibration Start */ + /* GCCTRL GSCEN set */ + rc = cam_ois_i2c_write(o_ctrl, GCCTRL, 0x01, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); /* GCCTRL register(0x0014) 1Byte Send */ + if (rc < 0) + CAM_ERR(CAM_OIS, "i2c write fail %d", rc); + + /* Check Gyro Calibration Sequence End */ + do + { + rc = cam_ois_i2c_read(o_ctrl, GCCTRL, &RcvData, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); /* GCCTRL Read */ + if (rc < 0) + CAM_ERR(CAM_OIS, "i2c read fail %d", rc); + if(--retries < 0){ + CAM_ERR(CAM_OIS, "GCCTRL Read failed %d", RcvData); + break; + } + usleep_range(20000, 21000); + }while(RcvData != 0); + + /* Result check */ + rc = cam_ois_i2c_read(o_ctrl, OISERR, &RcvData, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); /* OISERR Read */ + if((rc >= 0) && ((RcvData & rcvStatus) == 0x0)) /* OISERR register GXZEROERR & GYZEROERR & GCOMERR Bit = 0(No Error)*/ + { + CAM_INFO(CAM_OIS, "gyro_sensor_calibration ok %d", RcvData); + result = 1; + } else { + CAM_ERR(CAM_OIS, "gyro_sensor_calibration fail, rc %d, RcvData %d", rc, RcvData); + result = 0; + } + + cam_ois_i2c_read(o_ctrl, XGZERO, &RcvData, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + xgzero_val = NTOHS(RcvData); + if (xgzero_val > 0x7FFF) + xgzero_val = -((xgzero_val ^ 0xFFFF) + 1); + CAM_DBG(CAM_OIS, "XGZERO 0x%x", xgzero_val); + + cam_ois_i2c_read(o_ctrl, YGZERO, &RcvData, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + ygzero_val = NTOHS(RcvData); + if (ygzero_val > 0x7FFF) + ygzero_val = -((ygzero_val ^ 0xFFFF) + 1); + CAM_DBG(CAM_OIS, "YGZERO 0x%x", ygzero_val); + + *raw_data_x = xgzero_val * 1000 / scale_factor; + *raw_data_y = ygzero_val * 1000 / scale_factor; + + cam_ois_i2c_read(o_ctrl, ZGZERO, &RcvData, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + zgzero_val = NTOHS(RcvData); + if (zgzero_val > 0x7FFF) + zgzero_val = -((zgzero_val ^ 0xFFFF) + 1); + CAM_DBG(CAM_OIS, "ZGZERO 0x%x", zgzero_val); + *raw_data_z = zgzero_val * 1000 / scale_factor; + CAM_INFO(CAM_OIS, "result %d, raw_data_x %ld, raw_data_y %ld, raw_data_z %ld", result, *raw_data_x, *raw_data_y, *raw_data_z); + + CAM_INFO(CAM_OIS, "Exit"); + + return result; +} + +int cam_ois_gyro_sensor_noise_check(struct cam_ois_ctrl_t *o_ctrl, + long *stdev_data_x, long *stdev_data_y) +{ + int rc = 0, result = 1; + uint32_t RcvData = 0; + int xgnoise_val = 0, ygnoise_val = 0; + int retries = 100; + int scale_factor = OIS_GYRO_SCALE_FACTOR_LSM6DSO; + + if (!o_ctrl) + return 0; + + /* OIS Servo Off */ + rc = cam_ois_i2c_write(o_ctrl, OISCTRL, 0x00, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (rc < 0) { + CAM_ERR(CAM_OIS, "i2c write fail %d", rc); + return 0; + } + + /* Waiting for Idle */ + rc = cam_ois_wait_idle(o_ctrl, 2); + if (rc < 0) { + CAM_ERR(CAM_OIS, "wait ois idle status failed"); + return 0; + } + + /* Gyro Noise Measure Start */ + rc = cam_ois_i2c_write(o_ctrl, GN_MSRCTRL, 0x01, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (rc < 0) { + CAM_ERR(CAM_OIS, "i2c write fail %d", rc); + return 0; + } + + /* Check Noise Measure End */ + do + { + rc = cam_ois_i2c_read(o_ctrl, GN_MSRCTRL, &RcvData, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (rc < 0) { + CAM_ERR(CAM_OIS, "i2c read fail %d", rc); + result = 0; + } + + if(--retries < 0){ + CAM_ERR(CAM_OIS, "GN_MSRCTRL Read failed %d", RcvData); + break; + } + usleep_range(10000, 11000); + } while (RcvData != 0); + + rc = cam_ois_i2c_read(o_ctrl, XGN_STDEV, &RcvData, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + if (rc < 0) { + CAM_ERR(CAM_OIS, "i2c read fail %d", rc); + result = 0; + } + + xgnoise_val = NTOHS(RcvData); + if (xgnoise_val > 0x7FFF) + xgnoise_val = -((xgnoise_val ^ 0xFFFF) + 1); + + rc = cam_ois_i2c_read(o_ctrl, YGN_STDEV, &RcvData, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + if (rc < 0) { + CAM_ERR(CAM_OIS, "i2c read fail %d", rc); + result = 0; + } + + ygnoise_val = NTOHS(RcvData); + if (ygnoise_val > 0x7FFF) + ygnoise_val = -((ygnoise_val ^ 0xFFFF) + 1); + + *stdev_data_x = xgnoise_val * 1000 / scale_factor; + *stdev_data_y = ygnoise_val * 1000 / scale_factor; + + CAM_INFO(CAM_OIS, "result: %d, stdev_x: %ld (0x%x), stdev_y: %ld (0x%x)", result, *stdev_data_x, xgnoise_val, *stdev_data_y, ygnoise_val); + + return result; +} + +/* get offset from module for line test */ +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 i = 0, rc = 0, result = 0; + uint32_t val = 0; + int x_sum = 0, y_sum = 0, z_sum = 0, sum = 0; + int retries = 0, avg_count = 30; + int scale_factor = OIS_GYRO_SCALE_FACTOR_LSM6DSO; + uint32_t rcvStatus = 0x23; + + rcvStatus = 0x63; + + CAM_INFO(CAM_OIS, "cam_ois_offset_test E"); + if (!o_ctrl) + return -1; + + if (cam_ois_wait_idle(o_ctrl, 2) < 0) { + CAM_ERR(CAM_OIS, "wait ois idle status failed"); + return -1; + } + + if (is_need_cal) { // with calibration , offset value will be renewed. + /* Gyro Calibration Start */ + /* GCCTRL GSCEN set */ + cam_ois_i2c_write(o_ctrl, GCCTRL, 0x01, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); /* GCCTRL register(0x0014) 1Byte Send */ + /* Check Gyro Calibration Sequence End */ + do + { + cam_ois_i2c_read(o_ctrl, GCCTRL, &val, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); /* GCCTRL Read */ + usleep_range(20000, 21000); + }while(val != 0); + /* Result check */ + rc = cam_ois_i2c_read(o_ctrl, OISERR, &val, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); /* OISERR Read */ + if((rc >= 0) && ((val & rcvStatus) == 0x0)) /* OISERR register GXZEROERR & GYZEROERR & GCOMERR Bit = 0(No Error)*/ + { + /* Write Gyro Calibration result to OIS DATA SECTION */ + CAM_INFO(CAM_OIS, "cam_ois_offset_test ok %d", val); + //FlashWriteResultCheck(); /* refer to 4.25 Flash ROM Write Result Check Sample Source */ + } else { + CAM_ERR(CAM_OIS, "cam_ois_offset_test fail %d", val); + result = -1; + } + } + + retries = avg_count; + for (i = 0; i < retries; retries--) { + cam_ois_i2c_read(o_ctrl, XGZERO, &val, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + x_sum = NTOHS(val); + if (x_sum > 0x7FFF) + x_sum = -((x_sum ^ 0xFFFF) + 1); + sum += x_sum; + } + sum = sum * 10 / avg_count; + *raw_data_x = sum * 1000 / scale_factor / 10; + + sum = 0; + + retries = avg_count; + for (i = 0; i < retries; retries--) { + cam_ois_i2c_read(o_ctrl, YGZERO, &val, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + y_sum = NTOHS(val); + if (y_sum > 0x7FFF) + y_sum = -((y_sum ^ 0xFFFF) + 1); + + sum += y_sum; + } + sum = sum * 10 / avg_count; + *raw_data_y = sum * 1000 / scale_factor / 10; + + sum = 0; + + retries = avg_count; + for (i = 0; i < retries; retries--) { + cam_ois_i2c_read(o_ctrl, ZGZERO, &val, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + z_sum = NTOHS(val); + if (z_sum > 0x7FFF) + z_sum = -((z_sum ^ 0xFFFF) + 1); + + sum += z_sum; + } + sum = sum * 10 / avg_count; + *raw_data_z = sum * 1000 / scale_factor / 10; + + CAM_INFO(CAM_OIS, "end"); + + cam_ois_version(o_ctrl); + + return result; +} + +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 ret = 0, i = 0, j = 0, comma_offset = 0; + bool detect_comma = false; + int comma_offset_z = 0; + bool detect_comma_z = false; + char efs_data[MAX_EFS_DATA_LENGTH] = { 0 }; + uint32_t max_buf_size = buf_size; + + CAM_DBG(CAM_OIS, "cam_ois_parsing_raw_data E"); + if (!o_ctrl) + return 0; + + i = 0; + detect_comma = false; + for (i = 0; i < buf_size; i++) { + if (*(buf + i) == ',') { + comma_offset = i; + detect_comma = true; + break; + } + } + + for (i = comma_offset + 1; i < buf_size; i++) { + if (*(buf + i) == ',') { + comma_offset_z = i; + detect_comma_z = true; + break; + } + } + max_buf_size = comma_offset_z; + + if (detect_comma) { + memset(efs_data, 0x00, sizeof(efs_data)); + j = 0; + for (i = 0; i < comma_offset; i++) { + if (buf[i] != '.') { + efs_data[j] = buf[i]; + j++; + } + } + ret = kstrtol(efs_data, 10, raw_data_x); + + memset(efs_data, 0x00, sizeof(efs_data)); + j = 0; + for (i = comma_offset + 1; i < max_buf_size; i++) { + if (buf[i] != '.') { + efs_data[j] = buf[i]; + j++; + } + } + ret = kstrtol(efs_data, 10, raw_data_y); + + if (detect_comma_z) { + memset(efs_data, 0x00, sizeof(efs_data)); + j = 0; + for (i = comma_offset_z + 1; i < buf_size; i++) { + if (buf[i] != '.') { + efs_data[j] = buf[i]; + j++; + } + } + ret = kstrtol(efs_data, 10, raw_data_z); + } + } else { + CAM_INFO(CAM_OIS, "cannot find delimeter"); + ret = -1; + } + + CAM_INFO(CAM_OIS, "cam_ois_parsing_raw_data : X raw_x = %ld, raw_y = %ld, raw_z = %ld", + *raw_data_x, *raw_data_y, *raw_data_z); + + return ret; +} + +/* ois module itselt has selftest function for line test. */ +/* it excutes by setting register and return the result */ +uint32_t cam_ois_self_test(struct cam_ois_ctrl_t *o_ctrl) +{ + int rc = 0; + int retries = 30; + uint32_t RcvData; + uint32_t regval = 0, x = 0, y = 0, z = 0; + + /* OIS Status Check */ + CAM_DBG(CAM_OIS, "GyroSensorSelfTest E"); + if (!o_ctrl) + return -1; + + if (cam_ois_wait_idle(o_ctrl, 2) < 0) { + CAM_ERR(CAM_OIS, "wait ois idle status failed"); + return -1; + } + + /* Gyro Sensor Self Test Start */ + /* GCCTRL GSLFTEST Set */ + rc = cam_ois_i2c_write(o_ctrl, GCCTRL, 0x08, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); /* GCCTRL register(0x0014) 1Byte Send */ + if (rc < 0) + CAM_ERR(CAM_OIS, "i2c write fail %d", rc); + /* Check Gyro Sensor Self Test Sequence End */ + do + { + rc = cam_ois_i2c_read(o_ctrl, GCCTRL, &RcvData, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); /* GCCTRL Read */ + if (rc < 0) + CAM_ERR(CAM_OIS, "i2c read fail %d", rc); + if(--retries < 0){ + CAM_ERR(CAM_OIS, "GCCTRL Read failed , RcvData %X",RcvData); + break; + } + usleep_range(20000, 21000); + }while(RcvData != 0x00); + /* Result Check */ + rc = cam_ois_i2c_read(o_ctrl, OISERR, &RcvData, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); /* OISERR Read */ + if (rc < 0) + CAM_ERR(CAM_OIS, "i2c read fail %d", rc); + if( (RcvData & 0x80) != 0x0) /* OISERR register GSLFERR Bit != 0(Gyro Sensor Self Test Error Found!!) */ + { + /* Gyro Sensor Self Test Error Process */ + CAM_ERR(CAM_OIS, "GyroSensorSelfTest failed %d \n", RcvData); + return -1; + } + + // read x_axis, y_axis + rc = cam_ois_i2c_read(o_ctrl, GSTLOG0, ®val, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + x = NTOHS(regval); + + rc = cam_ois_i2c_read(o_ctrl, GSTLOG1, ®val, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + y = NTOHS(regval); + + rc = cam_ois_i2c_read(o_ctrl, GSTLOG2, ®val, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + z = NTOHS(regval); + + CAM_INFO(CAM_OIS, "Gyro x_axis %u, y_axis %u, z_axis %u", x , y, z); + + CAM_DBG(CAM_OIS, "GyroSensorSelfTest X"); + return RcvData; +} + +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) +{ + uint32_t err_mask = 0xFFFF, val = 0; + int i = 0, j = 0, ret = 0, retries = 10, temp = 0; + int RES_ADDR[MAX_MODULE_NUM] = { LGMCRES0_M1, LGMCRES0_M2, LGMCRES0_M3}; + uint32_t MCSTH_ADDR[MAX_MODULE_NUM] = { MCSTH_M1, MCSTH_M2, MCSTH_M3}; + uint32_t target[MAX_MODULE_NUM] = { SEC_WIDE_SENSOR , SEC_TELE_SENSOR, SEC_TELE2_SENSOR }; + int sinewave[MAX_MODULE_NUM * SINEWAVE_MAX] = { 0, }; + int* p_sinewave = NULL; + uint32_t index = 0; + uint32_t all_mask = 0; + bool x_result = 0, y_result = 0, x2y2_result = 0; + int cnt = 0, offset = 0; + uint32_t mgless = 0; + bool mglessY = false, mglessX = false; + int testLogNum = 4; + + if (!o_ctrl) + goto ret; + + for (i = 0; i < MAX_MODULE_NUM; i++) { + all_mask |= (1 << i); + } + module_mask &= all_mask; + + for (i = 0; i < MAX_MODULE_NUM; i++) { + if (!(module_mask & (1 << i))) + continue; + index = target[i]; + if (g_a_ctrls[index] != NULL) { + cam_actuator_power_up(g_a_ctrls[index]); + msleep(5); + if (!g_a_ctrls[index]->use_mcu) + cam_actuator_move_for_ois_test(g_a_ctrls[index]); + } + } + msleep(100); + + mgless = cam_ois_get_mgless(o_ctrl); + + ret |= cam_ois_i2c_write(o_ctrl, OISSEL, module_mask, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); /* select module */ + + for (i = 0; i < MAX_MODULE_NUM; i++) { + if (!(module_mask & (1 << i))) + continue; + ret = cam_ois_i2c_write(o_ctrl, MCSTH_ADDR[i], threshold, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); /* error threshold level. */ + } + + ret |= cam_ois_i2c_write(o_ctrl, MCSERRC, 0x00, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); /* count value for error judgement level. */ + ret |= cam_ois_i2c_write(o_ctrl, MCSFREQ, frequency, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); /* frequency level for measurement. */ + ret |= cam_ois_i2c_write(o_ctrl, MCSAMP, amplitude, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); /* amplitude level for measurement. */ + ret |= cam_ois_i2c_write(o_ctrl, MCSSKIPNUM, 0x03, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); /* dummy pluse setting. */ + ret |= cam_ois_i2c_write(o_ctrl, MCSNUM, 0x02, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); /* vyvle level for measurement. */ + + ret |= cam_ois_i2c_write(o_ctrl, MCCTRL, 0x01, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); /* start sine wave check operation */ + + if (ret < 0) { + CAM_ERR(CAM_OIS, "i2c write fail"); + goto ret; + } + + retries = 30; + do { + ret = cam_ois_i2c_read(o_ctrl, MCCTRL, &val, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (ret < 0) { + CAM_ERR(CAM_OIS, "i2c read fail"); + break; + } + + msleep(100); + + if (--retries < 0) { + CAM_ERR(CAM_OIS, "sine wave operation fail."); + goto ret; + } + } while (val); + + ret = cam_ois_i2c_read(o_ctrl, MCERR_W, &err_mask, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + if (ret < 0) { + CAM_ERR(CAM_OIS, "i2c read fail"); + err_mask = 0xFFFF; + goto ret; + } + err_mask = NTOHS(err_mask); + + CAM_INFO(CAM_OIS, "MCERR(0x%x)=0x%x", MCERR_W, err_mask); + + for (i = 0; i < MAX_MODULE_NUM; i++) { + if (!(module_mask & (1 << i))) + continue; + + offset = 0; + mglessX = (mgless >> (2 * i)) & 0x01; + mglessY = (mgless >> (2 * i)) & 0x02; + testLogNum = SINEWAVE_MAX; + if (!mglessX && !mglessY) + testLogNum -= 2; + p_sinewave = &sinewave[i * SINEWAVE_MAX]; + for (j = 0; j < testLogNum; j++) { + ret = cam_ois_i2c_read(o_ctrl, RES_ADDR[i] + offset, &val, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + temp = NTOHS(val); + if (temp > 0x7FFF) + temp = -((temp ^ 0xFFFF) + 1); + p_sinewave[j] = temp; + offset += CAMERA_SENSOR_I2C_TYPE_WORD; + + if (ret < 0) + CAM_ERR(CAM_OIS, "i2c read fail"); + } + + if (mglessX || mglessY) { + CAM_INFO(CAM_OIS, "[Module#%d] threshold = %d, sinx = %d, siny = %d, %s = %d, sinx_count = %d, siny_count = %d, %s_count = %d", + i + 1, threshold, p_sinewave[SINX], p_sinewave[SINY], + (mglessX ? "sinx2" : "siny2"), p_sinewave[SINX2Y2], + p_sinewave[SINX_COUNT], p_sinewave[SINY_COUNT], + (mglessX ? "sinx2" : "siny2"), p_sinewave[SINX2Y2_COUNT]); + } else { + CAM_INFO(CAM_OIS, "[Module#%d] threshold = %d, sinx = %d, siny = %d, sinx_count = %d, siny_count = %d", + i + 1, threshold, p_sinewave[SINX], p_sinewave[SINY], p_sinewave[SINX_COUNT], p_sinewave[SINY_COUNT]); + } + } + + for (i = 0; i < MAX_MODULE_NUM; i++) { + if (!(module_mask & (1 << i))) + continue; + index = target[i]; + if (g_a_ctrls[index] != NULL) + cam_actuator_power_down(g_a_ctrls[index]); + } + +ret: + for (i = 0; i < MAX_MODULE_NUM; i++) { + if (!(module_mask & (1 << i))) + continue; + + mglessX = (mgless >> (2 * i)) & 0x01; + mglessY = (mgless >> (2 * i)) & 0x02; + p_sinewave = &sinewave[i * SINEWAVE_MAX]; + x_result = ((err_mask >> (4 * i)) & 0x01) ? false : true; + y_result = ((err_mask >> (4 * i)) & 0x02) ? false : true; + if (mglessX || mglessY) + x2y2_result = ((err_mask >> (4 * MAX_MODULE_NUM + 2 * i)) & 0x01) ? false : true; + + if (cnt > 0) + cnt += sprintf(buf + cnt, ", "); + + if (o_ctrl && !o_ctrl->is_power_up) { + CAM_INFO(CAM_OIS, + "OIS power off, return -1 for exception handling"); + x_result = y_result = false; + p_sinewave[SINX] = p_sinewave[SINY] = -1; + } + + cnt += sprintf(buf + cnt, "%s, %d", + (x_result ? "pass" : "fail"), + (x_result ? 0 : p_sinewave[SINX])); + + if (mglessX || mglessY) { + if (mglessX) { + cnt += sprintf(buf + cnt, ", %s, %d", + (x2y2_result ? "pass" : "fail"), + (x2y2_result ? 0 : p_sinewave[SINX2Y2])); + } else { + cnt += sprintf(buf + cnt, ", pass, N"); + } + } + + cnt += sprintf(buf + cnt, ", %s, %d", + (y_result ? "pass" : "fail"), + (y_result ? 0 : p_sinewave[SINY])); + + if (mglessX || mglessY) { + if (mglessY) { + cnt += sprintf(buf + cnt, ", %s, %d", + (x2y2_result ? "pass" : "fail"), + (x2y2_result ? 0 : p_sinewave[SINX2Y2])); + } else { + cnt += sprintf(buf + cnt, ", pass, N"); + } + } + } + + if (err_mask == 0x0) + return true; + else + return false; +} + +uint32_t cam_ois_get_mgless(struct cam_ois_ctrl_t *o_ctrl) +{ + int rc = 0; + uint32_t data = 0; + + rc = cam_ois_i2c_read(o_ctrl, MGLESS_KEY, &data, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (rc < 0) { + CAM_ERR(CAM_OIS, "i2c read fail %d", rc); + return 0; + } + + return data; +} + +int cam_ois_check_fw(struct cam_ois_ctrl_t *o_ctrl) +{ + int rc = 0, i = 0; + bool is_force_update = false; + bool is_need_retry = false; +// bool is_cal_wrong = false; + bool is_mcu_nack = false; + bool no_mod_ver = false; + bool no_fw_at_system = false; + int update_retries = 3; + bool is_fw_crack = false; + char ois_dev_core[] = {'A', 'B', 'E', 'F', 'I', 'J', 'M', 'N'}; + char fw_ver_ng[OIS_VER_SIZE + 1] = "NG_FW2"; +// char cal_ver_ng[OIS_VER_SIZE + 1] = "NG_CD2"; + + CAM_INFO(CAM_OIS, "E"); +FW_UPDATE_RETRY: + is_mcu_nack = false; + is_force_update = false; + + rc = cam_ois_power_up(o_ctrl); + if (rc < 0) { + CAM_ERR(CAM_OIS, "OIS Power up failed"); + goto end; + } + //target_normal_on(o_ctrl); + //msleep(50); + msleep(15); + + rc = cam_ois_wait_idle(o_ctrl, 2); + if (rc < 0) { + CAM_ERR(CAM_OIS, "wait ois idle status failed"); + CAM_ERR(CAM_OIS ,"MCU NACK, may need update FW"); + is_force_update = true; + is_mcu_nack = true; + } + + rc = cam_ois_get_fw_status(o_ctrl); + if (rc) { + CAM_ERR(CAM_OIS, "Previous update had not been properly, start force update"); + is_force_update = true; + if(rc == -2){ + CAM_ERR(CAM_OIS ,"MCU NACK, may need update FW"); + is_mcu_nack = true; + } + } else { + is_need_retry = false; + } + + if (!is_need_retry) { // when retry it will skip, not to overwirte the mod ver which might be cracked becase of previous update fail + rc = cam_ois_read_module_ver(o_ctrl); + if (rc < 0) { + CAM_ERR(CAM_OIS, "read module version fail %d. skip fw update", rc); + no_mod_ver = true; + if(rc == -2){ + is_mcu_nack = true; + }else{ + goto pwr_dwn; + } + } + } + + rc = cam_ois_read_phone_ver(o_ctrl); + if (rc < 0) { + no_fw_at_system = true; + CAM_ERR(CAM_OIS, "No available OIS FW exists in system"); + } + + CAM_INFO(CAM_OIS, "[OIS version] phone : %s, cal %s, module %s", + o_ctrl->phone_ver, o_ctrl->cal_ver, o_ctrl->module_ver); + + for (i = 0; i < (int)(sizeof(ois_dev_core)/sizeof(char)); i++) { + if (o_ctrl->module_ver[0] == ois_dev_core[i]) { + if(is_mcu_nack != true){ + CAM_ERR(CAM_OIS, "[OIS FW] devleopment module(core version : %c), skip update FW", o_ctrl->module_ver[0]); + //goto pwr_dwn; + } + } + } + + if (oisfw_force_update & OIS_FW_FORCE_UPDATE_BIT_MCU) { + is_force_update = true; + CAM_INFO(CAM_OIS, "force update ois mcu f/w (oisfw_force_update = 0x%x)", oisfw_force_update); + } + + if(update_retries < 0){ + is_mcu_nack = false; + is_force_update = false; + oisfw_force_update &= ~OIS_FW_FORCE_UPDATE_BIT_MCU; + } + + if ((strncmp(o_ctrl->phone_ver, o_ctrl->module_ver, OIS_MCU_VERSION_SIZE) == 0) || is_force_update || is_mcu_nack +#if defined(CONFIG_SEC_Q6Q_PROJECT) || defined(CONFIG_SEC_B6Q_PROJECT) + || (strcmp(o_ctrl->phone_ver, OIS_B6Q_FIRST_VERSION) == 0) || (strcmp(o_ctrl->phone_ver, OIS_Q6Q_FIRST_VERSION) == 0) +#elif defined(CONFIG_SEC_Q6AQ_PROJECT) + || (strcmp(o_ctrl->phone_ver, OIS_Q6AQ_FIRST_VERSION) == 0) +#endif + ) { + if ((strncmp(o_ctrl->phone_ver, o_ctrl->module_ver, OIS_VER_SIZE) != 0) || is_force_update || is_mcu_nack) { + CAM_INFO(CAM_OIS, "update OIS FW from phone (is_force_update %d , is_mcu_nack %d)", is_force_update, is_mcu_nack); + rc = cam_ois_fw_update(o_ctrl, is_force_update); + if (rc < 0) { + is_need_retry = true; + CAM_ERR(CAM_OIS, "update fw fail, it will retry (%d)", 4 - update_retries); + if (--update_retries < 0) { + CAM_ERR(CAM_OIS, "update fw fail, stop retry"); + is_need_retry = false; + } + } else { + is_need_retry = false; + oisfw_force_update &= ~OIS_FW_FORCE_UPDATE_BIT_MCU; + CAM_INFO(CAM_OIS, "update succeeded from phone (oisfw_force_update = 0x%x)", oisfw_force_update); + } + } + } + + if (!is_need_retry) { + rc = cam_ois_read_module_ver(o_ctrl); + if (rc < 0) { + no_mod_ver = true; + CAM_ERR(CAM_OIS, "read module version fail %d.", rc); + } + } + +pwr_dwn: + rc = cam_ois_get_fw_status(o_ctrl); + if (rc < 0) + is_fw_crack = true; + + if (!is_need_retry) { //when retry not to change mod ver + if (is_fw_crack) + memcpy(o_ctrl->module_ver, fw_ver_ng, (OIS_VER_SIZE) * sizeof(uint8_t)); +#if 0 + else if (is_cal_wrong) + memcpy(o_ctrl->module_ver, cal_ver_ng, (OIS_VER_SIZE) * sizeof(uint8_t)); +#endif + } + + snprintf(ois_fw_full, 40, "%s %s\n", o_ctrl->module_ver, + ((no_fw_at_system == 1 || no_mod_ver == 1)) ? ("NULL") : (o_ctrl->phone_ver)); + CAM_INFO(CAM_OIS, "[init OIS version] phone : %s, module : %s", + o_ctrl->phone_ver, o_ctrl->module_ver); + + cam_ois_power_down(o_ctrl); + + if (is_need_retry) + goto FW_UPDATE_RETRY; +end: + CAM_INFO(CAM_OIS, "X (oisfw_force_update = 0x%x)", oisfw_force_update); + return rc; +} + +int32_t cam_ois_set_debug_info(struct cam_ois_ctrl_t *o_ctrl, uint16_t mode) +{ + uint32_t status_reg = 0; + int rc = 0; + char exif_tag[6] = "ssois"; //defined exif tag for ois + + CAM_DBG(CAM_OIS, "Enter"); + + if (cam_ois_i2c_read(o_ctrl, OISSTS, &status_reg, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE) < 0) //read Status register + CAM_ERR(CAM_OIS, "get ois status register value failed, i2c fail"); + + snprintf(ois_debug, 40, "%s%s %s %s %x %x %x", exif_tag, + (o_ctrl->module_ver[0] == '\0') ? ("ISNULL") : (o_ctrl->module_ver), + (o_ctrl->phone_ver[0] == '\0') ? ("ISNULL") : (o_ctrl->phone_ver), + (o_ctrl->cal_ver[0] == '\0') ? ("ISNULL") : (o_ctrl->cal_ver), + o_ctrl->err_reg, status_reg, mode); + + CAM_INFO(CAM_OIS, "ois exif debug info %s", ois_debug); + CAM_DBG(CAM_OIS, "Exit"); + + return rc; +} + +int cam_ois_set_servo_ctrl(struct cam_ois_ctrl_t *o_ctrl, uint32_t en) +{ + int rc = 0; + + if (!o_ctrl) + return -1; + + if (!o_ctrl->is_power_up) { + CAM_WARN(CAM_OIS, "ois power is already off"); + return 0; + } + + if (!o_ctrl->is_servo_on) { + CAM_WARN(CAM_OIS, "ois servo is already off"); + return 0; + } + + en = (en > 0)?1:0; + + rc = cam_ois_i2c_write(o_ctrl, OISCTRL, en, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + + if (rc < 0) { + CAM_ERR(CAM_OIS, "i2c write fail"); + } else { + o_ctrl->is_servo_on = (bool)en; + CAM_INFO(CAM_OIS, "set ois servo ctrl %d", en); + } + + return rc; +} + +int cam_ois_get_ois_mode(struct cam_ois_ctrl_t *o_ctrl, uint16_t *mode) +{ + if (!o_ctrl) + return -1; + + *mode = o_ctrl->ois_mode; + return 0; +} + +/*** Have to lock/unlock ois_mutex, before/after call this function ***/ +int cam_ois_set_ois_mode(struct cam_ois_ctrl_t *o_ctrl, uint16_t mode) +{ + int rc = 0; + + if (!o_ctrl) + return 0; + + if (o_ctrl->ois_mode == 0x16) { + CAM_INFO(CAM_OIS, "SensorHub Reset, Skip mode %u setting", mode); + return 0; + } + + rc = cam_ois_i2c_write(o_ctrl, OISMODE, mode, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (rc < 0) + CAM_ERR(CAM_OIS, "i2c write fail"); + else + o_ctrl->ois_mode = mode; + + rc = cam_ois_i2c_write(o_ctrl, OISCTRL, 0x01, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); //servo on + if (rc < 0) + CAM_ERR(CAM_OIS, "i2c write fail"); + else + o_ctrl->is_servo_on = true; + + cam_ois_set_debug_info(o_ctrl, o_ctrl->ois_mode); + + CAM_INFO(CAM_OIS, "set ois mode %d %s", mode, ((rc < 0)?"fail":"success")); + + return rc; +} + +int cam_ois_fixed_aperture(struct cam_ois_ctrl_t *o_ctrl) +{ + uint8_t data[2] = { 0, }; + int rc = 0, val = 0; + + // OIS CMD(Fixed Aperture) + val = o_ctrl->x_center; + CAM_DBG(CAM_OIS, "Write X center %d", val); + data[0] = val & 0xFF; + data[1] = (val >> 8) & 0xFF; + rc = cam_ois_i2c_write_continous(o_ctrl, XTARGET, data, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, (int)sizeof(data)); + if (rc < 0) + CAM_ERR(CAM_OIS, "Failed write X center"); + + val = o_ctrl->y_center; + CAM_DBG(CAM_OIS, "Write Y center %d", val); + data[0] = val & 0xFF; + data[1] = (val >> 8) & 0xFF; + rc = cam_ois_i2c_write_continous(o_ctrl, YTARGET, data, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, (int)sizeof(data)); + if (rc < 0) + CAM_ERR(CAM_OIS, "Failed write Y center"); + + // OIS fixed + rc = cam_ois_set_ois_mode(o_ctrl, 0x02); + if (rc < 0) { + CAM_ERR(CAM_OIS, "ois set fixed mode failed %d", rc); + return rc; + } + return rc; +} + +int cam_ois_write_xgg_ygg(struct cam_ois_ctrl_t *o_ctrl) +{ + int rc = 0; + uint32_t i = 0, j = 0; + uint8_t* cal_mark[MAX_MODULE_NUM] = { &ois_cal_mark[INDEX_REAR], &ois_cal_mark[INDEX_REAR3], &ois_cal_mark[INDEX_REAR4] }; + uint32_t XGG_ADDR[MAX_MODULE_NUM] = { XGG_M1, XGG_M2, XGG_M3 }; + uint8_t* xygg[MAX_MODULE_NUM] = { ois_xygg[INDEX_REAR], ois_xygg[INDEX_REAR3], ois_xygg[INDEX_REAR4]}; + + if (!o_ctrl) + return 0; + + CAM_DBG(CAM_OIS, "E"); + + for (i = 0; i < CUR_MODULE_NUM; i++) { + if (*(cal_mark[i]) == 0xBB) { + rc = cam_ois_i2c_write_continous(o_ctrl, XGG_ADDR[i], xygg[i], + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, OIS_XYGG_SIZE); + if (rc < 0) + CAM_ERR(CAM_OIS, "Failed write M%u XGG, YGG", (i + 1)); + for (j = 0; j < OIS_XYGG_SIZE ; j++) + CAM_DBG(CAM_OIS, "[0x%x] 0x%x", XGG_ADDR[i] + j, *(xygg[i] + j)); + } + } + + CAM_DBG(CAM_OIS, "X"); + + return rc; +} + +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) +int cam_ois_write_dual_cal(struct cam_ois_ctrl_t *o_ctrl) +{ + int rc = 0; +#if 0 + uint8_t* cal_mark[MAX_MODULE_NUM] = { &ois_m1_cal_mark, &ois_m2_cal_mark, &ois_m3_cal_mark }; + uint8_t* center_shift[MAX_MODULE_NUM] = { ois_m1_center_shift, ois_m2_center_shift, ois_m3_center_shift }; +#endif +#if defined(CONFIG_SEC_E3Q_PROJECT) + uint32_t i = 0, j = 0; + uint32_t XCOFFSET_ADDR[MAX_MODULE_NUM] = { XCOFFSET_M1, XCOFFSET_M2, XCOFFSET_M3 }; + uint32_t efs_index = 0; + uint8_t efs_center_shift[OIS_CENTER_SHIFT_SIZE] = { 0, }; +#endif + + if (!o_ctrl) + return 0; + + CAM_DBG(CAM_OIS, "E"); + +#if 0 + for (i = 0; i < CUR_MODULE_NUM; i++) { + if (*(cal_mark[i]) == 0xBB) { + rc = cam_ois_i2c_write_continous(o_ctrl, XCOFFSET_ADDR[i], center_shift[i], + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, OIS_CENTER_SHIFT_SIZE); + if (rc < 0) + CAM_ERR(CAM_OIS, "Failed write M%u center shift", (i + 1)); + for (j = 0; j < OIS_CENTER_SHIFT_SIZE ; j++) + CAM_DBG(CAM_OIS, "[0x%x] 0x%x", XCOFFSET_ADDR[i] + j, *(center_shift[i] + j)); + } + } +#endif + +#if defined(CONFIG_SEC_E3Q_PROJECT) + efs_index = 2; + + if (0 != o_ctrl->efs_cal) { + for (i = 0; i < OIS_CENTER_SHIFT_SIZE; i++) + { + efs_center_shift[i] = 0xFF & (o_ctrl->efs_cal >> ((OIS_CENTER_SHIFT_SIZE - (i + 1)) * 8)); + } + + rc = cam_ois_i2c_write_continous(o_ctrl, XCOFFSET_ADDR[efs_index], efs_center_shift, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, OIS_CENTER_SHIFT_SIZE); + if (rc < 0) { + CAM_ERR(CAM_OIS, "Failed write M%u center shift", efs_index); + } + + for (j = 0; j < OIS_CENTER_SHIFT_SIZE ; j++) + CAM_DBG(CAM_OIS, "[0x%x] 0x%x", XCOFFSET_ADDR[efs_index] + j, *(efs_center_shift + j)); + } +#endif + + rc = cam_ois_i2c_write(o_ctrl, COCTRL, 0x01, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (rc < 0) + CAM_ERR(CAM_OIS, "Failed Enable Dual Shift"); + + CAM_DBG(CAM_OIS, "X"); + + return rc; +} +#endif + +int cam_ois_write_gyro_orientation(struct cam_ois_ctrl_t *o_ctrl) +{ + int rc = 0; + uint32_t i = 0; + uint32_t GYRO_POLA_ADDR[MAX_MODULE_NUM] = { GYRO_POLA_X_M1, GYRO_POLA_X_M2, GYRO_POLA_X_M3 }; + uint8_t sendData[2] = { 0 }; + + if (!o_ctrl) + return 0; + + CAM_DBG(CAM_OIS, "E"); + + /* The GYRO Orientataion is picked from model DTSI (pole-values / gyro-orientation), with order */ + for (i = 0; i < CUR_MODULE_NUM; i++) { + sendData[0] = o_ctrl->poles[i * 2]; + sendData[1] = o_ctrl->poles[i * 2 + 1]; + CAM_DBG(CAM_OIS, "M%u Tx Pole %u, Ty Pole %u", (i + 1), sendData[0], sendData[1]); + rc = cam_ois_i2c_write_continous(o_ctrl, GYRO_POLA_ADDR[i], sendData, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, (int)sizeof(sendData)); + if (rc < 0) + CAM_ERR(CAM_OIS, "Failed write M%u x Pole, y Pole", (i + 1)); + } + + CAM_DBG(CAM_OIS, "GyroOrientation 0x%x", o_ctrl->gyro_orientation); + rc = cam_ois_i2c_write(o_ctrl, GYRO_ORIENT, o_ctrl->gyro_orientation, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + + CAM_DBG(CAM_OIS, "X"); + + return rc; +} + +int cam_ois_write_gyro_sensor_calibration(struct cam_ois_ctrl_t *o_ctrl) +{ + int ret = 0; + uint32_t val = 0; + int xgzero_val = 0, ygzero_val = 0, zgzero_val = 0; + int scale_factor = OIS_GYRO_SCALE_FACTOR_LSM6DSO; + int raw_data_x = 0, raw_data_y = 0, raw_data_z = 0; + + raw_data_x = (int)o_ctrl->gyro_raw_x; + raw_data_y = (int)o_ctrl->gyro_raw_y; + raw_data_z = (int)o_ctrl->gyro_raw_z; + + CAM_INFO(CAM_OIS, "raw_data_x %d, raw_data_y %d raw_data_z %d", raw_data_x, raw_data_y, raw_data_z); + + xgzero_val = raw_data_x * scale_factor / 1000; + if (xgzero_val > 0x7FFF) + xgzero_val = -((xgzero_val ^ 0xFFFF) + 1); + CAM_DBG(CAM_OIS, "XGZERO 0x%x", xgzero_val); + val = NTOHS(xgzero_val); + cam_ois_i2c_write(o_ctrl, XGZERO, val, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + + ygzero_val = raw_data_y * scale_factor / 1000; + if (ygzero_val > 0x7FFF) + ygzero_val = -((ygzero_val ^ 0xFFFF) + 1); + CAM_DBG(CAM_OIS, "YGZERO 0x%x", ygzero_val); + val = NTOHS(ygzero_val); + cam_ois_i2c_write(o_ctrl, YGZERO, val, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + + zgzero_val = raw_data_z * scale_factor / 1000; + if (zgzero_val > 0x7FFF) + zgzero_val = -((zgzero_val ^ 0xFFFF) + 1); + CAM_DBG(CAM_OIS, "ZGZERO 0x%x", zgzero_val); + val = NTOHS(zgzero_val); + cam_ois_i2c_write(o_ctrl, ZGZERO, val, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + + return ret; +} + +int cam_ois_mcu_init(struct cam_ois_ctrl_t *o_ctrl) +{ + int rc = 0; + + // Write XGG, YGG to OIS MCU reg + rc = cam_ois_write_xgg_ygg(o_ctrl); + if (rc < 0) + CAM_ERR(CAM_OIS, "Write XGG, YGG to OIS MCU reg failed %d", rc); + +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) + // Write Dual cal value to OIS MCU reg + rc = cam_ois_write_dual_cal(o_ctrl); + if (rc < 0) + CAM_ERR(CAM_OIS, "Write Dual cal value to OIS MCU reg failed %d", rc); +#endif + + // Write Gyro orientation to OIS MCU reg + rc = cam_ois_write_gyro_orientation(o_ctrl); + if (rc < 0) + CAM_ERR(CAM_OIS, "Write Gyro orientation to OIS MCU reg %d", rc); + + // Write Gyro init offset to OIS MCU reg + rc = cam_ois_write_gyro_sensor_calibration(o_ctrl); + if (rc < 0) + CAM_ERR(CAM_OIS, "Write Gyro init to OIS MCU reg %d", rc); + + return rc; +} + +void cam_ois_reset(void *ctrl) +{ + struct cam_ois_ctrl_t *o_ctrl = NULL; + struct cam_ois_thread_msg_t *msg = NULL; + int rc = 0; + + CAM_INFO(CAM_OIS, "E"); + + if (!ctrl) + return; + + o_ctrl = (struct cam_ois_ctrl_t *)ctrl; + + if (o_ctrl->cam_ois_state >= CAM_OIS_CONFIG) { + CAM_INFO(CAM_OIS, "camera is running, set mode 0x16"); + msg = kmalloc(sizeof(struct cam_ois_thread_msg_t), GFP_ATOMIC); + if (msg == NULL) { + CAM_ERR(CAM_OIS, "Failed alloc memory for msg, Out of memory"); + return; + } + + memset(msg, 0, sizeof(struct cam_ois_thread_msg_t)); + msg->msg_type = CAM_OIS_THREAD_MSG_RESET; + rc = cam_ois_thread_add_msg(o_ctrl, msg); + if (rc < 0) + CAM_ERR(CAM_OIS, "Failed add msg to OIS thread"); + } else { + CAM_INFO(CAM_OIS, "camera is not running"); + } + + CAM_INFO(CAM_OIS, "X"); +} + +int cam_ois_read_hall_position(struct cam_ois_ctrl_t *o_ctrl, + uint32_t* targetPosition, uint32_t* hallPosition) +{ + int rc = 0, i = 0, j = 0, retries = 5; + uint32_t val = 0; + uint32_t targetPositionAddr[MAX_MODULE_NUM * 2] = { X_GYRO_CALC_M1, Y_GYRO_CALC_M1, + X_GYRO_CALC_M2, Y_GYRO_CALC_M2, + X_GYRO_CALC_M3, Y_GYRO_CALC_M3 }; + uint32_t hallPositionAddr[MAX_MODULE_NUM * 2] = { HAX_OUT_M1, HAY_OUT_M1, + HAX_OUT_M2, HAY_OUT_M2, + HAX_OUT_M3, HAY_OUT_M3 }; + char buf[256]; + uint32_t offset = 0, cnt = 0, old_on = 0; + uint16_t module_check_result[MAX_MODULE_NUM] = { 1, 1, 1 }; + + if (!o_ctrl) + return 0; + + if (!o_ctrl->is_power_up) { + CAM_ERR(CAM_OIS, "ois is not power up"); + return 0; + } + + CAM_INFO(CAM_OIS, "E"); + rc |= cam_ois_i2c_write(o_ctrl, FWINFO_CTRL, 0x01, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (rc < 0) + CAM_ERR(CAM_OIS, "Failed set hall read control bit(FWINFO_CTRL)"); + + rc |= cam_ois_i2c_read(o_ctrl, OISCTRL, &old_on, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); //servo + if (old_on != 0x01) { + rc |= cam_ois_i2c_write(o_ctrl, OISCTRL, 0x01, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); //servo on + if (rc < 0) + CAM_ERR(CAM_OIS, "i2c write fail"); + } + msleep(100); + + rc |= cam_ois_i2c_read(o_ctrl, (OISERR + 1), &val, CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (rc < 0) { + CAM_ERR(CAM_OIS, "get ois error register value failed, i2c fail %d", rc); + } else { + val &= 0xFF; + CAM_DBG(CAM_OIS, "ois error reg[0x%x] = 0x%x", (OISERR + 1), val); + + for (i = 0; i < 3; i++) { + module_check_result[i] = (val & 0x2) | (val & 0x4); + CAM_DBG(CAM_OIS, "result[%d] = %d, (val = 0x%x, err[x,y] = [%d, %d])", i, module_check_result[i], val, (val & 0x2), (val & 0x4)); + val >>= 2; + } + } + + CAM_INFO(CAM_OIS, "ois module check! error[M1,M2,M3] = %u, %u, %u", module_check_result[0], module_check_result[1], module_check_result[2]); + val = 0; + + for (i = 0; i < retries; i++) { + usleep_range(5000, 5100); + for (j = 0; j < (CUR_MODULE_NUM * 2); j++) { + rc |= cam_ois_i2c_read(o_ctrl, targetPositionAddr[j], &val, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + if (rc < 0) + CAM_ERR(CAM_OIS, "i2c read fail"); + targetPosition[j] += NTOHS(val); + + rc |= cam_ois_i2c_read(o_ctrl, hallPositionAddr[j], &val, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + if (rc < 0) + CAM_ERR(CAM_OIS, "i2c read fail"); + hallPosition[j] += NTOHS(val); + + CAM_DBG(CAM_OIS, "retries %d [%d] target %u, hall %u", + i, j, targetPosition[j], hallPosition[j]); + } + } + + for (j = 0; j < (CUR_MODULE_NUM * 2); j++) { + targetPosition[j] /= retries; + hallPosition[j] /= retries; + } + + rc |= cam_ois_i2c_write(o_ctrl, FWINFO_CTRL, 0x0, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (rc < 0) + CAM_ERR(CAM_OIS, "Failed set hall read control bit(FWINFO_CTRL)"); + + for (j = 0; j < (CUR_MODULE_NUM * 2); j++) { + if (offset < 256) { + cnt = scnprintf(buf + offset, (256 - offset), "%u,", targetPosition[j]); + offset += cnt; + } + } + for (j = 0; j < (CUR_MODULE_NUM * 2); j++) { + if (offset < 256) { + cnt = scnprintf(buf + offset, (256 - offset), "%u,", hallPosition[j]); + offset += cnt; + } + } + + if (offset > 256) { + offset = 256; + } + buf[offset - 1] = '\0'; + CAM_INFO(CAM_OIS, "result - target[M1,..,Mn], current[M1,..,Mn] = %s", buf); + + if (old_on != 0x01) { + rc |= cam_ois_i2c_write(o_ctrl, OISCTRL, 0x0, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); //servo off + if (rc < 0) + CAM_ERR(CAM_OIS, "i2c write fail"); + } + + CAM_INFO(CAM_OIS, "X"); + + return rc; +} + +int cam_ois_bypass_mode1_i2c_read(struct cam_ois_ctrl_t *o_ctrl, + uint8_t ucld, uint8_t ucReg, + uint8_t* pBuf, uint8_t ucSize) +{ + int i = 0; + uint32_t RcvData = 0; + int retry = 10; + int ret = 0; + + // Device ID + ret |= cam_ois_i2c_write(o_ctrl, 0x0100, ucld, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + // Register Address + ret |= cam_ois_i2c_write(o_ctrl, 0x0101, ucReg, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + // Data size + ret |= cam_ois_i2c_write(o_ctrl, 0x0102, ucSize, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + + ret |= cam_ois_i2c_write(o_ctrl, ByPassCtrl, 0x1, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + + do { + ret |= cam_ois_i2c_read(o_ctrl, ByPassCtrl, &RcvData, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + usleep_range(1000, 1100); + } while ((RcvData != 0) && (retry-- > 0)); + + // Parsing data into transmit buffer + for (i = 0; i < ucSize; i++) { + ret |= cam_ois_i2c_read(o_ctrl, 0x0103 + i, &RcvData, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + CAM_DBG(CAM_OIS, "RcvData[0x%x] %d", 0x0103 + i, RcvData); + *(pBuf + i) = (RcvData & 0xFF); + } + + return ret; +} + +int cam_ois_bypass_mode1_i2c_write(struct cam_ois_ctrl_t *o_ctrl, + uint8_t ucld, uint8_t ucReg, + uint8_t* pBuf, uint8_t ucSize) +{ + uint32_t RcvData = 0; + int retry = 10; + int ret = 0; + + // Device ID + ret |= cam_ois_i2c_write(o_ctrl, 0x0100, ucld, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + // Register Address + ret |= cam_ois_i2c_write(o_ctrl, 0x0101, ucReg, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + // Data size + ret |= cam_ois_i2c_write(o_ctrl, 0x0102, ucSize, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + + ret |= cam_ois_i2c_write_continous(o_ctrl, 0x0103, pBuf, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, ucSize); + + ret |= cam_ois_i2c_write(o_ctrl, ByPassCtrl, 0x1, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + + do { + ret |= cam_ois_i2c_read(o_ctrl, ByPassCtrl, &RcvData, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + usleep_range(1000, 1100); + } while ((RcvData != 0) && (retry-- > 0)); + + return ret; +} + +int cam_ois_read_hall_cal(struct cam_ois_ctrl_t *o_ctrl, + uint16_t subdev_id, uint16_t *result) +{ + uint8_t RxBuf[32]; + uint8_t TxBuf[32]; + uint16_t af_position = 0; + uint16_t uiTemp = 0; + int16_t ideal_pCal[2] = { 0 }, ideal_nCal[2] = { 0 }; + int16_t current_pCal[2] = { 0 }, current_nCal[2] = { 0 }; + + uint8_t X_WRITE_ADDR = AKM_W_X_WRITE_UCLD; + uint8_t X_READ_ADDR = AKM_W_X_READ_UCLD; + uint8_t Y_WRITE_ADDR = AKM_W_Y_WRITE_UCLD; + uint8_t Y_READ_ADDR = AKM_W_Y_READ_UCLD; + + if (!o_ctrl) + return -1; + + if (!o_ctrl->is_power_up) { + CAM_WARN(CAM_OIS, "ois is not power up"); + return 0; + } + + CAM_DBG(CAM_OIS, "[#1] write for subdev %d", subdev_id); + switch (subdev_id) { + case SEC_WIDE_SENSOR: + X_WRITE_ADDR = AKM_W_X_WRITE_UCLD; + X_READ_ADDR = AKM_W_X_READ_UCLD; + Y_WRITE_ADDR = AKM_W_Y_WRITE_UCLD; + Y_READ_ADDR = AKM_W_Y_READ_UCLD; + break; + + case SEC_TELE_SENSOR: + X_WRITE_ADDR = AKM_T_X_WRITE_UCLD; + X_READ_ADDR = AKM_T_X_READ_UCLD; + Y_WRITE_ADDR = AKM_T_Y_WRITE_UCLD; + Y_READ_ADDR = AKM_T_Y_READ_UCLD; + break; + + default: + CAM_ERR(CAM_OIS, "[#1] no subdev: %d", subdev_id); + break; + } + + /* Read stored calibration mark */ + cam_ois_bypass_mode1_i2c_read(o_ctrl, X_READ_ADDR, 0xe4, RxBuf, 1); + CAM_DBG(CAM_OIS, "Write Reg : 0xE4, Data : 0x%x", RxBuf[0]); + if (RxBuf[0] != 1) + { + CAM_ERR(CAM_OIS, "Calibration Data Empty"); + return 0; + } + + /* Read stored AF best position */ + cam_ois_bypass_mode1_i2c_read(o_ctrl, X_READ_ADDR, 0xe5, RxBuf, 1); + af_position = (uint16_t)RxBuf[0] << 4; + CAM_DBG(CAM_OIS, "Write Reg : 0xE5, Data : 0x%x", af_position); + + /* Read stored PCAL and NCAL of X axis */ + cam_ois_bypass_mode1_i2c_read(o_ctrl, X_READ_ADDR, 0x04, RxBuf, 4); + uiTemp = ((uint16_t)RxBuf[0] << 8) & 0x8000; + uiTemp |= ((uint16_t)RxBuf[0] << 1) & 0x00fe; + uiTemp |= ((uint16_t)RxBuf[1] >> 7) & 0x0001; + ideal_pCal[0] = (int16_t)uiTemp; + uiTemp = ((uint16_t)RxBuf[2] << 8) & 0x8000; + uiTemp |= ((uint16_t)RxBuf[2] << 1) & 0x00fe; + uiTemp |= ((uint16_t)RxBuf[3] >> 7) & 0x0001; + ideal_nCal[0] = (int16_t)uiTemp; + CAM_DBG(CAM_OIS, "Read Reg : 0x04, Data : %d", ideal_pCal[0]); + CAM_DBG(CAM_OIS, "Read Reg : 0x06, Data : %d", ideal_nCal[0]); + + /* Read stored PCAL and NCAL for Y axis */ + cam_ois_bypass_mode1_i2c_read(o_ctrl, Y_READ_ADDR, 0x04, RxBuf, 4); + uiTemp = ((uint16_t)RxBuf[0] << 8) & 0x8000; + uiTemp |= ((uint16_t)RxBuf[0] << 1) & 0x00fe; + uiTemp |= ((uint16_t)RxBuf[1] >> 7) & 0x0001; + ideal_pCal[1] = (int16_t)uiTemp; + uiTemp = ((uint16_t)RxBuf[2] << 8) & 0x8000; + uiTemp |= ((uint16_t)RxBuf[2] << 1) & 0x00fe; + uiTemp |= ((uint16_t)RxBuf[3] >> 7) & 0x0001; + ideal_nCal[1] = (int16_t)uiTemp; + CAM_DBG(CAM_OIS, "Read Reg : 0x04, Data : %d", ideal_pCal[1]); + CAM_DBG(CAM_OIS, "Read Reg : 0x06, Data : %d", ideal_nCal[1]); + + /* Move AF to best position which read from EEPROM */ + if (af_position >= NUM_AF_POSITION) { + CAM_ERR(CAM_OIS, "af position error %u", af_position); + return -1; + } + CAM_DBG(CAM_OIS, "ois read bypass1 af position %X", af_position); + + CAM_DBG(CAM_OIS, "[#2] write for subdev %d", subdev_id); + + if (g_a_ctrls[subdev_id] != NULL) { + cam_actuator_power_up(g_a_ctrls[subdev_id]); + msleep(5); + if (!g_a_ctrls[subdev_id]->use_mcu) { + cam_actuator_move_for_ois_read_hall_cal_test(g_a_ctrls[subdev_id], af_position); + msleep(50); + } + } + + /* Change setting Mode for Hall cal */ + TxBuf[0] = 0x3b; + cam_ois_bypass_mode1_i2c_write(o_ctrl, X_WRITE_ADDR, 0xae, TxBuf, 1); + cam_ois_bypass_mode1_i2c_write(o_ctrl, Y_WRITE_ADDR, 0xae, TxBuf, 1); + CAM_DBG(CAM_OIS, "Write Reg : 0xae, Data : 0x%x", TxBuf[0]); + + /* Start hall calibration for X axis */ + TxBuf[0] = 0x01; + cam_ois_bypass_mode1_i2c_write(o_ctrl, X_WRITE_ADDR, 0x02, TxBuf, 1); + msleep(150); // 150mSec + + /* Start hall calibration for Y axis */ + cam_ois_bypass_mode1_i2c_write(o_ctrl, Y_WRITE_ADDR, 0x02, TxBuf, 1); + msleep(150); // 150mSec + + /* Clear setting Mode */ + TxBuf[0] = 0x00; + cam_ois_bypass_mode1_i2c_write(o_ctrl, X_WRITE_ADDR, 0xae, TxBuf, 1); + cam_ois_bypass_mode1_i2c_write(o_ctrl, Y_WRITE_ADDR, 0xae, TxBuf, 1); + CAM_DBG(CAM_OIS, "Write Reg : 0xae, Data : 0x%x", TxBuf[0]); + + /* Read new PCAL and NCAL for X axis */ + cam_ois_bypass_mode1_i2c_read(o_ctrl, X_READ_ADDR, 0x04, RxBuf, 4); + uiTemp = ((uint16_t)RxBuf[0] << 8) & 0x8000; + uiTemp |= ((uint16_t)RxBuf[0] << 1) & 0x00fe; + uiTemp |= ((uint16_t)RxBuf[1] >> 7) & 0x0001; + current_pCal[0] = (int16_t)uiTemp; + uiTemp = ((uint16_t)RxBuf[2] << 8) & 0x8000; + uiTemp |= ((uint16_t)RxBuf[2] << 1) & 0x00fe; + uiTemp |= ((uint16_t)RxBuf[3] >> 7) & 0x0001; + current_nCal[0] = (int16_t)uiTemp; + CAM_DBG(CAM_OIS, "Read Reg : 0x04, Data : %d", current_pCal[0]); + CAM_DBG(CAM_OIS, "Read Reg : 0x06, Data : %d", current_nCal[0]); + + /* Read new PCAL and NCAL for Y axis */ + cam_ois_bypass_mode1_i2c_read(o_ctrl, Y_READ_ADDR, 0x04, RxBuf, 4); + uiTemp = ((uint16_t)RxBuf[0] << 8) & 0x8000; + uiTemp |= ((uint16_t)RxBuf[0] << 1) & 0x00fe; + uiTemp |= ((uint16_t)RxBuf[1] >> 7) & 0x0001; + current_pCal[1] = (int16_t)uiTemp; + uiTemp = ((uint16_t)RxBuf[2] << 8) & 0x8000; + uiTemp |= ((uint16_t)RxBuf[2] << 1) & 0x00fe; + uiTemp |= ((uint16_t)RxBuf[3] >> 7) & 0x0001; + current_nCal[1] = (int16_t)uiTemp; + CAM_DBG(CAM_OIS, "Read Reg : 0x04, Data : %d", current_pCal[1]); + CAM_DBG(CAM_OIS, "Read Reg : 0x06, Data : %d", current_nCal[1]); + + // Return the result + result[0] = ideal_pCal[0]; // RESULT + result[1] = ideal_nCal[0]; // RESULT + result[2] = ideal_pCal[1]; // RESULT + result[3] = ideal_nCal[1]; // RESULT + result[4] = current_pCal[0]; // RESULT + result[5] = current_nCal[0]; // RESULT + result[6] = current_pCal[1]; // RESULT + result[7] = current_nCal[1]; // RESULT + + if (g_a_ctrls[subdev_id] != NULL) { + cam_actuator_power_down(g_a_ctrls[subdev_id]); + } + + return 0; +} + +int cam_ois_center_shift(struct cam_ois_ctrl_t *o_ctrl, int16_t* shift) +{ + int rc = 0, i = 0; + uint32_t XCOFFSET_ADDR[MAX_MODULE_NUM] = { XCOFFSET_M1, XCOFFSET_M2, XCOFFSET_M3 }; + int16_t shift_x = 0, shift_y = 0; + char buf[OIS_CENTER_SHIFT_SIZE] = { 0, }; + + CAM_DBG(CAM_OIS, "E"); + + for (i = 0; i < CUR_MODULE_NUM; i++) { + shift_x = shift[2 * i]; + shift_y = shift[2 * i + 1]; + + if ((shift_x < -2048) || (shift_x > 2047) || + (shift_y < -2048) || (shift_y > 2047)) { + CAM_ERR(CAM_OIS, "Invalid shift (%d, %d)", shift_x, shift_y); + continue; + } + + buf[0] = shift_x & 0xFF; + buf[1] = (shift_x >> 8) & 0xFF; + buf[2] = shift_y & 0xFF; + buf[3] = (shift_y >> 8) & 0xFF; + + rc = cam_ois_i2c_write_continous(o_ctrl, XCOFFSET_ADDR[i], buf, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, OIS_CENTER_SHIFT_SIZE); + if (rc < 0) + CAM_ERR(CAM_OIS, "[M%d] i2c write fail", (i + 1)); + } + + rc = cam_ois_i2c_write(o_ctrl, COCTRL, 0x01, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (rc < 0) { + CAM_ERR(CAM_OIS, "OIS center offset enable fail"); + } + + CAM_DBG(CAM_OIS, "X"); + + return rc; +} + +#if defined(CONFIG_SAMSUNG_OIS_TAMODE_CONTROL) +int ps_notifier_cb(struct notifier_block *nb, unsigned long event, void *data) +{ + struct cam_ois_ctrl_t *o_ctrl = + container_of(nb, struct cam_ois_ctrl_t, nb); + struct power_supply *psy = data; + int rc = 0; + + CAM_DBG(CAM_OIS, "power supply callback"); + + if (event != PSY_EVENT_PROP_CHANGED) + return NOTIFY_OK; + + if (strcmp(psy->desc->name, "battery") == 0) { + rc = cam_ois_add_tamode_msg(o_ctrl); + if (rc < 0) + CAM_ERR(CAM_OIS, "Failed add msg to OIS thread"); + } + + return NOTIFY_OK; +} + +int cam_ois_add_tamode_msg(struct cam_ois_ctrl_t *o_ctrl) { + struct cam_ois_thread_msg_t *msg = NULL; + int rc = 0; + + if (!o_ctrl) + return rc; + + if (o_ctrl->cam_ois_state >= CAM_OIS_CONFIG) + { + msg = kmalloc(sizeof(struct cam_ois_thread_msg_t), GFP_ATOMIC); + if (msg == NULL) { + CAM_ERR(CAM_OIS, "Failed alloc memory for msg, Out of memory"); + return -ENOMEM; + } + + memset(msg, 0, sizeof(struct cam_ois_thread_msg_t)); + msg->msg_type = CAM_OIS_THREAD_MSG_SET_TAMODE; + rc = cam_ois_thread_add_msg(o_ctrl, msg); + if (rc < 0) + CAM_ERR(CAM_OIS, "Failed add msg to OIS thread"); + } + return rc; +} + +int cam_ois_set_ta_mode(struct cam_ois_ctrl_t *o_ctrl) { + union power_supply_propval status_val, ac_val; + bool onoff = false; + int rc = 0; + + CAM_DBG(CAM_OIS, "E"); + + status_val.intval = ac_val.intval = 0; + psy_do_property("battery", get, POWER_SUPPLY_PROP_STATUS, status_val); + psy_do_property("ac", get, POWER_SUPPLY_PROP_ONLINE, ac_val); + onoff = (status_val.intval == POWER_SUPPLY_STATUS_FULL && ac_val.intval); + + if (onoff != o_ctrl->ois_tamode_onoff) { + CAM_INFO(CAM_OIS, "%s: status = %d, ac = %d", __func__, status_val.intval, ac_val.intval); + CAM_INFO(CAM_OIS, "ois ta mode onoff = %d", onoff); + + rc = cam_ois_i2c_write(o_ctrl, TACTRL, (onoff > 0 ? 0x01 : 0x00), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (rc < 0) { + CAM_ERR(CAM_OIS, "set ta mode fail"); + return rc; + } + o_ctrl->ois_tamode_onoff = onoff; + } + + CAM_INFO(CAM_OIS, "X"); + + return rc; +} +#endif + +#if defined(CONFIG_SAMSUNG_OIS_ADC_TEMPERATURE_SUPPORT) +void cam_ois_read_adc(struct cam_ois_ctrl_t *o_ctrl, + uint32_t *result, uint32_t prev_result) +{ + int rc = 0; + + rc = cam_ois_i2c_read(o_ctrl, GETADC, result, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD); + if (rc < 0) { + CAM_ERR(CAM_OIS, "ois adc read failed %d", rc); + *result = prev_result; + } else + *result = NTOHS(*result); +} + +int get_ois_adc_value(struct cam_ois_ctrl_t *o_ctrl, + uint32_t *result) +{ + int rc = 0; +#if defined(CONFIG_SEC_B6Q_PROJECT) + static uint32_t prev_result = 1910; //default ois_adc value +#endif + + if (!o_ctrl) + return -1; + + if (!o_ctrl->is_power_up) { + CAM_INFO(CAM_OIS, "ois is not power up"); + + mutex_lock(&(o_ctrl->ois_mutex)); + if ((o_ctrl->cam_ois_state == CAM_OIS_INIT) && !o_ctrl->sysfs_ois_power) { + rc= cam_ois_power_up(o_ctrl); + if (rc < 0) { + CAM_ERR(CAM_OIS, "OIS Power up failed"); + goto ois_power_up_failed; + } + + msleep(20); + rc = cam_ois_mcu_init(o_ctrl); + if (rc < 0) { + CAM_ERR(CAM_OIS, "OIS mcu init failed"); + goto ois_mcu_init_failed; + } + } + + cam_ois_read_adc(o_ctrl, result, prev_result); + + if ((o_ctrl->cam_ois_state == CAM_OIS_INIT) && !o_ctrl->sysfs_ois_power) { + rc = cam_ois_power_down(o_ctrl); + if (rc < 0) { + CAM_ERR(CAM_OIS, "OIS Power down failed"); + goto ois_power_down_failed; + } + } + + mutex_unlock(&(o_ctrl->ois_mutex)); + } else { + if (o_ctrl->sysfs_ois_power && !o_ctrl->sysfs_ois_init) { + mutex_lock(&(o_ctrl->ois_mutex)); + + cam_ois_read_adc(o_ctrl, result, prev_result); + + mutex_unlock(&(o_ctrl->ois_mutex)); + } else + cam_ois_read_adc(o_ctrl, result, prev_result); + } + + prev_result = *result; + return rc; + +ois_mcu_init_failed: + if (o_ctrl->cam_ois_state == 0) { + rc = cam_ois_power_down(o_ctrl); + if (rc < 0) { + CAM_ERR(CAM_OIS, "OIS Power down failed"); + } + } +ois_power_up_failed: +ois_power_down_failed: + mutex_unlock(&(o_ctrl->ois_mutex)); + *result = prev_result; + return rc; + +} +#endif + +#if defined(CONFIG_SAMSUNG_SUPPORT_RUMBA_FW_UPDATE) +extern char module_info[INDEX_MAX][SYSFS_MODULE_INFO_SIZE]; + +int32_t cam_ois_rumba_read_phone_ver(struct cam_ois_ctrl_t *o_ctrl) +{ + char data[OIS_RUMBA_VERSION_SIZE + 1] = ""; + int ret = 0, i = 0; + uint32_t offset = 0, size = 0; + uint32_t fw_size; + const struct firmware *fw = NULL; + struct device *dev = o_ctrl->soc_info.dev; + unsigned char *buffer = NULL; + + /* Load FW */ + ret = request_firmware(&fw, OIS_RUMBA_FW_NAME, dev); + if (ret) { + CAM_ERR(CAM_OIS, "Failed to locate %s", OIS_RUMBA_FW_NAME); + return ret; + } + + fw_size = (uint32_t)fw->size; + buffer = vmalloc(fw_size); + if (!buffer) { + CAM_ERR(CAM_OIS, "Failed in allocating i2c_array: fw_size: %u", fw_size); + ret = -ENOMEM; + goto ERROR; + } + memcpy(buffer, fw->data, fw_size); + + offset = OIS_RUMBA_VERSION_PHONE_OFFSET; + size = OIS_RUMBA_VERSION_SIZE; + if ((offset + size) < fw_size) + memcpy(data, buffer + offset, sizeof(char) * size); + + o_ctrl->phone_rumba_ver = 0; + for (i = 0; i < OIS_RUMBA_VERSION_SIZE; i++) { + o_ctrl->phone_rumba_ver |= (data[i] << (8 * i)); + } + + CAM_INFO(CAM_OIS, "Phone rumba version is %u", + o_ctrl->phone_rumba_ver); + +ERROR: + if (buffer) { + vfree(buffer); + buffer = NULL; + } + release_firmware(fw); + return ret; +} + +int32_t cam_ois_rumba_read_module_ver(struct cam_ois_ctrl_t *o_ctrl) +{ + int rc = 0, i = 0; + uint8_t data[OIS_RUMBA_VERSION_SIZE + 1] = ""; + + rc = camera_io_dev_read_seq(&o_ctrl->io_master_info, + OIS_RUMBA_VERSION_MODULE_OFFSET, data, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, + OIS_RUMBA_VERSION_SIZE); + if (rc < 0) { + CAM_ERR(CAM_OIS, "read module_rumba_version failed"); + return -EIO; + } + + o_ctrl->module_rumba_ver = 0; + for (i = 0; i < OIS_RUMBA_VERSION_SIZE; i++) + o_ctrl->module_rumba_ver |= (data[i] << (8 * i)); + + ois_rumba_fw = o_ctrl->module_rumba_ver; + + CAM_INFO(CAM_OIS, "Module rumba version is %u", + o_ctrl->module_rumba_ver); + + return 0; +} + +int32_t cam_ois_rumba_read_module_vendor(struct cam_ois_ctrl_t *o_ctrl) +{ + int rc = 0; + + o_ctrl->module_vendor_code = 0; + rc = camera_io_dev_read(&o_ctrl->io_master_info, + OIS_RUMBA_VENDOR_CODE_OFFSET, &o_ctrl->module_vendor_code, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, false); + if (rc < 0) { + CAM_ERR(CAM_OIS, "read module_vendor_code failed"); + return -EIO; + } + + CAM_INFO(CAM_OIS, "module vendor code 0x%02x", + o_ctrl->module_vendor_code); + + if (o_ctrl->module_rumba_ver >= OIS_RUMBA_VERSION_MAX) { + o_ctrl->module_vendor_code = OIS_RUMBA_VENDOR_CODE_INVALID; + CAM_INFO(CAM_OIS, "Invalid module rumba version %u, reset module vendor code", + o_ctrl->module_rumba_ver); + } + return 0; +} + +int32_t cam_ois_rumba_fw_update(struct cam_ois_ctrl_t *o_ctrl, bool checksum_enable) +{ + int ret = 0, blk_cnt = 0; + uint8_t sendData[OIS_RUMBA_FWUP_PACKET_SIZE] = ""; + uint8_t checksumData[2] = ""; + uint16_t checkSum = 0; + uint32_t sdev = 0; + uint8_t sdevData[4] = ""; + uint32_t ctrl_status = 0, err_status = 0; + uint32_t retry; + unsigned char *buffer = NULL, *rd_buf_addr = NULL; + int i = 0; + uint32_t wbytes = 0; + int len = 0; + uint32_t unit = OIS_RUMBA_FWUP_PACKET_SIZE; + uint32_t fw_size; + const struct firmware *fw = NULL; + struct device *dev = o_ctrl->soc_info.dev; + + CAM_INFO(CAM_OIS, "E"); + + /* Loading FW */ + ret = request_firmware(&fw, OIS_RUMBA_FW_NAME, dev); + if (ret) { + CAM_ERR(CAM_OIS, "Failed to locate %s", OIS_RUMBA_FW_NAME); + return ret; + } + + fw_size = (uint32_t)fw->size; + buffer = vmalloc(fw_size); + if (!buffer) { + CAM_ERR(CAM_OIS, + "Failed in allocating i2c_array: fw_size: %u", fw_size); + ret = -ENOMEM; + goto ERROR; + } + memcpy(buffer, fw->data, fw_size); + + /* Write fw size */ + ret = cam_ois_i2c_write(o_ctrl, + OIS_RUMBA_FWUPSIZE, fw_size, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (ret < 0) + CAM_ERR(CAM_OIS, "[RUMBA_FW] Write f/w size fail, %d", ret); + + /* Calculate checksum */ + checkSum = cam_ois_calcchecksum(buffer, fw_size); + + for (i = 0; i < sizeof(checksumData); i++) + checksumData[i] = (checkSum >> (8 * i)) & 0xFF; + + /* Write checksum */ + ret = cam_ois_i2c_write_continous(o_ctrl, + OIS_RUMBA_FWUPCHKSUM, checksumData, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, + (int)sizeof(checksumData)); + if (ret < 0) + CAM_ERR(CAM_OIS, "[RUMBA_FW] Write checksum fail, %d", ret); + + if (checksum_enable) { + CAM_INFO(CAM_OIS, "[RUMBA_FW] rumba checksum check start! (target_checksum: 0x%x)", checkSum); + + /* Write firmware update index -> Compare checksum and f/w revision */ + ret = cam_ois_i2c_write(o_ctrl, + OIS_RUMBA_FWUPINDEX, OIS_RUMBA_FWUP_CHECKSUM, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (ret < 0) + CAM_ERR(CAM_OIS, "[RUMBA_FW] Write f/w update index_checksum fail, %d", ret); + + ctrl_status = OIS_RUMBA_FWUP_CTRLBIT_ENABLE; + ret = cam_ois_i2c_write(o_ctrl, + OIS_RUMBA_FWUPCTRL, ctrl_status, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (ret < 0) { + CAM_ERR(CAM_OIS, "[RUMBA_FW] Write f/w update ctrl_enable (flash erase) failed, %d", ret); + } + + msleep(300); + + /* Check checksum comparison error */ + err_status = 0; + ret = cam_ois_i2c_read(o_ctrl, + OIS_RUMBA_FWUPERR, &err_status, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if ((ret < 0) || (err_status != 0)) { + CAM_ERR(CAM_OIS, "[RUMBA_FW] rumba checksum check fail! (ret = %d, err_reg[0x%x] = 0x%x) f/w re-update start!", + ret, OIS_RUMBA_FWUPERR, err_status); + } else { + CAM_INFO(CAM_OIS, "[RUMBA_FW] rumba checksum check ok! (ret = %d)", ret); + ret = cam_ois_i2c_write(o_ctrl, + OIS_RUMBA_FWUPINDEX, OIS_RUMBA_FWUP_END, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (ret < 0) + CAM_ERR(CAM_OIS, "[RUMBA_FW] Write f/w update index_end fail, %d", ret); + + goto END; + } + } + + /* Write rumba f/w version */ + sdev = *((uint32_t*)(buffer + OIS_RUMBA_VERSION_PHONE_OFFSET)); + for (i = 0; i < sizeof(sdevData); i++) + sdevData[i] = (sdev >> (8 * i)) & 0xFF; + + ret = cam_ois_i2c_write_continous(o_ctrl, + OIS_RUMBA_VERSION_MODULE_OFFSET, sdevData, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, + (int)sizeof(sdevData)); + if (ret < 0) + CAM_ERR(CAM_OIS, "[RUMBA_FW] Write f/w version fail, %d", ret); + + /* Write firmware up index -> Start firmware update */ + ret = cam_ois_i2c_write(o_ctrl, + OIS_RUMBA_FWUPINDEX, OIS_RUMBA_FWUP_START, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (ret < 0) + CAM_ERR(CAM_OIS, "[RUMBA_FW] Write f/w update index_start fail, %d", ret); + + usleep_range(10000, 10100); + + /* Enable fw update */ + ctrl_status = 0; + ret = cam_ois_i2c_read(o_ctrl, + OIS_RUMBA_FWUPCTRL, &ctrl_status, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (ret < 0) { + CAM_ERR(CAM_OIS, "[RUMBA_FW] Read f/w update ctrl_status fail, (ctrl_status 0x%x, ret = %d)", + ctrl_status, ret); + goto ERROR; + } + + ctrl_status |= OIS_RUMBA_FWUP_CTRLBIT_ENABLE; + ret = cam_ois_i2c_write(o_ctrl, + OIS_RUMBA_FWUPCTRL, ctrl_status, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (ret < 0) { + CAM_ERR(CAM_OIS, "[RUMBA_FW] Write f/w update ctrl_enable (flash erase) failed, %d", ret); + } + + /* Wait 500mSec utill finishing erase */ + msleep(500); + + /* Check firmware update error */ + err_status = 0; + ret = cam_ois_i2c_read(o_ctrl, + OIS_RUMBA_FWUPERR, &err_status, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if ((ret < 0) || (err_status > OIS_RUMBA_FWUPERR_E_NOROM)) { + CAM_ERR(CAM_OIS, "[RUMBA_FW] Check err_status fail, (ret = %d, status 0x%x)", + ret, err_status); + ret = -1; + goto ERROR; + } + + /* Write firmware update index -> Write aplication code */ + ret = cam_ois_i2c_write(o_ctrl, + OIS_RUMBA_FWUPINDEX, OIS_RUMBA_FWUP_WRITE_PROG, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (ret < 0) + CAM_ERR(CAM_OIS, "[RUMBA_FW] Write f/w update index_program fail, %d", ret); + + usleep_range(10000, 10100); + + /* Write UserProgram Data */ + len = fw_size; + rd_buf_addr = buffer; + + while (len > 0) { + wbytes = (len > unit) ? unit : len; + /* write the unit */ + memcpy(sendData, rd_buf_addr, wbytes); + ret = cam_ois_i2c_write_continous(o_ctrl, + OIS_RUMBA_FWUPBUFFER, sendData, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, + (int)sizeof(sendData)); + if (ret < 0) { + CAM_ERR(CAM_OIS, "[RUMBA_FW][%d] i2c byte prog code write fail, %d", + blk_cnt, ret); + //break; /* fail to write */ + goto ERROR; + } + + /* Write 64 bytes into slave device*/ + ctrl_status = 0; + ret = cam_ois_i2c_read(o_ctrl, + OIS_RUMBA_FWUPCTRL, &ctrl_status, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (ret < 0) + CAM_ERR(CAM_OIS, "[RUMBA_FW][%d] Read f/w update ctrl_status fail, (ret = %d, ctrl_status 0x%x)", + blk_cnt, ret, ctrl_status); + + ctrl_status |= OIS_RUMBA_FWUP_CTRLBIT_WRITE; + ret = cam_ois_i2c_write(o_ctrl, + OIS_RUMBA_FWUPCTRL, ctrl_status, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (ret < 0) + CAM_ERR(CAM_OIS, "[RUMBA_FW][%d] Write f/w update ctrl_write (block write) fail, %d", + blk_cnt, ret); + + retry = 0; + while (((ctrl_status & OIS_RUMBA_FWUP_CTRLBIT_WRITE) != 0) && (retry++ < 50)) { + ctrl_status = 0; + ret = cam_ois_i2c_read(o_ctrl, + OIS_RUMBA_FWUPCTRL, &ctrl_status, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (ret < 0) + CAM_ERR(CAM_OIS, "[RUMBA_FW][%d] (%d) Read f/w update ctrl_write fail, (ret = %d, ctrl_status 0x%x)", + blk_cnt, retry, ret, ctrl_status); + + if ((ctrl_status & OIS_RUMBA_FWUP_CTRLBIT_WRITE) == 0) + break; + usleep_range(1000, 1100); + }; + + err_status = 0; + ret = cam_ois_i2c_read(o_ctrl, + OIS_RUMBA_FWUPERR, &err_status, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if ((ret < 0) || + ((ctrl_status & OIS_RUMBA_FWUP_CTRLBIT_WRITE) != 0) || + (err_status > OIS_RUMBA_FWUPERR_E_NOROM)) { + CAM_ERR(CAM_OIS, "[RUMBA_FW][%d] Check f/w update ctrl_write (block write) fail, (ctrl_reg[0x%x] = 0x%x, err_reg[0x%x] = 0x%x, ret = %d)", + blk_cnt, OIS_RUMBA_FWUPCTRL, ctrl_status, OIS_RUMBA_FWUPERR, err_status, ret); + ret = -1; + goto ERROR; + } + + rd_buf_addr += wbytes; + len -= wbytes; + blk_cnt++; + } + + usleep_range(10000, 10100); + + /* Write firmware update index -> Compare checksum and f/w revision */ + ret = cam_ois_i2c_write(o_ctrl, + OIS_RUMBA_FWUPINDEX, OIS_RUMBA_FWUP_CHECKSUM, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (ret < 0) + CAM_ERR(CAM_OIS, "[RUMBA_FW] Write f/w update index_checksum fail, %d", ret); + + msleep(300); + + /* Check firmware update error */ + err_status = 0; + ret = cam_ois_i2c_read(o_ctrl, + OIS_RUMBA_FWUPERR, &err_status, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if ((ret < 0) || (err_status != 0)) { + CAM_ERR(CAM_OIS, "[RUMBA_FW] Check f/w update checksum and revision fail (ret = %d, err_reg[0x%x] = 0x%x)", + ret, OIS_RUMBA_FWUPERR, err_status); + ret = -1; + goto ERROR; + } + + /* Write calibration data into data section of flash rom */ + ret = cam_ois_i2c_write(o_ctrl, + OIS_RUMBA_FWUPINDEX, OIS_RUMBA_FWUP_DATAWRITE, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (ret < 0) + CAM_ERR(CAM_OIS, "[RUMBA_FW] Write f/w update index_calibration fail, %d", ret); + + msleep(200); + + /* Check firmware update error */ + err_status = 0; + ret = cam_ois_i2c_read(o_ctrl, + OIS_RUMBA_FWUPERR, &err_status, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if ((ret < 0) || (err_status != 0)) { + CAM_ERR(CAM_OIS, "[RUMBA_FW][S12] Write f/w update index_calibration fail (ret =%d, err_reg[0x%x] = 0x%x)", + ret, OIS_RUMBA_FWUPERR, err_status); + ret = -1; + goto ERROR; + } + + ret = cam_ois_i2c_write(o_ctrl, + OIS_RUMBA_FWUPINDEX, OIS_RUMBA_FWUP_END, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + if (ret < 0) + CAM_ERR(CAM_OIS, "[RUMBA_FW] Write f/w update index_end fail, %d", ret); + + cam_ois_rumba_read_module_ver(o_ctrl); + cam_ois_rumba_read_module_vendor(o_ctrl); + + CAM_INFO(CAM_OIS, "[RUMBA_FW] All f/w update done (new version: %u)", + o_ctrl->module_rumba_ver); + +END: +ERROR: + if (buffer) { + vfree(buffer); + buffer = NULL; + } + fw_size = 0; + release_firmware(fw); + + CAM_INFO(CAM_OIS, "X"); + return ret; +} + +int cam_ois_rumba_check_fw(struct cam_ois_ctrl_t *o_ctrl) +{ + int rc = 0; + bool is_force_update = false; + bool is_need_retry = false; + uint32_t retry = 0; + + CAM_INFO(CAM_OIS, "E"); + +FW_UPDATE_RETRY: + rc = cam_ois_power_up(o_ctrl); + if (rc < 0) { + CAM_ERR(CAM_OIS, "OIS Power up failed"); + goto end; + } + usleep_range(15000, 15100); + + rc = cam_ois_wait_idle(o_ctrl, 2); + if (rc < 0) { + CAM_ERR(CAM_OIS, "wait ois idle status failed"); + goto pwr_dwn; + } + + rc = cam_ois_rumba_read_module_ver(o_ctrl); + if (rc < 0) { + CAM_ERR(CAM_OIS, "read module rumba version fail %d. skip fw update", rc); + goto pwr_dwn; + } + + rc = cam_ois_rumba_read_phone_ver(o_ctrl); + if (rc < 0) { + CAM_ERR(CAM_OIS, "read phone rumba version fail %d. skip fw update", rc); + goto pwr_dwn; + } + + rc = cam_ois_rumba_read_module_vendor(o_ctrl); + if (rc < 0) { + CAM_ERR(CAM_OIS, "read module vendor code fail %d", rc); + } + + CAM_INFO(CAM_OIS, "is_force_update %d, module_rumba_ver: %u, phone_rumba_ver: %u", + is_force_update, o_ctrl->module_rumba_ver, o_ctrl->phone_rumba_ver); + + rc = cam_ois_rumba_check_validation(o_ctrl); + if (rc == -4) + CAM_INFO(CAM_OIS, "Need to check rumba checksum (rc = %d)", rc); + else if (rc < 0) + CAM_INFO(CAM_OIS, "No need to update rumba f/w (rc = %d)", rc); + + if (is_force_update || (rc == 0) || (rc == -4)) + { + bool checksum_enable = false; + if (rc == -4) { + checksum_enable = true; + } + + rc = cam_ois_rumba_fw_update(o_ctrl, checksum_enable); + if (rc < 0) { + CAM_ERR(CAM_OIS, "update rumba f/w fail! (rc = %d, retry = %d)", rc, retry); + is_need_retry = ((++retry > 2) ? false : true); + } else { + CAM_INFO(CAM_OIS, "update rumba f/w success! (rc = %d, retry = %d, oisfw_force_update = 0x%x)", + rc, retry, oisfw_force_update); + is_need_retry = false; + } + } + +pwr_dwn: + cam_ois_power_down(o_ctrl); + if (is_need_retry) { + goto FW_UPDATE_RETRY; + } +end: + oisfw_force_update &= ~OIS_FW_FORCE_UPDATE_BIT_RUMBA; + CAM_INFO(CAM_OIS, "X (oisfw_force_update = 0x%x)", oisfw_force_update); + return rc; +} + +int cam_ois_rumba_check_validation(struct cam_ois_ctrl_t *o_ctrl) { + int rc = 0; + int retries = 0; + uint8_t module4_info_tmp[12] = ""; + bool is_force_update = false; + char vendor_char = 'X'; + + CAM_INFO(CAM_OIS, "E"); + + strncpy(module4_info_tmp, &module_info[INDEX_REAR4][7], 11); + module4_info_tmp[11] = '\0'; + if (module4_info_tmp[0] != OIS_TELE_5X_MODULE_VALID_MARK) { + strcpy(module4_info_tmp, "ISNULL"); + module4_info_tmp[6] = '\0'; + module4_info_tmp[OIS_TELE_5X_MODULE_VENDOR_OFFSET] = 'X'; + } + + while ((o_ctrl->module_vendor_code == 0) && (retries++ <= 50)) { + rc = cam_ois_rumba_read_module_vendor(o_ctrl); + if (o_ctrl->module_vendor_code != 0) + break; + usleep_range(1000, 1100); + } + + if (o_ctrl->module_vendor_code != OIS_RUMBA_VENDOR_CODE_INVALID) + o_ctrl->module_vendor_code &= OIS_RUMBA_VENDOR_CODE_MASK; + + if (o_ctrl->module_vendor_code == OIS_RUMBA_VENDOR_CODE_SEMCO) + vendor_char = 'S'; + else if (o_ctrl->module_vendor_code == OIS_RUMBA_VENDOR_CODE_SUNNY) + vendor_char = 'Y'; + else + vendor_char = 'X'; + + if (oisfw_force_update & OIS_FW_FORCE_UPDATE_BIT_RUMBA) + is_force_update = true; + + CAM_INFO(CAM_OIS, "mcu version %s, mcu vendor code 0x%x (%c), module info %s", + o_ctrl->module_ver, o_ctrl->module_vendor_code, vendor_char, module4_info_tmp); + CAM_INFO(CAM_OIS, "rumba version (module %u, phone %u), oisfw_force_update 0x%x", + o_ctrl->module_rumba_ver, o_ctrl->phone_rumba_ver, oisfw_force_update); + + if (strncmp(&o_ctrl->module_ver[OIS_MCU_VDRINFO_SIZE], OIS_RUMBA_FWUP_SUPPORT_MCU_VERSION, OIS_MCU_VERSION_SIZE) < 0) { + oisfw_force_update &= ~OIS_FW_FORCE_UPDATE_BIT_RUMBA; + CAM_INFO(CAM_OIS, "Not support rumba f/w"); + rc = -1; + } else { + if ((!strncmp(module4_info_tmp, OIS_TELE_5X_MODULE_VERSION_PREFIX, OIS_TELE_5X_MODULE_VERSION_SIZE) && + (module4_info_tmp[OIS_TELE_5X_MODULE_VENDOR_OFFSET] == OIS_TELE_5X_MODULE_VENDOR_NAME)) || + (o_ctrl->module_vendor_code == OIS_RUMBA_VENDOR_CODE_SEMCO) || + (o_ctrl->module_vendor_code == OIS_RUMBA_VENDOR_CODE_INVALID)) { + if (is_force_update || + (o_ctrl->module_vendor_code == OIS_RUMBA_VENDOR_CODE_INVALID) || + ((o_ctrl->module_rumba_ver >= OIS_RUMBA_VERSION_BASIS) && + (o_ctrl->module_rumba_ver < o_ctrl->phone_rumba_ver))) { + CAM_INFO(CAM_OIS, "Need to update rumba f/w"); + rc = 0; + } else { + CAM_INFO(CAM_OIS, "No need to update rumba f/w"); + if ((o_ctrl->module_rumba_ver >= OIS_RUMBA_VERSION_BASIS) && (o_ctrl->module_rumba_ver == o_ctrl->phone_rumba_ver)) { + rc = -4; + } else { + rc = -3; + } + } + } else { + oisfw_force_update &= ~OIS_FW_FORCE_UPDATE_BIT_RUMBA; + CAM_INFO(CAM_OIS, "No need to update module vendor"); + rc = -2; + } + } + + CAM_INFO(CAM_OIS, "X"); + return rc; +} +#endif diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_mcu_stm32g.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_mcu_stm32g.h new file mode 100644 index 0000000000..a1b0bb8f58 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_mcu_stm32g.h @@ -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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_soc.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_soc.c index 734a282475..fe5ea6acbb 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_soc.c +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_soc.c @@ -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; } /** diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_thread.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_thread.c new file mode 100644 index 0000000000..425de71b62 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_thread.c @@ -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 +#include +#include +#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; +} diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_thread.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_thread.h new file mode 100644 index 0000000000..6918048631 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_ois/cam_ois_thread.h @@ -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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx258.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx258.h new file mode 100755 index 0000000000..e61fb5bf95 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx258.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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx374.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx374.h new file mode 100755 index 0000000000..9ccf19b629 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx374.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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx374_2_0.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx374_2_0.h new file mode 100755 index 0000000000..8a1b8084e1 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx374_2_0.h @@ -0,0 +1,1911 @@ +/* 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_2_0_H_ +#define _CAM_SENSOR_ADAPTIVE_MIPI_IMX374_2_0_H_ + +#include "cam_sensor_dev.h" + +int num_front_mipi_setting = 2; + +/* +Q6_FrontCAM_Adaptive MIPI 2.0_IMX374_231204.xlsx +SET A : Full mode (860.8 / 995.2 / 1011.2 / 1046.4) +SET B : 4k2k 60fps mode (1196.8 / 1011.2 / 1139.2 / 1094.4) +*/ + +/*************************************/ +/* ========== SET A =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_SET_A_860_REG_ARRAY[] = { + {0x030F, 0x0D, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_A_995_REG_ARRAY[] = { + {0x030F, 0x37, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_A_1011_REG_ARRAY[] = { + {0x030F, 0x3C, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_A_1046_REG_ARRAY[] = { + {0x030F, 0x47, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx374_setfile_A_mipi_860[] = { + { MIPI_SET_A_860_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_860_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_995[] = { + { MIPI_SET_A_995_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_995_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_1011[] = { + { MIPI_SET_A_1011_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_1011_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_1046[] = { + { MIPI_SET_A_1046_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_1046_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[] = { + { "860 Mhz", 860, + sensor_imx374_setfile_A_mipi_860, ARRAY_SIZE(sensor_imx374_setfile_A_mipi_860) }, + { "995 Mhz", 995, + sensor_imx374_setfile_A_mipi_995, ARRAY_SIZE(sensor_imx374_setfile_A_mipi_995) }, + { "1011 Mhz", 1011, + sensor_imx374_setfile_A_mipi_1011, ARRAY_SIZE(sensor_imx374_setfile_A_mipi_1011) }, + { "1046 Mhz", 1046, + sensor_imx374_setfile_A_mipi_1046, ARRAY_SIZE(sensor_imx374_setfile_A_mipi_1046) }, +}; + +static const struct cam_mipi_cell_ratings sensor_imx374_setfile_A_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {63, 63, 0, 6} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10579, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10580, 10582, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10583, 10652, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10653, 10663, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10664, 10690, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10691, 10724, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10725, 10733, {60, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10734, 10760, {60, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10761, 10794, {60, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10795, 10835, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10836, 10838, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9668, {60, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9669, 9714, {60, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9715, 9718, {60, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9719, 9738, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9739, 9824, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9825, 9864, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9865, 9894, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9895, 9905, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9906, 9916, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9917, 9934, {3, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9935, 9938, {0, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1190, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1191, 1198, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1199, 1245, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1246, 1260, {0, 0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1261, 1295, {0, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1296, 1315, {0, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1316, 1343, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1344, 1365, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1366, 1413, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1414, 1443, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1444, 1507, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1508, 1513, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1554, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1555, 1557, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1558, 1627, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1628, 1638, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1639, 1665, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1666, 1699, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1700, 1708, {60, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1709, 1735, {60, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1736, 1738, {60, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4412, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4413, 4443, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4444, 4458, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4412, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4413, 4413, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2239, {2, 0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2240, 2276, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2277, 2287, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2288, 2305, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2306, 2346, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2347, 2431, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2432, 2432, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2433, 2488, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2489, 2501, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2502, 2502, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2503, 2525, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2526, 2558, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2559, 2563, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2973, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2974, 2992, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2993, 2999, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3000, 3043, {7, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3044, 3062, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3063, 3068, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3069, 3069, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3070, 3088, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 737, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 738, 763, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 59, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 60, 65, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 66, 205, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 206, 226, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 227, 281, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 282, 349, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 350, 366, {60, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 367, 421, {60, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 422, 489, {60, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 490, 570, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 571, 599, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 636, {60, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 637, 728, {60, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 729, 737, {60, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 738, 776, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 777, 948, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 949, 1028, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1029, 1088, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1089, 1111, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1112, 1133, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1134, 1168, {3, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1169, 1199, {0, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1281, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1282, 1296, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1297, 1391, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1392, 1421, {0, 0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1422, 1491, {0, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1492, 1531, {0, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1532, 1587, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1588, 1631, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1632, 1727, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1728, 1787, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1788, 1915, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1916, 1927, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1928, 1949, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2009, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2010, 2015, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2016, 2155, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2156, 2176, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2177, 2231, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2232, 2299, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2300, 2316, {60, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2317, 2371, {60, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2372, 2399, {60, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2534, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2535, 2596, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2597, 2649, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2771, {2, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2772, 2779, {2, 0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2780, 2852, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2853, 2874, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2875, 2911, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2912, 2992, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2993, 3163, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3164, 3164, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3165, 3276, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3277, 3303, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3304, 3304, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3305, 3350, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3351, 3416, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3417, 3449, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3547, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3548, 3584, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3585, 3598, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3599, 3687, {7, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3688, 3724, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3725, 3736, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3737, 3738, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3739, 3799, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5106, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5107, 5113, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5114, 5114, {0, 140, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5115, 5179, {0, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5233, {0, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5234, 5253, {0, 140, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5254, 5279, {0, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5353, {0, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5354, 5377, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5378, 5379, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5776, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5777, 5783, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5784, 5784, {0, 140, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5785, 5849, {0, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5915, {140, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5916, 5927, {140, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5928, 5999, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6074, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6075, 6136, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6137, 6149, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6157, {0, 7, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6158, 6259, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6260, 6271, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6272, 6347, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6348, 6399, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6400, 6449, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6484, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6485, 6488, {60, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6489, 6588, {60, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6589, 6593, {60, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6594, 6599, {60, 0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8076, {60, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8077, 8168, {60, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8169, 8177, {60, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8178, 8216, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8217, 8388, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8389, 8468, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8469, 8528, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8529, 8551, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8552, 8573, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8574, 8608, {3, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8609, 8689, {0, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8765, {140, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8766, 8777, {140, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8778, 8924, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8925, 8986, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8987, 9039, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9283, {0, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9284, 9307, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9308, 9407, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9408, 9447, {7, 0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9448, 9521, {0, 0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9522, 9547, {0, 7, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9548, 9649, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9650, 9659, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9736, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9737, 9744, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9745, 9769, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9869, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9963, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9964, 9979, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9980, 9992, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9993, 10103, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10104, 10119, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10120, 10132, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10133, 10257, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10258, 10359, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36254, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36255, 36258, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36259, 36349, {3, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37756, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37757, 37765, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37766, 37803, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37804, 37855, {40, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37856, 37905, {40, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37906, 37943, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37944, 37995, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37996, 38139, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38140, 38234, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38235, 38249, {2, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38288, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38289, 38317, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38318, 38355, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38356, 38428, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38429, 38457, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38458, 38592, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38593, 38649, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38740, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38741, 38821, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38822, 38837, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38838, 38961, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38962, 38967, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38968, 38977, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38978, 39107, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39108, 39123, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39124, 39251, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39252, 39263, {40, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39264, 39343, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39344, 39391, {40, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39392, 39464, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39465, 39483, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39484, 39604, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39605, 39647, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39648, 39649, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39723, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39724, 39733, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39734, 39873, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39874, 39899, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39900, 39997, {0, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39998, 40013, {0, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40014, 40039, {2, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40040, 40137, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40138, 40153, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40154, 40256, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40257, 40396, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40397, 40405, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40406, 40443, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40444, 40495, {40, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40496, 40545, {40, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40546, 40583, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40584, 40635, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40636, 40779, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40780, 40874, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40875, 40911, {2, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40912, 40919, {2, 0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40920, 40992, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40993, 41014, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41015, 41051, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41052, 41132, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41133, 41303, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41304, 41304, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41305, 41416, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41417, 41443, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41444, 41444, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41445, 41490, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41491, 41556, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41557, 41589, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41661, {2, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41662, 41668, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41669, 41854, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41855, 41900, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41901, 41952, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41953, 41994, {40, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41995, 42040, {40, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42041, 42051, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42052, 42092, {40, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42093, 42191, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42192, 42352, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42353, 42382, {0, 40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42383, 42406, {2, 40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42407, 42492, {2, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42493, 42522, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42523, 42546, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42547, 42574, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42575, 42714, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42715, 42812, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42813, 42849, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42850, 42912, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42913, 42952, {2, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42953, 42989, {0, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42990, 43052, {0, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43053, 43097, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43098, 43237, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43238, 43243, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43244, 43347, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43348, 43383, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43384, 43417, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43418, 43487, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43488, 43557, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43558, 43589, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55247, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55248, 55387, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55388, 55393, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55394, 55497, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55498, 55533, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55534, 55567, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55568, 55637, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55638, 55707, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55708, 55770, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55771, 55823, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55824, 55910, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55911, 55963, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55964, 55994, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55995, 56073, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56074, 56134, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56135, 56213, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56214, 56254, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56255, 56294, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56295, 56394, {40, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56395, 56434, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56435, 56492, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56493, 56578, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56579, 56632, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56633, 56684, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56685, 56718, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56719, 56739, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66495, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66496, 66501, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66502, 66641, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66642, 66662, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66663, 66717, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66718, 66785, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66786, 66802, {60, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66803, 66857, {60, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66858, 66925, {60, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66926, 67006, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67007, 67146, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67147, 67160, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67161, 67216, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67217, 67240, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67241, 67300, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67301, 67335, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68624, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68625, 68764, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68765, 68801, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68802, 68814, {140, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68815, 68918, {140, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68919, 68935, {140, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {12, 0, 6, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 3, 3, 66} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {2, 0, 0, 46} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {63, 63, 0, 6} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {147, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 423180, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423181, 423300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423301, 426100, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426101, 426520, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426521, 427620, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427621, 428980, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428981, 429320, {60, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429321, 430420, {60, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 430421, 431780, {60, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 431781, 433400, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433401, 433980, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 386720, {60, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386721, 388560, {60, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388561, 388740, {60, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388741, 389520, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389521, 392960, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392961, 394560, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 394561, 395760, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395761, 396220, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396221, 396660, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396661, 397360, {3, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397361, 397980, {0, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 362620, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362621, 362920, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362921, 364820, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 364821, 365420, {0, 0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365421, 366820, {0, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366821, 367620, {0, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367621, 368740, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 368741, 369620, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369621, 371540, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 371541, 372740, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372741, 375300, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 375301, 375540, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 375541, 375980, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 176480, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176481, 177720, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 177721, 178780, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 524420, {2, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524421, 524580, {2, 0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524581, 526040, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 526041, 526480, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 526481, 527220, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527221, 528840, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528841, 532260, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 532261, 532280, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 532281, 534520, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534521, 535060, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 535061, 535080, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 535081, 536000, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 536001, 537320, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537321, 538000, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186940, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186941, 187680, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187681, 187960, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187961, 189740, {7, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189741, 190480, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 190481, 190720, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 190721, 190760, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 190761, 191980, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 147720, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147721, 147860, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147861, 147880, {0, 140, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147881, 149200, {0, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 150260, {0, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150261, 150660, {0, 140, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150661, 151200, {0, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 153060, {0, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153061, 153540, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153541, 153580, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 173300, {140, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173301, 173540, {140, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173541, 175000, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 158340, {0, 7, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158341, 160380, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160381, 160620, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160621, 162140, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162141, 163180, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163181, 164180, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 386720, {60, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386721, 388560, {60, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388561, 388740, {60, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388741, 389520, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389521, 392960, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392961, 394560, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 394561, 395760, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395761, 396220, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396221, 396660, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396661, 397360, {3, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397361, 398980, {0, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 173300, {140, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173301, 173540, {140, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173541, 176480, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176481, 177720, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 177721, 178800, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 153060, {0, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153061, 153540, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153541, 155540, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155541, 156340, {7, 0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156341, 157820, {0, 0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157821, 158340, {0, 7, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158341, 160380, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160381, 160580, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 144920, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 144921, 145080, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 145081, 145580, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 471980, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 514120, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514121, 514300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514301, 515060, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515061, 516100, {40, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 516101, 517100, {40, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517101, 517860, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517861, 518900, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518901, 521780, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 521781, 523680, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 523681, 523980, {2, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 376760, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376761, 377340, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377341, 378100, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378101, 379560, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 379561, 380140, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380141, 382840, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382841, 384000, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 461800, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461801, 463420, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463421, 463740, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463741, 466220, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466221, 466340, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466341, 466540, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466541, 469140, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 469141, 469460, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 469461, 472020, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 472021, 472260, {40, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 472261, 473860, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 473861, 474820, {40, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 474821, 476280, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476281, 476660, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476661, 479080, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479081, 479940, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479941, 480000, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 500660, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 500661, 500860, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 500861, 503660, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 503661, 504180, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504181, 506140, {0, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506141, 506460, {0, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506461, 506980, {2, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506981, 508940, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 508941, 509260, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509261, 511320, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511321, 514120, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514121, 514300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514301, 515060, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515061, 516100, {40, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 516101, 517100, {40, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517101, 517860, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517861, 518900, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518901, 521780, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 521781, 523680, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 523681, 524420, {2, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524421, 524580, {2, 0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524581, 526040, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 526041, 526480, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 526481, 527220, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527221, 528840, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528841, 532260, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 532261, 532280, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 532281, 534520, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534521, 535060, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 535061, 535080, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 535081, 536000, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 536001, 537320, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537321, 537980, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 636707, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636708, 637647, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637648, 637687, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637688, 638367, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638368, 638607, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638608, 638847, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638848, 639307, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639308, 639767, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639768, 640187, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640188, 640547, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640548, 641127, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641128, 641487, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641488, 641687, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641688, 642207, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642208, 642627, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642628, 643147, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643148, 643407, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643408, 643687, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643688, 644347, {20, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644348, 644627, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644628, 645007, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645008, 645587, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645588, 645947, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645948, 646287, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646288, 646507, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646508, 646666, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 423180, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423181, 423300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423301, 426100, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426101, 426520, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426521, 427620, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427621, 428980, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428981, 429320, {60, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429321, 430420, {60, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 430421, 431780, {60, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 431781, 433400, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433401, 436200, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 436201, 436480, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 436481, 437600, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437601, 438080, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438081, 439280, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 439281, 439980, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124160, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124161, 126960, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126961, 127700, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127701, 127960, {140, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127961, 130040, {140, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 130041, 130380, {140, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620200, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620201, 620460, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620461, 621400, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621401, 621780, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621781, 621980, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621981, 622720, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622721, 622760, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622761, 622920, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622921, 623340, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623341, 623680, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623681, 624260, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624261, 625100, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625101, 625360, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625361, 626040, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626041, 626200, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626201, 626240, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626241, 626300, {1, 0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626301, 627140, {1, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627141, 627180, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627181, 628420, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628421, 628720, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628721, 629080, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629081, 629360, {20, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629361, 629660, {20, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629661, 629740, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629741, 630000, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630001, 630660, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630661, 631740, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631741, 631940, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631941, 632100, {1, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632101, 632680, {1, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632681, 632880, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632881, 633040, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633041, 633220, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633221, 634160, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634161, 634800, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634801, 635060, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635061, 635480, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635481, 635740, {1, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635741, 635980, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635981, 636400, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636401, 636700, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636701, 637640, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637641, 637680, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637681, 638380, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638381, 638620, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638621, 638840, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638841, 639300, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639301, 639780, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639781, 640200, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640201, 640540, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640541, 641120, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641121, 641480, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641481, 641680, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641681, 642220, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642221, 642620, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642621, 643140, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643141, 643420, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643421, 643680, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643681, 644340, {20, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644341, 644620, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644621, 645000, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645001, 645580, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645581, 645940, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645941, 646280, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646281, 646520, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646521, 647180, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647181, 647220, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647221, 648100, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648101, 648320, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648321, 648960, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648961, 649160, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649161, 649260, {1, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649261, 649880, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649881, 650080, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650081, 650660, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650661, 651600, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651601, 651640, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651641, 652020, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652021, 652320, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652321, 652580, {1, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652581, 652960, {1, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652961, 653260, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653261, 654140, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654141, 654900, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654901, 654960, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654961, 655080, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655081, 655700, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655701, 655820, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655821, 655900, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655901, 656620, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656621, 657640, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657641, 657760, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657761, 658280, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658281, 658560, {20, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658561, 658700, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658701, 659060, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659061, 659200, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659201, 660000, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660001, 660640, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660641, 661120, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661121, 661560, {1, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661561, 661600, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661601, 662060, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662061, 662440, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662441, 662520, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662521, 663360, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663361, 663500, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663501, 664440, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664441, 664620, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664621, 664920, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664921, 665540, {0, 20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665541, 665800, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665801, 665840, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665841, 666380, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666381, 666740, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666741, 667300, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667301, 668100, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668101, 668220, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668221, 669040, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669041, 669160, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669161, 669180, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669181, 669240, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669241, 670100, {1, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670101, 670180, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670181, 671540, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671541, 671580, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671581, 672100, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672101, 672480, {20, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672481, 672520, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672521, 672540, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672541, 673040, {20, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673041, 673480, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673481, 674860, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674861, 674980, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674981, 675080, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675081, 675800, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675801, 675920, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675921, 676000, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676001, 676860, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676861, 677840, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677841, 678180, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678181, 678560, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678561, 678780, {1, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678781, 679120, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679121, 679280, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679281, 679500, {0, 0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679501, 680000, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620200, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620201, 620460, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620461, 621400, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621401, 621780, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621781, 621980, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621981, 622720, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622721, 622760, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622761, 622920, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622921, 623340, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623341, 623680, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623681, 624260, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624261, 625100, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625101, 625360, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625361, 626040, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626041, 626200, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626201, 626240, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626241, 626300, {1, 0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626301, 627140, {1, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627141, 627180, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627181, 628420, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628421, 628720, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628721, 629080, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629081, 629360, {20, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629361, 629660, {20, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629661, 629740, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629741, 630000, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630001, 630660, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630661, 631740, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631741, 631940, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631941, 632100, {1, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632101, 632680, {1, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632681, 632880, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632881, 633040, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633041, 633220, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633221, 634160, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634161, 634800, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634801, 635060, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635061, 635480, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635481, 635740, {1, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635741, 635980, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635981, 636400, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636401, 636700, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636701, 637640, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637641, 637680, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637681, 638380, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638381, 638620, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638621, 638840, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638841, 639300, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639301, 639780, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639781, 640200, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640201, 640540, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640541, 641120, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641121, 641480, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641481, 641680, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641681, 642220, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642221, 642620, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642621, 643140, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643141, 643420, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643421, 643680, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643681, 644340, {20, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644341, 644620, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644621, 645000, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645001, 645580, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645581, 645940, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645941, 646280, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646281, 646520, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646521, 647180, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647181, 647220, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647221, 648100, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648101, 648320, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648321, 648960, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648961, 649160, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649161, 649260, {1, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649261, 649880, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649881, 650080, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650081, 650660, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650661, 651600, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651601, 651640, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651641, 652020, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652021, 652320, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652321, 652580, {1, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652581, 652960, {1, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652961, 653260, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 653261, 653333, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693454, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693455, 693714, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693715, 694774, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694775, 695074, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695075, 695694, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695695, 695994, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695995, 696014, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696015, 696134, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696135, 696934, {0, 0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696935, 697074, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697075, 697934, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697935, 698094, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698095, 698874, {1, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698875, 699014, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699015, 699494, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699495, 699514, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699515, 700434, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700435, 700454, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700455, 700814, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700815, 701394, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701395, 701734, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701735, 702334, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702335, 702894, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702895, 702974, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702975, 703674, {0, 0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703675, 703814, {1, 0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703815, 703914, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703915, 704614, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704615, 704714, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704715, 705654, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705655, 706254, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706255, 706474, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706475, 706534, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706535, 707194, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707195, 707394, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707395, 707474, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707475, 708034, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708035, 708974, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708975, 709414, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709415, 709634, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709635, 709954, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709955, 710354, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710355, 710554, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710555, 710894, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710895, 711354, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711355, 712274, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712275, 712294, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712295, 712994, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712995, 713214, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713215, 713454, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713455, 713934, {0, 0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713935, 714374, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714375, 714674, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714675, 715154, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715155, 715594, {20, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715595, 715614, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715615, 716074, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716075, 716374, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716375, 716934, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716935, 717294, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717295, 717874, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717875, 717994, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717995, 718014, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718015, 718914, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718915, 718954, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718955, 719734, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719735, 720414, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720415, 720674, {0, 0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720675, 720894, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720895, 721314, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721315, 721354, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721355, 721814, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721815, 722234, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722235, 723114, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723115, 723754, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723755, 723914, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723915, 724034, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724035, 724614, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724615, 724694, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724695, 724834, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724835, 725554, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725555, 726474, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726475, 726634, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726635, 727394, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727395, 727414, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727415, 727554, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727555, 727934, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727935, 728334, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728335, 728874, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728875, 729494, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729495, 729854, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729855, 730434, {20, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730435, 730774, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730775, 730894, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730895, 731254, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731255, 731814, {0, 20, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731815, 732194, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732195, 732374, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732375, 733214, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733215, 733294, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733295, 733333, {0, 0, 1, 0} }, +}; + +static const struct cam_mipi_sensor_mode sensor_front_mipi_A_mode[] = { + { + sensor_imx374_setfile_A_mipi_channel, ARRAY_SIZE(sensor_imx374_setfile_A_mipi_channel), + sensor_imx374_setfile_A_mipi_setting, ARRAY_SIZE(sensor_imx374_setfile_A_mipi_setting) + }, +}; + +/*************************************/ +/* ========== SET B =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_SET_B_1196_REG_ARRAY[] = { + {0x030F, 0x76, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_B_1011_REG_ARRAY[] = { + {0x030F, 0x3C, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_B_1139_REG_ARRAY[] = { + {0x030F, 0x64, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_B_1094_REG_ARRAY[] = { + {0x030F, 0x56, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx374_setfile_B_mipi_1196[] = { + { MIPI_SET_B_1196_REG_ARRAY, ARRAY_SIZE(MIPI_SET_B_1196_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_1011[] = { + { MIPI_SET_B_1011_REG_ARRAY, ARRAY_SIZE(MIPI_SET_B_1011_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_1139[] = { + { MIPI_SET_B_1139_REG_ARRAY, ARRAY_SIZE(MIPI_SET_B_1139_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_1094[] = { + { MIPI_SET_B_1094_REG_ARRAY, ARRAY_SIZE(MIPI_SET_B_1094_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[] = { + { "1196 Mhz", 1196, + sensor_imx374_setfile_B_mipi_1196, ARRAY_SIZE(sensor_imx374_setfile_B_mipi_1196) }, + { "1011 Mhz", 1011, + sensor_imx374_setfile_B_mipi_1011, ARRAY_SIZE(sensor_imx374_setfile_B_mipi_1011) }, + { "1139 Mhz", 1139, + sensor_imx374_setfile_B_mipi_1139, ARRAY_SIZE(sensor_imx374_setfile_B_mipi_1139) }, + { "1094 Mhz", 1094, + sensor_imx374_setfile_B_mipi_1094, ARRAY_SIZE(sensor_imx374_setfile_B_mipi_1094) }, +}; + +static const struct cam_mipi_cell_ratings sensor_imx374_setfile_B_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {147, 0, 0, 14} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {0, 0, 66, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10572, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10573, 10582, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10583, 10635, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10636, 10652, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10653, 10705, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10706, 10736, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10737, 10787, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10788, 10806, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10807, 10835, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10836, 10838, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9718, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9719, 9814, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9815, 9824, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9825, 9838, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9839, 9884, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9885, 9894, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9895, 9908, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9909, 9932, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9933, 9938, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1188, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1189, 1190, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1191, 1203, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1204, 1260, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1261, 1273, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1274, 1365, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1366, 1392, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1393, 1435, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1436, 1443, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1444, 1462, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1463, 1488, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1489, 1513, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1547, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1548, 1557, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1558, 1610, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1611, 1627, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1628, 1680, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1681, 1711, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1712, 1738, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4412, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4413, 4452, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4453, 4458, {140, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4412, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4413, 4413, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2254, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2255, 2260, {2, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2261, 2292, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2293, 2305, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2306, 2324, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2325, 2475, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2476, 2488, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2489, 2496, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2497, 2545, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2546, 2553, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2554, 2558, {40, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2559, 2563, {40, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2986, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2987, 3052, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3053, 3068, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3069, 3088, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 737, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 738, 763, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 45, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 46, 65, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 66, 170, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 171, 205, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 206, 310, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 311, 372, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 373, 474, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 475, 512, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 513, 570, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 571, 599, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 736, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 737, 929, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 930, 948, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 949, 977, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 978, 1069, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1070, 1088, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1089, 1117, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1118, 1165, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1166, 1199, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1277, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1278, 1281, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1282, 1307, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1308, 1421, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1422, 1447, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1448, 1630, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1631, 1684, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1685, 1770, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1771, 1787, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1788, 1824, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1825, 1876, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1877, 1927, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1928, 1949, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1995, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1996, 2015, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2016, 2120, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2121, 2155, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2156, 2260, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2261, 2322, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2323, 2399, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2535, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2536, 2615, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2616, 2649, {140, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2771, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2772, 2809, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2810, 2821, {2, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2822, 2885, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2886, 2911, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2912, 2949, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2950, 3251, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3252, 3276, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3277, 3292, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3293, 3391, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3392, 3407, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3408, 3416, {40, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3417, 3432, {40, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3433, 3449, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3572, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3573, 3704, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3705, 3736, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3737, 3799, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5054, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5055, 5179, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5194, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5195, 5233, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5234, 5279, {0, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5290, {0, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5291, 5353, {0, 140, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5354, 5379, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5849, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5863, {0, 7, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5864, 5915, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5916, 5935, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5936, 5999, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6075, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6076, 6149, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6259, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6260, 6284, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6285, 6377, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6378, 6399, {0, 7, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6400, 6449, {0, 0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6520, {60, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6521, 6588, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6589, 6599, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8176, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8177, 8369, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8370, 8388, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8389, 8417, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8418, 8509, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8510, 8528, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8529, 8557, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8558, 8605, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8606, 8689, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8713, {0, 7, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8714, 8765, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8766, 8785, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8786, 8925, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8926, 9005, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9006, 9039, {140, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9220, {0, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9221, 9283, {0, 140, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9284, 9339, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9340, 9360, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9361, 9479, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9480, 9534, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9535, 9649, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9650, 9659, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9673, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9674, 9740, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9741, 9769, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9869, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9992, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9993, 10104, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10105, 10132, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10133, 10139, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10140, 10244, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10245, 10279, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10280, 10289, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10290, 10359, {60, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36254, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36255, 36276, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36277, 36349, {0, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37751, {2, 0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37752, 37765, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37766, 37838, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37839, 37851, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37852, 37905, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37906, 38181, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38182, 38245, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38246, 38249, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38316, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38317, 38528, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38529, 38531, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38532, 38592, {3, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38593, 38649, {3, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38702, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38703, 38837, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38838, 38917, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38918, 38933, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38934, 38977, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38978, 39057, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39058, 39073, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39074, 39109, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39110, 39249, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39250, 39343, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39344, 39483, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39484, 39503, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39504, 39515, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39516, 39643, {40, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39644, 39649, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39682, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39683, 39752, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39753, 39791, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39792, 39822, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39823, 39892, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39893, 39899, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39900, 39931, {0, 40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39932, 40039, {0, 40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40040, 40251, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40252, 40338, {0, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40339, 40351, {0, 0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40352, 40391, {2, 0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40392, 40405, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40406, 40478, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40479, 40491, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40492, 40545, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40546, 40821, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40822, 40885, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40886, 40911, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40912, 40949, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40950, 40961, {2, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40962, 41025, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41026, 41051, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41052, 41089, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41090, 41391, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41392, 41416, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41417, 41432, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41433, 41531, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41532, 41547, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41548, 41556, {40, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41557, 41572, {40, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41573, 41589, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41628, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41629, 41696, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41697, 41768, {2, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41769, 41836, {0, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41837, 41900, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41901, 41993, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41994, 42040, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42041, 42133, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42134, 42227, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42228, 42265, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42266, 42367, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42368, 42405, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42406, 42406, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42407, 42540, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42541, 42546, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42547, 42680, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42681, 42825, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42826, 42835, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42836, 42912, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42913, 42965, {2, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42966, 42975, {0, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42976, 43052, {0, 40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43053, 43088, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43089, 43228, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43229, 43404, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43405, 43417, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43418, 43424, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43425, 43544, {40, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43545, 43557, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43558, 43564, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43565, 43589, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55378, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55379, 55554, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55555, 55567, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55568, 55574, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55575, 55694, {40, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55695, 55707, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55708, 55714, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55715, 55785, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55786, 55925, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55926, 56073, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56074, 56124, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56125, 56172, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56173, 56213, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56214, 56264, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56265, 56312, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56313, 56332, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56333, 56472, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56473, 56578, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56579, 56694, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56695, 56718, {0, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56719, 56739, {0, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66481, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66482, 66501, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66502, 66606, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66607, 66641, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66642, 66746, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66747, 66808, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66809, 66910, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66911, 66948, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66949, 67006, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67007, 67050, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67051, 67146, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67147, 67153, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67154, 67293, {0, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67294, 67335, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68611, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68612, 68751, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68752, 68912, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68913, 68918, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68919, 68928, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68929, 68935, {7, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {6, 3, 0, 126} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {6, 0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {6, 6, 3, 126} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 3, 12, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {42, 0, 2, 4} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 3, 3, 63} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {147, 0, 0, 14} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {0, 0, 66, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {0, 7, 255, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 422900, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422901, 423300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423301, 425400, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425401, 426100, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426101, 428200, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428201, 429440, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429441, 431480, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 431481, 432240, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432241, 433400, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433401, 433980, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 388720, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388721, 392580, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392581, 392960, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392961, 393540, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393541, 395380, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395381, 395760, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395761, 396340, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396341, 397300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397301, 397980, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 362540, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362541, 362620, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362621, 363140, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363141, 365420, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365421, 365940, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365941, 369600, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369601, 370680, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370681, 372400, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372401, 372740, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372741, 373480, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373481, 374520, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 374521, 375540, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 375541, 375980, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 176500, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176501, 178100, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178101, 178780, {140, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 524420, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524421, 525180, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525181, 525420, {2, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525421, 526700, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 526701, 527220, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527221, 527980, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527981, 534020, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534021, 534520, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534521, 534840, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534841, 536820, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 536821, 537140, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537141, 537320, {40, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537321, 537640, {40, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537641, 538000, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 187440, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187441, 190080, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 190081, 190720, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 190721, 191980, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146680, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146681, 149200, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 149480, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149481, 150260, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150261, 151200, {0, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 151800, {0, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151801, 153060, {0, 140, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153061, 153580, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 172260, {0, 7, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172261, 173300, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173301, 173700, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173701, 175000, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 160380, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160381, 160880, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160881, 162740, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162741, 163180, {0, 7, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163181, 164180, {0, 0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 388720, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388721, 392580, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392581, 392960, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392961, 393540, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393541, 395380, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395381, 395760, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395761, 396340, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396341, 397300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397301, 398980, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 172260, {0, 7, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172261, 173300, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173301, 173700, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173701, 176500, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176501, 178100, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178101, 178800, {140, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 151800, {0, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151801, 153060, {0, 140, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153061, 154180, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154181, 154600, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154601, 156980, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156981, 158080, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158081, 160380, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160381, 160580, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 143660, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143661, 145000, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 145001, 145580, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 471980, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 514020, {2, 0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514021, 514300, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514301, 515760, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515761, 516020, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 516021, 517100, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517101, 522620, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522621, 523900, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 523901, 523980, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 377320, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377321, 381560, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381561, 381620, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381621, 382840, {3, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382841, 384000, {3, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 461040, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461041, 463740, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463741, 465340, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465341, 465660, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465661, 466540, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466541, 468140, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468141, 468460, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468461, 469180, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 469181, 471980, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471981, 473860, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 473861, 476660, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476661, 477060, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477061, 477300, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477301, 479860, {40, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479861, 480000, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 499840, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499841, 501240, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501241, 502020, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502021, 502640, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502641, 504040, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504041, 504180, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504181, 504820, {0, 40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504821, 506980, {0, 40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506981, 511220, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511221, 512960, {0, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512961, 513220, {0, 0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 513221, 514020, {2, 0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514021, 514300, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514301, 515760, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515761, 516020, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 516021, 517100, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517101, 522620, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522621, 523900, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 523901, 524420, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524421, 525180, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525181, 525420, {2, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525421, 526700, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 526701, 527220, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527221, 527980, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527981, 534020, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534021, 534520, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534521, 534840, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534841, 536820, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 536821, 537140, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537141, 537320, {40, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537321, 537640, {40, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537641, 537980, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 637567, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637568, 638747, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638748, 638847, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638848, 638887, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638888, 639687, {20, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639688, 639767, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639768, 639807, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639808, 640287, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640288, 641227, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641228, 642207, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642208, 642547, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642548, 642867, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642868, 643147, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643148, 643487, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643488, 643807, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643808, 643947, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643948, 644867, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644868, 645587, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645588, 646347, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646348, 646507, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646508, 646666, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 422900, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422901, 423300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423301, 425400, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425401, 426100, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426101, 428200, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428201, 429440, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429441, 431480, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 431481, 432240, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432241, 433400, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433401, 434280, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 434281, 436200, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 436201, 436340, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 436341, 439140, {0, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 439141, 439980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 123900, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123901, 126700, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126701, 129920, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129921, 130040, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 130041, 130240, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 130241, 130380, {7, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620700, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620701, 621980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621981, 622060, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622061, 622920, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622921, 622980, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622981, 623560, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623561, 623860, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623861, 624500, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624501, 625360, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625361, 625700, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625701, 626300, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626301, 626640, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626641, 626920, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626921, 627360, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627361, 627840, {1, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627841, 628300, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628301, 628720, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628721, 629340, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629341, 629660, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629661, 630280, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630281, 630900, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630901, 631160, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631161, 631840, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631841, 632100, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632101, 633000, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633001, 633040, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633041, 633920, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633921, 634900, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634901, 634960, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634961, 635480, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635481, 635820, {1, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635821, 635900, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635901, 636400, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636401, 636640, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636641, 637580, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637581, 638760, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638761, 638840, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638841, 638880, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638881, 639680, {20, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639681, 639780, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639781, 639820, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639821, 640300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640301, 641220, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641221, 642220, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642221, 642560, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642561, 642880, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642881, 643140, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643141, 643480, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643481, 643800, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643801, 643940, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643941, 644880, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644881, 645580, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645581, 646360, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646361, 646520, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646521, 646860, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646861, 647280, {1, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647281, 647580, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647581, 647800, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647801, 648520, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648521, 648960, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648961, 649880, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649881, 650140, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650141, 650860, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650861, 651080, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651081, 651240, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651241, 651780, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651781, 652160, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652161, 652320, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652321, 653260, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653261, 653940, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653941, 654840, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654841, 654880, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654881, 655700, {1, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655701, 655780, {1, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655781, 655820, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655821, 656620, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656621, 657740, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657741, 658540, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658541, 658680, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658681, 658840, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658841, 659060, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659061, 659460, {20, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659461, 659760, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659761, 660000, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660001, 661540, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661541, 662180, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662181, 662440, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662441, 662480, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662481, 662820, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662821, 663120, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663121, 663360, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663361, 663760, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663761, 665340, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665341, 665800, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665801, 665820, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665821, 666280, {0, 1, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666281, 666740, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666741, 666760, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666761, 666800, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666801, 667740, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667741, 669140, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669141, 669180, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669181, 669480, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669481, 670060, {0, 20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670061, 670100, {0, 20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670101, 670400, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670401, 670800, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670801, 671740, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671741, 672540, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672541, 672940, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672941, 673120, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673121, 673480, {0, 1, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673481, 673860, {0, 0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673861, 674060, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674061, 674780, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674781, 675720, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675721, 675920, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675921, 676720, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676721, 676780, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676781, 676860, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676861, 677660, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677661, 677700, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677701, 678780, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678781, 679280, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679281, 679700, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679701, 680000, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620700, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620701, 621980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621981, 622060, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622061, 622920, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622921, 622980, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622981, 623560, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623561, 623860, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623861, 624500, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624501, 625360, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625361, 625700, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625701, 626300, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626301, 626640, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626641, 626920, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626921, 627360, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627361, 627840, {1, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627841, 628300, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628301, 628720, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628721, 629340, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629341, 629660, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629661, 630280, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630281, 630900, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630901, 631160, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631161, 631840, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631841, 632100, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632101, 633000, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633001, 633040, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633041, 633920, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633921, 634900, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634901, 634960, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634961, 635480, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635481, 635820, {1, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635821, 635900, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635901, 636400, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636401, 636640, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636641, 637580, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637581, 638760, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638761, 638840, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638841, 638880, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638881, 639680, {20, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639681, 639780, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639781, 639820, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639821, 640300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640301, 641220, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641221, 642220, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642221, 642560, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642561, 642880, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642881, 643140, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643141, 643480, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643481, 643800, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643801, 643940, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643941, 644880, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644881, 645580, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645581, 646360, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646361, 646520, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646521, 646860, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646861, 647280, {1, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647281, 647580, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647581, 647800, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647801, 648520, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648521, 648960, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648961, 649880, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649881, 650140, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650141, 650860, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650861, 651080, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651081, 651240, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651241, 651780, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651781, 652160, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652161, 652320, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652321, 653260, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 653261, 653333, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693714, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693715, 694734, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694735, 695014, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695015, 695674, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695675, 695714, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695715, 695954, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695955, 696134, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696135, 696654, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696655, 697074, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697075, 698654, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698655, 698734, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698735, 699514, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699515, 699594, {20, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699595, 699654, {20, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699655, 700454, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700455, 702314, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702315, 702714, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702715, 702894, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702895, 703234, {1, 20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703235, 703314, {1, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703315, 703654, {1, 20, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703655, 703814, {0, 20, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703815, 704234, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704235, 705954, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705955, 706254, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706255, 706694, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706695, 706894, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706895, 707114, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707115, 707194, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707195, 707634, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707635, 708034, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708035, 709614, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709615, 709634, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709635, 710534, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710535, 710554, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710555, 710694, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710695, 710914, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710915, 711634, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711635, 711834, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711835, 712994, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712995, 713254, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713255, 713934, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713935, 714194, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714195, 714674, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714675, 714694, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714695, 715614, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715615, 715634, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715635, 716374, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716375, 716894, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716895, 717294, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717295, 717834, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717835, 718494, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718495, 718674, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718675, 719434, {20, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719435, 719594, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719595, 719734, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719735, 720554, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720555, 720674, {0, 20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720675, 721474, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721475, 722294, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722295, 722654, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722655, 723114, {1, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723115, 723234, {1, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723235, 723594, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723595, 724034, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724035, 724194, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724195, 725134, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725135, 726094, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726095, 726474, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726475, 726654, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726655, 727034, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727035, 727414, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727415, 727574, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727575, 727854, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727855, 728774, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728775, 729854, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729855, 729894, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729895, 730634, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730635, 730774, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730775, 730834, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730835, 731494, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731495, 731574, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731575, 732434, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732435, 733214, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733215, 733333, {0, 1, 0, 0} }, +}; + +static const struct cam_mipi_sensor_mode sensor_front_mipi_B_mode[] = { + { + sensor_imx374_setfile_B_mipi_channel, ARRAY_SIZE(sensor_imx374_setfile_B_mipi_channel), + sensor_imx374_setfile_B_mipi_setting, ARRAY_SIZE(sensor_imx374_setfile_B_mipi_setting) + }, +}; + +/*************************************/ +/* ========== DUMMY ================ */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_FRONT_DUMMY_REG_ARRAY[] = { +}; + +static const struct cam_sensor_i2c_reg_setting sensor_front_setfile_dummy[] = { + { MIPI_FRONT_DUMMY_REG_ARRAY, ARRAY_SIZE(MIPI_FRONT_DUMMY_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", 0, + sensor_front_setfile_dummy, ARRAY_SIZE(sensor_front_setfile_dummy) }, +}; + +static const struct cam_mipi_cell_ratings sensor_front_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_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_2_0_H_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx471.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx471.h new file mode 100755 index 0000000000..5e4316ca94 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx471.h @@ -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_ */ \ No newline at end of file diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx471_2_0.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx471_2_0.h new file mode 100755 index 0000000000..077cbd7bc6 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx471_2_0.h @@ -0,0 +1,1272 @@ +/* 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_2_0_H_ +#define _CAM_SENSOR_ADAPTIVE_MIPI_IMX471_2_0_H_ + +#include "cam_sensor_dev.h" + +int num_front_top_mipi_setting = 1; + +/*************************************/ +/* ========== SET A =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_SET_A_793_REG_ARRAY[] = { + {0x030F, 0xF8, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_A_723_REG_ARRAY[] = { + {0x030F, 0xE2, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_A_771_REG_ARRAY[] = { + {0x030F, 0xF1, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_A_774_REG_ARRAY[] = { + {0x030F, 0xF2, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx471_setfile_A_mipi_793[] = { + { MIPI_SET_A_793_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_793_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_723[] = { + { MIPI_SET_A_723_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_723_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_771[] = { + { MIPI_SET_A_771_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_771_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_774[] = { + { MIPI_SET_A_774_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_774_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[] = { + { "793 Mhz", 793, + sensor_imx471_setfile_A_mipi_793, ARRAY_SIZE(sensor_imx471_setfile_A_mipi_793) }, + { "723 Mhz", 723, + sensor_imx471_setfile_A_mipi_723, ARRAY_SIZE(sensor_imx471_setfile_A_mipi_723) }, + { "771 Mhz", 771, + sensor_imx471_setfile_A_mipi_771, ARRAY_SIZE(sensor_imx471_setfile_A_mipi_771) }, + { "774 Mhz", 774, + sensor_imx471_setfile_A_mipi_774, ARRAY_SIZE(sensor_imx471_setfile_A_mipi_774) }, +}; + +static const struct cam_mipi_cell_ratings sensor_imx471_setfile_A_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {7, 7, 14, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {0, 7, 154, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {0, 69, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {63, 63, 66, 63} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10568, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10569, 10612, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10613, 10632, {0, 0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10633, 10638, {0, 3, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10639, 10678, {0, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10679, 10682, {3, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10683, 10702, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10703, 10748, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10749, 10761, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10762, 10806, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10807, 10812, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10813, 10831, {0, 60, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10832, 10838, {0, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9674, {0, 0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9675, 9686, {0, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9687, 9714, {3, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9715, 9728, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9729, 9756, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9757, 9797, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9798, 9798, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9799, 9838, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9839, 9867, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9868, 9884, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9885, 9908, {60, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9909, 9938, {60, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1189, {0, 60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1190, 1199, {0, 60, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1200, 1216, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1217, 1221, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1222, 1259, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1260, 1286, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1287, 1310, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1311, 1344, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1345, 1380, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1381, 1382, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1383, 1414, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1415, 1414, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1415, 1452, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1453, 1484, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1485, 1491, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1492, 1513, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1543, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1544, 1587, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1588, 1607, {0, 0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1608, 1613, {0, 3, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1614, 1653, {0, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1654, 1657, {3, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1658, 1677, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1678, 1723, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1724, 1736, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1737, 1738, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4374, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4375, 4399, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4400, 4399, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4400, 4417, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4418, 4458, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4399, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4400, 4399, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4400, 4413, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2254, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2255, 2254, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2255, 2270, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2271, 2288, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2289, 2324, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2325, 2358, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2359, 2382, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2383, 2393, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2394, 2448, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2449, 2452, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2453, 2463, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2464, 2469, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2470, 2518, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2519, 2539, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2540, 2563, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2962, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2963, 2965, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2966, 2981, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2982, 3026, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3027, 3035, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3036, 3084, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3085, 3088, {7, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 724, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 725, 724, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 725, 742, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 743, 763, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 0, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 1, 37, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 38, 125, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 126, 164, {0, 0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 165, 177, {0, 3, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 178, 257, {0, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 258, 265, {3, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 266, 304, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 305, 397, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 398, 423, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 424, 513, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 514, 525, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 526, 563, {0, 60, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 564, 599, {0, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 649, {0, 0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 650, 673, {0, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 674, 729, {3, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 730, 756, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 757, 813, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 814, 895, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 896, 896, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 897, 977, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 978, 1035, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1036, 1069, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1070, 1117, {60, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1118, 1199, {60, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1203, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1204, 1278, {0, 60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1279, 1299, {0, 60, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1300, 1332, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1333, 1343, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1344, 1418, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1419, 1472, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1473, 1521, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1522, 1588, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1589, 1661, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1662, 1665, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1666, 1728, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1729, 1729, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1730, 1805, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1806, 1869, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1870, 1883, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1884, 1949, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1950, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1951, 1987, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1988, 2075, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2076, 2114, {0, 0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2115, 2127, {0, 3, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2128, 2207, {0, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2208, 2215, {3, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2216, 2254, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2255, 2347, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2348, 2373, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2374, 2399, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2458, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2459, 2508, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2509, 2509, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2510, 2545, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2546, 2648, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2649, 2649, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2808, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2809, 2809, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2810, 2840, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2841, 2876, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2877, 2949, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2950, 3016, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3017, 3065, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3066, 3086, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3087, 3196, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3197, 3205, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3206, 3226, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3227, 3238, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3239, 3336, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3337, 3378, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3379, 3449, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3524, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3525, 3531, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3532, 3562, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3563, 3653, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3654, 3671, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3672, 3769, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3770, 3793, {7, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3794, 3799, {0, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5021, {0, 140, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5022, 5116, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5117, 5146, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5147, 5179, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5189, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5190, 5243, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5244, 5279, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5309, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5310, 5341, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5342, 5363, {0, 7, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5364, 5373, {0, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5374, 5379, {0, 0, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5786, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5787, 5816, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5817, 5849, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5858, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5859, 5909, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5910, 5998, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5999, 5999, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6048, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6049, 6049, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6050, 6085, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6086, 6149, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6245, {140, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6246, 6265, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6266, 6267, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6268, 6301, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6302, 6407, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6408, 6441, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6442, 6449, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6459, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6460, 6499, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6500, 6521, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6522, 6599, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8089, {0, 0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8090, 8113, {0, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8114, 8169, {3, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8170, 8196, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8197, 8253, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8254, 8335, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8336, 8336, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8337, 8417, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8418, 8475, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8476, 8509, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8510, 8557, {60, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8558, 8649, {60, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8650, 8689, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8708, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8709, 8759, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8760, 8848, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8849, 8898, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8899, 8899, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8900, 8935, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8936, 9038, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9039, 9039, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9239, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9240, 9271, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9272, 9293, {0, 7, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9294, 9303, {0, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9304, 9411, {0, 0, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9412, 9443, {0, 0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9444, 9495, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9496, 9515, {140, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9516, 9635, {140, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9636, 9655, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9656, 9657, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9658, 9659, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9702, {7, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9703, 9746, {0, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9747, 9769, {0, 140, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9819, {0, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9820, 9843, {0, 40, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9844, 9861, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9862, 9869, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9933, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9934, 9982, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9983, 10011, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10012, 10043, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10044, 10122, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10123, 10151, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10152, 10155, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10156, 10183, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10184, 10295, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10296, 10359, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36221, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36222, 36266, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36267, 36279, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36280, 36304, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36305, 36349, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37771, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37772, 37793, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37794, 37815, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37816, 37911, {40, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37912, 37922, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37923, 37955, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37956, 38015, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38016, 38062, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38063, 38155, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38156, 38168, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38169, 38200, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38201, 38249, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38274, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38275, 38323, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38324, 38352, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38353, 38414, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38415, 38426, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38427, 38492, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38493, 38544, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38545, 38566, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38567, 38649, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38715, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38716, 38722, {2, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38723, 38734, {2, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38735, 38811, {0, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38812, 38855, {0, 2, 40, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38856, 38862, {0, 2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38863, 38951, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38952, 38991, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38992, 39083, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39084, 39101, {2, 40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39102, 39131, {2, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39132, 39199, {0, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39200, 39223, {0, 40, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39224, 39241, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39242, 39339, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39340, 39387, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39388, 39445, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39446, 39487, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39488, 39527, {40, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39528, 39585, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39586, 39586, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39587, 39627, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39628, 39649, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39683, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39684, 39710, {2, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39711, 39758, {2, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39759, 39787, {0, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39788, 39823, {0, 0, 40, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39824, 39927, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39928, 39931, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39932, 40015, {0, 40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40016, 40069, {2, 40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40070, 40071, {2, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40072, 40155, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40156, 40175, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40176, 40209, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40210, 40293, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40294, 40315, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40316, 40411, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40412, 40433, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40434, 40455, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40456, 40551, {40, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40552, 40562, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40563, 40595, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40596, 40655, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40656, 40702, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40703, 40795, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40796, 40808, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40809, 40840, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40841, 40948, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40949, 40949, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40950, 40980, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40981, 41016, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41017, 41089, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41090, 41156, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41157, 41205, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41206, 41226, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41227, 41336, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41337, 41345, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41346, 41366, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41367, 41378, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41379, 41476, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41477, 41518, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41519, 41589, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41592, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41593, 41593, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41594, 41644, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41645, 41650, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41651, 41733, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41734, 41784, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41785, 41838, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41839, 41872, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41873, 41978, {0, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41979, 41980, {0, 40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41981, 42012, {0, 40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42013, 42041, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42042, 42120, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42121, 42181, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42182, 42224, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42225, 42233, {0, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42234, 42364, {0, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42365, 42368, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42369, 42373, {0, 2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42374, 42438, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42439, 42508, {2, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42509, 42578, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42579, 42595, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42596, 42609, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42610, 42735, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42736, 42749, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42750, 42755, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42756, 42835, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42836, 42895, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42896, 42956, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42957, 42975, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42976, 42995, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42996, 43096, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43097, 43135, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43136, 43142, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43143, 43232, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43233, 43282, {40, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43283, 43318, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43319, 43372, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43373, 43380, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43381, 43458, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43459, 43520, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43521, 43529, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43530, 43589, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55246, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55247, 55285, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55286, 55292, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55293, 55382, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55383, 55432, {40, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55433, 55468, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55469, 55522, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55523, 55530, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55531, 55608, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55609, 55670, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55671, 55679, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55680, 55778, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55779, 55819, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55820, 55830, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55831, 55916, {2, 40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55917, 55918, {2, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55919, 55970, {0, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55971, 56056, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56057, 56066, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56067, 56175, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56176, 56191, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56192, 56206, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56207, 56302, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56303, 56315, {2, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56316, 56331, {0, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56332, 56442, {0, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56443, 56454, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56455, 56553, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56554, 56572, {0, 2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56573, 56594, {2, 2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56595, 56687, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56688, 56693, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56694, 56712, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56713, 56739, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66436, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66437, 66473, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66474, 66561, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66562, 66600, {0, 0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66601, 66613, {0, 3, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66614, 66693, {0, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66694, 66701, {3, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66702, 66740, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66741, 66833, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66834, 66859, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66860, 66949, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66950, 66961, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66962, 66999, {0, 60, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67000, 67089, {0, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67090, 67101, {60, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67102, 67229, {60, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67230, 67245, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67246, 67323, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67324, 67335, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68633, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68634, 68655, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68656, 68681, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68682, 68694, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68695, 68834, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68835, 68854, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68855, 68901, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68902, 68928, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68929, 68935, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {6, 6, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 9, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {3, 6, 69, 36} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 6, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {4, 44, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 6, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {14, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {63, 63, 66, 63} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {7, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 422000, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422001, 422740, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422741, 424500, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 424501, 425280, {0, 0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425281, 425540, {0, 3, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425541, 427140, {0, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427141, 427300, {3, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427301, 428080, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428081, 429940, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429941, 430460, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 430461, 432260, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432261, 432500, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432501, 433260, {0, 60, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433261, 433980, {0, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 386980, {0, 0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386981, 387460, {0, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 387461, 388580, {3, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388581, 389120, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389121, 390260, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 390261, 391900, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391901, 391920, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391921, 393540, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393541, 394700, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 394701, 395380, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395381, 396340, {60, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396341, 397980, {60, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 361060, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361061, 362560, {0, 60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362561, 362980, {0, 60, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362981, 363640, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363641, 363860, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363861, 365360, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365361, 366440, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366441, 367420, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367421, 368760, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 368761, 370220, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370221, 370300, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370301, 371560, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 371561, 371580, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 371581, 373100, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373101, 374380, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 374381, 374660, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 374661, 375980, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 174960, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 174961, 175960, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175961, 175980, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175981, 176700, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176701, 178760, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178761, 178780, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 525160, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525161, 525180, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525181, 525800, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525801, 526520, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 526521, 527980, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527981, 529320, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 529321, 530300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530301, 530720, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530721, 532920, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 532921, 533100, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533101, 533520, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533521, 533760, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533761, 535720, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 535721, 536560, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 536561, 538000, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186480, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186481, 186620, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186621, 187240, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187241, 189060, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189061, 189420, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189421, 191380, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191381, 191860, {7, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191861, 191980, {0, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146020, {0, 140, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146021, 147920, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147921, 148520, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148521, 149200, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 149380, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149381, 150460, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150461, 151200, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 152180, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 152181, 152820, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 152821, 153260, {0, 7, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153261, 153460, {0, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153461, 153580, {0, 0, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 172160, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172161, 173180, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173181, 174960, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 174961, 175000, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 160100, {140, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160101, 160500, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160501, 160540, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160541, 161220, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 161221, 163340, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163341, 164020, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 164021, 164180, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 386980, {0, 0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386981, 387460, {0, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 387461, 388580, {3, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388581, 389120, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389121, 390260, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 390261, 391900, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391901, 391920, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391921, 393540, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393541, 394700, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 394701, 395380, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395381, 396340, {60, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396341, 398180, {60, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 398181, 398980, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 172160, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172161, 173180, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173181, 174960, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 174961, 175960, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175961, 175980, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175981, 176700, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176701, 178760, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178761, 178800, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 152180, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 152181, 152820, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 152821, 153260, {0, 7, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153261, 153460, {0, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153461, 155620, {0, 0, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155621, 156260, {0, 0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156261, 157300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157301, 157700, {140, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157701, 160100, {140, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160101, 160500, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160501, 160540, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160541, 160580, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 144240, {7, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 144241, 145120, {0, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 145121, 145580, {0, 140, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 470980, {0, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470981, 471460, {0, 40, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471461, 471820, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471821, 471980, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 514420, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514421, 514860, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514861, 515300, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515301, 517220, {40, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517221, 517440, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517441, 518100, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518101, 519300, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 519301, 520240, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 520241, 522100, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522101, 522360, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522361, 523000, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 523001, 523980, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 376480, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376481, 377460, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377461, 378040, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378041, 379280, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 379281, 379520, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 379521, 380840, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380841, 381880, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381881, 382320, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382321, 384000, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 461300, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461301, 461440, {2, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461441, 461680, {2, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461681, 463220, {0, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463221, 464100, {0, 2, 40, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464101, 464240, {0, 2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464241, 466020, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466021, 466820, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466821, 468660, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468661, 469020, {2, 40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 469021, 469620, {2, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 469621, 470980, {0, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 470981, 471460, {0, 40, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471461, 471820, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471821, 473780, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 473781, 474740, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 474741, 475900, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475901, 476740, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476741, 477540, {40, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477541, 478700, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478701, 478720, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478721, 479540, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479541, 480000, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 499860, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499861, 500400, {2, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 500401, 501360, {2, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501361, 501940, {0, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501941, 502660, {0, 0, 40, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502661, 504740, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504741, 504820, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504821, 506500, {0, 40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506501, 507580, {2, 40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507581, 507620, {2, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507621, 509300, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509301, 509700, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509701, 510380, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 510381, 512060, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512061, 512500, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512501, 514420, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514421, 514860, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514861, 515300, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515301, 517220, {40, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517221, 517440, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517441, 518100, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518101, 519300, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 519301, 520240, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 520241, 522100, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522101, 522360, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522361, 523000, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 523001, 525160, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525161, 525180, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525181, 525800, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525801, 526520, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 526521, 527980, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527981, 529320, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 529321, 530300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530301, 530720, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530721, 532920, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 532921, 533100, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533101, 533520, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533521, 533760, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533761, 535720, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 535721, 536560, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 536561, 537980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 636707, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636708, 636967, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636968, 637007, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637008, 637607, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637608, 637947, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637948, 638187, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638188, 638547, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638548, 638587, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638588, 639107, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639108, 639527, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639528, 639587, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639588, 640247, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640248, 640527, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640528, 640587, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640588, 641167, {1, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641168, 641187, {1, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641188, 641527, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641528, 642107, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642108, 642167, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642168, 642887, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642888, 643007, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643008, 643107, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643108, 643747, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643748, 643827, {1, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643828, 643927, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643928, 644667, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644668, 644747, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644748, 645407, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645408, 645547, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645548, 645687, {1, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645688, 646307, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646308, 646347, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646348, 646467, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646468, 646666, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 422000, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422001, 422740, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422741, 424500, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 424501, 425280, {0, 0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425281, 425540, {0, 3, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425541, 427140, {0, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427141, 427300, {3, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427301, 428080, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428081, 429940, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429941, 430460, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 430461, 432260, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432261, 432500, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432501, 433260, {0, 60, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433261, 435060, {0, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435061, 435300, {60, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435301, 437860, {60, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437861, 438180, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438181, 439740, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 439741, 439980, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124340, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124341, 124780, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124781, 125300, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125301, 125560, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125561, 128360, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128361, 128760, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128761, 129700, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129701, 130240, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 130241, 130380, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620020, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620021, 620600, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620601, 621300, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621301, 621520, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621521, 621540, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621541, 621740, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621741, 622240, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622241, 622460, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622461, 622660, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622661, 623180, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623181, 623720, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623721, 624100, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624101, 624380, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624381, 624640, {20, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624641, 625040, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625041, 625300, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625301, 625740, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625741, 626120, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626121, 626680, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626681, 627020, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627021, 627060, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627061, 627620, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627621, 627960, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627961, 628320, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628321, 628540, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628541, 629240, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629241, 629260, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629261, 629480, {0, 20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629481, 629660, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629661, 630200, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630201, 630600, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630601, 630880, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630881, 630940, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630941, 631820, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631821, 631840, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631841, 631880, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631881, 632320, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632321, 632780, {1, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632781, 633240, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633241, 633360, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633361, 633460, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633461, 634300, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634301, 634380, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634381, 634420, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634421, 634960, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634961, 635360, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635361, 635760, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635761, 635900, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635901, 636020, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636021, 636700, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636701, 636960, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636961, 637000, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637001, 637600, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637601, 637940, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637941, 638180, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638181, 638540, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638541, 638600, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638601, 639120, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639121, 639520, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639521, 639580, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639581, 640240, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640241, 640520, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640521, 640600, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640601, 641160, {1, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641161, 641180, {1, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641181, 641520, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641521, 642100, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642101, 642160, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642161, 642900, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642901, 643000, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643001, 643100, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643101, 643740, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643741, 643820, {1, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643821, 643940, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643941, 644680, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644681, 644760, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644761, 645420, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645421, 645540, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645541, 645680, {1, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645681, 646300, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646301, 646340, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646341, 646480, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646481, 647240, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647241, 647340, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647341, 647820, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647821, 648180, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648181, 648260, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648261, 648760, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648761, 648880, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648881, 649120, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649121, 649820, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649821, 649920, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649921, 650240, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650241, 650840, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650841, 651160, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651161, 651440, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651441, 651760, {20, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651761, 652380, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652381, 652500, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652501, 652640, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652641, 653420, {0, 20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653421, 653480, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653481, 653580, {1, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653581, 654020, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654021, 654400, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654401, 654960, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654961, 655060, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655061, 655080, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655081, 655980, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655981, 656000, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656001, 656120, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656121, 656600, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656601, 657060, {1, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657061, 657460, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657461, 657520, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657521, 657660, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657661, 658400, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658401, 658580, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658581, 658760, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658761, 659160, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659161, 659700, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659701, 659880, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659881, 660100, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660101, 660240, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660241, 660800, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660801, 661180, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661181, 661420, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661421, 661740, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661741, 662280, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662281, 662340, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662341, 662660, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662661, 662820, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662821, 663220, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663221, 663760, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663761, 664060, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664061, 664300, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664301, 664700, {20, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664701, 664980, {20, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664981, 665240, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665241, 665400, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665401, 665640, {0, 20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665641, 666340, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666341, 666700, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666701, 666880, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666881, 667100, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667101, 667640, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667641, 667800, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667801, 667980, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667981, 668040, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668041, 668920, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668921, 669340, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669341, 669440, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669441, 669520, {1, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669521, 670280, {1, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670281, 670380, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670381, 670460, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670461, 670560, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670561, 671500, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671501, 671920, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671921, 672000, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672001, 672020, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672021, 672860, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672861, 672920, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672921, 672940, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672941, 673140, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673141, 674080, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674081, 674340, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674341, 674580, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674581, 674640, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674641, 675280, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675281, 675520, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675521, 675580, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675581, 675720, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675721, 676660, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676661, 676760, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676761, 677160, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677161, 677280, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677281, 677680, {20, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677681, 678080, {20, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678081, 678220, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678221, 678300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678301, 679160, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679161, 679240, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679241, 679720, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679721, 679920, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679921, 680000, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620020, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620021, 620600, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620601, 621300, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621301, 621520, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621521, 621540, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621541, 621740, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621741, 622240, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622241, 622460, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622461, 622660, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622661, 623180, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623181, 623720, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623721, 624100, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624101, 624380, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624381, 624640, {20, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624641, 625040, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625041, 625300, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625301, 625740, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625741, 626120, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626121, 626680, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626681, 627020, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627021, 627060, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627061, 627620, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627621, 627960, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627961, 628320, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628321, 628540, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628541, 629240, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629241, 629260, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629261, 629480, {0, 20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629481, 629660, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629661, 630200, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630201, 630600, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630601, 630880, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630881, 630940, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630941, 631820, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631821, 631840, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631841, 631880, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631881, 632320, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632321, 632780, {1, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632781, 633240, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633241, 633360, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633361, 633460, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633461, 634300, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634301, 634380, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634381, 634420, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634421, 634960, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634961, 635360, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635361, 635760, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635761, 635900, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635901, 636020, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636021, 636700, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636701, 636960, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636961, 637000, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637001, 637600, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637601, 637940, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637941, 638180, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638181, 638540, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638541, 638600, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638601, 639120, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639121, 639520, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639521, 639580, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639581, 640240, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640241, 640520, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640521, 640600, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640601, 641160, {1, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641161, 641180, {1, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641181, 641520, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641521, 642100, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642101, 642160, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642161, 642900, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642901, 643000, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643001, 643100, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643101, 643740, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643741, 643820, {1, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643821, 643940, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643941, 644680, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644681, 644760, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644761, 645420, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645421, 645540, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645541, 645680, {1, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645681, 646300, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646301, 646340, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646341, 646480, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646481, 647240, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647241, 647340, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647341, 647820, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647821, 648180, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648181, 648260, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648261, 648760, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648761, 648880, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648881, 649120, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649121, 649820, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649821, 649920, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649921, 650240, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650241, 650840, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650841, 651160, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651161, 651440, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651441, 651760, {20, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651761, 652380, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652381, 652500, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652501, 652640, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652641, 653333, {0, 20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693514, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693515, 693634, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693635, 693794, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693795, 694094, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694095, 694554, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694555, 694734, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694735, 695154, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695155, 695794, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695795, 696034, {1, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696035, 696094, {1, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696095, 696374, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696375, 696734, {1, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696735, 696974, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696975, 697314, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697315, 697714, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697715, 698454, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698455, 698654, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698655, 698954, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698955, 699374, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699375, 699894, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699895, 700294, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700295, 700854, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700855, 701094, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701095, 701234, {1, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701235, 701534, {1, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701535, 701794, {1, 20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701795, 702034, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702035, 702474, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702475, 702854, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702855, 703274, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703275, 703734, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703735, 703794, {20, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703795, 704114, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704115, 704194, {20, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704195, 704674, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704675, 705054, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705055, 705434, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705435, 705674, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705675, 706374, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706375, 706614, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706615, 706694, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706695, 707314, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707315, 707634, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707635, 708014, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708015, 708094, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708095, 708934, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708935, 709014, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709015, 709034, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709035, 709294, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709295, 709954, {1, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709955, 710214, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710215, 710494, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710495, 710574, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710575, 711434, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711435, 711514, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711515, 711674, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711675, 711874, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711875, 712614, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712615, 712794, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712795, 712914, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712915, 713154, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713155, 713834, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713835, 714074, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714075, 714314, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714315, 714454, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714455, 715254, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715255, 715314, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715315, 715374, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715375, 715714, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715715, 716254, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716255, 716654, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716655, 716974, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716975, 717034, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717035, 717734, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717735, 717894, {20, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717895, 717954, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717955, 718294, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718295, 718674, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718675, 719214, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719215, 719614, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719615, 720134, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720135, 720534, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720535, 720854, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720855, 721074, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721075, 721794, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721795, 722194, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722195, 722254, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722255, 722554, {1, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722555, 723114, {1, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723115, 723194, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723195, 723434, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723435, 723494, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723495, 724354, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724355, 724774, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724775, 724894, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724895, 724974, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724975, 725714, {1, 20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725715, 725834, {1, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725835, 725894, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725895, 725994, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725995, 726934, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726935, 727354, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727355, 727374, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727375, 727554, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727555, 728294, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728295, 728314, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728315, 728474, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728475, 728574, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728575, 729494, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729495, 729794, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729795, 729934, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729935, 730194, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730195, 730714, {20, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730715, 730874, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730875, 731114, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731115, 731134, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731135, 732074, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732075, 732194, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732195, 732514, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732515, 732834, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732835, 733134, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733135, 733333, {1, 0, 0, 1} }, +}; + +static const struct cam_mipi_sensor_mode sensor_front_top_mipi_A_mode[] = { + { + sensor_imx471_setfile_A_mipi_channel, ARRAY_SIZE(sensor_imx471_setfile_A_mipi_channel), + sensor_imx471_setfile_A_mipi_setting, ARRAY_SIZE(sensor_imx471_setfile_A_mipi_setting) + }, +}; + +/*************************************/ +/* ========== DUMMY ================ */ +/*************************************/ +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_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_2_0_H_ */ \ No newline at end of file diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx564.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx564.h new file mode 100755 index 0000000000..49dc52f164 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx564.h @@ -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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx564_2_0.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx564_2_0.h new file mode 100644 index 0000000000..4ede38a5a9 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx564_2_0.h @@ -0,0 +1,2972 @@ +/* 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; + +/* +UWCAM_Adaptive MIPI 2.0_IMX564_231027.xlsx +SET A : 4x4 (10/12bit) (2784 / 2720 / 2713.6) +SET B : SSM 4x4&2x2 (10bit) (2988.8 / 2944 / 2860.8) +SET C : FastAE/SM 4x4&2x2 (10bit) (1356.8 / 1331.2 / 1382.4 / 1414.4) +SET D : Pro Video 120Fps non bin (10bit) (3379.2 / 3331.2) +*/ + +/*************************************/ +/* ========== SET A =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_A_2784_REG_ARRAY[] = { + {0x030B, 0x01, 0x00, 0x00}, + {0x030D, 0x02, 0x00, 0x00}, + {0x030E, 0x01, 0x00, 0x00}, + {0x030F, 0x22, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_A_2720_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_2713_REG_ARRAY[] = { + {0x030B, 0x01, 0x00, 0x00}, + {0x030D, 0x03, 0x00, 0x00}, + {0x030E, 0x01, 0x00, 0x00}, + {0x030F, 0xA8, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx564_setfile_A_2784[] = { + { MIPI_A_2784_REG_ARRAY, ARRAY_SIZE(MIPI_A_2784_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[] = { + { MIPI_A_2720_REG_ARRAY, ARRAY_SIZE(MIPI_A_2720_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_2713[] = { + { MIPI_A_2713_REG_ARRAY, ARRAY_SIZE(MIPI_A_2713_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[] = { + { "2784 Msps", 2784, + sensor_imx564_setfile_A_2784, ARRAY_SIZE(sensor_imx564_setfile_A_2784) }, + { "2720 Msps", 2720, + sensor_imx564_setfile_A_2720, ARRAY_SIZE(sensor_imx564_setfile_A_2720) }, + { "2713 Msps", 2713, + sensor_imx564_setfile_A_2713, ARRAY_SIZE(sensor_imx564_setfile_A_2713) }, +}; + +static const struct cam_mipi_cell_ratings sensor_imx564_setfile_A_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {0, 3, 6} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10570, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10571, 10625, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10626, 10640, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10641, 10650, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10651, 10695, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10696, 10720, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10721, 10838, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9679, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9680, 9726, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9727, 9749, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9750, 9907, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9908, 9938, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1205, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1206, 1226, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1227, 1369, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1370, 1439, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1440, 1458, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1459, 1480, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1481, 1513, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1545, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1546, 1600, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1601, 1615, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1616, 1625, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1626, 1670, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1671, 1695, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1696, 1738, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4458, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4413, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2334, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2335, 2347, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2348, 2366, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2367, 2404, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2405, 2417, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2418, 2436, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2437, 2563, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2974, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2975, 3088, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 763, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 41, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 42, 151, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 152, 181, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 182, 201, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 202, 291, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 292, 341, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 342, 599, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 612, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 613, 658, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 659, 752, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 753, 798, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 799, 1115, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1116, 1199, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1213, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1214, 1310, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1311, 1353, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1354, 1639, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1640, 1779, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1780, 1816, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1817, 1860, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1861, 1949, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1991, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1992, 2101, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2102, 2131, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2132, 2151, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2152, 2241, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2242, 2291, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2292, 2399, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2969, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2970, 2994, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2995, 3032, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3033, 3109, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3110, 3134, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3135, 3172, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3173, 3449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3549, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3550, 3799, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5081, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5082, 5179, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5279, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5379, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5751, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5752, 5849, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5937, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5938, 5999, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6149, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6264, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6265, 6449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6456, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6457, 6599, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8052, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8053, 8098, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8099, 8192, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8193, 8238, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8239, 8555, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8556, 8689, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8787, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8788, 9039, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9313, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9314, 9331, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9332, 9453, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9454, 9471, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9472, 9514, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9515, 9654, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9655, 9659, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9667, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9668, 9683, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9684, 9711, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9712, 9769, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9869, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10052, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10053, 10190, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10191, 10225, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10226, 10330, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10331, 10359, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36246, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36247, 36349, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37823, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37824, 37831, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37832, 37884, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37885, 37963, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37964, 37971, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37972, 38024, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38025, 38249, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38256, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38257, 38300, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38301, 38602, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38603, 38649, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38779, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38780, 38839, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38840, 38894, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38895, 38919, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38920, 38979, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38980, 39034, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39035, 39442, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39443, 39485, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39486, 39541, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39542, 39582, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39583, 39625, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39626, 39649, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39808, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39809, 39817, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39818, 39877, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39878, 39948, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39949, 39957, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39958, 40017, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40018, 40463, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40464, 40471, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40472, 40524, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40525, 40603, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40604, 40611, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40612, 40664, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40665, 41109, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41110, 41134, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41135, 41172, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41173, 41249, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41250, 41274, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41275, 41312, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41313, 41589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41763, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41764, 41843, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41844, 41903, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41904, 41983, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41984, 41988, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41989, 42128, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42129, 42409, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42410, 42491, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42492, 42549, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42550, 42631, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42632, 42651, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42652, 42791, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42792, 43055, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43056, 43139, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43140, 43195, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43196, 43279, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43280, 43314, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43315, 43454, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43455, 43589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55289, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55290, 55345, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55346, 55429, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55430, 55464, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55465, 55604, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55605, 55851, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55852, 55936, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55937, 55991, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55992, 56076, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56077, 56127, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56128, 56267, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56268, 56497, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56498, 56584, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56585, 56637, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56638, 56724, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56725, 56739, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66477, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66478, 66587, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66588, 66617, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66618, 66637, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66638, 66727, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66728, 66777, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66778, 67140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67141, 67233, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67234, 67280, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67281, 67285, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67286, 67335, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68806, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68807, 68822, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68823, 68935, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {6, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {0, 6, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {14, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 422820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422821, 425020, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425021, 425620, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425621, 426020, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426021, 427820, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427821, 428820, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428821, 433980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 386240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386241, 387160, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 387161, 389040, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389041, 389960, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389961, 396300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396301, 397980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 361260, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361261, 363200, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363201, 364060, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 364061, 369780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369781, 372580, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372581, 373320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373321, 374200, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 374201, 375980, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 178780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 528380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528381, 528880, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528881, 529640, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 529641, 531180, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531181, 531680, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531681, 532440, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 532441, 538000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186980, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186981, 191980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 147220, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147221, 149200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 151200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 153580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 173740, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173741, 175000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 160480, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160481, 164180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 386240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386241, 387160, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 387161, 389040, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389041, 389960, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389961, 396300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396301, 398980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 173740, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173741, 178800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 153660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153661, 154020, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154021, 156460, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156461, 156820, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156821, 157680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157681, 160480, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160481, 160580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 143540, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143541, 143860, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143861, 144420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 144421, 145580, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 471980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 515460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515461, 515620, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515621, 516680, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 516681, 518260, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518261, 518420, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518421, 519480, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 519481, 523980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 376120, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376121, 377000, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377001, 383040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 383041, 384000, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 462580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 462581, 463780, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463781, 464880, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464881, 465380, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465381, 466580, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466581, 467680, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467681, 475840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475841, 476700, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476701, 477820, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477821, 478640, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478641, 479500, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479501, 480000, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 502360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502361, 502540, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502541, 503740, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 503741, 505160, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505161, 505340, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505341, 506540, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506541, 515460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515461, 515620, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515621, 516680, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 516681, 518260, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518261, 518420, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518421, 519480, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 519481, 528380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528381, 528880, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528881, 529640, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 529641, 531180, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531181, 531680, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531681, 532440, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 532441, 537980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 636987, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636988, 637367, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637368, 637927, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637928, 638147, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638148, 639087, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639088, 640727, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640728, 641307, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641308, 641667, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641668, 642227, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642228, 642567, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642568, 643507, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643508, 645047, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645048, 645627, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645628, 645967, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645968, 646547, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646548, 646666, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 422820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422821, 425020, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425021, 425620, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425621, 426020, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426021, 427820, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427821, 428820, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428821, 436080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 436081, 437940, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437941, 438880, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438881, 438980, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438981, 439980, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 127800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127801, 128120, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128121, 130380, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620120, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620121, 620480, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620481, 620640, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620641, 621400, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621401, 623500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623501, 624040, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624041, 624440, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624441, 624900, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624901, 624960, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624961, 625820, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625821, 627820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627821, 628340, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628341, 628740, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628741, 629280, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629281, 629320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629321, 630240, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630241, 632120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632121, 632660, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632661, 633060, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633061, 633600, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633601, 633740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633741, 634660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634661, 636420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636421, 636980, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636981, 637360, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637361, 637920, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637921, 638160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638161, 639080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639081, 640740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640741, 641300, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641301, 641660, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641661, 642240, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642241, 642580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642581, 643500, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643501, 645040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645041, 645620, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645621, 645980, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645981, 646560, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646561, 647000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647001, 647920, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647921, 649340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649341, 649940, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649941, 650280, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650281, 650860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650861, 651400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651401, 652340, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652341, 653660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653661, 654260, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654261, 654580, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654581, 655180, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655181, 655820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655821, 656760, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656761, 657960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657961, 658580, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658581, 658900, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658901, 659500, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659501, 660240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660241, 661180, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661181, 662260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662261, 662880, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662881, 663200, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663201, 663820, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663821, 664660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664661, 665600, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665601, 666580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666581, 667200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667201, 667500, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667501, 668140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668141, 669080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669081, 670020, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670021, 670880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670881, 671520, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671521, 671820, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671821, 672460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672461, 673500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673501, 674440, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674441, 675200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675201, 675840, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675841, 676120, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676121, 676780, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676781, 677920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677921, 678860, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678861, 679500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679501, 680000, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620120, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620121, 620480, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620481, 620640, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620641, 621400, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621401, 623500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623501, 624040, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624041, 624440, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624441, 624900, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624901, 624960, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624961, 625820, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625821, 627820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627821, 628340, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628341, 628740, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628741, 629280, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629281, 629320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629321, 630240, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630241, 632120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632121, 632660, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632661, 633060, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633061, 633600, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633601, 633740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633741, 634660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634661, 636420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636421, 636980, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636981, 637360, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637361, 637920, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637921, 638160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638161, 639080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639081, 640740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640741, 641300, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641301, 641660, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641661, 642240, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642241, 642580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642581, 643500, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643501, 645040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645041, 645620, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645621, 645980, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645981, 646560, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646561, 647000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647001, 647920, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647921, 649340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649341, 649940, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649941, 650280, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650281, 650860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650861, 651400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651401, 652340, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652341, 653333, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693354, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693355, 694054, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694055, 695594, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695595, 696534, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696535, 696734, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696735, 697434, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697435, 697654, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697655, 698354, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698355, 700014, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700015, 700954, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700955, 701034, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701035, 701754, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701755, 701974, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701975, 702674, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702675, 704434, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704435, 705334, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705335, 705374, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705375, 706054, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706055, 706274, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706275, 706994, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706995, 708854, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708855, 709654, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709655, 709794, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709795, 710374, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710375, 710574, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710575, 711314, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711315, 713274, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713275, 713954, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713955, 714214, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714215, 714694, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714695, 714894, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714895, 715634, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715635, 717694, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717695, 718274, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718275, 718634, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718635, 719014, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719015, 719194, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719195, 719954, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719955, 722114, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722115, 722574, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722575, 723054, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723055, 723334, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723335, 723514, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723515, 724274, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724275, 726534, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726535, 726874, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726875, 727474, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727475, 727654, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727655, 727814, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727815, 728594, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728595, 730954, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730955, 731194, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731195, 731894, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731895, 731974, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731975, 732114, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732115, 732894, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732895, 733333, {0, 0, 0} }, +}; + +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) + }, +}; + +/*************************************/ +/* ========== SET B =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_B_2988_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_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_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[] = { + { MIPI_B_2988_REG_ARRAY, ARRAY_SIZE(MIPI_B_2988_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[] = { + { MIPI_B_2944_REG_ARRAY, ARRAY_SIZE(MIPI_B_2944_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[] = { + { MIPI_B_2860_REG_ARRAY, ARRAY_SIZE(MIPI_B_2860_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 Msps", 2988, + sensor_imx564_setfile_B_2988, ARRAY_SIZE(sensor_imx564_setfile_B_2988) }, + { "2944 Msps", 2944, + sensor_imx564_setfile_B_2944, ARRAY_SIZE(sensor_imx564_setfile_B_2944) }, + { "2860 Msps", 2860, + sensor_imx564_setfile_B_2860, ARRAY_SIZE(sensor_imx564_setfile_B_2860) }, +}; + +static const struct cam_mipi_cell_ratings sensor_imx564_setfile_B_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10592, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10593, 10639, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10640, 10709, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10710, 10829, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10830, 10838, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9778, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9779, 9841, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9842, 9848, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9849, 9911, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9912, 9927, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9928, 9938, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1202, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1203, 1272, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1273, 1285, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1286, 1341, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1342, 1355, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1356, 1411, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1412, 1513, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1567, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1568, 1614, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1615, 1684, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1685, 1738, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4392, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4393, 4458, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4392, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4393, 4413, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2254, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2255, 2324, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2325, 2372, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2373, 2408, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2409, 2442, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2443, 2478, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2479, 2563, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2960, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2961, 3032, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3033, 3088, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 717, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 718, 763, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 85, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 86, 178, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 179, 318, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 319, 559, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 560, 599, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 856, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 857, 983, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 984, 996, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 997, 1123, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1124, 1155, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1156, 1199, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1304, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1305, 1444, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1445, 1470, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1471, 1582, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1583, 1610, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1611, 1722, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1723, 1949, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2035, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2036, 2128, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2129, 2268, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2269, 2399, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2494, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2495, 2634, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2635, 2649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2809, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2810, 2949, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2950, 3044, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3045, 3116, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3117, 3184, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3185, 3256, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3257, 3449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3521, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3522, 3665, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3666, 3799, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5142, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5143, 5179, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5279, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5341, 5379, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5812, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5813, 5849, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5859, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5860, 5999, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6034, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6035, 6149, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6343, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6344, 6449, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6504, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6505, 6546, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6547, 6599, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8296, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8297, 8423, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8424, 8436, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8437, 8563, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8564, 8595, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8596, 8689, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8709, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8710, 8884, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8885, 9024, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9025, 9039, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9270, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9271, 9387, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9388, 9410, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9411, 9527, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9528, 9659, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9676, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9677, 9769, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9823, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9824, 9869, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10049, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10050, 10189, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10190, 10273, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10274, 10315, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10316, 10359, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36349, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37863, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37864, 37915, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37916, 38003, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38004, 38055, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38056, 38249, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38305, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38306, 38445, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38446, 38451, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38452, 38591, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38592, 38593, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38594, 38649, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38711, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38712, 38738, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38739, 38851, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38852, 38878, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38879, 39063, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39064, 39203, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39204, 39412, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39413, 39419, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39420, 39552, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39553, 39559, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39560, 39649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39666, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39667, 39822, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39823, 39854, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39855, 39962, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39963, 39994, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39995, 40238, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40239, 40378, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40379, 40503, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40504, 40555, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40556, 40643, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40644, 40695, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40696, 40949, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40950, 41089, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41090, 41184, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41185, 41256, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41257, 41324, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41325, 41396, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41397, 41589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41677, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41678, 41717, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41718, 41817, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41818, 41866, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41867, 42006, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42007, 42258, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42259, 42389, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42390, 42398, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42399, 42529, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42530, 42567, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42568, 42707, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42708, 42939, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42940, 43079, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43080, 43100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43101, 43240, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43241, 43268, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43269, 43408, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43409, 43589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55250, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55251, 55390, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55391, 55418, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55419, 55558, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55559, 55770, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55771, 55910, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55911, 55962, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55963, 56102, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56103, 56119, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56120, 56259, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56260, 56451, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56452, 56591, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56592, 56674, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56675, 56739, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66521, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66522, 66614, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66615, 66754, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66755, 66995, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66996, 67062, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67063, 67135, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67136, 67202, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67203, 67326, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67327, 67335, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68616, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68617, 68654, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68655, 68750, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68751, 68794, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68795, 68890, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68891, 68935, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {3, 0, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {6, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {4, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {14, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 423700, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423701, 425560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425561, 428360, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428361, 433180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433181, 433980, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 391120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391121, 393660, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393661, 393920, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393921, 396460, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396461, 397100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397101, 397980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 363080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363081, 365880, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365881, 366400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366401, 368640, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 368641, 369200, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369201, 371440, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 371441, 375980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 175680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175681, 178480, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178481, 178780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 525180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525181, 527980, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527981, 529880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 529881, 531320, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531321, 532680, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 532681, 534120, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534121, 538000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186420, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186421, 189300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189301, 191980, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 148440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148441, 149200, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 151200, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 152800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 152801, 153580, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 172180, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172181, 175000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 162060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162061, 164180, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 391120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391121, 393660, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393661, 393920, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393921, 396460, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396461, 397100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397101, 398980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 172180, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172181, 175680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175681, 178480, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178481, 178800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 152800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 152801, 155140, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155141, 155600, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155601, 157940, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157941, 160580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 143720, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143721, 145580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 471060, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471061, 471980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 516260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 516261, 517300, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517301, 519060, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 519061, 520100, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 520101, 523980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 377100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377101, 379900, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 379901, 380020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380021, 382820, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382821, 382860, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382861, 384000, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 461220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461221, 461760, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461761, 464020, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464021, 464560, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464561, 468260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468261, 471060, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471061, 475240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475241, 475380, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475381, 478040, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478041, 478180, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478181, 480000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 499520, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499521, 502640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502641, 503280, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 503281, 505440, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505441, 506080, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506081, 510960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 510961, 513760, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 513761, 516260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 516261, 517300, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517301, 519060, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 519061, 520100, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 520101, 525180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525181, 527980, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527981, 529880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 529881, 531320, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531321, 532680, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 532681, 534120, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534121, 537980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 636727, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636728, 637667, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637668, 637847, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637848, 638787, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638788, 640187, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640188, 641127, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641128, 641467, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641468, 642407, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642408, 642527, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642528, 643447, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643448, 644727, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644728, 645667, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645668, 646227, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646228, 646666, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 423700, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423701, 425560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425561, 428360, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428361, 433180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433181, 434520, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 434521, 435980, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435981, 437320, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437321, 439800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 439801, 439980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124000, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124001, 124760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124761, 126680, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126681, 127560, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127561, 129480, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129481, 130380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620080, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620081, 622040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622041, 622500, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622501, 622960, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622961, 623440, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623441, 623820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623821, 624760, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624761, 626580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626581, 627240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627241, 627500, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627501, 628180, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628181, 628500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628501, 629440, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629441, 631120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631121, 631980, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631981, 632040, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632041, 632920, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632921, 633180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633181, 634100, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634101, 635660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635661, 636580, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636581, 636720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636721, 637660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637661, 637840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637841, 638780, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638781, 640200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640201, 641120, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641121, 641480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641481, 642400, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642401, 642520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642521, 643460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643461, 644740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644741, 645660, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645661, 646220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646221, 647160, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647161, 647200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647201, 648120, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648121, 649280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649281, 650200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650201, 650960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650961, 651860, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651861, 651900, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651901, 652800, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652801, 653820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653821, 654740, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654741, 655700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655701, 656540, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656541, 656640, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656641, 657480, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657481, 658360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658361, 659300, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659301, 660460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660461, 661220, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661221, 661380, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661381, 662140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662141, 662900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662901, 663840, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663841, 665200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665201, 665880, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665881, 666120, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666121, 666820, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666821, 667440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667441, 668380, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668381, 669940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669941, 670560, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670561, 670880, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670881, 671500, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671501, 671980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671981, 672920, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672921, 674680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674681, 675240, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675241, 675620, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675621, 676160, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676161, 676520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676521, 677460, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677461, 679420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679421, 679900, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679901, 680000, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620080, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620081, 622040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622041, 622500, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622501, 622960, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622961, 623440, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623441, 623820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623821, 624760, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624761, 626580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626581, 627240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627241, 627500, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627501, 628180, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628181, 628500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628501, 629440, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629441, 631120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631121, 631980, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631981, 632040, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632041, 632920, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632921, 633180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633181, 634100, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634101, 635660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635661, 636580, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636581, 636720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636721, 637660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637661, 637840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637841, 638780, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638781, 640200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640201, 641120, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641121, 641480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641481, 642400, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642401, 642520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642521, 643460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643461, 644740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644741, 645660, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645661, 646220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646221, 647160, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647161, 647200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647201, 648120, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648121, 649280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649281, 650200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650201, 650960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650961, 651860, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651861, 651900, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651901, 652800, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652801, 653333, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693654, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693655, 693934, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693935, 694594, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694595, 694694, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694695, 694854, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694855, 695614, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695615, 698414, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698415, 698594, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698595, 699234, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699235, 699334, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699335, 699534, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699535, 700154, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700155, 703154, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703155, 703274, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703275, 703774, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703775, 704074, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704075, 704194, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704195, 704694, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704695, 707894, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707895, 707934, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707935, 708314, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708315, 708834, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708835, 708874, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708875, 709234, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709235, 712614, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712615, 712634, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712635, 712854, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712855, 713554, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713555, 713574, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713575, 713774, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713775, 717294, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717295, 717374, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717375, 717394, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717395, 718214, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718215, 718314, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718315, 721934, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721935, 721954, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721955, 722134, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722135, 722874, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722875, 722894, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722895, 723054, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723055, 726474, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726475, 726634, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726635, 726874, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726875, 727414, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727415, 727574, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727575, 727794, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727795, 731014, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731015, 731314, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731315, 731614, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731615, 731954, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731955, 732234, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732235, 732554, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732555, 733333, {0, 0, 0} }, +}; + +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) + }, +}; + +/*************************************/ +/* ========== SET C =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_C_1356_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_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_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_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[] = { + { MIPI_C_1356_REG_ARRAY, ARRAY_SIZE(MIPI_C_1356_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[] = { + { MIPI_C_1331_REG_ARRAY, ARRAY_SIZE(MIPI_C_1331_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[] = { + { MIPI_C_1382_REG_ARRAY, ARRAY_SIZE(MIPI_C_1382_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[] = { + { MIPI_C_1414_REG_ARRAY, ARRAY_SIZE(MIPI_C_1414_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 Msps", 1356, + sensor_imx564_setfile_C_1356, ARRAY_SIZE(sensor_imx564_setfile_C_1356) }, + { "1331 Msps", 1331, + sensor_imx564_setfile_C_1331, ARRAY_SIZE(sensor_imx564_setfile_C_1331) }, + { "1382 Msps", 1382, + sensor_imx564_setfile_C_1382, ARRAY_SIZE(sensor_imx564_setfile_C_1382) }, + { "1414 Msps", 1414, + sensor_imx564_setfile_C_1414, ARRAY_SIZE(sensor_imx564_setfile_C_1414) }, +}; + +static const struct cam_mipi_cell_ratings sensor_imx564_setfile_C_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {7, 14, 7, 14} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 7, 14, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {9, 6, 9, 3} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {0, 6, 0, 6} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10567, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10568, 10572, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10573, 10582, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10583, 10625, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10626, 10642, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10643, 10652, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10653, 10662, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10663, 10695, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10696, 10732, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10733, 10741, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10742, 10787, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10788, 10811, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10812, 10826, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10827, 10838, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9674, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9675, 9702, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9703, 9726, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9727, 9731, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9732, 9744, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9745, 9790, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9791, 9801, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9802, 9817, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9818, 9839, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9840, 9860, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9861, 9887, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9888, 9899, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9900, 9909, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9910, 9938, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1182, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1183, 1193, {3, 3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1194, 1205, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1206, 1211, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1212, 1252, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1253, 1281, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1282, 1296, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1297, 1305, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1306, 1350, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1351, 1351, {3, 3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1352, 1366, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1367, 1375, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1376, 1420, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1421, 1440, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1441, 1458, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1459, 1470, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1471, 1510, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1511, 1513, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1542, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1543, 1547, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1548, 1557, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1558, 1600, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1601, 1617, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1618, 1627, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1628, 1637, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1638, 1670, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1671, 1707, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1708, 1716, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1717, 1738, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4396, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4397, 4402, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4403, 4408, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4409, 4412, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4413, 4458, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4396, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4397, 4402, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4403, 4408, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4409, 4412, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4413, 4413, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2243, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2244, 2255, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2256, 2293, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2294, 2313, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2314, 2325, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2326, 2334, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2335, 2392, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2393, 2401, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2402, 2404, {2, 40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2405, 2420, {0, 40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2421, 2462, {0, 40, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2463, 2471, {0, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2472, 2490, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2491, 2496, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2497, 2560, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2561, 2563, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2942, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2943, 2949, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2950, 2979, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2980, 3019, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3020, 3037, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3038, 3049, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3050, 3088, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 721, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 722, 727, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 728, 733, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 734, 737, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 738, 763, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 35, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 36, 45, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 46, 65, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 66, 151, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 152, 185, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 186, 205, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 206, 224, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 225, 291, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 292, 364, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 365, 382, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 383, 474, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 475, 522, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 523, 553, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 554, 599, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 612, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 613, 649, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 650, 704, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 705, 752, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 753, 762, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 763, 789, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 790, 881, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 882, 902, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 903, 935, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 936, 978, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 979, 1021, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1022, 1075, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1076, 1098, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1099, 1118, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1119, 1197, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1198, 1199, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1265, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1266, 1286, {3, 3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1287, 1310, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1311, 1322, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1323, 1405, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1406, 1463, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1464, 1493, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1494, 1511, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1512, 1601, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1602, 1603, {3, 3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1604, 1633, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1634, 1651, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1652, 1741, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1742, 1780, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1781, 1816, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1817, 1841, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1842, 1920, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1921, 1938, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1939, 1949, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1985, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1986, 1995, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1996, 2015, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2016, 2101, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2102, 2135, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2136, 2155, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2156, 2174, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2175, 2241, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2242, 2314, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2315, 2332, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2333, 2399, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2502, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2503, 2514, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2515, 2526, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2527, 2535, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2536, 2649, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2786, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2787, 2787, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2788, 2811, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2812, 2887, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2888, 2927, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2928, 2951, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2952, 2969, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2970, 3084, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3085, 3103, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3104, 3109, {2, 40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3110, 3140, {0, 40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3141, 3224, {0, 40, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3225, 3243, {0, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3244, 3280, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3281, 3292, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3293, 3420, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3421, 3432, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3433, 3449, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3461, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3462, 3485, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3486, 3498, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3499, 3559, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3560, 3638, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3639, 3675, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3676, 3699, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3700, 3778, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3779, 3799, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5031, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5032, 5058, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5059, 5079, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5080, 5080, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5081, 5179, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5198, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5199, 5220, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5221, 5256, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5257, 5279, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5340, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5341, 5375, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5376, 5376, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5377, 5379, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5749, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5750, 5750, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5751, 5849, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5877, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5878, 5902, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5903, 5935, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5936, 5999, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6042, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6043, 6054, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6055, 6066, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6067, 6075, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6076, 6149, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6209, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6210, 6233, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6234, 6246, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6247, 6252, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6253, 6386, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6387, 6392, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6393, 6398, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6399, 6410, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6411, 6449, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6457, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6458, 6561, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6562, 6575, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6576, 6599, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8052, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8053, 8089, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8090, 8144, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8145, 8192, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8193, 8202, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8203, 8229, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8230, 8321, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8322, 8342, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8343, 8375, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8376, 8418, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8419, 8461, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8462, 8515, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8516, 8538, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8539, 8558, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8559, 8637, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8638, 8678, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8679, 8689, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8727, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8728, 8752, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8753, 8785, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8786, 8892, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8893, 8904, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8905, 8916, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8917, 8925, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8926, 9039, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9270, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9271, 9305, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9306, 9306, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9307, 9313, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9314, 9445, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9446, 9453, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9454, 9459, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9460, 9483, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9484, 9599, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9600, 9623, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9624, 9636, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9637, 9642, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9643, 9659, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9661, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9662, 9667, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9668, 9709, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9710, 9769, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9773, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9774, 9782, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9783, 9794, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9795, 9869, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9950, {3, 3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9951, 9952, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9953, 10007, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10008, 10049, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10050, 10141, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10142, 10147, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10148, 10190, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10191, 10226, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10227, 10281, {3, 3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10282, 10287, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10288, 10330, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10331, 10359, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36235, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36236, 36247, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36248, 36314, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36315, 36349, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37793, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37794, 37823, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37824, 37910, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37911, 37963, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37964, 37970, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37971, 37982, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37983, 38050, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38051, 38110, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38111, 38122, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38123, 38146, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38147, 38247, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38248, 38249, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38256, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38257, 38281, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38282, 38378, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38379, 38397, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38398, 38439, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38440, 38470, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38471, 38537, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38538, 38575, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38576, 38579, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38580, 38610, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38611, 38649, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38656, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38657, 38717, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38718, 38759, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38760, 38816, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38817, 38839, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38840, 38857, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38858, 38949, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38950, 38956, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38957, 38979, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38980, 39034, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39035, 39089, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39090, 39153, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39154, 39162, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39163, 39174, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39175, 39278, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39279, 39293, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39294, 39302, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39303, 39351, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39352, 39418, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39419, 39485, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39486, 39490, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39491, 39491, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39492, 39607, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39608, 39625, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39626, 39630, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39631, 39649, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39659, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39660, 39680, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39681, 39774, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39775, 39799, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39800, 39817, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39818, 39877, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39878, 39957, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39958, 39963, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39964, 39976, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39977, 40017, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40018, 40103, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40104, 40116, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40117, 40140, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40141, 40213, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40214, 40280, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40281, 40293, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40294, 40353, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40354, 40433, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40434, 40463, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40464, 40550, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40551, 40603, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40604, 40610, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40611, 40622, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40623, 40690, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40691, 40750, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40751, 40762, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40763, 40786, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40787, 40887, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40888, 40926, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40927, 40927, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40928, 40951, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40952, 41027, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41028, 41067, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41068, 41091, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41092, 41109, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41110, 41224, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41225, 41243, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41244, 41249, {2, 40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41250, 41280, {0, 40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41281, 41364, {0, 40, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41365, 41383, {0, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41384, 41420, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41421, 41432, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41433, 41560, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41561, 41572, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41573, 41589, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41672, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41673, 41750, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41751, 41763, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41764, 41869, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41870, 41890, {2, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41891, 41903, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41904, 42009, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42010, 42067, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42068, 42080, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42081, 42086, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42087, 42206, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42207, 42207, {2, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42208, 42220, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42221, 42226, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42227, 42346, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42347, 42384, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42385, 42409, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42410, 42524, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42525, 42543, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42544, 42549, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42550, 42683, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42684, 42701, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42702, 42732, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42733, 42738, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42739, 42841, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42842, 42872, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42873, 42878, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42879, 42880, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42881, 43018, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43019, 43020, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43021, 43055, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43056, 43067, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43068, 43158, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43159, 43195, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43196, 43207, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43208, 43216, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43217, 43335, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43336, 43356, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43357, 43378, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43379, 43396, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43397, 43475, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43476, 43518, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43519, 43536, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43537, 43553, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43554, 43589, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55308, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55309, 55345, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55346, 55357, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55358, 55366, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55367, 55485, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55486, 55506, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55507, 55528, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55529, 55546, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55547, 55625, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55626, 55668, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55669, 55686, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55687, 55703, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55704, 55802, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55803, 55843, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55844, 55851, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55852, 55875, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55876, 55942, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55943, 55991, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55992, 56015, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56016, 56040, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56041, 56119, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56120, 56174, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56175, 56180, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56181, 56204, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56205, 56259, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56260, 56314, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56315, 56344, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56345, 56377, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56378, 56436, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56437, 56497, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56498, 56517, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56518, 56534, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56535, 56576, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56577, 56637, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56638, 56674, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56675, 56713, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56714, 56739, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66471, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66472, 66481, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66482, 66501, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66502, 66587, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66588, 66621, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66622, 66641, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66642, 66660, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66661, 66727, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66728, 66800, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66801, 66818, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66819, 66910, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66911, 66958, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66959, 66989, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66990, 67050, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67051, 67129, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67130, 67135, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67136, 67155, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67156, 67233, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67234, 67275, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67276, 67295, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67296, 67318, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67319, 67335, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68599, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68600, 68623, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68624, 68685, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68686, 68739, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68740, 68744, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68745, 68806, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68807, 68825, {7, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68826, 68884, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68885, 68928, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68929, 68935, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {6, 3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {6, 3, 9, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {3, 3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 6, 9, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {2, 2, 4, 4} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {6, 3, 3, 6} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {14, 7, 7, 14} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {0, 9, 0, 6} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {7, 14, 14, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 422700, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422701, 422900, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422901, 423300, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423301, 425020, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425021, 425700, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425701, 426100, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426101, 426480, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426481, 427820, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427821, 429280, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429281, 429640, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429641, 431480, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 431481, 432440, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432441, 433060, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433061, 433980, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 386240, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386241, 386980, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386981, 388080, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388081, 389040, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389041, 389240, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389241, 389780, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389781, 391620, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391621, 392040, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392041, 392700, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392701, 393560, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393561, 394420, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 394421, 395500, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395501, 395960, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395961, 396360, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396361, 397940, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397941, 397980, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 362300, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362301, 362720, {3, 3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362721, 363200, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363201, 363440, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363441, 365100, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365101, 366260, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366261, 366860, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366861, 367220, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367221, 369020, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369021, 369060, {3, 3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369061, 369660, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369661, 370020, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370021, 371820, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 371821, 372600, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372601, 373320, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373321, 373820, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373821, 375400, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 375401, 375760, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 375761, 375980, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 175840, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175841, 176080, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176081, 176320, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176321, 176500, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176501, 178780, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 524720, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524721, 524740, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524741, 525220, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525221, 526740, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 526741, 527540, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527541, 528020, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528021, 528380, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528381, 530680, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530681, 531060, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531061, 531180, {2, 40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531181, 531800, {0, 40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531801, 533480, {0, 40, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533481, 533860, {0, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533861, 534600, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534601, 534840, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534841, 537400, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537401, 537640, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537641, 538000, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 185220, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185221, 185700, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185701, 185960, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185961, 187180, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187181, 188760, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 188761, 189500, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189501, 189980, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189981, 191560, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191561, 191980, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146220, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146221, 146760, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146761, 147180, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147181, 147200, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147201, 149200, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 149560, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149561, 150000, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150001, 150720, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150721, 151200, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 152800, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 152801, 153500, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153501, 153520, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153521, 153580, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 172540, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172541, 173040, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173041, 173700, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173701, 175000, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 159380, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159381, 159860, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159861, 160120, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160121, 160240, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160241, 162920, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162921, 163040, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163041, 163160, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163161, 163400, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163401, 164180, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 386240, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386241, 386980, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386981, 388080, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388081, 389040, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389041, 389240, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389241, 389780, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389781, 391620, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391621, 392040, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392041, 392700, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392701, 393560, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393561, 394420, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 394421, 395500, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395501, 395960, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395961, 396360, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396361, 397940, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397941, 398760, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 398761, 398980, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 172540, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172541, 173040, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173041, 173700, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173701, 175840, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175841, 176080, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176081, 176320, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176321, 176500, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176501, 178800, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 152800, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 152801, 153500, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153501, 153520, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153521, 153660, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153661, 156300, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156301, 156460, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156461, 156580, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156581, 157060, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157061, 159380, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159381, 159860, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159861, 160120, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160121, 160240, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160241, 160580, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 143420, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143421, 143540, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143541, 144380, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 144381, 145580, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 470060, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470061, 470240, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470241, 470480, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470481, 471980, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 514860, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514861, 515460, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515461, 517200, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517201, 518260, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518261, 518400, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518401, 518640, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518641, 520000, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 520001, 521200, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 521201, 521440, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 521441, 521920, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 521921, 523940, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 523941, 523980, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 376120, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376121, 376620, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376621, 378560, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378561, 378940, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378941, 379780, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 379781, 380400, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380401, 381740, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381741, 382500, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382501, 382580, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382581, 383200, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 383201, 384000, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 460120, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460121, 461340, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461341, 462180, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 462181, 463320, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463321, 463780, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463781, 464140, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464141, 465980, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465981, 466120, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466121, 466580, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466581, 467680, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467681, 468780, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468781, 470060, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 470061, 470240, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 470241, 470480, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 470481, 472560, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 472561, 472860, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 472861, 473040, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 473041, 474020, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 474021, 475360, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475361, 476700, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476701, 476800, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476801, 476820, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476821, 479140, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479141, 479500, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479501, 479600, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479601, 480000, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 499380, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499381, 499800, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499801, 501680, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501681, 502180, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502181, 502540, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502541, 503740, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 503741, 505340, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505341, 505460, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505461, 505720, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505721, 506540, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506541, 508260, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 508261, 508520, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 508521, 509000, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509001, 510460, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 510461, 511800, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511801, 512060, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512061, 513260, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 513261, 514860, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514861, 515460, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515461, 517200, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517201, 518260, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518261, 518400, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518401, 518640, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518641, 520000, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 520001, 521200, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 521201, 521440, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 521441, 521920, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 521921, 523940, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 523941, 524720, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524721, 524740, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524741, 525220, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525221, 526740, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 526741, 527540, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527541, 528020, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528021, 528380, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528381, 530680, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530681, 531060, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531061, 531180, {2, 40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531181, 531800, {0, 40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531801, 533480, {0, 40, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533481, 533860, {0, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533861, 534600, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534601, 534840, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534841, 537400, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537401, 537640, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537641, 537980, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 637107, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637108, 637367, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637368, 637447, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637448, 637507, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637508, 638287, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638288, 638427, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638428, 638587, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638588, 638707, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638708, 639227, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639228, 639507, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639508, 639627, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639628, 639747, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639748, 640407, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640408, 640687, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640688, 640727, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640728, 640887, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640888, 641347, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641348, 641667, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641668, 641827, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641828, 641987, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641988, 642527, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642528, 642887, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642888, 642927, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642928, 643087, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643088, 643447, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643448, 643827, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643828, 644027, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644028, 644247, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644248, 644627, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644628, 645047, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645048, 645167, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645168, 645287, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645288, 645567, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645568, 645967, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645968, 646227, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646228, 646487, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646488, 646666, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 422700, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422701, 422900, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422901, 423300, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423301, 425020, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425021, 425700, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425701, 426100, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426101, 426480, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426481, 427820, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427821, 429280, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429281, 429640, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429641, 431480, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 431481, 432440, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432441, 433060, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433061, 434280, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 434281, 435860, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435861, 435980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435981, 436380, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 436381, 437940, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437941, 438780, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438781, 439180, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 439181, 439640, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 439641, 439980, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 123660, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123661, 124140, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124141, 125380, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125381, 126460, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126461, 126560, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126561, 127800, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127801, 128180, {7, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128181, 129360, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129361, 130240, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 130241, 130380, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620120, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620121, 620220, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620221, 620480, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620481, 621140, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621141, 621340, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621341, 621400, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621401, 621780, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621781, 622080, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622081, 622280, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622281, 622320, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622321, 622720, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622721, 623340, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623341, 623500, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623501, 624040, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624041, 624280, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624281, 624440, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624441, 624960, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624961, 625540, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625541, 625620, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625621, 625660, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625661, 626280, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626281, 626460, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626461, 626540, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626541, 626580, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626581, 627200, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627201, 627720, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627721, 627820, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627821, 628520, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628521, 628660, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628661, 628740, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628741, 629460, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629461, 629840, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629841, 629920, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629921, 629960, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629961, 630760, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630761, 630780, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630781, 630860, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630861, 630900, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630901, 631700, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631701, 631960, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631961, 632120, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632121, 632880, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632881, 633020, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633021, 633060, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633061, 633940, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633941, 634060, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634061, 634280, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634281, 634320, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634321, 635000, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635001, 635200, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635201, 635240, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635241, 635260, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635261, 636180, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636181, 636420, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636421, 636500, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636501, 637120, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637121, 637360, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637361, 637440, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637441, 637500, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637501, 638300, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638301, 638440, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638441, 638580, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638581, 638700, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638701, 639220, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639221, 639520, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639521, 639640, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639641, 639740, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639741, 640400, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640401, 640680, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640681, 640740, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640741, 640900, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640901, 641340, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641341, 641660, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641661, 641820, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641821, 642000, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642001, 642520, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642521, 642880, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642881, 642920, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642921, 643080, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643081, 643460, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643461, 643820, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643821, 644020, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644021, 644240, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644241, 644640, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644641, 645040, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645041, 645180, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645181, 645280, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645281, 645560, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645561, 645980, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645981, 646220, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646221, 646480, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646481, 646740, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646741, 647200, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647201, 647420, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647421, 647480, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647481, 647680, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647681, 648120, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648121, 648420, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648421, 648720, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648721, 648860, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648861, 649340, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649341, 649660, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649661, 649680, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649681, 649800, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649801, 650280, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650281, 650600, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650601, 650980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650981, 651500, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651501, 651860, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651861, 651900, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651901, 652440, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652441, 652800, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652801, 653080, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653081, 653220, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653221, 653660, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653661, 654020, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654021, 654060, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654061, 654160, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654161, 654580, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654581, 655000, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655001, 655200, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655201, 655460, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655461, 655800, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655801, 656140, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656141, 656260, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656261, 656400, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656401, 656740, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656741, 657180, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657181, 657320, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657321, 657700, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657701, 657960, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657961, 658240, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658241, 658440, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658441, 658640, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658641, 658900, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658901, 659380, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659381, 659420, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659421, 659960, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659961, 660120, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660121, 660360, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660361, 660640, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660641, 660880, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660881, 661040, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661041, 661540, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661541, 661580, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661581, 662200, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662201, 662260, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662261, 662480, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662481, 662840, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662841, 663140, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663141, 663200, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663201, 663660, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663661, 663780, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663781, 664420, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664421, 664440, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664441, 664580, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664581, 665040, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665041, 665360, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665361, 665380, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665381, 665760, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665761, 665960, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665961, 666580, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666581, 666680, {1, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666681, 666700, {1, 20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666701, 667220, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667221, 667500, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667501, 667620, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667621, 667880, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667881, 668160, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668161, 668720, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668721, 668800, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668801, 668940, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668941, 669420, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669421, 669660, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669661, 669860, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669861, 669980, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669981, 670360, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670361, 670880, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670881, 670920, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670921, 671180, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671181, 671620, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671621, 671820, {20, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671821, 672100, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672101, 672120, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672121, 672540, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672541, 673040, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673041, 673420, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673421, 673800, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673801, 673980, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673981, 674220, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674221, 674360, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674361, 674740, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674741, 675140, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675141, 675200, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675201, 675660, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675661, 676000, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676001, 676120, {1, 0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676121, 676320, {0, 0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676321, 676600, {0, 1, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676601, 676940, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676941, 677260, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677261, 677340, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677341, 677920, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677921, 678200, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678201, 678280, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678281, 678440, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678441, 678840, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678841, 679140, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679141, 679380, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679381, 679500, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679501, 680000, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620120, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620121, 620220, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620221, 620480, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620481, 621140, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621141, 621340, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621341, 621400, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621401, 621780, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621781, 622080, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622081, 622280, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622281, 622320, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622321, 622720, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622721, 623340, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623341, 623500, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623501, 624040, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624041, 624280, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624281, 624440, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624441, 624960, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624961, 625540, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625541, 625620, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625621, 625660, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625661, 626280, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626281, 626460, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626461, 626540, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626541, 626580, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626581, 627200, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627201, 627720, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627721, 627820, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627821, 628520, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628521, 628660, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628661, 628740, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628741, 629460, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629461, 629840, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629841, 629920, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629921, 629960, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629961, 630760, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630761, 630780, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630781, 630860, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630861, 630900, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630901, 631700, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631701, 631960, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631961, 632120, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632121, 632880, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632881, 633020, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633021, 633060, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633061, 633940, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633941, 634060, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634061, 634280, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634281, 634320, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634321, 635000, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635001, 635200, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635201, 635240, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635241, 635260, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635261, 636180, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636181, 636420, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636421, 636500, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636501, 637120, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637121, 637360, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637361, 637440, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637441, 637500, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637501, 638300, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638301, 638440, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638441, 638580, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638581, 638700, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638701, 639220, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639221, 639520, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639521, 639640, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639641, 639740, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639741, 640400, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640401, 640680, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640681, 640740, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640741, 640900, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640901, 641340, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641341, 641660, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641661, 641820, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641821, 642000, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642001, 642520, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642521, 642880, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642881, 642920, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642921, 643080, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643081, 643460, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643461, 643820, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643821, 644020, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644021, 644240, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644241, 644640, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644641, 645040, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645041, 645180, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645181, 645280, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645281, 645560, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645561, 645980, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645981, 646220, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646221, 646480, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646481, 646740, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646741, 647200, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647201, 647420, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647421, 647480, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647481, 647680, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647681, 648120, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648121, 648420, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648421, 648720, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648721, 648860, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648861, 649340, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649341, 649660, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649661, 649680, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649681, 649800, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649801, 650280, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650281, 650600, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650601, 650980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650981, 651500, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651501, 651860, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651861, 651900, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651901, 652440, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652441, 652800, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652801, 653080, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 653081, 653220, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 653221, 653333, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693354, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693355, 693554, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693555, 693634, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693635, 694174, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694175, 694494, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694495, 694554, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694555, 694574, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694575, 695354, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695355, 695514, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695515, 695754, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695755, 695874, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695875, 696274, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696275, 696694, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696695, 696734, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696735, 696814, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696815, 697454, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697455, 697654, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697655, 697954, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697955, 698114, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698115, 698394, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698395, 698874, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698875, 699054, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699055, 699574, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699575, 699814, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699815, 700134, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700135, 700374, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700375, 700514, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700515, 701034, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701035, 701074, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701075, 701294, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701295, 701694, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701695, 701974, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701975, 702334, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702335, 702614, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702615, 703194, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703195, 703274, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703275, 703534, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703535, 703794, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703795, 704114, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704115, 704534, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704535, 704734, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704735, 704854, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704855, 705334, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705335, 705454, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705455, 705794, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705795, 705914, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705915, 706274, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706275, 706734, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706735, 706854, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706855, 707094, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707095, 707494, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707495, 707654, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707655, 708034, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708035, 708434, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708435, 708914, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708915, 708954, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708955, 709354, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709355, 709654, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709655, 709854, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709855, 710134, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710135, 710274, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710275, 710574, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710575, 711074, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711075, 711114, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711115, 711594, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711595, 711794, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711795, 712054, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712055, 712254, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712255, 712514, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712515, 712734, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712735, 713174, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713175, 713314, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713315, 713834, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713835, 713954, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713955, 714234, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714235, 714354, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714355, 714774, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714775, 714894, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714895, 715294, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715295, 715494, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715495, 716074, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716075, 716114, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716115, 716434, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716435, 716474, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716475, 717014, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717015, 717034, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717035, 717414, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717415, 717694, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717695, 718274, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718275, 718334, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718335, 718594, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718595, 718634, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718635, 719194, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719195, 719254, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719255, 719514, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719515, 719894, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719895, 720414, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720415, 720574, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720575, 720694, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720695, 720814, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720815, 721354, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721355, 721494, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721495, 721634, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721635, 722094, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722095, 722574, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722575, 722814, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722815, 723014, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723015, 723514, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723515, 723754, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723755, 724274, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724275, 724734, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724735, 724934, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724935, 725054, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725055, 725214, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725215, 725654, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725655, 725854, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725855, 725994, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725995, 726474, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726475, 726874, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726875, 727034, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727035, 727314, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727315, 727414, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727415, 727814, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727815, 727974, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727975, 728234, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728235, 728674, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728675, 729034, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729035, 729154, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729155, 729554, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729555, 729594, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729595, 729974, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729975, 730094, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730095, 730494, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730495, 730854, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730855, 731194, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731195, 731274, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731275, 731794, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731795, 732114, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732115, 732194, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732195, 732734, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732735, 733054, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733055, 733333, {0, 0, 1, 0} }, +}; + +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) + }, +}; + + +/*************************************/ +/* ========== SET D =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_D_3379_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_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[] = { + { MIPI_D_3379_REG_ARRAY, ARRAY_SIZE(MIPI_D_3379_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[] = { + { MIPI_D_3331_REG_ARRAY, ARRAY_SIZE(MIPI_D_3331_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 Msps", 3379, + sensor_imx564_setfile_D_3379, ARRAY_SIZE(sensor_imx564_setfile_D_3379) }, + { "3331 Msps", 3331, + sensor_imx564_setfile_D_3331, ARRAY_SIZE(sensor_imx564_setfile_D_3331) }, +}; + +static const struct cam_mipi_cell_ratings sensor_imx564_setfile_D_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10672, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10673, 10742, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10743, 10826, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10827, 10838, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9689, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9690, 9879, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9880, 9938, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1211, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1212, 1281, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1282, 1342, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1343, 1412, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1413, 1513, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1647, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1648, 1717, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1718, 1738, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4390, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4391, 4397, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4398, 4458, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4390, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4391, 4397, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4398, 4413, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2246, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2247, 2365, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2366, 2435, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2436, 2563, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 3023, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3024, 3088, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 715, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 716, 722, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 723, 763, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 244, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 245, 384, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 385, 553, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 554, 599, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 679, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 680, 1058, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1059, 1198, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1199, 1199, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1322, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1323, 1462, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1463, 1585, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1586, 1725, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1726, 1949, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2194, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2195, 2334, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2335, 2399, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2490, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2491, 2504, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2505, 2630, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2631, 2649, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2793, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2794, 3030, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3031, 3170, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3171, 3446, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3447, 3449, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3647, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3648, 3784, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3785, 3787, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3788, 3799, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5031, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5032, 5179, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5279, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5379, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5849, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5904, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5905, 5999, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6030, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6031, 6044, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6045, 6149, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6215, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6216, 6241, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6242, 6355, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6356, 6449, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6490, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6491, 6599, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8119, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8120, 8498, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8499, 8638, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8639, 8689, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8754, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8755, 8880, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8881, 8894, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8895, 9020, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9021, 9039, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9491, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9492, 9605, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9606, 9631, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9632, 9659, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9661, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9662, 9698, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9699, 9769, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9869, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9952, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9953, 10359, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36284, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36285, 36349, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37866, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37867, 38153, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38154, 38249, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38415, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38416, 38555, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38556, 38649, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38721, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38722, 38912, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38913, 39052, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39053, 39374, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39375, 39514, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39515, 39649, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39701, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39702, 40000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40001, 40140, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40141, 40366, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40367, 40506, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40507, 40793, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40794, 40933, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40934, 41170, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41171, 41310, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41311, 41586, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41587, 41589, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41625, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41626, 41765, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41766, 42116, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42117, 42256, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42257, 42418, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42419, 42558, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42559, 42921, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42922, 43061, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43062, 43211, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43212, 43351, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43352, 43589, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55361, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55362, 55501, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55502, 55875, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55876, 56015, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56016, 56154, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56155, 56294, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56295, 56680, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56681, 56739, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66680, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66681, 66820, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66821, 66989, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66990, 67129, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67130, 67335, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68691, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68692, 68782, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68783, 68831, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68832, 68922, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68923, 68935, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {0, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {0, 14} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 426880, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426881, 429680, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429681, 433060, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433061, 433980, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 387580, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 387581, 395160, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395161, 397960, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397961, 397980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 363440, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363441, 366240, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366241, 368700, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 368701, 371500, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 371501, 375980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 175600, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175601, 175880, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175881, 178400, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178401, 178780, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 524860, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524861, 529600, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 529601, 532400, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 532401, 537920, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537921, 538000, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 188940, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 188941, 191680, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191681, 191740, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191741, 191980, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146220, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146221, 149200, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 151200, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 153580, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 173080, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173081, 175000, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 159500, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159501, 160020, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160021, 162300, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162301, 164180, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 387580, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 387581, 395160, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395161, 397960, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397961, 398980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 173080, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173081, 175600, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175601, 175880, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175881, 178400, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178401, 178800, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 157220, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157221, 159500, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159501, 160020, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160021, 160580, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 143420, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143421, 144160, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 144161, 145580, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 471980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 516320, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 516321, 522060, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522061, 523980, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 379300, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 379301, 382100, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382101, 384000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 461420, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461421, 465240, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465241, 468040, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468041, 474480, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 474481, 477280, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477281, 480000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 500220, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 500221, 506200, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506201, 509000, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509001, 513520, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 513521, 516320, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 516321, 522060, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522061, 524860, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524861, 529600, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 529601, 532400, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 532401, 537920, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537921, 537980, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 637467, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637468, 638407, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638408, 640887, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640888, 641827, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641828, 642747, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642748, 643687, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643688, 646267, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646268, 646666, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 426880, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426881, 429680, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429681, 433060, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433061, 435860, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435861, 439980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 125500, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125501, 127320, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127321, 128300, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128301, 130120, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 130121, 130380, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620380, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620381, 621600, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621601, 622540, {0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622541, 624800, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624801, 625740, {20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625741, 626900, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626901, 627820, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627821, 630160, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630161, 631100, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631101, 632180, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632181, 633120, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633121, 635540, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635541, 636460, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636461, 637460, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637461, 638400, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638401, 640900, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640901, 641820, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641821, 642760, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642761, 643680, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643681, 646260, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646261, 647200, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647201, 648040, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648041, 648980, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648981, 651620, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651621, 652560, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652561, 653320, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653321, 654260, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654261, 656980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656981, 657920, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657921, 658620, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658621, 659540, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659541, 662360, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662361, 663280, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663281, 663900, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663901, 664840, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664841, 667720, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667721, 668640, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668641, 669200, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669201, 670120, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670121, 673080, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673081, 674020, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674021, 674480, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674481, 675420, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675421, 678440, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678441, 679380, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679381, 679760, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679761, 680000, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620380, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620381, 621600, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621601, 622540, {0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622541, 624800, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624801, 625740, {20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625741, 626900, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626901, 627820, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627821, 630160, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630161, 631100, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631101, 632180, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632181, 633120, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633121, 635540, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635541, 636460, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636461, 637460, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637461, 638400, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638401, 640900, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640901, 641820, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641821, 642760, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642761, 643680, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643681, 646260, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646261, 647200, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647201, 648040, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648041, 648980, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648981, 651620, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651621, 652560, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652561, 653333, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 694534, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694535, 695474, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695475, 695634, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695635, 696554, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696555, 699894, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699895, 700834, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700835, 700914, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700915, 701854, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701855, 705254, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705255, 706194, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706195, 706214, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706215, 707134, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707135, 710634, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710635, 711494, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711495, 711554, {1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711555, 712434, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712435, 715994, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715995, 716774, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716775, 716914, {1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716915, 717714, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717715, 721354, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721355, 722074, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722075, 722294, {1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722295, 722994, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722995, 726714, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726715, 727354, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727355, 727654, {1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727655, 728294, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728295, 732074, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732075, 732654, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732655, 733014, {1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733015, 733333, {0, 1} }, +}; + +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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx596_2_0.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx596_2_0.h new file mode 100755 index 0000000000..7f2c700890 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx596_2_0.h @@ -0,0 +1,1272 @@ +/* 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_IMX596_2_0_H_ +#define _CAM_SENSOR_ADAPTIVE_MIPI_IMX596_2_0_H_ + +#include "cam_sensor_dev.h" + +int num_front_top_mipi_setting = 1; + +/*************************************/ +/* ========== SET A =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_SET_A_793_REG_ARRAY[] = { + {0x030F, 0xF8, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_A_723_REG_ARRAY[] = { + {0x030F, 0xE2, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_A_771_REG_ARRAY[] = { + {0x030F, 0xF1, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_A_774_REG_ARRAY[] = { + {0x030F, 0xF2, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx596_setfile_A_mipi_793[] = { + { MIPI_SET_A_793_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_793_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 } +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx596_setfile_A_mipi_723[] = { + { MIPI_SET_A_723_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_723_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 } +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx596_setfile_A_mipi_771[] = { + { MIPI_SET_A_771_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_771_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 } +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx596_setfile_A_mipi_774[] = { + { MIPI_SET_A_774_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_774_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 } +}; + +static const struct cam_mipi_setting sensor_imx596_setfile_A_mipi_setting[] = { + { "793 Mhz", 793, + sensor_imx596_setfile_A_mipi_793, ARRAY_SIZE(sensor_imx596_setfile_A_mipi_793) }, + { "723 Mhz", 723, + sensor_imx596_setfile_A_mipi_723, ARRAY_SIZE(sensor_imx596_setfile_A_mipi_723) }, + { "771 Mhz", 771, + sensor_imx596_setfile_A_mipi_771, ARRAY_SIZE(sensor_imx596_setfile_A_mipi_771) }, + { "774 Mhz", 774, + sensor_imx596_setfile_A_mipi_774, ARRAY_SIZE(sensor_imx596_setfile_A_mipi_774) }, +}; + +static const struct cam_mipi_cell_ratings sensor_imx596_setfile_A_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {7, 7, 14, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {0, 7, 154, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {0, 69, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {63, 63, 66, 63} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10568, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10569, 10612, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10613, 10632, {0, 0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10633, 10638, {0, 3, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10639, 10678, {0, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10679, 10682, {3, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10683, 10702, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10703, 10748, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10749, 10761, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10762, 10806, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10807, 10812, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10813, 10831, {0, 60, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10832, 10838, {0, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9674, {0, 0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9675, 9686, {0, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9687, 9714, {3, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9715, 9728, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9729, 9756, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9757, 9797, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9798, 9798, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9799, 9838, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9839, 9867, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9868, 9884, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9885, 9908, {60, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9909, 9938, {60, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1189, {0, 60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1190, 1199, {0, 60, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1200, 1216, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1217, 1221, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1222, 1259, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1260, 1286, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1287, 1310, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1311, 1344, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1345, 1380, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1381, 1382, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1383, 1414, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1415, 1414, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1415, 1452, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1453, 1484, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1485, 1491, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1492, 1513, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1543, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1544, 1587, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1588, 1607, {0, 0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1608, 1613, {0, 3, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1614, 1653, {0, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1654, 1657, {3, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1658, 1677, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1678, 1723, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1724, 1736, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1737, 1738, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4374, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4375, 4399, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4400, 4399, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4400, 4417, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4418, 4458, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4399, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4400, 4399, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4400, 4413, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2254, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2255, 2254, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2255, 2270, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2271, 2288, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2289, 2324, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2325, 2358, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2359, 2382, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2383, 2393, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2394, 2448, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2449, 2452, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2453, 2463, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2464, 2469, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2470, 2518, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2519, 2539, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2540, 2563, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2962, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2963, 2965, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2966, 2981, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2982, 3026, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3027, 3035, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3036, 3084, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3085, 3088, {7, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 724, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 725, 724, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 725, 742, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 743, 763, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 0, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 1, 37, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 38, 125, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 126, 164, {0, 0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 165, 177, {0, 3, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 178, 257, {0, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 258, 265, {3, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 266, 304, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 305, 397, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 398, 423, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 424, 513, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 514, 525, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 526, 563, {0, 60, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 564, 599, {0, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 649, {0, 0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 650, 673, {0, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 674, 729, {3, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 730, 756, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 757, 813, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 814, 895, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 896, 896, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 897, 977, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 978, 1035, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1036, 1069, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1070, 1117, {60, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1118, 1199, {60, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1203, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1204, 1278, {0, 60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1279, 1299, {0, 60, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1300, 1332, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1333, 1343, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1344, 1418, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1419, 1472, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1473, 1521, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1522, 1588, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1589, 1661, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1662, 1665, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1666, 1728, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1729, 1729, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1730, 1805, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1806, 1869, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1870, 1883, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1884, 1949, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1950, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1951, 1987, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1988, 2075, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2076, 2114, {0, 0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2115, 2127, {0, 3, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2128, 2207, {0, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2208, 2215, {3, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2216, 2254, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2255, 2347, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2348, 2373, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2374, 2399, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2458, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2459, 2508, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2509, 2509, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2510, 2545, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2546, 2648, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2649, 2649, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2808, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2809, 2809, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2810, 2840, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2841, 2876, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2877, 2949, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2950, 3016, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3017, 3065, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3066, 3086, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3087, 3196, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3197, 3205, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3206, 3226, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3227, 3238, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3239, 3336, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3337, 3378, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3379, 3449, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3524, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3525, 3531, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3532, 3562, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3563, 3653, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3654, 3671, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3672, 3769, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3770, 3793, {7, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3794, 3799, {0, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5021, {0, 140, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5022, 5116, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5117, 5146, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5147, 5179, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5189, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5190, 5243, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5244, 5279, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5309, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5310, 5341, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5342, 5363, {0, 7, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5364, 5373, {0, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5374, 5379, {0, 0, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5786, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5787, 5816, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5817, 5849, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5858, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5859, 5909, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5910, 5998, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5999, 5999, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6048, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6049, 6049, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6050, 6085, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6086, 6149, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6245, {140, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6246, 6265, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6266, 6267, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6268, 6301, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6302, 6407, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6408, 6441, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6442, 6449, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6459, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6460, 6499, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6500, 6521, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6522, 6599, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8089, {0, 0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8090, 8113, {0, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8114, 8169, {3, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8170, 8196, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8197, 8253, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8254, 8335, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8336, 8336, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8337, 8417, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8418, 8475, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8476, 8509, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8510, 8557, {60, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8558, 8649, {60, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8650, 8689, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8708, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8709, 8759, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8760, 8848, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8849, 8898, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8899, 8899, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8900, 8935, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8936, 9038, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9039, 9039, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9239, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9240, 9271, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9272, 9293, {0, 7, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9294, 9303, {0, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9304, 9411, {0, 0, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9412, 9443, {0, 0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9444, 9495, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9496, 9515, {140, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9516, 9635, {140, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9636, 9655, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9656, 9657, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9658, 9659, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9702, {7, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9703, 9746, {0, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9747, 9769, {0, 140, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9819, {0, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9820, 9843, {0, 40, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9844, 9861, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9862, 9869, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9933, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9934, 9982, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9983, 10011, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10012, 10043, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10044, 10122, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10123, 10151, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10152, 10155, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10156, 10183, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10184, 10295, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10296, 10359, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36221, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36222, 36266, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36267, 36279, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36280, 36304, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36305, 36349, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37771, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37772, 37793, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37794, 37815, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37816, 37911, {40, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37912, 37922, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37923, 37955, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37956, 38015, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38016, 38062, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38063, 38155, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38156, 38168, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38169, 38200, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38201, 38249, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38274, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38275, 38323, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38324, 38352, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38353, 38414, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38415, 38426, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38427, 38492, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38493, 38544, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38545, 38566, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38567, 38649, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38715, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38716, 38722, {2, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38723, 38734, {2, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38735, 38811, {0, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38812, 38855, {0, 2, 40, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38856, 38862, {0, 2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38863, 38951, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38952, 38991, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38992, 39083, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39084, 39101, {2, 40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39102, 39131, {2, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39132, 39199, {0, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39200, 39223, {0, 40, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39224, 39241, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39242, 39339, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39340, 39387, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39388, 39445, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39446, 39487, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39488, 39527, {40, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39528, 39585, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39586, 39586, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39587, 39627, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39628, 39649, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39683, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39684, 39710, {2, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39711, 39758, {2, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39759, 39787, {0, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39788, 39823, {0, 0, 40, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39824, 39927, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39928, 39931, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39932, 40015, {0, 40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40016, 40069, {2, 40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40070, 40071, {2, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40072, 40155, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40156, 40175, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40176, 40209, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40210, 40293, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40294, 40315, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40316, 40411, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40412, 40433, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40434, 40455, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40456, 40551, {40, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40552, 40562, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40563, 40595, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40596, 40655, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40656, 40702, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40703, 40795, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40796, 40808, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40809, 40840, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40841, 40948, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40949, 40949, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40950, 40980, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40981, 41016, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41017, 41089, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41090, 41156, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41157, 41205, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41206, 41226, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41227, 41336, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41337, 41345, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41346, 41366, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41367, 41378, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41379, 41476, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41477, 41518, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41519, 41589, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41592, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41593, 41593, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41594, 41644, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41645, 41650, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41651, 41733, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41734, 41784, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41785, 41838, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41839, 41872, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41873, 41978, {0, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41979, 41980, {0, 40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41981, 42012, {0, 40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42013, 42041, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42042, 42120, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42121, 42181, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42182, 42224, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42225, 42233, {0, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42234, 42364, {0, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42365, 42368, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42369, 42373, {0, 2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42374, 42438, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42439, 42508, {2, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42509, 42578, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42579, 42595, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42596, 42609, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42610, 42735, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42736, 42749, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42750, 42755, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42756, 42835, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42836, 42895, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42896, 42956, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42957, 42975, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42976, 42995, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42996, 43096, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43097, 43135, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43136, 43142, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43143, 43232, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43233, 43282, {40, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43283, 43318, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43319, 43372, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43373, 43380, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43381, 43458, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43459, 43520, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43521, 43529, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43530, 43589, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55246, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55247, 55285, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55286, 55292, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55293, 55382, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55383, 55432, {40, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55433, 55468, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55469, 55522, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55523, 55530, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55531, 55608, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55609, 55670, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55671, 55679, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55680, 55778, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55779, 55819, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55820, 55830, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55831, 55916, {2, 40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55917, 55918, {2, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55919, 55970, {0, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55971, 56056, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56057, 56066, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56067, 56175, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56176, 56191, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56192, 56206, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56207, 56302, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56303, 56315, {2, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56316, 56331, {0, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56332, 56442, {0, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56443, 56454, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56455, 56553, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56554, 56572, {0, 2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56573, 56594, {2, 2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56595, 56687, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56688, 56693, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56694, 56712, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56713, 56739, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66436, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66437, 66473, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66474, 66561, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66562, 66600, {0, 0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66601, 66613, {0, 3, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66614, 66693, {0, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66694, 66701, {3, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66702, 66740, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66741, 66833, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66834, 66859, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66860, 66949, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66950, 66961, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66962, 66999, {0, 60, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67000, 67089, {0, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67090, 67101, {60, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67102, 67229, {60, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67230, 67245, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67246, 67323, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67324, 67335, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68633, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68634, 68655, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68656, 68681, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68682, 68694, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68695, 68834, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68835, 68854, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68855, 68901, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68902, 68928, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68929, 68935, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {6, 6, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 9, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {3, 6, 69, 36} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 6, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {4, 44, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 6, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {14, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {63, 63, 66, 63} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {7, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 422000, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422001, 422740, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422741, 424500, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 424501, 425280, {0, 0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425281, 425540, {0, 3, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425541, 427140, {0, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427141, 427300, {3, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427301, 428080, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428081, 429940, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429941, 430460, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 430461, 432260, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432261, 432500, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432501, 433260, {0, 60, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433261, 433980, {0, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 386980, {0, 0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386981, 387460, {0, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 387461, 388580, {3, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388581, 389120, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389121, 390260, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 390261, 391900, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391901, 391920, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391921, 393540, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393541, 394700, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 394701, 395380, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395381, 396340, {60, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396341, 397980, {60, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 361060, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361061, 362560, {0, 60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362561, 362980, {0, 60, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362981, 363640, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363641, 363860, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363861, 365360, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365361, 366440, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366441, 367420, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367421, 368760, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 368761, 370220, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370221, 370300, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370301, 371560, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 371561, 371580, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 371581, 373100, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373101, 374380, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 374381, 374660, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 374661, 375980, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 174960, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 174961, 175960, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175961, 175980, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175981, 176700, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176701, 178760, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178761, 178780, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 525160, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525161, 525180, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525181, 525800, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525801, 526520, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 526521, 527980, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527981, 529320, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 529321, 530300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530301, 530720, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530721, 532920, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 532921, 533100, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533101, 533520, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533521, 533760, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533761, 535720, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 535721, 536560, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 536561, 538000, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186480, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186481, 186620, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186621, 187240, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187241, 189060, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189061, 189420, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189421, 191380, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191381, 191860, {7, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191861, 191980, {0, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146020, {0, 140, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146021, 147920, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147921, 148520, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148521, 149200, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 149380, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149381, 150460, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150461, 151200, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 152180, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 152181, 152820, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 152821, 153260, {0, 7, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153261, 153460, {0, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153461, 153580, {0, 0, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 172160, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172161, 173180, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173181, 174960, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 174961, 175000, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 160100, {140, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160101, 160500, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160501, 160540, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160541, 161220, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 161221, 163340, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163341, 164020, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 164021, 164180, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 386980, {0, 0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386981, 387460, {0, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 387461, 388580, {3, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388581, 389120, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389121, 390260, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 390261, 391900, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391901, 391920, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391921, 393540, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393541, 394700, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 394701, 395380, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395381, 396340, {60, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396341, 398180, {60, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 398181, 398980, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 172160, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172161, 173180, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173181, 174960, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 174961, 175960, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175961, 175980, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175981, 176700, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176701, 178760, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178761, 178800, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 152180, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 152181, 152820, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 152821, 153260, {0, 7, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153261, 153460, {0, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153461, 155620, {0, 0, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155621, 156260, {0, 0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156261, 157300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157301, 157700, {140, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157701, 160100, {140, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160101, 160500, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160501, 160540, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160541, 160580, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 144240, {7, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 144241, 145120, {0, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 145121, 145580, {0, 140, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 470980, {0, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470981, 471460, {0, 40, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471461, 471820, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471821, 471980, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 514420, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514421, 514860, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514861, 515300, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515301, 517220, {40, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517221, 517440, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517441, 518100, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518101, 519300, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 519301, 520240, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 520241, 522100, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522101, 522360, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522361, 523000, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 523001, 523980, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 376480, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376481, 377460, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377461, 378040, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378041, 379280, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 379281, 379520, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 379521, 380840, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380841, 381880, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381881, 382320, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382321, 384000, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 461300, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461301, 461440, {2, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461441, 461680, {2, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461681, 463220, {0, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463221, 464100, {0, 2, 40, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464101, 464240, {0, 2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464241, 466020, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466021, 466820, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466821, 468660, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468661, 469020, {2, 40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 469021, 469620, {2, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 469621, 470980, {0, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 470981, 471460, {0, 40, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471461, 471820, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471821, 473780, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 473781, 474740, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 474741, 475900, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475901, 476740, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476741, 477540, {40, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477541, 478700, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478701, 478720, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478721, 479540, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479541, 480000, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 499860, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499861, 500400, {2, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 500401, 501360, {2, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501361, 501940, {0, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501941, 502660, {0, 0, 40, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502661, 504740, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504741, 504820, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504821, 506500, {0, 40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506501, 507580, {2, 40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507581, 507620, {2, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507621, 509300, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509301, 509700, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509701, 510380, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 510381, 512060, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512061, 512500, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512501, 514420, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514421, 514860, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514861, 515300, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515301, 517220, {40, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517221, 517440, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517441, 518100, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518101, 519300, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 519301, 520240, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 520241, 522100, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522101, 522360, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522361, 523000, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 523001, 525160, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525161, 525180, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525181, 525800, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525801, 526520, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 526521, 527980, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527981, 529320, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 529321, 530300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530301, 530720, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530721, 532920, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 532921, 533100, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533101, 533520, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533521, 533760, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533761, 535720, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 535721, 536560, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 536561, 537980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 636707, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636708, 636967, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636968, 637007, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637008, 637607, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637608, 637947, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637948, 638187, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638188, 638547, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638548, 638587, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638588, 639107, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639108, 639527, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639528, 639587, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639588, 640247, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640248, 640527, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640528, 640587, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640588, 641167, {1, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641168, 641187, {1, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641188, 641527, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641528, 642107, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642108, 642167, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642168, 642887, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642888, 643007, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643008, 643107, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643108, 643747, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643748, 643827, {1, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643828, 643927, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643928, 644667, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644668, 644747, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644748, 645407, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645408, 645547, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645548, 645687, {1, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645688, 646307, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646308, 646347, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646348, 646467, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646468, 646666, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 422000, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422001, 422740, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422741, 424500, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 424501, 425280, {0, 0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425281, 425540, {0, 3, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425541, 427140, {0, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427141, 427300, {3, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427301, 428080, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428081, 429940, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429941, 430460, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 430461, 432260, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432261, 432500, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432501, 433260, {0, 60, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433261, 435060, {0, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435061, 435300, {60, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435301, 437860, {60, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437861, 438180, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438181, 439740, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 439741, 439980, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124340, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124341, 124780, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124781, 125300, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125301, 125560, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125561, 128360, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128361, 128760, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128761, 129700, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129701, 130240, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 130241, 130380, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620020, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620021, 620600, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620601, 621300, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621301, 621520, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621521, 621540, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621541, 621740, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621741, 622240, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622241, 622460, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622461, 622660, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622661, 623180, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623181, 623720, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623721, 624100, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624101, 624380, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624381, 624640, {20, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624641, 625040, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625041, 625300, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625301, 625740, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625741, 626120, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626121, 626680, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626681, 627020, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627021, 627060, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627061, 627620, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627621, 627960, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627961, 628320, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628321, 628540, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628541, 629240, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629241, 629260, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629261, 629480, {0, 20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629481, 629660, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629661, 630200, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630201, 630600, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630601, 630880, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630881, 630940, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630941, 631820, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631821, 631840, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631841, 631880, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631881, 632320, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632321, 632780, {1, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632781, 633240, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633241, 633360, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633361, 633460, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633461, 634300, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634301, 634380, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634381, 634420, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634421, 634960, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634961, 635360, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635361, 635760, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635761, 635900, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635901, 636020, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636021, 636700, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636701, 636960, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636961, 637000, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637001, 637600, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637601, 637940, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637941, 638180, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638181, 638540, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638541, 638600, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638601, 639120, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639121, 639520, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639521, 639580, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639581, 640240, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640241, 640520, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640521, 640600, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640601, 641160, {1, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641161, 641180, {1, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641181, 641520, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641521, 642100, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642101, 642160, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642161, 642900, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642901, 643000, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643001, 643100, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643101, 643740, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643741, 643820, {1, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643821, 643940, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643941, 644680, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644681, 644760, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644761, 645420, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645421, 645540, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645541, 645680, {1, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645681, 646300, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646301, 646340, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646341, 646480, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646481, 647240, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647241, 647340, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647341, 647820, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647821, 648180, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648181, 648260, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648261, 648760, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648761, 648880, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648881, 649120, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649121, 649820, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649821, 649920, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649921, 650240, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650241, 650840, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650841, 651160, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651161, 651440, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651441, 651760, {20, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651761, 652380, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652381, 652500, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652501, 652640, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652641, 653420, {0, 20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653421, 653480, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653481, 653580, {1, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653581, 654020, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654021, 654400, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654401, 654960, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654961, 655060, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655061, 655080, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655081, 655980, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655981, 656000, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656001, 656120, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656121, 656600, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656601, 657060, {1, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657061, 657460, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657461, 657520, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657521, 657660, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657661, 658400, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658401, 658580, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658581, 658760, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658761, 659160, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659161, 659700, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659701, 659880, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659881, 660100, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660101, 660240, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660241, 660800, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660801, 661180, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661181, 661420, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661421, 661740, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661741, 662280, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662281, 662340, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662341, 662660, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662661, 662820, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662821, 663220, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663221, 663760, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663761, 664060, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664061, 664300, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664301, 664700, {20, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664701, 664980, {20, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664981, 665240, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665241, 665400, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665401, 665640, {0, 20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665641, 666340, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666341, 666700, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666701, 666880, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666881, 667100, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667101, 667640, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667641, 667800, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667801, 667980, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667981, 668040, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668041, 668920, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668921, 669340, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669341, 669440, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669441, 669520, {1, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669521, 670280, {1, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670281, 670380, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670381, 670460, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670461, 670560, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670561, 671500, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671501, 671920, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671921, 672000, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672001, 672020, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672021, 672860, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672861, 672920, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672921, 672940, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672941, 673140, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673141, 674080, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674081, 674340, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674341, 674580, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674581, 674640, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674641, 675280, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675281, 675520, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675521, 675580, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675581, 675720, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675721, 676660, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676661, 676760, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676761, 677160, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677161, 677280, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677281, 677680, {20, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677681, 678080, {20, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678081, 678220, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678221, 678300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678301, 679160, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679161, 679240, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679241, 679720, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679721, 679920, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679921, 680000, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620020, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620021, 620600, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620601, 621300, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621301, 621520, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621521, 621540, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621541, 621740, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621741, 622240, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622241, 622460, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622461, 622660, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622661, 623180, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623181, 623720, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623721, 624100, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624101, 624380, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624381, 624640, {20, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624641, 625040, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625041, 625300, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625301, 625740, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625741, 626120, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626121, 626680, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626681, 627020, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627021, 627060, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627061, 627620, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627621, 627960, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627961, 628320, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628321, 628540, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628541, 629240, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629241, 629260, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629261, 629480, {0, 20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629481, 629660, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629661, 630200, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630201, 630600, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630601, 630880, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630881, 630940, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630941, 631820, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631821, 631840, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631841, 631880, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631881, 632320, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632321, 632780, {1, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632781, 633240, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633241, 633360, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633361, 633460, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633461, 634300, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634301, 634380, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634381, 634420, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634421, 634960, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634961, 635360, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635361, 635760, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635761, 635900, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635901, 636020, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636021, 636700, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636701, 636960, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636961, 637000, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637001, 637600, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637601, 637940, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637941, 638180, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638181, 638540, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638541, 638600, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638601, 639120, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639121, 639520, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639521, 639580, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639581, 640240, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640241, 640520, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640521, 640600, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640601, 641160, {1, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641161, 641180, {1, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641181, 641520, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641521, 642100, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642101, 642160, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642161, 642900, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642901, 643000, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643001, 643100, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643101, 643740, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643741, 643820, {1, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643821, 643940, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643941, 644680, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644681, 644760, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644761, 645420, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645421, 645540, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645541, 645680, {1, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645681, 646300, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646301, 646340, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646341, 646480, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646481, 647240, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647241, 647340, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647341, 647820, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647821, 648180, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648181, 648260, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648261, 648760, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648761, 648880, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648881, 649120, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649121, 649820, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649821, 649920, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649921, 650240, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650241, 650840, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650841, 651160, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651161, 651440, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651441, 651760, {20, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651761, 652380, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652381, 652500, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652501, 652640, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652641, 653333, {0, 20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693514, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693515, 693634, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693635, 693794, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693795, 694094, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694095, 694554, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694555, 694734, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694735, 695154, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695155, 695794, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695795, 696034, {1, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696035, 696094, {1, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696095, 696374, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696375, 696734, {1, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696735, 696974, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696975, 697314, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697315, 697714, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697715, 698454, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698455, 698654, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698655, 698954, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698955, 699374, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699375, 699894, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699895, 700294, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700295, 700854, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700855, 701094, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701095, 701234, {1, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701235, 701534, {1, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701535, 701794, {1, 20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701795, 702034, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702035, 702474, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702475, 702854, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702855, 703274, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703275, 703734, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703735, 703794, {20, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703795, 704114, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704115, 704194, {20, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704195, 704674, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704675, 705054, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705055, 705434, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705435, 705674, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705675, 706374, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706375, 706614, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706615, 706694, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706695, 707314, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707315, 707634, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707635, 708014, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708015, 708094, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708095, 708934, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708935, 709014, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709015, 709034, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709035, 709294, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709295, 709954, {1, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709955, 710214, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710215, 710494, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710495, 710574, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710575, 711434, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711435, 711514, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711515, 711674, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711675, 711874, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711875, 712614, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712615, 712794, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712795, 712914, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712915, 713154, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713155, 713834, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713835, 714074, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714075, 714314, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714315, 714454, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714455, 715254, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715255, 715314, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715315, 715374, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715375, 715714, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715715, 716254, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716255, 716654, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716655, 716974, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716975, 717034, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717035, 717734, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717735, 717894, {20, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717895, 717954, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717955, 718294, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718295, 718674, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718675, 719214, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719215, 719614, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719615, 720134, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720135, 720534, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720535, 720854, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720855, 721074, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721075, 721794, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721795, 722194, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722195, 722254, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722255, 722554, {1, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722555, 723114, {1, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723115, 723194, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723195, 723434, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723435, 723494, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723495, 724354, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724355, 724774, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724775, 724894, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724895, 724974, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724975, 725714, {1, 20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725715, 725834, {1, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725835, 725894, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725895, 725994, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725995, 726934, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726935, 727354, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727355, 727374, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727375, 727554, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727555, 728294, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728295, 728314, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728315, 728474, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728475, 728574, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728575, 729494, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729495, 729794, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729795, 729934, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729935, 730194, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730195, 730714, {20, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730715, 730874, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730875, 731114, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731115, 731134, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731135, 732074, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732075, 732194, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732195, 732514, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732515, 732834, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732835, 733134, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733135, 733333, {1, 0, 0, 1} }, +}; + +static const struct cam_mipi_sensor_mode sensor_front_top_mipi_A_mode[] = { + { + sensor_imx596_setfile_A_mipi_channel, ARRAY_SIZE(sensor_imx596_setfile_A_mipi_channel), + sensor_imx596_setfile_A_mipi_setting, ARRAY_SIZE(sensor_imx596_setfile_A_mipi_setting) + }, +}; + +/*************************************/ +/* ========== DUMMY ================ */ +/*************************************/ +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_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_IMX596_2_0_H_ */ \ No newline at end of file diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx754.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx754.h new file mode 100755 index 0000000000..412da36454 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx754.h @@ -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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx754_2_0.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx754_2_0.h new file mode 100644 index 0000000000..17ad4229e4 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx754_2_0.h @@ -0,0 +1,2847 @@ +/* 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; + +/* +TeleCAM3x_Adaptive MIPI 2.0_IMX754_231026.xlsx +SET A : Full mode, 2-Binning 120fps (1660.8 / 1670.4 / 1708.8) +SET B : 2-Binning 240fps (1900.8 / 1910.4 / 1968) +*/ + +/*************************************/ +/* ========== SET A =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_A_1660_REG_ARRAY[] = { + {0x030F, 0x07, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_A_1670_REG_ARRAY[] = { + {0x030F, 0x0A, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_A_1708_REG_ARRAY[] = { + {0x030F, 0x16, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx754_setfile_A_mipi_1660[] = { + { MIPI_A_1660_REG_ARRAY, ARRAY_SIZE(MIPI_A_1660_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_1670[] = { + { MIPI_A_1670_REG_ARRAY, ARRAY_SIZE(MIPI_A_1670_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_1708[] = { + { MIPI_A_1708_REG_ARRAY, ARRAY_SIZE(MIPI_A_1708_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[] = { + { "1660 Msps", 1660, + sensor_imx754_setfile_A_mipi_1660, ARRAY_SIZE(sensor_imx754_setfile_A_mipi_1660) }, + { "1670 Msps", 1670, + sensor_imx754_setfile_A_mipi_1670, ARRAY_SIZE(sensor_imx754_setfile_A_mipi_1670) }, + { "1708 Msps", 1708, + sensor_imx754_setfile_A_mipi_1708, ARRAY_SIZE(sensor_imx754_setfile_A_mipi_1708) }, +}; + +static const struct cam_mipi_cell_ratings sensor_imx754_setfile_A_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {14, 14, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {6, 6, 6} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {3, 6, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10583, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10584, 10592, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10593, 10641, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10642, 10653, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10654, 10703, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10704, 10706, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10707, 10711, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10712, 10760, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10761, 10773, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10774, 10776, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10777, 10822, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10823, 10828, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10829, 10830, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10831, 10838, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9677, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9678, 9692, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9693, 9699, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9700, 9729, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9730, 9748, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9749, 9762, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9763, 9799, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9800, 9811, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9812, 9818, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9819, 9851, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9852, 9868, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9869, 9881, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9882, 9921, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9922, 9929, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9930, 9938, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1175, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1176, 1192, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1193, 1224, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1225, 1227, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1228, 1244, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1245, 1277, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1278, 1294, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1295, 1314, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1315, 1343, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1344, 1347, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1348, 1366, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1367, 1396, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1397, 1413, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1414, 1436, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1437, 1461, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1462, 1466, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1467, 1488, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1489, 1513, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1558, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1559, 1567, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1568, 1616, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1617, 1628, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1629, 1678, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1679, 1681, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1682, 1686, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1687, 1735, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1736, 1738, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4359, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4360, 4379, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4380, 4424, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4425, 4429, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4430, 4449, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4450, 4458, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4413, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2257, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2258, 2272, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2273, 2284, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2285, 2327, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2328, 2333, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2334, 2342, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2343, 2376, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2377, 2394, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2395, 2403, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2404, 2446, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2447, 2453, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2454, 2464, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2465, 2495, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2496, 2516, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2517, 2523, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2524, 2563, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2961, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2962, 2973, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2974, 2988, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2989, 3010, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3011, 3025, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3026, 3037, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3038, 3080, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3081, 3088, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 749, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 750, 754, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 755, 763, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 67, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 68, 85, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 86, 183, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 184, 207, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 208, 306, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 307, 312, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 313, 323, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 324, 420, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 421, 446, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 447, 452, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 453, 545, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 546, 556, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 557, 560, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 561, 599, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 655, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 656, 685, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 686, 698, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 699, 759, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 760, 797, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 798, 825, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 826, 899, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 900, 922, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 923, 937, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 938, 1003, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1004, 1036, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1037, 1062, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1063, 1143, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1144, 1159, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1160, 1176, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1177, 1199, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1215, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1216, 1251, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1252, 1284, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1285, 1348, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1349, 1355, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1356, 1388, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1389, 1454, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1455, 1488, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1489, 1528, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1529, 1586, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1587, 1594, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1595, 1632, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1633, 1693, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1694, 1726, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1727, 1772, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1773, 1823, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1824, 1833, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1834, 1876, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1877, 1931, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1932, 1949, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2017, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2018, 2035, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2036, 2133, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2134, 2157, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2158, 2256, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2257, 2262, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2263, 2273, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2274, 2370, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2371, 2396, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2397, 2399, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2418, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2419, 2428, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2429, 2469, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2470, 2558, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2559, 2568, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2569, 2609, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2610, 2649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2815, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2816, 2844, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2845, 2869, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2870, 2955, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2956, 2967, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2968, 2984, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2985, 3052, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3053, 3088, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3089, 3107, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3108, 3192, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3193, 3206, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3207, 3228, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3229, 3290, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3291, 3332, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3333, 3346, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3347, 3430, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3431, 3445, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3446, 3449, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3523, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3524, 3546, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3547, 3576, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3577, 3620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3621, 3650, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3651, 3675, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3676, 3760, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3761, 3790, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3791, 3799, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5047, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5048, 5113, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5114, 5144, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5145, 5179, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5187, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5188, 5217, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5218, 5242, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5243, 5279, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5337, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5338, 5362, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5363, 5379, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5783, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5784, 5814, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5815, 5849, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5861, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5862, 5863, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5864, 5910, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5911, 5958, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5959, 5968, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5969, 5999, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6009, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6010, 6098, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6099, 6108, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6109, 6149, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6184, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6185, 6225, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6226, 6236, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6237, 6283, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6284, 6365, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6366, 6376, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6377, 6423, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6424, 6449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6451, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6452, 6454, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6455, 6508, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6509, 6556, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6557, 6594, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6595, 6599, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8095, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8096, 8125, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8126, 8138, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8139, 8199, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8200, 8237, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8238, 8265, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8266, 8339, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8340, 8362, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8363, 8377, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8378, 8443, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8444, 8476, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8477, 8502, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8503, 8583, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8584, 8599, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8600, 8616, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8617, 8687, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8688, 8689, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8711, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8712, 8713, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8714, 8760, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8761, 8808, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8809, 8818, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8819, 8859, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8860, 8948, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8949, 8958, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8959, 8999, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9000, 9039, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9267, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9268, 9292, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9293, 9336, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9337, 9371, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9372, 9389, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9390, 9434, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9435, 9511, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9512, 9529, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9530, 9574, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9575, 9615, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9616, 9626, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9627, 9659, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9677, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9678, 9718, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9719, 9743, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9744, 9769, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9774, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9775, 9824, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9825, 9828, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9829, 9869, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9942, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9943, 9976, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9977, 10026, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10027, 10039, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10040, 10116, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10117, 10124, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10125, 10179, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10180, 10220, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10221, 10264, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10265, 10277, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10278, 10359, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36214, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36215, 36291, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36292, 36313, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36314, 36336, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36337, 36349, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37751, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37752, 37841, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37842, 37856, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37857, 37891, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37892, 37981, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37982, 37990, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37991, 37996, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37997, 38078, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38079, 38100, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38101, 38130, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38131, 38218, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38219, 38229, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38230, 38240, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38241, 38249, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38263, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38264, 38316, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38317, 38360, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38361, 38371, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38372, 38420, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38421, 38470, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38471, 38500, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38501, 38560, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38561, 38597, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38598, 38610, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38611, 38649, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38666, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38667, 38726, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38727, 38733, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38734, 38770, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38771, 38831, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38832, 38866, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38867, 38910, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38911, 38965, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38966, 38971, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38972, 39014, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39015, 39068, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39069, 39105, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39106, 39154, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39155, 39204, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39205, 39208, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39209, 39259, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39260, 39305, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39306, 39344, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39345, 39399, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39400, 39442, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39443, 39445, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39446, 39503, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39504, 39542, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39543, 39582, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39583, 39643, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39644, 39649, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39659, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39660, 39671, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39672, 39675, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39676, 39763, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39764, 39769, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39770, 39815, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39816, 39903, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39904, 39909, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39910, 39914, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39915, 40006, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40007, 40007, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40008, 40054, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40055, 40146, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40147, 40147, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40148, 40153, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40154, 40243, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40244, 40251, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40252, 40293, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40294, 40383, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40384, 40391, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40392, 40481, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40482, 40496, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40497, 40531, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40532, 40621, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40622, 40630, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40631, 40636, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40637, 40718, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40719, 40740, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40741, 40770, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40771, 40858, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40859, 40869, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40870, 40880, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40881, 40955, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40956, 40984, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40985, 41009, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41010, 41095, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41096, 41107, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41108, 41124, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41125, 41192, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41193, 41228, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41229, 41247, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41248, 41332, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41333, 41346, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41347, 41368, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41369, 41430, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41431, 41472, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41473, 41486, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41487, 41570, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41571, 41585, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41586, 41589, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41591, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41592, 41643, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41644, 41685, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41686, 41696, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41697, 41783, {2, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41784, 41825, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41826, 41836, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41837, 41882, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41883, 41922, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41923, 41940, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41941, 42022, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42023, 42062, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42063, 42080, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42081, 42121, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42122, 42159, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42160, 42184, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42185, 42261, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42262, 42299, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42300, 42324, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42325, 42359, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42360, 42396, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42397, 42428, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42429, 42499, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42500, 42536, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42537, 42568, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42569, 42598, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42599, 42634, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42635, 42672, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42673, 42738, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42739, 42774, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42775, 42812, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42813, 42837, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42838, 42871, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42872, 42916, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42917, 42977, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42978, 43011, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43012, 43056, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43057, 43075, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43076, 43108, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43109, 43160, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43161, 43215, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43216, 43248, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43249, 43300, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43301, 43314, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43315, 43345, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43346, 43404, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43405, 43454, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43455, 43485, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43486, 43544, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43545, 43552, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43553, 43583, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43584, 43589, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55258, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55259, 55310, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55311, 55365, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55366, 55398, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55399, 55450, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55451, 55464, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55465, 55495, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55496, 55554, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55555, 55604, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55605, 55635, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55636, 55694, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55695, 55702, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55703, 55733, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55734, 55798, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55799, 55842, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55843, 55873, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55874, 55938, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55939, 55941, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55942, 55970, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55971, 56043, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56044, 56081, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56082, 56110, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56111, 56180, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56181, 56183, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56184, 56207, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56208, 56287, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56288, 56320, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56321, 56347, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56348, 56418, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56419, 56427, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56428, 56444, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56445, 56531, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56532, 56558, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56559, 56584, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56585, 56657, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56658, 56671, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56672, 56682, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56683, 56739, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66503, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66504, 66521, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66522, 66619, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66620, 66643, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66644, 66742, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66743, 66748, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66749, 66759, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66760, 66856, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66857, 66882, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66883, 66888, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66889, 66981, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66982, 66992, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66993, 66996, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66997, 67093, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67094, 67121, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67122, 67132, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67133, 67219, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67220, 67233, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67234, 67236, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67237, 67330, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67331, 67335, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68588, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68589, 68654, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68655, 68690, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68691, 68692, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68693, 68751, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68752, 68788, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68789, 68832, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68833, 68891, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68892, 68928, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68929, 68935, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {6, 3, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {6, 6, 9} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {6, 6, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 9, 9} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {6, 0, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {9, 3, 6} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {3, 6, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {14, 7, 14} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 423340, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423341, 423700, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423701, 425660, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425661, 426140, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426141, 428120, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428121, 428240, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428241, 428460, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428461, 430400, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 430401, 430920, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 430921, 431040, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 431041, 432900, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432901, 433120, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433121, 433200, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433201, 433980, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 387100, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 387101, 387700, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 387701, 387960, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 387961, 389180, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389181, 389940, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389941, 390500, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 390501, 391980, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391981, 392440, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392441, 392740, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392741, 394060, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 394061, 394720, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 394721, 395240, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395241, 396860, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396861, 397180, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397181, 397520, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397521, 397980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 361300, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361301, 362020, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362021, 362680, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362681, 363960, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363961, 364100, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 364101, 364760, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 364761, 366080, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366081, 366760, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366761, 367560, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367561, 368720, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 368721, 368880, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 368881, 369640, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369641, 370860, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370861, 371520, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 371521, 372440, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372441, 373460, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373461, 373660, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373661, 374520, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 374521, 375620, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 375621, 375980, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 174160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 174161, 174360, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 174361, 175180, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175181, 176960, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176961, 177160, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 177161, 177980, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 177981, 178780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 525300, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525301, 525880, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525881, 526380, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 526381, 528100, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528101, 528340, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528341, 528680, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528681, 530040, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530041, 530760, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530761, 531140, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531141, 532840, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 532841, 533120, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533121, 533560, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533561, 534800, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534801, 535640, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 535641, 535920, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 535921, 537600, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537601, 537900, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537901, 538000, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186460, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186461, 186920, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186921, 187520, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187521, 188400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 188401, 189000, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189001, 189500, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189501, 191200, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191201, 191800, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191801, 191980, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146540, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146541, 147860, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147861, 148480, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148481, 149200, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 149340, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149341, 149940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149941, 150440, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150441, 151200, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 152740, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 152741, 153240, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153241, 153580, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 172220, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172221, 172260, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172261, 173200, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173201, 174160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 174161, 174360, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 174361, 175000, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 158880, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158881, 159700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159701, 159920, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159921, 160860, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160861, 162500, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162501, 162720, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162721, 163660, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163661, 164180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 387100, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 387101, 387700, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 387701, 387960, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 387961, 389180, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389181, 389940, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389941, 390500, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 390501, 391980, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391981, 392440, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392441, 392740, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392741, 394060, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 394061, 394720, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 394721, 395240, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395241, 396860, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396861, 397180, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397181, 397520, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397521, 398940, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 398941, 398980, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 172220, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172221, 172260, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172261, 173200, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173201, 174160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 174161, 174360, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 174361, 175180, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175181, 176960, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176961, 177160, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 177161, 177980, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 177981, 178800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 152740, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 152741, 153240, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153241, 154120, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154121, 154820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154821, 155180, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155181, 156080, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156081, 157620, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157621, 157980, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157981, 158880, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158881, 159700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159701, 159920, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159921, 160580, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 143740, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143741, 144560, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 144561, 145060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 145061, 145580, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 470080, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470081, 471080, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471081, 471160, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471161, 471980, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 514020, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514021, 515820, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515821, 516120, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 516121, 516820, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 516821, 518620, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518621, 518800, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518801, 518920, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518921, 520560, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 520561, 521000, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 521001, 521600, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 521601, 523360, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 523361, 523580, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 523581, 523800, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 523801, 523980, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 376260, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376261, 377320, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377321, 378200, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378201, 378420, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378421, 379400, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 379401, 380400, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380401, 381000, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381001, 382200, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382201, 382940, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382941, 383200, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 383201, 384000, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 460320, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460321, 461520, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461521, 461660, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461661, 462400, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 462401, 463620, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463621, 464320, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464321, 465200, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465201, 466300, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466301, 466420, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466421, 467280, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467281, 468360, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468361, 469100, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 469101, 470080, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 470081, 471080, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471081, 471160, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471161, 472180, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 472181, 473100, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 473101, 473880, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 473881, 474980, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 474981, 475840, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475841, 475900, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475901, 477060, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477061, 477840, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477841, 478640, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478641, 479860, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479861, 480000, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 499380, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499381, 499620, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499621, 499700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499701, 501460, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501461, 501580, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501581, 502500, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502501, 504260, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504261, 504380, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504381, 504480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504481, 506320, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506321, 506340, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506341, 507280, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507281, 509120, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509121, 509140, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509141, 509260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509261, 511060, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511061, 511220, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511221, 512060, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512061, 513860, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 513861, 514020, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514021, 515820, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515821, 516120, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 516121, 516820, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 516821, 518620, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518621, 518800, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518801, 518920, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518921, 520560, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 520561, 521000, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 521001, 521600, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 521601, 523360, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 523361, 523580, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 523581, 523800, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 523801, 525300, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525301, 525880, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525881, 526380, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 526381, 528100, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528101, 528340, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528341, 528680, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528681, 530040, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530041, 530760, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530761, 531140, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531141, 532840, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 532841, 533120, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533121, 533560, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533561, 534800, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534801, 535640, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 535641, 535920, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 535921, 537600, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537601, 537900, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537901, 537980, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 636787, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636788, 637127, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637128, 637487, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637488, 637707, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637708, 638067, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638068, 638147, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638148, 638367, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638368, 638747, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638748, 639087, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639088, 639287, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639288, 639687, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639688, 639747, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639748, 639947, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639948, 640387, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640388, 640667, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640668, 640887, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640888, 641307, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641308, 641327, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641328, 641527, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641528, 642007, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642008, 642267, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642268, 642467, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642468, 642927, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642928, 642947, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642948, 643107, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643108, 643647, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643648, 643867, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643868, 644047, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644048, 644507, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644508, 644567, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644568, 644687, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644688, 645267, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645268, 645447, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645448, 645627, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645628, 646107, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646108, 646207, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646208, 646267, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646268, 646666, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 423340, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423341, 423700, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423701, 425660, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425661, 426140, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426141, 428120, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428121, 428240, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428241, 428460, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428461, 430400, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 430401, 430920, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 430921, 431040, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 431041, 432900, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432901, 433120, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433121, 433200, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433201, 435140, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435141, 435700, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435701, 435920, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435921, 437660, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437661, 437940, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437941, 438000, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438001, 439880, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 439881, 439980, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 123440, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123441, 124760, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124761, 125480, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125481, 125520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125521, 126700, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126701, 127440, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127441, 128320, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128321, 129500, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129501, 130240, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 130241, 130380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620000, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620001, 620160, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620161, 620320, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620321, 620660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620661, 620860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620861, 620960, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620961, 621580, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621581, 621780, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621781, 621900, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621901, 622240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622241, 622480, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622481, 622540, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622541, 623180, {1, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623181, 623420, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623421, 623480, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623481, 623840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623841, 624100, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624101, 624120, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624121, 624760, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624761, 625040, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625041, 625060, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625061, 625420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625421, 625700, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625701, 625740, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625741, 626360, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626361, 626640, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626641, 626660, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626661, 627020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627021, 627300, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627301, 627360, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627361, 627940, {1, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627941, 628220, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628221, 628300, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628301, 628600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628601, 628880, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628881, 629000, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629001, 629540, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629541, 629800, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629801, 629920, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629921, 630200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630201, 630460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630461, 630620, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630621, 631140, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631141, 631380, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631381, 631560, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631561, 631780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631781, 632040, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632041, 632240, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632241, 632720, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632721, 632960, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632961, 633180, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633181, 633380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633381, 633620, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633621, 633880, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633881, 634320, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634321, 634560, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634561, 634800, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634801, 634980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634981, 635200, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635201, 635500, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635501, 635900, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635901, 636140, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636141, 636440, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636441, 636560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636561, 636780, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636781, 637120, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637121, 637500, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637501, 637720, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637721, 638060, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638061, 638160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638161, 638360, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638361, 638760, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638761, 639080, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639081, 639300, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639301, 639680, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639681, 639740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639741, 639940, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639941, 640380, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640381, 640680, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640681, 640880, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640881, 641320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641321, 641340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641341, 641520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641521, 642020, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642021, 642260, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642261, 642460, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642461, 642920, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642921, 642940, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642941, 643100, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643101, 643640, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643641, 643860, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643861, 644040, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644041, 644520, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644521, 644580, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644581, 644680, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644681, 645260, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645261, 645440, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645441, 645620, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645621, 646100, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646101, 646200, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646201, 646280, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646281, 646900, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646901, 647040, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647041, 647200, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647201, 647700, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647701, 647820, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647821, 647860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647861, 648520, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648521, 648640, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648641, 648780, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648781, 649280, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649281, 649440, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649441, 649460, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649461, 650140, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650141, 650220, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650221, 650360, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650361, 650880, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650881, 651020, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651021, 651080, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651081, 651780, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651781, 651820, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651821, 651940, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651941, 652460, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652461, 652600, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652601, 652700, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652701, 653400, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653401, 653540, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653541, 654060, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654061, 654180, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654181, 654340, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654341, 655000, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655001, 655020, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655021, 655120, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655121, 655660, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655661, 655760, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655761, 655960, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655961, 656580, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656581, 656660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656661, 656700, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656701, 657240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657241, 657340, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657341, 657600, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657601, 658180, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658181, 658280, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658281, 658840, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658841, 658920, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658921, 659220, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659221, 659760, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659761, 659860, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659861, 659920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659921, 660420, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660421, 660500, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660501, 660840, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660841, 661360, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661361, 661440, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661441, 661540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661541, 662020, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662021, 662080, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662081, 662480, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662481, 662940, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662941, 663020, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663021, 663160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663161, 663600, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663601, 663660, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663661, 664100, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664101, 664540, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664541, 664600, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664601, 664800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664801, 665200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665201, 665260, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665261, 665720, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665721, 666120, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666121, 666180, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666181, 666420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666421, 666780, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666781, 666840, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666841, 667360, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667361, 667720, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667721, 667760, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667761, 668040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668041, 668380, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668381, 668420, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668421, 668980, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668981, 669320, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669321, 669340, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669341, 669680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669681, 669960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669961, 670000, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670001, 670600, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670601, 670900, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670901, 670920, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670921, 671300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671301, 671560, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671561, 671580, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671581, 672240, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672241, 672500, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672501, 672520, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672521, 672940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672941, 673160, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673161, 673860, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673861, 674080, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674081, 674100, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674101, 674560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674561, 674740, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674741, 675500, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675501, 675680, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675681, 676180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676181, 676320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676321, 676340, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676341, 677120, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677121, 677260, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677261, 677820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677821, 677900, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677901, 677920, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677921, 678740, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678741, 678840, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678841, 678860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678861, 679440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679441, 679480, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679481, 679520, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679521, 680000, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620000, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620001, 620160, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620161, 620320, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620321, 620660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620661, 620860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620861, 620960, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620961, 621580, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621581, 621780, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621781, 621900, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621901, 622240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622241, 622480, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622481, 622540, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622541, 623180, {1, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623181, 623420, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623421, 623480, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623481, 623840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623841, 624100, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624101, 624120, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624121, 624760, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624761, 625040, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625041, 625060, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625061, 625420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625421, 625700, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625701, 625740, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625741, 626360, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626361, 626640, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626641, 626660, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626661, 627020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627021, 627300, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627301, 627360, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627361, 627940, {1, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627941, 628220, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628221, 628300, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628301, 628600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628601, 628880, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628881, 629000, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629001, 629540, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629541, 629800, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629801, 629920, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629921, 630200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630201, 630460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630461, 630620, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630621, 631140, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631141, 631380, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631381, 631560, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631561, 631780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631781, 632040, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632041, 632240, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632241, 632720, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632721, 632960, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632961, 633180, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633181, 633380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633381, 633620, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633621, 633880, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633881, 634320, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634321, 634560, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634561, 634800, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634801, 634980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634981, 635200, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635201, 635500, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635501, 635900, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635901, 636140, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636141, 636440, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636441, 636560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636561, 636780, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636781, 637120, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637121, 637500, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637501, 637720, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637721, 638060, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638061, 638160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638161, 638360, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638361, 638760, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638761, 639080, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639081, 639300, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639301, 639680, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639681, 639740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639741, 639940, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639941, 640380, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640381, 640680, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640681, 640880, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640881, 641320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641321, 641340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641341, 641520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641521, 642020, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642021, 642260, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642261, 642460, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642461, 642920, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642921, 642940, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642941, 643100, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643101, 643640, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643641, 643860, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643861, 644040, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644041, 644520, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644521, 644580, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644581, 644680, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644681, 645260, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645261, 645440, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645441, 645620, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645621, 646100, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646101, 646200, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646201, 646280, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646281, 646900, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646901, 647040, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647041, 647200, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647201, 647700, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647701, 647820, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647821, 647860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647861, 648520, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648521, 648640, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648641, 648780, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648781, 649280, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649281, 649440, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649441, 649460, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649461, 650140, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650141, 650220, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650221, 650360, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650361, 650880, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650881, 651020, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651021, 651080, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651081, 651780, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651781, 651820, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651821, 651940, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651941, 652460, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652461, 652600, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652601, 652700, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652701, 653333, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693394, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693395, 693714, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693715, 693834, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693835, 694094, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694095, 694654, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694655, 694774, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694775, 695014, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695015, 695314, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695315, 695414, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695415, 695714, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695715, 696234, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696235, 696354, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696355, 696654, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696655, 696894, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696895, 697014, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697015, 697334, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697335, 697814, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697815, 697954, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697955, 698274, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698275, 698474, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698475, 698614, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698615, 698974, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698975, 699394, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699395, 699534, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699535, 699914, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699915, 700054, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700055, 700194, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700195, 700594, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700595, 700974, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700975, 701134, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701135, 701534, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701535, 701634, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701635, 701794, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701795, 702234, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702235, 702574, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702575, 702714, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702715, 703154, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703155, 703214, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703215, 703374, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703375, 703854, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703855, 704154, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704155, 704314, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704315, 704794, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704795, 704974, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704975, 705474, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705475, 705734, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705735, 705894, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705895, 706374, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706375, 706414, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706415, 706554, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706555, 707114, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707115, 707314, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707315, 707494, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707495, 707954, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707955, 708034, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708035, 708154, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708155, 708734, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708735, 708894, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708895, 709074, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709075, 709534, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709535, 709674, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709675, 709734, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709735, 710354, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710355, 710474, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710475, 710674, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710675, 711114, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711115, 711294, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711295, 711334, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711335, 711994, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711995, 712054, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712055, 712274, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712275, 712694, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712695, 712914, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712915, 713614, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713615, 713634, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713635, 713854, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713855, 714294, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714295, 714514, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714515, 714554, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714555, 715214, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715215, 715254, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715255, 715454, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715455, 715874, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715875, 716114, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716115, 716174, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716175, 716794, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716795, 716874, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716875, 717034, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717035, 717454, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717455, 717694, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717695, 717814, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717815, 718374, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718375, 718494, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718495, 718634, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718635, 719034, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719035, 719294, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719295, 719434, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719435, 719954, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719955, 720134, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720135, 720214, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720215, 720614, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720615, 720874, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720875, 721054, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721055, 721554, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721555, 721754, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721755, 721814, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721815, 722194, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722195, 722474, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722475, 722694, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722695, 723134, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723135, 723374, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723375, 723394, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723395, 723774, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723775, 724054, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724055, 724314, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724315, 724714, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724715, 724994, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724995, 725014, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725015, 725354, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725355, 725654, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725655, 725934, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725935, 726294, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726295, 726574, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726575, 726634, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726635, 726934, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726935, 727234, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727235, 727574, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727575, 727874, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727875, 728174, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728175, 728274, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728275, 728514, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728515, 728834, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728835, 729194, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729195, 729454, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729455, 729774, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729775, 729894, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729895, 730094, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730095, 730414, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730415, 730834, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730835, 731034, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731035, 731354, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731355, 731514, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731515, 731694, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731695, 732014, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732015, 732454, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732455, 732614, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732615, 732954, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732955, 733154, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733155, 733274, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733275, 733333, {1, 0, 1} }, +}; + +static const struct cam_mipi_sensor_mode sensor_tele_mipi_A_mode[] = { + { + sensor_imx754_setfile_A_mipi_channel, ARRAY_SIZE(sensor_imx754_setfile_A_mipi_channel), + sensor_imx754_setfile_A_mipi_setting, ARRAY_SIZE(sensor_imx754_setfile_A_mipi_setting) + }, +}; + +/*************************************/ +/* ========== Mode B =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_B_1900_REG_ARRAY[] = { + {0x030F, 0x52, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_B_1910_REG_ARRAY[] = { + {0x030F, 0x55, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_B_1968_REG_ARRAY[] = { + {0x030F, 0x67, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx754_setfile_B_mipi_1900[] = { + { MIPI_B_1900_REG_ARRAY, ARRAY_SIZE(MIPI_B_1900_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_1910[] = { + { MIPI_B_1910_REG_ARRAY, ARRAY_SIZE(MIPI_B_1910_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_1968[] = { + { MIPI_B_1968_REG_ARRAY, ARRAY_SIZE(MIPI_B_1968_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[] = { + { "1900 Msps", 1900, + sensor_imx754_setfile_B_mipi_1900, ARRAY_SIZE(sensor_imx754_setfile_B_mipi_1900) }, + { "1910 Msps", 1910, + sensor_imx754_setfile_B_mipi_1910, ARRAY_SIZE(sensor_imx754_setfile_B_mipi_1910) }, + { "1968 Msps", 1968, + sensor_imx754_setfile_B_mipi_1968, ARRAY_SIZE(sensor_imx754_setfile_B_mipi_1968) }, +}; + +static const struct cam_mipi_cell_ratings sensor_imx754_setfile_B_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {14, 14, 14} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 14, 14} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {6, 6, 6} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {6, 6, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10577, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10578, 10608, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10609, 10625, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10626, 10648, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10649, 10678, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10679, 10690, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10691, 10718, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10719, 10745, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10746, 10760, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10761, 10788, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10789, 10815, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10816, 10826, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10827, 10838, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9664, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9665, 9674, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9675, 9723, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9724, 9734, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9735, 9740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9741, 9789, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9790, 9804, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9805, 9810, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9811, 9859, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9860, 9874, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9875, 9876, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9877, 9926, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9927, 9938, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1166, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1167, 1186, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1187, 1227, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1228, 1232, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1233, 1256, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1257, 1297, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1298, 1302, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1303, 1322, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1323, 1367, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1368, 1369, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1370, 1392, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1393, 1437, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1438, 1439, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1440, 1458, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1459, 1505, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1506, 1508, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1509, 1513, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1552, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1553, 1583, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1584, 1600, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1601, 1623, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1624, 1653, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1654, 1665, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1666, 1693, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1694, 1720, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1721, 1735, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1736, 1738, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4379, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4380, 4392, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4393, 4401, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4402, 4445, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4446, 4458, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4392, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4393, 4401, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4402, 4413, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2259, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2260, 2303, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2304, 2326, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2327, 2329, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2330, 2373, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2374, 2395, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2396, 2396, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2397, 2444, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2445, 2462, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2463, 2465, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2466, 2514, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2515, 2531, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2532, 2532, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2533, 2563, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2951, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2952, 2973, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2974, 2974, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2975, 3016, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3017, 3040, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3041, 3044, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3045, 3086, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3087, 3088, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 717, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 718, 726, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 727, 763, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 10, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 11, 55, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 56, 117, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 118, 150, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 151, 196, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 197, 257, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 258, 281, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 282, 336, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 337, 390, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 391, 421, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 422, 477, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 478, 530, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 531, 553, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 554, 599, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 606, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 607, 628, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 629, 649, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 650, 746, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 747, 768, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 769, 781, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 782, 879, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 880, 909, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 910, 921, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 922, 1019, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1020, 1049, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1050, 1052, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1053, 1152, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1153, 1191, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1192, 1192, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1193, 1199, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1213, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1214, 1232, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1233, 1273, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1274, 1354, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1355, 1365, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1366, 1413, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1414, 1494, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1495, 1505, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1506, 1544, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1545, 1635, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1636, 1638, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1639, 1684, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1685, 1775, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1776, 1778, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1779, 1816, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1817, 1911, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1912, 1916, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1917, 1949, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1960, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1961, 2005, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2006, 2067, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2068, 2100, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2101, 2146, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2147, 2207, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2208, 2231, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2232, 2286, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2287, 2340, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2341, 2371, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2372, 2399, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2469, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2470, 2495, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2496, 2513, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2514, 2600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2601, 2636, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2637, 2646, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2647, 2649, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2766, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2767, 2819, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2820, 2907, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2908, 2952, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2953, 2959, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2960, 3047, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3048, 3091, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3092, 3092, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3093, 3188, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3189, 3225, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3226, 3231, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3232, 3328, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3329, 3362, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3363, 3365, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3366, 3449, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3502, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3503, 3547, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3548, 3549, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3550, 3633, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3634, 3681, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3682, 3688, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3689, 3773, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3774, 3799, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5018, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5019, 5099, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5100, 5121, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5122, 5158, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5159, 5179, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5241, 5253, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5254, 5279, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5360, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5361, 5373, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5374, 5379, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5769, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5770, 5791, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5792, 5828, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5829, 5849, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5869, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5870, 5895, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5896, 5913, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5914, 5999, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6009, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6010, 6035, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6036, 6053, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6054, 6140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6141, 6149, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6181, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6182, 6184, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6185, 6224, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6225, 6316, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6317, 6323, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6324, 6357, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6358, 6449, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6461, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6462, 6495, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6496, 6571, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6572, 6599, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8046, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8047, 8068, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8069, 8089, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8090, 8186, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8187, 8208, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8209, 8221, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8222, 8319, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8320, 8349, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8350, 8361, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8362, 8459, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8460, 8489, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8490, 8492, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8493, 8592, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8593, 8631, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8632, 8632, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8633, 8689, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8719, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8720, 8745, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8746, 8763, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8764, 8859, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8860, 8885, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8886, 8903, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8904, 8990, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8991, 9026, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9027, 9036, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9037, 9039, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9290, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9291, 9303, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9304, 9341, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9342, 9431, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9432, 9434, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9435, 9474, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9475, 9571, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9572, 9574, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9575, 9614, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9615, 9659, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9729, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9730, 9751, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9752, 9769, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9810, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9811, 9815, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9816, 9824, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9825, 9869, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9934, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9935, 9949, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9950, 9993, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9994, 10067, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10068, 10089, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10090, 10133, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10134, 10207, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10208, 10230, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10231, 10264, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10265, 10340, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10341, 10359, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36225, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36226, 36264, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36265, 36272, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36273, 36349, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37773, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37774, 37776, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37777, 37845, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37846, 37906, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37907, 37916, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37917, 37985, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37986, 38046, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38047, 38048, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38049, 38126, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38127, 38179, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38180, 38188, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38189, 38249, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38256, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38257, 38351, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38352, 38356, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38357, 38387, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38388, 38483, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38484, 38497, {60, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38498, 38527, {60, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38528, 38623, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38624, 38637, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38638, 38649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38661, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38662, 38773, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38774, 38777, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38778, 38801, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38802, 38914, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38915, 38917, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38918, 38932, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38933, 39050, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39051, 39054, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39055, 39072, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39073, 39190, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39191, 39195, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39196, 39204, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39205, 39323, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39324, 39335, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39336, 39344, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39345, 39463, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39464, 39475, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39476, 39477, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39478, 39596, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39597, 39615, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39616, 39617, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39618, 39649, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39728, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39729, 39741, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39742, 39781, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39782, 39868, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39869, 39873, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39874, 39922, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39923, 40001, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40002, 40013, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40014, 40062, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40063, 40141, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40142, 40145, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40146, 40203, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40204, 40273, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40274, 40285, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40286, 40343, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40344, 40413, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40414, 40416, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40417, 40485, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40486, 40546, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40547, 40556, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40557, 40625, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40626, 40686, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40687, 40688, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40689, 40766, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40767, 40819, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40820, 40828, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40829, 40906, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40907, 40959, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40960, 41047, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41048, 41092, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41093, 41099, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41100, 41187, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41188, 41231, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41232, 41232, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41233, 41328, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41329, 41365, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41366, 41371, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41372, 41468, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41469, 41502, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41503, 41505, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41506, 41589, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41602, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41603, 41634, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41635, 41678, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41679, 41734, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41735, 41774, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41775, 41819, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41820, 41874, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41875, 41907, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41908, 41959, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41960, 42005, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42006, 42047, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42048, 42100, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42101, 42145, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42146, 42180, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42181, 42240, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42241, 42277, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42278, 42320, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42321, 42381, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42382, 42417, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42418, 42453, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42454, 42521, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42522, 42549, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42550, 42593, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42594, 42662, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42663, 42689, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42690, 42725, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42726, 42802, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42803, 42820, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42821, 42865, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42866, 42944, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42945, 42960, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42961, 42998, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42999, 43084, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43085, 43092, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43093, 43138, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43139, 43225, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43226, 43232, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43233, 43271, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43272, 43363, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43364, 43365, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43366, 43411, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43412, 43503, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43504, 43506, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43507, 43544, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43545, 43589, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55242, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55243, 55288, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55289, 55375, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55376, 55382, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55383, 55421, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55422, 55513, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55514, 55515, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55516, 55561, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55562, 55653, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55654, 55656, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55657, 55694, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55695, 55785, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55786, 55796, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55797, 55834, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55835, 55925, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55926, 55937, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55938, 55967, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55968, 56056, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56057, 56077, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56078, 56107, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56108, 56196, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56197, 56218, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56219, 56240, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56241, 56328, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56329, 56358, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56359, 56380, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56381, 56468, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56469, 56499, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56500, 56513, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56514, 56599, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56600, 56639, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56640, 56653, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56654, 56739, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66446, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66447, 66491, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66492, 66553, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66554, 66586, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66587, 66632, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66633, 66693, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66694, 66717, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66718, 66772, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66773, 66826, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66827, 66857, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66858, 66913, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66914, 66966, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66967, 66989, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66990, 67053, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67054, 67099, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67100, 67129, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67130, 67195, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67196, 67239, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67240, 67260, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67261, 67335, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68591, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68592, 68623, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68624, 68671, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68672, 68731, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68732, 68763, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68764, 68812, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68813, 68863, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68864, 68895, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68896, 68935, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {63, 63, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {6, 69, 9} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {6, 63, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 9, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {4, 4, 4} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {66, 3, 6} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {14, 21, 21} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {6, 6, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {7, 14, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 422200, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422201, 423100, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423101, 424340, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 424341, 425000, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425001, 425920, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425921, 427140, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427141, 427620, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427621, 428720, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428721, 429800, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429801, 430420, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 430421, 431540, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 431541, 432600, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432601, 433060, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433061, 433980, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 386120, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386121, 386560, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386561, 386980, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386981, 388920, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388921, 389360, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389361, 389620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389621, 391580, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391581, 392180, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392181, 392420, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392421, 394380, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 394381, 394980, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 394981, 395040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395041, 397040, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397041, 397820, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397821, 397840, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397841, 397980, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 361260, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361261, 361640, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361641, 362460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362461, 364080, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 364081, 364300, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 364301, 365260, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365261, 366880, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366881, 367100, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367101, 367880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367881, 369700, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369701, 369760, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369761, 370680, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370681, 372500, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372501, 372560, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372561, 373320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373321, 375220, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 375221, 375320, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 375321, 375980, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 175180, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175181, 175700, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175701, 176060, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176061, 177800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 177801, 178520, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178521, 178720, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178721, 178780, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 524320, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524321, 525380, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525381, 527140, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527141, 528040, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528041, 528180, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528181, 529940, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 529941, 530820, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530821, 530840, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530841, 532760, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 532761, 533500, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533501, 533620, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533621, 535560, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 535561, 536240, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 536241, 536300, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 536301, 538000, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186040, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186041, 186940, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186941, 186980, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186981, 188660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 188661, 189620, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189621, 189760, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189761, 191460, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191461, 191980, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 145960, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145961, 147580, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147581, 148020, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148021, 148760, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148761, 149200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 150400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150401, 150660, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150661, 151200, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 153200, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153201, 153460, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153461, 153580, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 172380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172381, 172900, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172901, 173260, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173261, 175000, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 158820, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158821, 158880, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158881, 159680, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159681, 161520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 161521, 161660, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 161661, 162340, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162341, 164180, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 386120, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386121, 386560, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386561, 386980, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386981, 388920, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388921, 389360, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389361, 389620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389621, 391580, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391581, 392180, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392181, 392420, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392421, 394380, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 394381, 394980, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 394981, 395040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395041, 397040, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397041, 397820, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397821, 397840, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397841, 398980, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 172380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172381, 172900, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172901, 173260, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173261, 175180, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175181, 175700, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175701, 176060, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176061, 177800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 177801, 178520, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178521, 178720, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178721, 178800, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 153200, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153201, 153460, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153461, 154220, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154221, 156020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156021, 156080, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156081, 156880, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156881, 158820, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158821, 158880, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158881, 159680, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159681, 160580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 144780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 144781, 145220, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 145221, 145580, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 470800, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470801, 470900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470901, 471080, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471081, 471980, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 514460, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514461, 514520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514521, 515900, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515901, 517120, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517121, 517320, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517321, 518700, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518701, 519920, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 519921, 519960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 519961, 521520, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 521521, 522580, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522581, 522760, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522761, 523980, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 376120, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376121, 378020, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378021, 378120, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378121, 378740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378741, 380660, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380661, 380940, {60, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380941, 381540, {60, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381541, 383460, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 383461, 383740, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 383741, 384000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 460220, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460221, 462460, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 462461, 462540, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 462541, 463020, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463021, 465280, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465281, 465340, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465341, 465640, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465641, 468000, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468001, 468080, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468081, 468440, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468441, 470800, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 470801, 470900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 470901, 471080, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471081, 473460, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 473461, 473700, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 473701, 473880, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 473881, 476260, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476261, 476500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476501, 476540, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476541, 478920, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478921, 479300, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479301, 479340, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479341, 480000, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 500760, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 500761, 501020, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501021, 501820, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501821, 503560, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 503561, 503660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 503661, 504640, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504641, 506220, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506221, 506460, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506461, 507440, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507441, 509020, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509021, 509100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509101, 510260, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 510261, 511660, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511661, 511900, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511901, 513060, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 513061, 514460, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514461, 514520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514521, 515900, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515901, 517120, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517121, 517320, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517321, 518700, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518701, 519920, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 519921, 519960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 519961, 521520, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 521521, 522580, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522581, 522760, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522761, 524320, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524321, 525380, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525381, 527140, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527141, 528040, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528041, 528180, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528181, 529940, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 529941, 530820, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530821, 530840, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530841, 532760, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 532761, 533500, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533501, 533620, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533621, 535560, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 535561, 536240, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 536241, 536300, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 536301, 537980, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 636667, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636668, 636987, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636988, 637567, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637568, 637607, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637608, 637867, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637868, 638487, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638488, 638807, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638808, 639407, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639408, 639427, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639428, 639687, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639688, 640287, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640288, 640367, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640368, 640627, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640628, 641227, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641228, 641307, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641308, 641507, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641508, 642107, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642108, 642247, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642248, 642447, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642448, 643027, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643028, 643187, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643188, 643327, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643328, 643907, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643908, 644107, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644108, 644267, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644268, 644847, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644848, 645047, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645048, 645147, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645148, 645727, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645728, 645987, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645988, 646087, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646088, 646647, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646648, 646666, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 422200, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422201, 423100, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423101, 424340, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 424341, 425000, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425001, 425920, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425921, 427140, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427141, 427620, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427621, 428720, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428721, 429800, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429801, 430420, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 430421, 431540, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 431541, 432600, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432601, 433060, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433061, 434340, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 434341, 435260, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435261, 435860, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435861, 437180, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437181, 438060, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438061, 438480, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438481, 439980, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 123500, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123501, 124140, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124141, 125100, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125101, 126300, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126301, 126940, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126941, 127920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127921, 128940, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128941, 129580, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129581, 130380, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620380, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620381, 620600, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620601, 620680, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620681, 621320, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621321, 621500, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621501, 621620, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621621, 622180, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622181, 622420, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622421, 622560, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622561, 623120, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623121, 623320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623321, 623500, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623501, 624000, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624001, 624240, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624241, 624440, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624441, 624940, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624941, 625140, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625141, 625380, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625381, 625800, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625801, 626060, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626061, 626320, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626321, 626740, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626741, 626960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626961, 627240, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627241, 627620, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627621, 627880, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627881, 628180, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628181, 628560, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628561, 628780, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628781, 629120, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629121, 629420, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629421, 629700, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629701, 630060, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630061, 630360, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630361, 630600, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630601, 631000, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631001, 631240, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631241, 631520, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631521, 631940, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631941, 632180, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632181, 632420, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632421, 632860, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632861, 633060, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633061, 633340, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633341, 633800, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633801, 633980, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633981, 634220, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634221, 634740, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634741, 634860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634861, 635160, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635161, 635680, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635681, 635800, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635801, 636040, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636041, 636620, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636621, 636680, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636681, 636980, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636981, 637560, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637561, 637600, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637601, 637860, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637861, 638480, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638481, 638500, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638501, 638800, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638801, 639420, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639421, 639440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639441, 639680, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639681, 640300, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640301, 640360, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640361, 640620, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640621, 641220, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641221, 641300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641301, 641500, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641501, 642100, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642101, 642240, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642241, 642440, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642441, 643040, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643041, 643180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643181, 643320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643321, 643920, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643921, 644120, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644121, 644260, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644261, 644840, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644841, 645060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645061, 645140, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645141, 645720, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645721, 645980, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645981, 646080, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646081, 646660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646661, 646920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646921, 646960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646961, 647540, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647541, 647860, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647861, 647900, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647901, 648460, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648461, 648780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648781, 648800, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648801, 649340, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649341, 649720, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649721, 649740, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649741, 650280, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650281, 650600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650601, 650680, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650681, 651160, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651161, 651540, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651541, 651620, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651621, 652080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652081, 652420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652421, 652560, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652561, 652960, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652961, 653360, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653361, 653480, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653481, 653900, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653901, 654240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654241, 654420, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654421, 654780, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654781, 655180, {1, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655181, 655360, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655361, 655700, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655701, 656060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656061, 656300, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656301, 656580, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656581, 657000, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657001, 657240, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657241, 657520, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657521, 657880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657881, 658180, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658181, 658400, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658401, 658820, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658821, 659100, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659101, 659320, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659321, 659700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659701, 660040, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660041, 660200, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660201, 660640, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660641, 660980, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660981, 661140, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661141, 661520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661521, 661920, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661921, 662020, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662021, 662460, {1, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662461, 662860, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662861, 662940, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662941, 663340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663341, 663800, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663801, 663820, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663821, 664280, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664281, 664740, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664741, 664760, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664761, 665160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665161, 665640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665641, 665680, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665681, 666100, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666101, 666560, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666561, 666600, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666601, 666980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666981, 667440, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667441, 667540, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667541, 667920, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667921, 668380, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668381, 668480, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668481, 668800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668801, 669260, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669261, 669420, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669421, 669740, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669741, 670180, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670181, 670360, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670361, 670620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670621, 671060, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671061, 671300, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671301, 671560, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671561, 672000, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672001, 672220, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672221, 672440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672441, 672880, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672881, 673160, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673161, 673380, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673381, 673800, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673801, 674100, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674101, 674260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674261, 674680, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674681, 675040, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675041, 675200, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675201, 675620, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675621, 675980, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675981, 676080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676081, 676500, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676501, 676920, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676921, 677000, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677001, 677440, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677441, 677860, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677861, 677900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677901, 678300, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678301, 678800, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678801, 678820, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678821, 679240, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679241, 679720, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679721, 680000, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620380, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620381, 620600, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620601, 620680, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620681, 621320, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621321, 621500, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621501, 621620, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621621, 622180, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622181, 622420, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622421, 622560, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622561, 623120, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623121, 623320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623321, 623500, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623501, 624000, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624001, 624240, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624241, 624440, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624441, 624940, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624941, 625140, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625141, 625380, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625381, 625800, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625801, 626060, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626061, 626320, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626321, 626740, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626741, 626960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626961, 627240, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627241, 627620, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627621, 627880, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627881, 628180, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628181, 628560, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628561, 628780, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628781, 629120, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629121, 629420, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629421, 629700, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629701, 630060, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630061, 630360, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630361, 630600, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630601, 631000, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631001, 631240, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631241, 631520, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631521, 631940, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631941, 632180, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632181, 632420, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632421, 632860, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632861, 633060, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633061, 633340, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633341, 633800, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633801, 633980, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633981, 634220, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634221, 634740, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634741, 634860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634861, 635160, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635161, 635680, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635681, 635800, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635801, 636040, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636041, 636620, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636621, 636680, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636681, 636980, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636981, 637560, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637561, 637600, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637601, 637860, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637861, 638480, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638481, 638500, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638501, 638800, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638801, 639420, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639421, 639440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639441, 639680, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639681, 640300, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640301, 640360, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640361, 640620, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640621, 641220, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641221, 641300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641301, 641500, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641501, 642100, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642101, 642240, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642241, 642440, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642441, 643040, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643041, 643180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643181, 643320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643321, 643920, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643921, 644120, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644121, 644260, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644261, 644840, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644841, 645060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645061, 645140, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645141, 645720, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645721, 645980, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645981, 646080, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646081, 646660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646661, 646920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646921, 646960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646961, 647540, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647541, 647860, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647861, 647900, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647901, 648460, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648461, 648780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648781, 648800, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648801, 649340, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649341, 649720, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649721, 649740, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649741, 650280, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650281, 650600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650601, 650680, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650681, 651160, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651161, 651540, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651541, 651620, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651621, 652080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652081, 652420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652421, 652560, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652561, 652960, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652961, 653333, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693394, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693395, 693714, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693715, 693794, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693795, 694274, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694275, 694594, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694595, 694714, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694715, 695214, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695215, 695534, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695535, 695654, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695655, 696094, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696095, 696414, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696415, 696594, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696595, 697034, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697035, 697354, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697355, 697534, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697535, 697914, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697915, 698214, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698215, 698474, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698475, 698834, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698835, 699154, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699155, 699414, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699415, 699734, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699735, 700034, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700035, 700334, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700335, 700654, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700655, 700974, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700975, 701294, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701295, 701554, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701555, 701834, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701835, 702214, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702215, 702474, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702475, 702774, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702775, 703154, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703155, 703374, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703375, 703654, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703655, 704094, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704095, 704294, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704295, 704594, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704595, 705034, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705035, 705194, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705195, 705454, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705455, 705974, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705975, 706114, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706115, 706394, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706395, 706914, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706915, 707014, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707015, 707274, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707275, 707834, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707835, 707934, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707935, 708214, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708215, 708774, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708775, 708834, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708835, 709074, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709075, 709714, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709715, 709754, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709755, 710014, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710015, 710654, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710655, 710894, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710895, 711574, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711575, 711594, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711595, 711834, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711835, 712474, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712475, 712534, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712535, 712694, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712695, 713394, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713395, 713454, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713455, 713634, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713635, 714294, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714295, 714414, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714415, 714514, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714515, 715214, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715215, 715334, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715335, 715454, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715455, 716114, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716115, 716274, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716275, 716334, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716335, 717034, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717035, 717214, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717215, 717254, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717255, 717934, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717935, 718134, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718135, 718154, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718155, 718854, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718855, 719074, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719075, 719094, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719095, 719734, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719735, 719954, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719955, 720034, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720035, 720674, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720675, 720874, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720875, 720954, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720955, 721554, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721555, 721754, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721755, 721894, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721895, 722494, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722495, 722694, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722695, 722834, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722835, 723374, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723375, 723574, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723575, 723774, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723775, 724314, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724315, 724494, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724495, 724714, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724715, 725194, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725195, 725374, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725375, 725654, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725655, 726134, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726135, 726314, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726315, 726574, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726575, 727014, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727015, 727194, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727195, 727534, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727535, 727954, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727955, 728114, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728115, 728454, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728455, 728834, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728835, 728994, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728995, 729394, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729395, 729774, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729775, 729934, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729935, 730334, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730335, 730654, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730655, 730814, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730815, 731274, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731275, 731594, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731595, 731734, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731735, 732214, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732215, 732474, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732475, 732614, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732615, 733154, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733155, 733333, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695315, 695414, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695415, 695714, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695715, 696234, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696235, 696354, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696355, 696654, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696655, 696894, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696895, 697014, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697015, 697334, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697335, 697814, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697815, 697954, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697955, 698274, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698275, 698474, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698475, 698614, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698615, 698974, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698975, 699394, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699395, 699534, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699535, 699914, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699915, 700054, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700055, 700194, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700195, 700594, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700595, 700974, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700975, 701134, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701135, 701534, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701535, 701634, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701635, 701794, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701795, 702234, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702235, 702574, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702575, 702714, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702715, 703154, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703155, 703214, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703215, 703374, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703375, 703854, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703855, 704154, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704155, 704314, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704315, 704794, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704795, 704974, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704975, 705474, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705475, 705734, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705735, 705894, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705895, 706374, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706375, 706414, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706415, 706554, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706555, 707114, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707115, 707314, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707315, 707494, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707495, 707954, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707955, 708034, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708035, 708154, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708155, 708734, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708735, 708894, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708895, 709074, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709075, 709534, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709535, 709674, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709675, 709734, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709735, 710354, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710355, 710474, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710475, 710674, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710675, 711114, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711115, 711294, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711295, 711334, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711335, 711994, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711995, 712054, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712055, 712274, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712275, 712694, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712695, 712914, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712915, 713614, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713615, 713634, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713635, 713854, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713855, 714294, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714295, 714514, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714515, 714554, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714555, 715214, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715215, 715254, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715255, 715454, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715455, 715874, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715875, 716114, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716115, 716174, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716175, 716794, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716795, 716874, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716875, 717034, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717035, 717454, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717455, 717694, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717695, 717814, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717815, 718374, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718375, 718494, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718495, 718634, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718635, 719034, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719035, 719294, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719295, 719434, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719435, 719954, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719955, 720134, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720135, 720214, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720215, 720614, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720615, 720874, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720875, 721054, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721055, 721554, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721555, 721754, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721755, 721814, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721815, 722194, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722195, 722474, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722475, 722694, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722695, 723134, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723135, 723374, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723375, 723394, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723395, 723774, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723775, 724054, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724055, 724314, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724315, 724714, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724715, 724994, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724995, 725014, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725015, 725354, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725355, 725654, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725655, 725934, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725935, 726294, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726295, 726574, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726575, 726634, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726635, 726934, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726935, 727234, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727235, 727574, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727575, 727874, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727875, 728174, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728175, 728274, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728275, 728514, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728515, 728834, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728835, 729194, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729195, 729454, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729455, 729774, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729775, 729894, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729895, 730094, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730095, 730414, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730415, 730834, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730835, 731034, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731035, 731354, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731355, 731514, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731515, 731694, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731695, 732014, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732015, 732454, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732455, 732614, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732615, 732954, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732955, 733154, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733155, 733274, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733275, 733333, {1, 0, 1} }, +}; + +static const struct cam_mipi_sensor_mode sensor_tele_mipi_B_mode[] = { + { + sensor_imx754_setfile_B_mipi_channel, ARRAY_SIZE(sensor_imx754_setfile_B_mipi_channel), + sensor_imx754_setfile_B_mipi_setting, ARRAY_SIZE(sensor_imx754_setfile_B_mipi_setting) + }, +}; + +/*************************************/ +/* ========== DUMMY ================ */ +/*************************************/ +enum { + CAM_TELE_SET_DUMMY = 0, +}; + +struct cam_sensor_i2c_reg_array MIPI_TELE_DUMMY_REG_ARRAY[] = { +}; + +static const struct cam_sensor_i2c_reg_setting sensor_tele_setfile_dummy[] = { + { MIPI_TELE_DUMMY_REG_ARRAY, ARRAY_SIZE(MIPI_TELE_DUMMY_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 Msps", 0, + sensor_tele_setfile_dummy, ARRAY_SIZE(sensor_tele_setfile_dummy) }, +}; + +static const struct cam_mipi_cell_ratings sensor_tele_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_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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx854_2_0.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx854_2_0.h new file mode 100755 index 0000000000..1c5b7e6056 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_imx854_2_0.h @@ -0,0 +1,2552 @@ +/* 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_IMX854_H_ +#define _CAM_SENSOR_ADAPTIVE_MIPI_IMX854_H_ + +#include "cam_sensor_dev.h" + +int num_tele2_mipi_setting = 4; + +/* +TeleCAM5x_Adaptive MIPI 2.0_IMX854_231026.xlsx +SET A : No-Bin (10Bit) (3231.49 / 3142.61) +SET B : 2x2/No-Bin (12Bit) (2784.85 / 2720.21 / 2714.15) +SET C : 4x4 (10Bit) (1857.28 / 1796.68 / 1746.18) +SET D : 10Bit (2297.43 / 2289.35 / 2214.57) +*/ + +/*************************************/ +/* ========== SET A =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_A_3231_REG_ARRAY[] = { + {0x030E, 0x0C, 0x00, 0x00}, + {0x030F, 0x7E, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_A_3142_REG_ARRAY[] = { + {0x030E, 0x0C, 0x00, 0x00}, + {0x030F, 0x26, 0x00, 0x00}, +}; + + +static const struct cam_sensor_i2c_reg_setting sensor_imx854_setfile_A_mipi_3231[] = { + { MIPI_A_3231_REG_ARRAY, ARRAY_SIZE(MIPI_A_3231_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 } +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx854_setfile_A_mipi_3142[] = { + { MIPI_A_3142_REG_ARRAY, ARRAY_SIZE(MIPI_A_3142_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 } +}; + +static const struct cam_mipi_setting sensor_imx854_setfile_A_mipi_setting[] = { + { "3231 Msps", 3231, + sensor_imx854_setfile_A_mipi_3231, ARRAY_SIZE(sensor_imx854_setfile_A_mipi_3231) }, + { "3142 Msps", 3142, + sensor_imx854_setfile_A_mipi_3142, ARRAY_SIZE(sensor_imx854_setfile_A_mipi_3142) }, +}; + +static const struct cam_mipi_cell_ratings sensor_imx854_setfile_A_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10736, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10737, 10806, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10807, 10814, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10815, 10838, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9692, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9693, 9762, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9763, 9938, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1322, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1323, 1392, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1393, 1443, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1444, 1513, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1711, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1712, 1738, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4454, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4455, 4458, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4413, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2239, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2240, 2254, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2255, 2554, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2555, 2558, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2559, 2563, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2951, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2952, 3088, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 763, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 373, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 374, 513, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 514, 528, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 529, 599, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 605, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 606, 684, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 685, 824, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 825, 1199, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1545, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1546, 1685, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1686, 1786, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1787, 1926, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1927, 1949, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2323, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2324, 2399, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2618, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2619, 2649, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2779, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2780, 2808, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2809, 3409, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3410, 3416, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3417, 3449, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3502, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3503, 3799, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5132, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5133, 5179, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5272, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5273, 5279, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5324, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5325, 5379, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5802, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5803, 5849, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5999, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6149, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6400, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6401, 6449, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6525, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6526, 6599, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8045, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8046, 8124, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8125, 8264, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8265, 8674, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8675, 8689, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 9008, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9009, 9039, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9254, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9255, 9394, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9395, 9659, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9769, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9869, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9948, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9949, 10088, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10089, 10294, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10295, 10359, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36232, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36233, 36349, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 38139, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38140, 38168, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38169, 38249, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38615, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38616, 38649, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38662, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38663, 38775, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38776, 38802, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38803, 38915, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38916, 39431, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39432, 39523, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39524, 39571, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39572, 39649, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 40010, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40011, 40060, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40061, 40150, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40151, 40200, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40201, 40779, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40780, 40808, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40809, 40919, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40920, 40948, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40949, 41549, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41550, 41556, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41557, 41589, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41939, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41940, 42079, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42080, 42143, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42144, 42283, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42284, 42687, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42688, 42827, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42828, 42912, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42913, 43052, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43053, 43435, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43436, 43575, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43576, 43589, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55585, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55586, 55725, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55726, 55831, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55832, 55971, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55972, 56333, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56334, 56473, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56474, 56601, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56602, 56739, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66809, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66810, 66949, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66950, 66964, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66965, 67104, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67105, 67335, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68641, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68642, 68935, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {6, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 429460, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429461, 432260, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432261, 432560, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432561, 433980, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 386100, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386101, 387680, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 387681, 390480, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 390481, 397980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 367900, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367901, 370700, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370701, 372720, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372721, 375520, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 375521, 375980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 178160, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178161, 178780, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 524580, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524581, 525160, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525161, 537180, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537181, 537320, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537321, 538000, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186040, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186041, 191980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 148240, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148241, 149200, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 151040, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 151041, 151200, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 152480, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 152481, 153580, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 175000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 163200, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163201, 164180, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 386100, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386101, 387680, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 387681, 390480, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 390481, 398680, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 398681, 398980, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 178160, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178161, 178800, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 152480, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 152481, 155280, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155281, 160580, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 145580, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 471980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 521780, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 521781, 522360, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522361, 523980, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 383300, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 383301, 384000, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 460240, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460241, 462500, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 462501, 463040, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463041, 465300, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465301, 475620, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475621, 477460, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477461, 478420, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478421, 480000, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 506400, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506401, 507400, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507401, 509200, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509201, 510200, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 510201, 521780, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 521781, 522360, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522361, 524580, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524581, 525160, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525161, 537180, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537181, 537320, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537321, 537980, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 638967, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638968, 639887, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639888, 640607, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640608, 641527, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641528, 643947, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643948, 644887, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644888, 645727, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645728, 646666, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 429460, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429461, 432260, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432261, 432560, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432561, 435360, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435361, 439980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124500, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124501, 130380, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620080, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620081, 621020, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621021, 624000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624001, 624920, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624921, 625220, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625221, 626140, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626141, 628980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628981, 629920, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629921, 630340, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630341, 631280, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631281, 633980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633981, 634900, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634901, 635480, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635481, 636400, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636401, 638960, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638961, 639900, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639901, 640600, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640601, 641540, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641541, 643940, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643941, 644880, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644881, 645740, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645741, 646660, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646661, 648940, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648941, 649880, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649881, 650860, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650861, 651800, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651801, 653920, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653921, 654860, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654861, 656000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656001, 656920, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656921, 658920, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658921, 659840, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659841, 661120, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661121, 662060, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662061, 663900, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663901, 664840, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664841, 666240, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666241, 667180, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667181, 668880, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668881, 669820, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669821, 671380, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671381, 672320, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672321, 673880, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673881, 674820, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674821, 676500, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676501, 677440, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677441, 678860, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678861, 679800, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679801, 680000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620080, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620081, 621020, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621021, 624000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624001, 624920, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624921, 625220, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625221, 626140, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626141, 628980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628981, 629920, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629921, 630340, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630341, 631280, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631281, 633980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633981, 634900, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634901, 635480, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635481, 636400, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636401, 638960, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638961, 639900, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639901, 640600, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640601, 641540, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641541, 643940, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643941, 644880, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644881, 645740, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645741, 646660, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646661, 648940, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648941, 649880, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649881, 650860, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650861, 651800, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651801, 653333, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693834, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693835, 694774, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694775, 697034, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697035, 697954, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697955, 698814, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698815, 699754, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699755, 702154, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702155, 703094, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703095, 703814, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703815, 704734, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704735, 707294, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707295, 708214, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708215, 708794, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708795, 709734, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709735, 712414, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712415, 713354, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713355, 713794, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713795, 714714, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714715, 717534, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717535, 718474, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718475, 718774, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718775, 719714, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719715, 722674, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722675, 723614, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723615, 723754, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723755, 724694, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724695, 727794, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727795, 728734, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728735, 728754, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728755, 729674, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729675, 732934, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732935, 733333, {1, 0} }, +}; + +static const struct cam_mipi_sensor_mode sensor_tele2_mipi_A_mode[] = { + { + sensor_imx854_setfile_A_mipi_channel, ARRAY_SIZE(sensor_imx854_setfile_A_mipi_channel), + sensor_imx854_setfile_A_mipi_setting, ARRAY_SIZE(sensor_imx854_setfile_A_mipi_setting) + }, +}; + +/*************************************/ +/* ========== Mode B =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_B_2784_REG_ARRAY[] = { + {0x030E, 0x0A, 0x00, 0x00}, + {0x030F, 0xC4, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_B_2720_REG_ARRAY[] = { + {0x030E, 0x0A, 0x00, 0x00}, + {0x030F, 0x84, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_B_2714_REG_ARRAY[] = { + {0x030E, 0x0A, 0x00, 0x00}, + {0x030F, 0x7E, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx854_setfile_B_mipi_2784[] = { + { MIPI_B_2784_REG_ARRAY, ARRAY_SIZE(MIPI_B_2784_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 } +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx854_setfile_B_mipi_2720[] = { + { MIPI_B_2720_REG_ARRAY, ARRAY_SIZE(MIPI_B_2720_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 } +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx854_setfile_B_mipi_2714[] = { + { MIPI_B_2714_REG_ARRAY, ARRAY_SIZE(MIPI_B_2714_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 } +}; + +static const struct cam_mipi_setting sensor_imx854_setfile_B_mipi_setting[] = { + { "2784 Msps", 2784, + sensor_imx854_setfile_B_mipi_2784, ARRAY_SIZE(sensor_imx854_setfile_B_mipi_2784) }, + { "2720 Msps", 2720, + sensor_imx854_setfile_B_mipi_2720, ARRAY_SIZE(sensor_imx854_setfile_B_mipi_2720) }, + { "2714 Msps", 2714, + sensor_imx854_setfile_B_mipi_2714, ARRAY_SIZE(sensor_imx854_setfile_B_mipi_2714) }, +}; + +static const struct cam_mipi_cell_ratings sensor_imx854_setfile_B_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {0, 3, 6} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10573, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10574, 10627, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10628, 10643, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10644, 10651, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10652, 10697, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10698, 10721, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10722, 10838, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9680, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9681, 9728, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9729, 9750, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9751, 9910, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9911, 9938, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1207, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1208, 1227, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1228, 1372, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1373, 1442, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1443, 1460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1461, 1481, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1482, 1513, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1548, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1549, 1602, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1603, 1618, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1619, 1626, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1627, 1672, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1673, 1696, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1697, 1738, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4458, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4413, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2337, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2338, 2351, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2352, 2367, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2368, 2407, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2408, 2421, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2422, 2437, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2438, 2563, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2976, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2977, 3088, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 763, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 47, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 48, 155, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 156, 187, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 188, 203, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 204, 295, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 296, 343, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 344, 599, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 616, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 617, 660, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 661, 756, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 757, 800, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 801, 1121, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1122, 1199, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1214, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1215, 1314, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1315, 1354, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1355, 1645, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1646, 1785, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1786, 1820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1821, 1862, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1863, 1949, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1997, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1998, 2105, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2106, 2137, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2138, 2153, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2154, 2245, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2246, 2293, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2294, 2399, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2975, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2976, 3002, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3003, 3034, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3035, 3115, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3116, 3142, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3143, 3174, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3175, 3449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3552, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3553, 3799, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5083, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5084, 5179, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5279, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5379, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5753, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5754, 5849, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5939, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5940, 5999, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6149, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6266, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6267, 6449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6457, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6458, 6599, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8056, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8057, 8100, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8101, 8196, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8197, 8240, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8241, 8561, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8562, 8689, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8789, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8790, 9039, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9314, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9315, 9332, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9333, 9454, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9455, 9472, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9473, 9516, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9517, 9656, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9657, 9659, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9668, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9669, 9684, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9685, 9713, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9714, 9769, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9869, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10057, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10058, 10193, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10194, 10226, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10227, 10333, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10334, 10359, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36203, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36204, 36247, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36248, 36349, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37829, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37830, 37839, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37840, 37886, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37887, 37969, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37970, 37979, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37980, 38026, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38027, 38249, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38260, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38261, 38302, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38303, 38608, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38609, 38649, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38787, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38788, 38844, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38845, 38896, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38897, 38927, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38928, 38984, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38985, 39036, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39037, 39450, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39451, 39490, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39491, 39543, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39544, 39590, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39591, 39630, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39631, 39649, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39816, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39817, 39822, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39823, 39879, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39880, 39956, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39957, 39962, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39963, 40019, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40020, 40469, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40470, 40479, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40480, 40526, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40527, 40609, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40610, 40619, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40620, 40666, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40667, 41115, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41116, 41142, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41143, 41174, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41175, 41255, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41256, 41282, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41283, 41314, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41315, 41589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41769, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41770, 41846, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41847, 41909, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41910, 41986, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41987, 41999, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42000, 42139, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42140, 42416, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42417, 42494, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42495, 42556, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42557, 42634, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42635, 42662, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42663, 42802, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42803, 43062, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43063, 43141, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43142, 43202, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43203, 43281, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43282, 43325, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43326, 43465, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43466, 43589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55291, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55292, 55352, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55353, 55431, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55432, 55475, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55476, 55615, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55616, 55858, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55859, 55939, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55940, 55998, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55999, 56079, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56080, 56138, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56139, 56278, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56279, 56504, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56505, 56587, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56588, 56644, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56645, 56727, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56728, 56739, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66483, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66484, 66591, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66592, 66623, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66624, 66639, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66640, 66731, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66732, 66779, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66780, 67146, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67147, 67237, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67238, 67286, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67287, 67335, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68808, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68809, 68822, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68823, 68935, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {6, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {0, 6, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {14, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 422940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422941, 425100, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425101, 425740, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425741, 426060, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426061, 427900, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427901, 428860, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428861, 433980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 386320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386321, 387200, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 387201, 389120, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389121, 390000, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 390001, 396420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396421, 397980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 361280, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361281, 363280, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363281, 364080, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 364081, 369900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369901, 372700, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372701, 373400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373401, 374240, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 374241, 375980, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 178780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 528500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528501, 529040, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 529041, 529680, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 529681, 531300, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531301, 531840, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531841, 532480, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 532481, 538000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 187040, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187041, 191980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 147260, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147261, 149200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 151200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 153580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 173780, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173781, 175000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 160520, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160521, 164180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 386320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386321, 387200, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 387201, 389120, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389121, 390000, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 390001, 396420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396421, 398980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 173780, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173781, 178800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 153680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153681, 154040, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154041, 156480, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156481, 156840, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156841, 157720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157721, 160520, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160521, 160580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 143560, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143561, 143880, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143881, 144460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 144461, 145580, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 471980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 515580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515581, 515780, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515781, 516720, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 516721, 518380, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518381, 518580, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518581, 519520, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 519521, 523980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 376200, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376201, 377040, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377041, 383160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 383161, 384000, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 462740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 462741, 463880, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463881, 464920, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464921, 465540, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465541, 466680, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466681, 467720, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467721, 476000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476001, 476800, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476801, 477860, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477861, 478800, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478801, 479600, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479601, 480000, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 502520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502521, 502640, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502641, 503780, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 503781, 505320, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505321, 505440, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505441, 506580, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506581, 515580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515581, 515780, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515781, 516720, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 516721, 518380, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518381, 518580, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518581, 519520, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 519521, 528500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528501, 529040, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 529041, 529680, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 529681, 531300, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531301, 531840, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531841, 532480, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 532481, 537980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 637007, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637008, 637407, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637408, 637927, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637928, 638227, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638228, 639167, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639168, 640787, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640788, 641327, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641328, 641707, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641708, 642247, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642248, 642647, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642648, 643587, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643588, 645087, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645088, 645647, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645648, 646027, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646028, 646567, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646568, 646666, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 422940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422941, 425100, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425101, 425740, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425741, 426060, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426061, 427900, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427901, 428860, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428861, 436200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 436201, 438020, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438021, 439000, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 439001, 439980, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 127840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127841, 128120, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128121, 130380, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620180, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620181, 620540, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620541, 620660, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620661, 621480, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621481, 623540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623541, 624040, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624041, 624480, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624481, 624960, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624961, 624980, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624981, 625900, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625901, 627860, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627861, 628360, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628361, 628780, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628781, 629300, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629301, 629380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629381, 630320, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630321, 632160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632161, 632680, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632681, 633100, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633101, 633620, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633621, 633800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633801, 634740, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634741, 636480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636481, 637000, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637001, 637400, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637401, 637940, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637941, 638220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638221, 639160, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639161, 640780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640781, 641320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641321, 641720, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641721, 642260, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642261, 642640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642641, 643580, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643581, 645080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645081, 645640, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645641, 646020, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646021, 646580, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646581, 647060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647061, 648000, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648001, 649400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649401, 649960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649961, 650340, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650341, 650880, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650881, 651480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651481, 652420, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652421, 653700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653701, 654280, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654281, 654640, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654641, 655200, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655201, 655900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655901, 656840, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656841, 658020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658021, 658600, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658601, 658940, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658941, 659520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659521, 660320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660321, 661260, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661261, 662320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662321, 662900, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662901, 663260, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663261, 663840, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663841, 664740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664741, 665680, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665681, 666640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666641, 667220, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667221, 667560, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667561, 668160, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668161, 669160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669161, 670100, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670101, 670940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670941, 671540, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671541, 671880, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671881, 672480, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672481, 673580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673581, 674520, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674521, 675240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675241, 675860, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675861, 676180, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676181, 676800, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676801, 678000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678001, 678940, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678941, 679560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679561, 680000, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620180, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620181, 620540, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620541, 620660, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620661, 621480, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621481, 623540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623541, 624040, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624041, 624480, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624481, 624960, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624961, 624980, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624981, 625900, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625901, 627860, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627861, 628360, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628361, 628780, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628781, 629300, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629301, 629380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629381, 630320, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630321, 632160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632161, 632680, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632681, 633100, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633101, 633620, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633621, 633800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633801, 634740, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634741, 636480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636481, 637000, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637001, 637400, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637401, 637940, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637941, 638220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638221, 639160, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639161, 640780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640781, 641320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641321, 641720, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641721, 642260, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642261, 642640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642641, 643580, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643581, 645080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645081, 645640, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645641, 646020, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646021, 646580, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646581, 647060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647061, 648000, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648001, 649400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649401, 649960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649961, 650340, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650341, 650880, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650881, 651480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651481, 652420, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652421, 653333, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693414, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693415, 694074, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694075, 695694, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695695, 696614, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696615, 696794, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696795, 697454, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697455, 697714, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697715, 698394, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698395, 700114, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700115, 701054, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701055, 701094, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701095, 701774, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701775, 702034, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702035, 702694, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702695, 704534, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704535, 705414, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705415, 705474, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705475, 706094, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706095, 706334, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706335, 707014, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707015, 708954, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708955, 709714, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709715, 709894, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709895, 710414, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710415, 710654, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710655, 711334, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711335, 713374, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713375, 714014, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714015, 714314, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714315, 714714, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714715, 714954, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714955, 715654, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715655, 717794, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717795, 718334, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718335, 718734, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718735, 719034, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719035, 719254, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719255, 719974, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719975, 722214, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722215, 722634, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722635, 723154, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723155, 723354, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723355, 723574, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723575, 724294, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724295, 726634, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726635, 726954, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726955, 727574, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727575, 727674, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727675, 727874, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727875, 728614, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728615, 731054, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731055, 731254, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731255, 731994, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731995, 732194, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732195, 732934, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732935, 733333, {0, 0, 0} }, +}; + +static const struct cam_mipi_sensor_mode sensor_tele2_mipi_B_mode[] = { + { + sensor_imx854_setfile_B_mipi_channel, ARRAY_SIZE(sensor_imx854_setfile_B_mipi_channel), + sensor_imx854_setfile_B_mipi_setting, ARRAY_SIZE(sensor_imx854_setfile_B_mipi_setting) + }, +}; + +/*************************************/ +/* ========== Mode C =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_C_1857_REG_ARRAY[] = { + {0x030E, 0x0E, 0x00, 0x00}, + {0x030F, 0x5C, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_C_1796_REG_ARRAY[] = { + {0x030E, 0x0D, 0x00, 0x00}, + {0x030F, 0xE4, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_C_1746_REG_ARRAY[] = { + {0x030E, 0x0D, 0x00, 0x00}, + {0x030F, 0x80, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx854_setfile_C_mipi_1857[] = { + { MIPI_C_1857_REG_ARRAY, ARRAY_SIZE(MIPI_C_1857_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 } +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx854_setfile_C_mipi_1796[] = { + { MIPI_C_1796_REG_ARRAY, ARRAY_SIZE(MIPI_C_1796_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 } +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx854_setfile_C_mipi_1746[] = { + { MIPI_C_1746_REG_ARRAY, ARRAY_SIZE(MIPI_C_1746_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 } +}; + +static const struct cam_mipi_setting sensor_imx854_setfile_C_mipi_setting[] = { + { "1857 Msps", 1857, + sensor_imx854_setfile_C_mipi_1857, ARRAY_SIZE(sensor_imx854_setfile_C_mipi_1857) }, + { "1796 Msps", 1796, + sensor_imx854_setfile_C_mipi_1796, ARRAY_SIZE(sensor_imx854_setfile_C_mipi_1796) }, + { "1746 Msps", 1746, + sensor_imx854_setfile_C_mipi_1746, ARRAY_SIZE(sensor_imx854_setfile_C_mipi_1746) }, +}; + +static const struct cam_mipi_cell_ratings sensor_imx854_setfile_C_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {0, 6, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {3, 3, 6} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10566, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10567, 10578, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10579, 10636, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10637, 10648, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10649, 10659, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10660, 10729, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10730, 10774, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10775, 10799, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10800, 10838, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9693, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9694, 9735, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9736, 9763, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9764, 9803, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9804, 9805, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9806, 9873, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9874, 9914, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9915, 9938, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1225, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1226, 1236, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1237, 1287, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1288, 1306, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1307, 1357, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1358, 1376, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1377, 1444, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1445, 1446, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1447, 1501, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1502, 1513, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1541, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1542, 1553, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1554, 1611, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1612, 1623, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1624, 1634, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1635, 1704, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1705, 1738, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4387, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4388, 4400, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4401, 4456, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4457, 4457, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4458, 4458, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4387, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4388, 4400, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4401, 4413, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2256, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2257, 2351, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2352, 2356, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2357, 2394, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2395, 2421, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2422, 2426, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2427, 2464, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2465, 2563, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2970, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2971, 2978, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2979, 3040, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3041, 3046, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3047, 3088, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 712, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 713, 725, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 726, 763, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 33, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 34, 56, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 57, 173, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 174, 196, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 197, 219, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 220, 359, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 360, 449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 450, 498, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 499, 589, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 590, 599, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 620, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 621, 687, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 688, 770, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 771, 827, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 828, 907, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 908, 910, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 911, 1047, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1048, 1129, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1130, 1186, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1187, 1199, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1210, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1211, 1350, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1351, 1373, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1374, 1474, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1475, 1513, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1514, 1614, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1615, 1652, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1653, 1789, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1790, 1792, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1793, 1902, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1903, 1929, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1930, 1949, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1983, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1984, 2006, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2007, 2123, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2124, 2146, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2147, 2169, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2170, 2309, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2310, 2399, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2484, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2485, 2510, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2511, 2623, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2624, 2624, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2625, 2649, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2812, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2813, 3002, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3003, 3012, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3013, 3088, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3089, 3142, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3143, 3152, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3153, 3228, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3229, 3430, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3431, 3449, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3541, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3542, 3556, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3557, 3681, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3682, 3692, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3693, 3799, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5062, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5063, 5133, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5134, 5167, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5168, 5179, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5273, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5274, 5279, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5287, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5288, 5330, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5331, 5379, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5732, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5733, 5803, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5804, 5837, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5838, 5849, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5875, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5876, 5910, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5911, 5999, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6024, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6025, 6050, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6051, 6149, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6209, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6210, 6269, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6270, 6297, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6298, 6437, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6438, 6449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6456, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6457, 6528, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6529, 6533, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6534, 6596, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6597, 6599, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8060, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8061, 8127, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8128, 8210, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8211, 8267, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8268, 8347, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8348, 8350, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8351, 8487, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8488, 8569, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8570, 8626, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8627, 8689, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8725, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8726, 8760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8761, 8874, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8875, 8900, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8901, 9013, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9014, 9014, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9015, 9039, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9217, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9218, 9260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9261, 9400, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9401, 9459, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9460, 9519, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9520, 9599, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9600, 9659, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9692, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9693, 9769, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9777, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9778, 9867, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9868, 9869, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9922, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9923, 10014, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10015, 10021, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10022, 10062, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10063, 10297, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10298, 10302, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10303, 10359, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36275, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36276, 36349, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37756, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37757, 37768, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37769, 37786, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37787, 37896, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37897, 38070, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38071, 38074, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38075, 38172, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38173, 38210, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38211, 38214, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38215, 38249, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38342, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38343, 38395, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38396, 38504, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38505, 38535, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38536, 38630, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38631, 38644, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38645, 38649, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38680, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38681, 38714, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38715, 38820, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38821, 38862, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38863, 39002, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39003, 39017, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39018, 39107, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39108, 39157, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39158, 39247, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39248, 39278, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39279, 39418, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39419, 39459, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39460, 39535, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39536, 39599, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39600, 39649, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39705, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39706, 39825, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39826, 39859, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39860, 39965, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39966, 39981, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39982, 39999, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40000, 40121, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40122, 40268, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40269, 40286, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40287, 40396, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40397, 40408, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40409, 40426, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40427, 40536, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40537, 40710, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40711, 40714, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40715, 40812, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40813, 40850, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40851, 40854, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40855, 40952, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40953, 41142, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41143, 41152, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41153, 41228, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41229, 41282, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41283, 41292, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41293, 41368, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41369, 41570, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41571, 41589, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41612, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41613, 41710, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41711, 41742, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41743, 41752, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41753, 41882, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41883, 42012, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42013, 42027, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42028, 42152, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42153, 42167, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42168, 42170, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42171, 42310, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42311, 42443, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42444, 42454, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42455, 42583, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42584, 42594, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42595, 42598, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42599, 42738, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42739, 42859, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42860, 42896, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42897, 42999, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43000, 43025, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43026, 43036, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43037, 43165, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43166, 43275, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43276, 43338, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43339, 43415, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43416, 43453, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43454, 43478, {2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43479, 43589, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55315, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55316, 55425, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55426, 55488, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55489, 55565, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55566, 55603, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55604, 55628, {2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55629, 55743, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55744, 55840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55841, 55931, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55932, 55980, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55981, 56031, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56032, 56071, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56072, 56171, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56172, 56256, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56257, 56373, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56374, 56396, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56397, 56459, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56460, 56513, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56514, 56599, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56600, 56672, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56673, 56739, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66469, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66470, 66492, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66493, 66609, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66610, 66632, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66633, 66655, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66656, 66795, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66796, 66885, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66886, 66934, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66935, 67025, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67026, 67074, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67075, 67082, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67083, 67222, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67223, 67301, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67302, 67335, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68676, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68677, 68722, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68723, 68762, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68763, 68902, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68903, 68935, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {3, 3, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {60, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {0, 6, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 6, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {4, 4, 2} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 6, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {0, 7, 14} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {3, 3, 6} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {0, 14, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 422660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422661, 423120, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423121, 425460, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425461, 425920, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425921, 426380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426381, 429180, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429181, 430980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 430981, 431960, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 431961, 433780, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433781, 433980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 386400, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386401, 387740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 387741, 389400, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389401, 390540, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 390541, 392140, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392141, 392200, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392201, 394940, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 394941, 396580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396581, 397720, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397721, 397980, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 361200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361201, 364000, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 364001, 364460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 364461, 366480, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366481, 367260, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367261, 369280, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369281, 370040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370041, 372780, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372781, 372840, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372841, 375040, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 375041, 375580, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 375581, 375980, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 175480, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175481, 176000, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176001, 178260, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178261, 178280, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178281, 178780, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 525240, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525241, 529040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 529041, 529240, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 529241, 530760, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530761, 531840, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531841, 532040, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 532041, 533560, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533561, 537600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537601, 538000, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186820, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186821, 187120, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187121, 189620, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189621, 189840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189841, 191980, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146840, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146841, 148260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148261, 148940, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148941, 149200, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 151060, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 151061, 151200, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 151740, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151741, 152600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 152601, 153580, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 172500, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172501, 173200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173201, 175000, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 159380, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159381, 160580, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160581, 161140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 161141, 163940, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163941, 164180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 386400, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386401, 387740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 387741, 389400, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389401, 390540, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 390541, 392140, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392141, 392200, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392201, 394940, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 394941, 396580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396581, 397720, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397721, 398980, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 172500, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172501, 173200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173201, 175480, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175481, 176000, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176001, 178260, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178261, 178280, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178281, 178800, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 151740, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151741, 152600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 152601, 155400, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155401, 156580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156581, 157780, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157781, 159380, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159381, 160580, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 144040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 144041, 145580, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 470140, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470141, 471940, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471941, 471980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 514120, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514121, 514360, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514361, 514720, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514721, 516920, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 516921, 520400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 520401, 520480, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 520481, 522440, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522441, 523200, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 523201, 523280, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 523281, 523980, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 377840, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377841, 378900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378901, 381080, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381081, 381700, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381701, 383600, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 383601, 383880, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 383881, 384000, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 460600, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460601, 461280, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461281, 463400, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463401, 464240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464241, 467040, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467041, 467340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467341, 469140, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 469141, 470140, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 470141, 471940, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471941, 472560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 472561, 475360, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475361, 476180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476181, 477700, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477701, 478980, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478981, 480000, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 500300, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 500301, 502700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502701, 503380, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 503381, 505500, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505501, 505820, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505821, 506180, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506181, 508620, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 508621, 511560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511561, 511920, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511921, 514120, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514121, 514360, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514361, 514720, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514721, 516920, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 516921, 520400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 520401, 520480, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 520481, 522440, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522441, 523200, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 523201, 523280, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 523281, 525240, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525241, 529040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 529041, 529240, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 529241, 530760, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530761, 531840, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531841, 532040, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 532041, 533560, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533561, 537600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537601, 537980, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 637167, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637168, 637887, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637888, 638307, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638308, 638827, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638828, 639087, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639088, 639247, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639248, 640007, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640008, 640667, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640668, 641267, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641268, 641587, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641588, 641927, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641928, 642207, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642208, 642867, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642868, 643427, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643428, 644207, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644208, 644367, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644368, 644787, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644788, 645147, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645148, 645727, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645728, 646207, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646208, 646666, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 422660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422661, 423120, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423121, 425460, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425461, 425920, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425921, 426380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426381, 429180, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429181, 430980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 430981, 431960, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 431961, 433780, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433781, 434760, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 434761, 434920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 434921, 437720, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437721, 439300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 439301, 439980, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 125200, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125201, 126120, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126121, 126920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126921, 129720, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129721, 130380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620060, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620061, 620620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620621, 621260, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621261, 621560, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621561, 621960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621961, 622200, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622201, 622900, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622901, 623580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623581, 624040, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624041, 624500, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624501, 624820, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624821, 624960, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624961, 625760, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625761, 626520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626521, 626800, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626801, 627460, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627461, 627680, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627681, 627740, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627741, 628600, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628601, 629480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629481, 629580, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629581, 630400, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630401, 630500, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630501, 630520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630521, 631460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631461, 632340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632341, 632420, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632421, 633280, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633281, 633360, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633361, 633380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633381, 634320, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634321, 635120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635121, 635360, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635361, 636060, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636061, 636220, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636221, 636300, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636301, 637160, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637161, 637900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637901, 638320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638321, 638820, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638821, 639080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639081, 639240, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639241, 640020, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640021, 640660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640661, 641260, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641261, 641600, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641601, 641940, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641941, 642200, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642201, 642860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642861, 643440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643441, 644220, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644221, 644360, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644361, 644780, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644781, 645140, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645141, 645720, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645721, 646200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646201, 647140, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647141, 647160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647161, 647640, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647641, 648100, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648101, 648560, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648561, 648980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648981, 649920, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649921, 650100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650101, 650480, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650481, 651040, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651041, 651420, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651421, 651740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651741, 652680, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652681, 653060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653061, 653340, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653341, 654000, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654001, 654280, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654281, 654520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654521, 655460, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655461, 656000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656001, 656200, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656201, 656940, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656941, 657120, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657121, 657300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657301, 658220, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658221, 658960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658961, 659040, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659041, 659880, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659881, 659980, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659981, 660060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660061, 661000, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661001, 661900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661901, 662820, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662821, 662840, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662841, 663760, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663761, 664740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664741, 664840, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664841, 665600, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665601, 665680, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665681, 665780, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665781, 666540, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666541, 667600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667601, 667800, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667801, 668380, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668381, 668540, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668541, 668740, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668741, 669320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669321, 670460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670461, 670740, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670741, 671160, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671161, 671380, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671381, 671680, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671681, 672080, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672081, 673300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673301, 673700, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673701, 673920, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673921, 674240, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674241, 674620, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674621, 674860, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674861, 676160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676161, 676640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676641, 676700, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676701, 677080, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677081, 677580, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677581, 677620, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677621, 679000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679001, 679460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679461, 679580, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679581, 679940, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679941, 680000, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620060, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620061, 620620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620621, 621260, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621261, 621560, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621561, 621960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621961, 622200, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622201, 622900, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622901, 623580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623581, 624040, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624041, 624500, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624501, 624820, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624821, 624960, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624961, 625760, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625761, 626520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626521, 626800, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626801, 627460, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627461, 627680, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627681, 627740, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627741, 628600, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628601, 629480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629481, 629580, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629581, 630400, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630401, 630500, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630501, 630520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630521, 631460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631461, 632340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632341, 632420, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632421, 633280, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633281, 633360, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633361, 633380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633381, 634320, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634321, 635120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635121, 635360, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635361, 636060, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636061, 636220, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636221, 636300, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636301, 637160, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637161, 637900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637901, 638320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638321, 638820, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638821, 639080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639081, 639240, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639241, 640020, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640021, 640660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640661, 641260, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641261, 641600, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641601, 641940, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641941, 642200, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642201, 642860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642861, 643440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643441, 644220, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644221, 644360, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644361, 644780, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644781, 645140, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645141, 645720, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645721, 646200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646201, 647140, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647141, 647160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647161, 647640, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647641, 648100, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648101, 648560, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648561, 648980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648981, 649920, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649921, 650100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650101, 650480, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650481, 651040, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651041, 651420, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651421, 651740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651741, 652680, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652681, 653060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 653061, 653333, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693334, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693335, 694194, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694195, 694254, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694255, 694334, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694335, 695254, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695255, 696094, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696095, 696114, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696115, 697034, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697035, 697054, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697055, 697274, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697275, 698214, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698215, 698874, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698875, 698974, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698975, 699794, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699795, 699894, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699895, 700234, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700235, 701154, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701155, 701634, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701635, 701814, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701815, 702574, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702575, 702754, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702755, 703174, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703175, 704114, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704115, 704414, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704415, 704674, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704675, 705354, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705355, 705614, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705615, 706114, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706115, 707054, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707055, 707194, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707195, 707534, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707535, 708114, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708115, 708454, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708455, 709074, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709075, 709954, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709955, 709994, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709995, 710374, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710375, 710894, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710895, 711314, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711315, 712014, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712015, 712734, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712735, 712954, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712955, 713234, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713235, 713654, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713655, 714154, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714155, 714974, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714975, 715494, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715495, 715894, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715895, 716074, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716075, 716434, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716435, 717014, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717015, 717914, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717915, 718274, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718275, 718854, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718855, 718934, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718935, 719214, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719215, 719874, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719875, 720854, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720855, 721034, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721035, 721794, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721795, 721974, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721975, 722714, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722715, 723814, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723815, 724634, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724635, 724754, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724755, 725574, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725575, 726594, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726595, 726754, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726755, 727494, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727495, 727514, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727515, 727694, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727695, 728414, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728415, 729354, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729355, 729714, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729715, 730294, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730295, 730334, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730335, 730634, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730635, 731274, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731275, 732134, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732135, 732654, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732655, 733054, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733055, 733194, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733195, 733333, {1, 1, 0} }, +}; + +static const struct cam_mipi_sensor_mode sensor_tele2_mipi_C_mode[] = { + { + sensor_imx854_setfile_C_mipi_channel, ARRAY_SIZE(sensor_imx854_setfile_C_mipi_channel), + sensor_imx854_setfile_C_mipi_setting, ARRAY_SIZE(sensor_imx854_setfile_C_mipi_setting) + }, +}; + +/*************************************/ +/* ========== Mode D =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_D_2297_REG_ARRAY[] = { + {0x030E, 0x08, 0x00, 0x00}, + {0x030F, 0xE1, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_D_2289_REG_ARRAY[] = { + {0x030E, 0x08, 0x00, 0x00}, + {0x030F, 0xD9, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_D_2214_REG_ARRAY[] = { + {0x030E, 0x08, 0x00, 0x00}, + {0x030F, 0x8F, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx854_setfile_D_mipi_2297[] = { + { MIPI_D_2297_REG_ARRAY, ARRAY_SIZE(MIPI_D_2297_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 } +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx854_setfile_D_mipi_2289[] = { + { MIPI_D_2289_REG_ARRAY, ARRAY_SIZE(MIPI_D_2289_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 } +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx854_setfile_D_mipi_2214[] = { + { MIPI_D_2214_REG_ARRAY, ARRAY_SIZE(MIPI_D_2214_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 } +}; + +static const struct cam_mipi_setting sensor_imx854_setfile_D_mipi_setting[] = { + { "2297 Msps", 2297, + sensor_imx854_setfile_D_mipi_2297, ARRAY_SIZE(sensor_imx854_setfile_D_mipi_2297) }, + { "2289 Msps", 2289, + sensor_imx854_setfile_D_mipi_2289, ARRAY_SIZE(sensor_imx854_setfile_D_mipi_2289) }, + { "2214 Msps", 2214, + sensor_imx854_setfile_D_mipi_2214, ARRAY_SIZE(sensor_imx854_setfile_D_mipi_2214) }, +}; + +static const struct cam_mipi_cell_ratings sensor_imx854_setfile_D_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {14, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {3, 3, 63} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10580, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10581, 10594, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10595, 10631, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10632, 10664, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10665, 10701, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10702, 10774, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10775, 10838, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9719, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9720, 9776, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9777, 9789, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9790, 9811, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9812, 9846, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9847, 9881, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9882, 9938, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1185, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1186, 1317, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1318, 1356, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1357, 1387, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1388, 1389, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1390, 1426, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1427, 1459, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1460, 1513, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1555, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1556, 1569, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1570, 1606, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1607, 1639, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1640, 1676, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1677, 1738, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4395, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4396, 4411, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4412, 4446, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4447, 4458, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4395, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4396, 4411, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4412, 4413, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2241, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2242, 2271, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2272, 2288, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2289, 2341, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2342, 2444, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2445, 2491, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2492, 2514, {40, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2515, 2535, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2536, 2561, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2562, 2563, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2968, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2969, 2984, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2985, 3010, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3011, 3080, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3081, 3088, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 720, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 721, 736, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 737, 763, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 61, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 62, 88, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 89, 163, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 164, 228, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 229, 303, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 304, 448, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 449, 588, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 589, 599, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 739, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 740, 852, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 853, 879, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 880, 922, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 923, 992, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 993, 1062, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1063, 1199, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1207, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1208, 1271, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1272, 1534, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1535, 1612, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1613, 1674, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1675, 1678, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1679, 1752, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1753, 1818, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1819, 1949, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2011, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2012, 2038, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2039, 2113, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2114, 2178, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2179, 2253, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2254, 2398, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2399, 2399, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2501, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2502, 2532, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2533, 2603, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2604, 2649, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2783, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2784, 2843, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2844, 2876, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2877, 2983, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2984, 3189, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3190, 3283, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3284, 3329, {40, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3330, 3371, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3372, 3423, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3424, 3449, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3536, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3537, 3569, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3570, 3621, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3622, 3761, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3762, 3799, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5031, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5032, 5171, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5172, 5179, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5279, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5288, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5289, 5379, {140, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5841, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5842, 5849, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5901, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5902, 5932, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5933, 5999, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6041, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6042, 6072, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6073, 6143, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6144, 6149, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6219, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6220, 6346, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6347, 6375, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6376, 6449, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6599, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8179, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8180, 8292, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8293, 8319, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8320, 8362, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8363, 8432, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8433, 8502, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8503, 8689, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8751, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8752, 8782, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8783, 8891, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8892, 8922, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8923, 8993, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8994, 9039, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9218, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9219, 9331, {140, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9332, 9358, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9359, 9469, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9470, 9609, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9610, 9659, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9671, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9672, 9769, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9778, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9779, 9861, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9862, 9869, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10047, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10048, 10093, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10094, 10099, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10100, 10187, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10188, 10233, {3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10234, 10239, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10240, 10359, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36206, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36207, 36269, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36270, 36338, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36339, 36349, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37816, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37817, 37829, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37830, 37956, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37957, 38143, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38144, 38236, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38237, 38249, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38362, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38363, 38457, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38458, 38502, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38503, 38525, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38526, 38597, {60, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38598, 38649, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38694, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38695, 38780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38781, 38920, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38921, 39018, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39019, 39101, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39102, 39158, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39159, 39241, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39242, 39307, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39308, 39447, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39448, 39563, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39564, 39648, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39649, 39649, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39693, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39694, 39782, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39783, 39833, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39834, 39922, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39923, 39929, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39930, 40069, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40070, 40238, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40239, 40329, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40330, 40378, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40379, 40456, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40457, 40469, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40470, 40596, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40597, 40783, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40784, 40876, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40877, 40923, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40924, 40983, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40984, 41016, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41017, 41123, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41124, 41329, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41330, 41423, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41424, 41469, {40, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41470, 41511, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41512, 41563, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41564, 41589, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41793, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41794, 41860, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41861, 41933, {0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41934, 41981, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41982, 42000, {40, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42001, 42121, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42122, 42320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42321, 42405, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42406, 42460, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42461, 42528, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42529, 42545, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42546, 42668, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42669, 42847, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42848, 42950, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42951, 42987, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42988, 43075, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43076, 43090, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43091, 43215, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43216, 43374, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43375, 43495, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43496, 43514, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43515, 43589, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55240, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55241, 55365, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55366, 55524, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55525, 55645, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55646, 55664, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55665, 55772, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55773, 55785, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55786, 55912, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55913, 56052, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56053, 56190, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56191, 56192, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56193, 56319, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56320, 56330, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56331, 56459, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56460, 56579, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56580, 56719, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56720, 56735, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56736, 56739, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66497, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66498, 66524, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66525, 66599, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66600, 66664, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66665, 66739, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66740, 66884, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66885, 67024, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67025, 67069, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67070, 67146, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67147, 67209, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67210, 67286, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67287, 67335, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68673, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68674, 68813, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68814, 68886, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68887, 68910, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68911, 68935, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {126, 105, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {63, 66, 63} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {126, 63, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {6, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {46, 4, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {63, 12, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {14, 14, 7} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 423220, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423221, 423760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423761, 425260, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425261, 426560, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426561, 428060, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428061, 430960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 430961, 433760, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433761, 433980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 388780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388781, 391040, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391041, 391580, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391581, 392440, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392441, 393840, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393841, 395240, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395241, 397980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 361140, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361141, 362420, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362421, 367680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367681, 369240, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369241, 370480, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370481, 370560, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370561, 372040, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372041, 373360, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373361, 375980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 175820, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175821, 176440, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176441, 177860, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 177861, 178780, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 524660, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524661, 525860, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525861, 526520, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 526521, 528660, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528661, 532780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 532781, 534660, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534661, 535580, {40, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 535581, 536420, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 536421, 537460, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537461, 538000, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186720, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186721, 187380, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187381, 188420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 188421, 191220, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191221, 191980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146221, 149020, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 149021, 149200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 151200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 151760, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151761, 153580, {140, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 173020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173021, 173640, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173641, 175000, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 159580, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159581, 162120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162121, 162700, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162701, 164180, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 388780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388781, 391040, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391041, 391580, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391581, 392440, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392441, 393840, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393841, 395240, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395241, 398980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 173020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173021, 173640, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173641, 175820, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175821, 176440, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176441, 177860, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 177861, 178800, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 151760, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151761, 154020, {140, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154021, 154560, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154561, 156780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156781, 159580, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159581, 160580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 143620, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143621, 145580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 470160, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470161, 471820, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471821, 471980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 515320, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515321, 515580, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515581, 518120, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518121, 521860, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 521861, 523720, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 523721, 523980, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 378240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378241, 380140, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380141, 381040, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381041, 381500, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381501, 382940, {60, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382941, 384000, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 460880, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460881, 462600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 462601, 465400, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465401, 467360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467361, 469020, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 469021, 470160, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 470161, 471820, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471821, 473140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 473141, 475940, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475941, 478260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478261, 479960, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479961, 480000, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 500060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 500061, 501840, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501841, 502860, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502861, 504640, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504641, 504780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504781, 507580, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507581, 510960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 510961, 512780, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512781, 513760, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 513761, 515320, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515321, 515580, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515581, 518120, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518121, 521860, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 521861, 523720, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 523721, 524660, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524661, 525860, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525861, 526520, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 526521, 528660, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528661, 532780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 532781, 534660, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534661, 535580, {40, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 535581, 536420, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 536421, 537460, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537461, 537980, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 636667, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636668, 637487, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637488, 638547, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638548, 639367, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639368, 639487, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639488, 640207, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640208, 640287, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640288, 641147, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641148, 642067, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642068, 642987, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642988, 643007, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643008, 643847, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643848, 643927, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643928, 644787, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644788, 645587, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645588, 646527, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646528, 646627, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646628, 646666, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 423220, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423221, 423760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423761, 425260, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425261, 426560, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426561, 428060, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428061, 430960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 430961, 433760, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433761, 434660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 434661, 436200, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 436201, 437460, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437461, 439000, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 439001, 439980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 125140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125141, 127940, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127941, 129400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129401, 129880, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129881, 130380, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620981, 621200, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621201, 621920, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621921, 621980, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621981, 622120, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622121, 622900, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622901, 624500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624501, 624820, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624821, 625420, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625421, 625620, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625621, 625760, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625761, 626560, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626561, 628020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628021, 628460, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628461, 628940, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628941, 629260, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629261, 629400, {20, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629401, 630200, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630201, 631520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631521, 632100, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632101, 632460, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632461, 632920, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632921, 633020, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633021, 633840, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633841, 635040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635041, 635720, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635721, 635980, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635981, 636560, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636561, 636660, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636661, 637500, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637501, 638560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638561, 639360, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639361, 639480, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639481, 640200, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640201, 640300, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640301, 641140, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641141, 642080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642081, 643000, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643001, 643860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643861, 643920, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643921, 644780, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644781, 645580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645581, 646520, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646521, 646620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646621, 647500, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647501, 647560, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647561, 648440, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648441, 649100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649101, 650040, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650041, 650260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650261, 651140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651141, 651200, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651201, 652080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652081, 652620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652621, 653560, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653561, 653900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653901, 654800, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654801, 654820, {20, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654821, 655720, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655721, 656140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656141, 657060, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657061, 657520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657521, 658440, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658441, 658460, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658461, 659380, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659381, 659640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659641, 660580, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660581, 661160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661161, 662080, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662081, 662100, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662101, 663020, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663021, 663160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663161, 664100, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664101, 664800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664801, 665740, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665741, 666660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666661, 666680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666681, 667620, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667621, 668440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668441, 669360, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669361, 669380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669381, 670200, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670201, 670320, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670321, 671120, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671121, 672060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672061, 673000, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673001, 673020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673021, 673700, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673701, 673960, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673961, 674640, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674641, 675700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675701, 676640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676641, 676680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676681, 677220, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677221, 677600, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677601, 678160, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678161, 679340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679341, 680000, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620981, 621200, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621201, 621920, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621921, 621980, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621981, 622120, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622121, 622900, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622901, 624500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624501, 624820, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624821, 625420, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625421, 625620, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625621, 625760, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625761, 626560, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626561, 628020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628021, 628460, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628461, 628940, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628941, 629260, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629261, 629400, {20, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629401, 630200, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630201, 631520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631521, 632100, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632101, 632460, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632461, 632920, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632921, 633020, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633021, 633840, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633841, 635040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635041, 635720, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635721, 635980, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635981, 636560, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636561, 636660, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636661, 637500, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637501, 638560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638561, 639360, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639361, 639480, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639481, 640200, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640201, 640300, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640301, 641140, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641141, 642080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642081, 643000, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643001, 643860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643861, 643920, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643921, 644780, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644781, 645580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645581, 646520, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646521, 646620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646621, 647500, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647501, 647560, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647561, 648440, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648441, 649100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649101, 650040, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650041, 650260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650261, 651140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651141, 651200, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651201, 652080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652081, 652620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652621, 653333, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693874, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693875, 694794, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694795, 694914, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694915, 695734, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695735, 695834, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695835, 697494, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697495, 698314, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698315, 698434, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698435, 698554, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698555, 699254, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699255, 699494, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699495, 701134, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701135, 701834, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701835, 702074, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702075, 702194, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702195, 702754, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702755, 703134, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703135, 704774, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704775, 705354, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705355, 705694, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705695, 705854, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705855, 706274, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706275, 706774, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706775, 708414, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708415, 708854, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708855, 709334, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709335, 709494, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709495, 709794, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709795, 710434, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710435, 712034, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712035, 712374, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712375, 712974, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712975, 713134, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713135, 713314, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713315, 714074, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714075, 715674, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715675, 715894, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715895, 716614, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716615, 716794, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716795, 716834, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716835, 717714, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717715, 719314, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719315, 719414, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719415, 720234, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720235, 720334, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720335, 720434, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720435, 721374, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721375, 722914, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722915, 722934, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722935, 723854, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723855, 723874, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723875, 724074, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724075, 725014, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725015, 726434, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726435, 726574, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726575, 727374, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727375, 727514, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727515, 727734, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727735, 728654, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728655, 729954, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729955, 730214, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730215, 730894, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730895, 731134, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731135, 731374, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731375, 732314, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732315, 733333, {0, 0, 0} }, +}; + +static const struct cam_mipi_sensor_mode sensor_tele2_mipi_D_mode[] = { + { + sensor_imx854_setfile_D_mipi_channel, ARRAY_SIZE(sensor_imx854_setfile_D_mipi_channel), + sensor_imx854_setfile_D_mipi_setting, ARRAY_SIZE(sensor_imx854_setfile_D_mipi_setting) + }, +}; +#endif /* _CAM_SENSOR_ADAPTIVE_MIPI_IMX754_H_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k2ld.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k2ld.h new file mode 100755 index 0000000000..effd22440c --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k2ld.h @@ -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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3j1.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3j1.h new file mode 100755 index 0000000000..c88f4ea23e --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3j1.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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3j1_2_0.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3j1_2_0.h new file mode 100755 index 0000000000..aa4eb39ed1 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3j1_2_0.h @@ -0,0 +1,1915 @@ +/* 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_2_0_H_ +#define _CAM_SENSOR_ADAPTIVE_MIPI_S5K3J1_2_0_H_ + +#include "cam_sensor_dev.h" + +int num_front_mipi_setting = 2; + +/* +B6_FrontCAM_Adaptive MIPI 2.0_3J1_231204.xlsx +SET A : Other +SET B : M3 4k 60fps +*/ + +/*************************************/ +/* ========== SET A =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_SET_A_992_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x0136, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_A_995_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x0137, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_A_956_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x012B, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_A_950_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_992[] = { + { MIPI_SET_A_992_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_992_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_995[] = { + { MIPI_SET_A_995_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_995_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_956[] = { + { MIPI_SET_A_956_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_956_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_950[] = { + { MIPI_SET_A_950_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_950_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[] = { + { "992 Mhz", 992, + sensor_s5k3j1_setfile_A_mipi_992, ARRAY_SIZE(sensor_s5k3j1_setfile_A_mipi_992) }, + { "995 Mhz", 995, + sensor_s5k3j1_setfile_A_mipi_995, ARRAY_SIZE(sensor_s5k3j1_setfile_A_mipi_995) }, + { "956 Mhz", 956, + sensor_s5k3j1_setfile_A_mipi_956, ARRAY_SIZE(sensor_s5k3j1_setfile_A_mipi_956) }, + { "950 Mhz", 950, + sensor_s5k3j1_setfile_A_mipi_950, ARRAY_SIZE(sensor_s5k3j1_setfile_A_mipi_950) }, +}; + +static const struct cam_mipi_cell_ratings sensor_s5k3j1_setfile_A_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 7, 147, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {66, 63, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10628, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10629, 10656, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10657, 10663, {3, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10664, 10698, {3, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10699, 10726, {0, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10727, 10728, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10729, 10733, {0, 3, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10734, 10798, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10799, 10838, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9668, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9669, 9706, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9707, 9738, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9739, 9772, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9773, 9776, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9777, 9842, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9843, 9884, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9885, 9916, {60, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9917, 9938, {60, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1179, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1180, 1188, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1189, 1249, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1250, 1265, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1266, 1295, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1296, 1335, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1336, 1356, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1357, 1365, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1366, 1418, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1419, 1426, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1427, 1488, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1489, 1513, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1603, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1604, 1631, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1632, 1638, {3, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1639, 1673, {3, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1674, 1701, {0, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1702, 1703, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1704, 1708, {0, 3, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1709, 1738, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4428, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4429, 4443, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4444, 4458, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4413, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2245, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2246, 2276, {2, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2277, 2303, {2, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2304, 2315, {0, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2316, 2346, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2347, 2395, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2396, 2465, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2466, 2481, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2482, 2485, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2486, 2525, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2526, 2551, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2552, 2555, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2556, 2563, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2976, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2977, 2992, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2993, 3016, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3017, 3046, {7, 7, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3047, 3048, {0, 7, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3049, 3062, {0, 7, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3063, 3086, {0, 0, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3087, 3088, {0, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 753, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 754, 763, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 19, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 20, 157, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 158, 213, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 214, 226, {3, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 227, 297, {3, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 298, 353, {0, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 354, 357, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 358, 366, {0, 3, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 367, 497, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 498, 599, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 636, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 637, 713, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 714, 776, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 777, 844, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 845, 853, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 854, 984, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 985, 1069, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1070, 1133, {60, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1134, 1188, {60, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1189, 1199, {60, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1259, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1260, 1277, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1278, 1399, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1400, 1431, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1432, 1491, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1492, 1571, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1572, 1612, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1613, 1631, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1632, 1737, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1738, 1752, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1753, 1877, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1878, 1927, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1928, 1949, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1969, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1970, 2107, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2108, 2163, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2164, 2176, {3, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2177, 2247, {3, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2248, 2303, {0, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2304, 2307, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2308, 2316, {0, 3, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2317, 2399, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2567, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2568, 2596, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2597, 2649, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2755, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2756, 2767, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2768, 2791, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2792, 2852, {2, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2853, 2907, {2, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2908, 2931, {0, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2932, 2992, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2993, 3091, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3092, 3231, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3232, 3263, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3264, 3270, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3271, 3350, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3351, 3403, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3404, 3410, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3411, 3449, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3553, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3554, 3584, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3585, 3633, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3634, 3693, {7, 7, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3694, 3697, {0, 7, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3698, 3724, {0, 7, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3725, 3773, {0, 0, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3774, 3799, {0, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5089, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5090, 5113, {140, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5114, 5179, {140, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5229, {140, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5230, 5253, {0, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5254, 5279, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5284, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5285, 5373, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5374, 5379, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5759, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5760, 5783, {140, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5784, 5849, {140, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5873, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5874, 5931, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5932, 5999, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6107, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6108, 6136, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6137, 6149, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6245, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6246, 6248, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6249, 6271, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6272, 6302, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6303, 6388, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6389, 6442, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6443, 6449, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6488, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6489, 6599, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8076, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8077, 8153, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8154, 8216, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8217, 8284, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8285, 8293, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8294, 8424, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8425, 8509, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8510, 8573, {60, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8574, 8628, {60, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8629, 8649, {60, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8650, 8689, {0, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8723, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8724, 8781, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8782, 8957, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8958, 8986, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8987, 9039, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9214, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9215, 9303, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9304, 9354, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9355, 9495, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9496, 9521, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9522, 9635, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9636, 9638, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9639, 9659, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9687, {0, 0, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9688, 9735, {0, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9736, 9769, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9781, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9782, 9869, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10061, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10062, 10160, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10161, 10201, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10202, 10209, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10210, 10257, {60, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10258, 10300, {60, 60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10301, 10349, {60, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10350, 10359, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36262, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36263, 36349, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37771, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37772, 37780, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37781, 37813, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37814, 37855, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37856, 37911, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37912, 37953, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37954, 37995, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37996, 38115, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38116, 38249, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38288, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38289, 38367, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38368, 38387, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38388, 38428, {0, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38429, 38515, {0, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38516, 38527, {0, 0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38528, 38649, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38683, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38684, 38864, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38865, 38891, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38892, 38967, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38968, 39004, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39005, 39021, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39022, 39031, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39032, 39107, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39108, 39161, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39162, 39339, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39340, 39387, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39388, 39464, {2, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39465, 39479, {2, 2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39480, 39499, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39500, 39527, {2, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39528, 39604, {0, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39605, 39639, {0, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39640, 39649, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39805, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39806, 39915, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39916, 39945, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39946, 39975, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39976, 39997, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39998, 40055, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40056, 40115, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40116, 40137, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40138, 40280, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40281, 40411, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40412, 40420, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40421, 40453, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40454, 40495, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40496, 40551, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40552, 40593, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40594, 40635, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40636, 40755, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40756, 40895, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40896, 40907, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40908, 40931, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40932, 40992, {2, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40993, 41047, {2, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41048, 41071, {0, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41072, 41132, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41133, 41231, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41232, 41371, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41372, 41403, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41404, 41410, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41411, 41490, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41491, 41543, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41544, 41550, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41551, 41589, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41626, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41627, 41734, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41735, 41744, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41745, 41854, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41855, 41874, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41875, 41884, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41885, 41964, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41965, 41994, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41995, 42104, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42105, 42209, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42210, 42240, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42241, 42349, {40, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42350, 42352, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42353, 42380, {40, 40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42381, 42443, {0, 40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42444, 42492, {0, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42493, 42583, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42584, 42684, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42685, 42736, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42737, 42824, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42825, 42849, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42850, 42876, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42877, 42921, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42922, 42989, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42990, 43061, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43062, 43160, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43161, 43232, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43233, 43300, {2, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43301, 43347, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43348, 43372, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43373, 43400, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43401, 43487, {0, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43488, 43540, {0, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43541, 43589, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55310, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55311, 55382, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55383, 55450, {2, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55451, 55497, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55498, 55522, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55523, 55550, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55551, 55637, {0, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55638, 55690, {0, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55691, 55785, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55786, 55878, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55879, 55925, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55926, 55994, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55995, 56018, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56019, 56028, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56029, 56134, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56135, 56168, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56169, 56260, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56261, 56374, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56375, 56400, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56401, 56492, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56493, 56506, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56507, 56514, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56515, 56632, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56633, 56646, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56647, 56735, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56736, 56739, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66455, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66456, 66593, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66594, 66649, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66650, 66662, {3, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66663, 66733, {3, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66734, 66789, {0, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66790, 66793, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66794, 66802, {0, 3, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66803, 66933, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66934, 67089, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67090, 67125, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67126, 67160, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67161, 67229, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67230, 67265, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67266, 67272, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67273, 67300, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67301, 67335, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68663, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68664, 68705, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68706, 68793, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68794, 68814, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68815, 68933, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68934, 68935, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {0, 0, 126, 63} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 0, 63, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {3, 0, 114, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 3, 0, 66} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {0, 0, 26, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 0, 63, 63} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {66, 63, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {0, 7, 14, 14} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 422380, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422381, 425140, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425141, 426260, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426261, 426520, {3, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426521, 427940, {3, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427941, 429060, {0, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429061, 429140, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429141, 429320, {0, 3, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429321, 431940, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 431941, 433980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 386720, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386721, 388260, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388261, 389520, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389521, 390880, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 390881, 391060, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391061, 393680, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393681, 395380, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395381, 396660, {60, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396661, 397760, {60, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397761, 397980, {60, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 362180, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362181, 362540, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362541, 364980, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 364981, 365620, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365621, 366820, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366821, 368420, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 368421, 369240, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369241, 369620, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369621, 371740, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 371741, 372040, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372041, 374540, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 374541, 375540, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 375541, 375980, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 177140, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 177141, 177720, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 177721, 178780, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 524100, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524101, 524340, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524341, 524820, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524821, 526040, {2, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 526041, 527140, {2, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527141, 527620, {0, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527621, 528840, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528841, 530820, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530821, 533620, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533621, 534260, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534261, 534400, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534401, 536000, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 536001, 537060, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537061, 537200, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537201, 538000, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 187060, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187061, 187680, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187681, 188660, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 188661, 189860, {7, 7, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189861, 189940, {0, 7, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189941, 190480, {0, 7, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 190481, 191460, {0, 0, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191461, 191980, {0, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 147380, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147381, 147860, {140, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147861, 149200, {140, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 150180, {140, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150181, 150660, {0, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150661, 151200, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 151680, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151681, 153460, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153461, 153580, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 172460, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172461, 173620, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173621, 175000, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 160100, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160101, 160160, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160161, 160620, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160621, 161240, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 161241, 162960, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162961, 164040, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 164041, 164180, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 386720, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386721, 388260, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388261, 389520, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389521, 390880, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 390881, 391060, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391061, 393680, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393681, 395380, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395381, 396660, {60, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396661, 397760, {60, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397761, 398180, {60, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 398181, 398980, {0, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 172460, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172461, 173620, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173621, 177140, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 177141, 177720, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 177721, 178800, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 151680, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151681, 153460, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153461, 154480, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154481, 157300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157301, 157820, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157821, 160100, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160101, 160160, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160161, 160580, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 143940, {0, 0, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143941, 144900, {0, 0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 144901, 145580, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 470220, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470221, 471980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 514420, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514421, 514600, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514601, 515260, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515261, 516100, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 516101, 517220, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517221, 518060, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518061, 518900, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518901, 521300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 521301, 523980, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 376760, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376761, 378340, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378341, 378740, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378741, 379560, {0, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 379561, 381300, {0, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381301, 381540, {0, 0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381541, 384000, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 460660, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460661, 464280, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464281, 464820, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464821, 466340, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466341, 467080, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467081, 467420, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467421, 467620, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467621, 469140, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 469141, 470220, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 470221, 473780, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 473781, 474740, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 474741, 476280, {2, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476281, 476580, {2, 2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476581, 476980, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476981, 477540, {2, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477541, 479080, {0, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479081, 479780, {0, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479781, 480000, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 502300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502301, 504500, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504501, 505100, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505101, 505700, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505701, 506140, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506141, 507300, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507301, 508500, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 508501, 508940, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 508941, 511800, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511801, 514420, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514421, 514600, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514601, 515260, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515261, 516100, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 516101, 517220, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517221, 518060, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518061, 518900, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518901, 521300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 521301, 524100, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524101, 524340, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524341, 524820, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524821, 526040, {2, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 526041, 527140, {2, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527141, 527620, {0, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527621, 528840, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528841, 530820, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530821, 533620, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533621, 534260, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534261, 534400, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534401, 536000, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 536001, 537060, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537061, 537200, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537201, 537980, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 637127, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637128, 637607, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637608, 638047, {1, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638048, 638367, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638368, 638547, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638548, 638727, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638728, 639307, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639308, 639647, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639648, 640287, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640288, 640907, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640908, 641227, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641228, 641687, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641688, 641847, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641848, 641907, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641908, 642627, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642628, 642847, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642848, 643467, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643468, 644227, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644228, 644387, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644388, 645007, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645008, 645107, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645108, 645147, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645148, 645947, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645948, 646027, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646028, 646627, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646628, 646666, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 422380, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422381, 425140, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425141, 426260, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426261, 426520, {3, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426521, 427940, {3, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427941, 429060, {0, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429061, 429140, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429141, 429320, {0, 3, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429321, 431940, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 431941, 435060, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435061, 435780, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435781, 436480, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 436481, 437860, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437861, 438580, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438581, 438720, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438721, 439280, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 439281, 439980, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124940, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124941, 125780, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125781, 127540, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127541, 127960, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127961, 130340, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 130341, 130380, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620520, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620521, 621080, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621081, 621280, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621281, 621780, {1, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621781, 622000, {1, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622001, 622220, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622221, 622720, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622721, 622780, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622781, 623700, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623701, 624380, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624381, 624460, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624461, 625100, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625101, 625300, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625301, 625380, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625381, 625960, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625961, 626040, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626041, 626900, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626901, 627620, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627621, 627680, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627681, 628420, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628421, 628560, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628561, 628620, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628621, 629160, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629161, 629360, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629361, 630080, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630081, 630780, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630781, 631000, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631001, 631720, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631721, 631740, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631741, 631920, {20, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631921, 632340, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632341, 632680, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632681, 633280, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633281, 633960, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633961, 634300, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634301, 634880, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634881, 635060, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635061, 635220, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635221, 635540, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635541, 635980, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635981, 636460, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636461, 637120, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637121, 637600, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637601, 638060, {1, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638061, 638380, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638381, 638540, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638541, 638720, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638721, 639300, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639301, 639660, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639661, 640300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640301, 640920, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640921, 641220, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641221, 641680, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641681, 641840, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641841, 641920, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641921, 642620, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642621, 642840, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642841, 643460, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643461, 644220, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644221, 644400, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644401, 645000, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645001, 645100, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645101, 645140, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645141, 645940, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645941, 646040, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646041, 646620, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646621, 647520, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647521, 647560, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647561, 648300, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648301, 648320, {20, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648321, 648460, {20, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648461, 649220, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649221, 649260, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649261, 649800, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649801, 650720, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650721, 650840, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650841, 651480, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651481, 651640, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651641, 651760, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651761, 652420, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652421, 652580, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652581, 652960, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652961, 653900, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653901, 654140, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654141, 654680, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654681, 654960, {1, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654961, 655080, {1, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655081, 655600, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655601, 655900, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655901, 656140, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656141, 657060, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657061, 657440, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657441, 657860, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657861, 658280, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658281, 658380, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658381, 658800, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658801, 659200, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659201, 659300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659301, 660240, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660241, 660760, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660761, 661040, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661041, 661600, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661601, 661680, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661681, 661980, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661981, 662460, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662461, 662520, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662521, 663400, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663401, 664060, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664061, 664240, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664241, 664920, {20, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664921, 664980, {20, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664981, 665180, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665181, 665640, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665641, 665840, {0, 20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665841, 666560, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666561, 667360, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667361, 667420, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667421, 668220, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668221, 668300, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668301, 668360, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668361, 668800, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668801, 669160, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669161, 669740, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669741, 670620, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670621, 670680, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670681, 671540, {1, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671541, 671600, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671601, 671980, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671981, 672480, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672481, 672900, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672901, 673800, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673801, 673980, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673981, 674740, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674741, 674860, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674861, 674900, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674901, 675140, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675141, 675800, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675801, 676080, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676081, 677000, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677001, 677280, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677281, 677920, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677921, 678180, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678181, 678220, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678221, 678300, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678301, 679120, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679121, 679240, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679241, 680000, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620520, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620521, 621080, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621081, 621280, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621281, 621780, {1, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621781, 622000, {1, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622001, 622220, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622221, 622720, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622721, 622780, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622781, 623700, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623701, 624380, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624381, 624460, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624461, 625100, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625101, 625300, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625301, 625380, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625381, 625960, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625961, 626040, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626041, 626900, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626901, 627620, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627621, 627680, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627681, 628420, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628421, 628560, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628561, 628620, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628621, 629160, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629161, 629360, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629361, 630080, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630081, 630780, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630781, 631000, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631001, 631720, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631721, 631740, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631741, 631920, {20, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631921, 632340, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632341, 632680, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632681, 633280, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633281, 633960, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633961, 634300, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634301, 634880, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634881, 635060, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635061, 635220, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635221, 635540, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635541, 635980, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635981, 636460, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636461, 637120, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637121, 637600, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637601, 638060, {1, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638061, 638380, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638381, 638540, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638541, 638720, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638721, 639300, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639301, 639660, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639661, 640300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640301, 640920, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640921, 641220, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641221, 641680, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641681, 641840, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641841, 641920, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641921, 642620, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642621, 642840, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642841, 643460, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643461, 644220, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644221, 644400, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644401, 645000, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645001, 645100, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645101, 645140, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645141, 645940, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645941, 646040, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646041, 646620, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646621, 647520, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647521, 647560, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647561, 648300, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648301, 648320, {20, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648321, 648460, {20, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648461, 649220, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649221, 649260, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649261, 649800, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649801, 650720, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650721, 650840, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650841, 651480, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651481, 651640, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651641, 651760, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651761, 652420, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652421, 652580, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652581, 652960, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652961, 653333, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693814, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693815, 693874, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693875, 694154, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694155, 694754, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694755, 694774, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694775, 695074, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695075, 695694, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695695, 696134, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696135, 697074, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697075, 697134, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697135, 697314, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697315, 698054, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698055, 698094, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698095, 698254, {0, 20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698255, 699014, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699015, 699314, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699315, 700254, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700255, 700434, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700435, 700494, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700495, 701354, {1, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701355, 701394, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701395, 701414, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701415, 702334, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702335, 702514, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702515, 703434, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703435, 703654, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703655, 703734, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703735, 704594, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704595, 704674, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704675, 704714, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704715, 705654, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705655, 705694, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705695, 706634, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706635, 706814, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706815, 707054, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707055, 707754, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707755, 707974, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707975, 708034, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708035, 708894, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708895, 708974, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708975, 709814, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709815, 709994, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709995, 710354, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710355, 710914, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710915, 711294, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711295, 711354, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711355, 712074, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712075, 712294, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712295, 713014, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713015, 713154, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713155, 713654, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713655, 714094, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714095, 714594, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714595, 714674, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714675, 715274, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715275, 715594, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715595, 715614, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715615, 716194, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716195, 716334, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716335, 716974, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716975, 717254, {1, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717255, 717894, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717895, 717994, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717995, 718454, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718455, 718914, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718915, 719394, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719395, 719494, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719495, 720274, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720275, 720434, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720435, 721194, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721195, 721314, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721315, 721654, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721655, 722234, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722235, 722574, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722575, 722654, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722655, 723574, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723575, 723594, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723595, 724514, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724515, 724614, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724615, 724834, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724835, 725554, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725555, 725774, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725775, 725834, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725835, 726754, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726755, 726894, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726895, 727814, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727815, 727934, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727935, 728034, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728035, 728874, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728875, 728954, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728955, 728994, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728995, 729934, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729935, 730194, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730195, 731114, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731115, 731214, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731215, 731254, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731255, 732154, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732155, 732194, {0, 20, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732195, 733094, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733095, 733333, {0, 0, 0, 0} }, +}; + +static const struct cam_mipi_sensor_mode sensor_front_mipi_A_mode[] = { + { + sensor_s5k3j1_setfile_A_mipi_channel, ARRAY_SIZE(sensor_s5k3j1_setfile_A_mipi_channel), + sensor_s5k3j1_setfile_A_mipi_setting, ARRAY_SIZE(sensor_s5k3j1_setfile_A_mipi_setting) + }, +}; + +/*************************************/ +/* ========== SET B =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_SET_B_1196_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x00BB, 0x00, 0x00}, + {0x0312, 0x0000, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_B_1011_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x013C, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_B_1139_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x00B2, 0x00, 0x00}, + {0x0312, 0x0000, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_B_1094_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_1196[] = { + { MIPI_SET_B_1196_REG_ARRAY, ARRAY_SIZE(MIPI_SET_B_1196_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_1011[] = { + { MIPI_SET_B_1011_REG_ARRAY, ARRAY_SIZE(MIPI_SET_B_1011_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_1139[] = { + { MIPI_SET_B_1139_REG_ARRAY, ARRAY_SIZE(MIPI_SET_B_1139_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_1094[] = { + { MIPI_SET_B_1094_REG_ARRAY, ARRAY_SIZE(MIPI_SET_B_1094_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[] = { + { "1196 Mhz", 1196, + sensor_s5k3j1_setfile_B_mipi_1196, ARRAY_SIZE(sensor_s5k3j1_setfile_B_mipi_1196) }, + { "1011 Mhz", 1011, + sensor_s5k3j1_setfile_B_mipi_1011, ARRAY_SIZE(sensor_s5k3j1_setfile_B_mipi_1011) }, + { "1139 Mhz", 1139, + sensor_s5k3j1_setfile_B_mipi_1139, ARRAY_SIZE(sensor_s5k3j1_setfile_B_mipi_1139) }, + { "1094 Mhz", 1094, + sensor_s5k3j1_setfile_B_mipi_1094, ARRAY_SIZE(sensor_s5k3j1_setfile_B_mipi_1094) }, +}; + +static const struct cam_mipi_cell_ratings sensor_s5k3j1_setfile_B_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {147, 0, 0, 14} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {0, 0, 66, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10572, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10573, 10582, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10583, 10635, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10636, 10652, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10653, 10705, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10706, 10736, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10737, 10787, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10788, 10806, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10807, 10835, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10836, 10838, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9718, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9719, 9814, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9815, 9824, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9825, 9838, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9839, 9884, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9885, 9894, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9895, 9908, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9909, 9932, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9933, 9938, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1188, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1189, 1190, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1191, 1203, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1204, 1260, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1261, 1273, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1274, 1365, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1366, 1392, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1393, 1435, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1436, 1443, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1444, 1462, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1463, 1488, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1489, 1513, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1547, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1548, 1557, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1558, 1610, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1611, 1627, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1628, 1680, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1681, 1711, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1712, 1738, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4412, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4413, 4452, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4453, 4458, {140, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4412, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4413, 4413, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2254, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2255, 2260, {2, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2261, 2292, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2293, 2305, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2306, 2324, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2325, 2475, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2476, 2488, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2489, 2496, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2497, 2545, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2546, 2553, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2554, 2558, {40, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2559, 2563, {40, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2986, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2987, 3052, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3053, 3068, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3069, 3088, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 737, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 738, 763, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 45, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 46, 65, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 66, 170, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 171, 205, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 206, 310, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 311, 372, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 373, 474, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 475, 512, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 513, 570, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 571, 599, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 736, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 737, 929, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 930, 948, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 949, 977, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 978, 1069, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1070, 1088, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1089, 1117, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1118, 1165, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1166, 1199, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1277, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1278, 1281, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1282, 1307, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1308, 1421, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1422, 1447, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1448, 1630, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1631, 1684, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1685, 1770, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1771, 1787, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1788, 1824, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1825, 1876, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1877, 1927, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1928, 1949, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1995, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1996, 2015, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2016, 2120, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2121, 2155, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2156, 2260, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2261, 2322, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2323, 2399, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2535, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2536, 2615, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2616, 2649, {140, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2771, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2772, 2809, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2810, 2821, {2, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2822, 2885, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2886, 2911, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2912, 2949, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2950, 3251, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3252, 3276, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3277, 3292, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3293, 3391, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3392, 3407, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3408, 3416, {40, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3417, 3432, {40, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3433, 3449, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3572, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3573, 3704, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3705, 3736, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3737, 3799, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5054, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5055, 5179, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5194, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5195, 5233, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5234, 5279, {0, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5290, {0, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5291, 5353, {0, 140, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5354, 5379, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5849, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5863, {0, 7, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5864, 5915, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5916, 5935, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5936, 5999, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6075, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6076, 6149, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6259, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6260, 6284, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6285, 6377, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6378, 6399, {0, 7, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6400, 6449, {0, 0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6520, {60, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6521, 6588, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6589, 6599, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8176, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8177, 8369, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8370, 8388, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8389, 8417, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8418, 8509, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8510, 8528, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8529, 8557, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8558, 8605, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8606, 8689, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8713, {0, 7, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8714, 8765, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8766, 8785, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8786, 8925, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8926, 9005, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9006, 9039, {140, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9220, {0, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9221, 9283, {0, 140, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9284, 9339, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9340, 9360, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9361, 9479, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9480, 9534, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9535, 9649, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9650, 9659, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9673, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9674, 9740, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9741, 9769, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9869, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9992, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9993, 10104, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10105, 10132, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10133, 10139, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10140, 10244, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10245, 10279, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10280, 10289, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10290, 10359, {60, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36254, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36255, 36276, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36277, 36349, {0, 60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37751, {2, 0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37752, 37765, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37766, 37838, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37839, 37851, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37852, 37905, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37906, 38181, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38182, 38245, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38246, 38249, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38316, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38317, 38528, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38529, 38531, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38532, 38592, {3, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38593, 38649, {3, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38702, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38703, 38837, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38838, 38917, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38918, 38933, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38934, 38977, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38978, 39057, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39058, 39073, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39074, 39109, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39110, 39249, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39250, 39343, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39344, 39483, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39484, 39503, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39504, 39515, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39516, 39643, {40, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39644, 39649, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39682, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39683, 39752, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39753, 39791, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39792, 39822, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39823, 39892, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39893, 39899, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39900, 39931, {0, 40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39932, 40039, {0, 40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40040, 40251, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40252, 40338, {0, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40339, 40351, {0, 0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40352, 40391, {2, 0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40392, 40405, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40406, 40478, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40479, 40491, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40492, 40545, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40546, 40821, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40822, 40885, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40886, 40911, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40912, 40949, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40950, 40961, {2, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40962, 41025, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41026, 41051, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41052, 41089, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41090, 41391, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41392, 41416, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41417, 41432, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41433, 41531, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41532, 41547, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41548, 41556, {40, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41557, 41572, {40, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41573, 41589, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41628, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41629, 41696, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41697, 41768, {2, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41769, 41836, {0, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41837, 41900, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41901, 41993, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41994, 42040, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42041, 42133, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42134, 42227, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42228, 42265, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42266, 42367, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42368, 42405, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42406, 42406, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42407, 42540, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42541, 42546, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42547, 42680, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42681, 42825, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42826, 42835, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42836, 42912, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42913, 42965, {2, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42966, 42975, {0, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42976, 43052, {0, 40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43053, 43088, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43089, 43228, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43229, 43404, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43405, 43417, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43418, 43424, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43425, 43544, {40, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43545, 43557, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43558, 43564, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43565, 43589, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55378, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55379, 55554, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55555, 55567, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55568, 55574, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55575, 55694, {40, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55695, 55707, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55708, 55714, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55715, 55785, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55786, 55925, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55926, 56073, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56074, 56124, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56125, 56172, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56173, 56213, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56214, 56264, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56265, 56312, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56313, 56332, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56333, 56472, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56473, 56578, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56579, 56694, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56695, 56718, {0, 2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56719, 56739, {0, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66481, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66482, 66501, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66502, 66606, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66607, 66641, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66642, 66746, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66747, 66808, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66809, 66910, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66911, 66948, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66949, 67006, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67007, 67050, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67051, 67146, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67147, 67153, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67154, 67293, {0, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67294, 67335, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68611, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68612, 68751, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68752, 68912, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68913, 68918, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68919, 68928, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68929, 68935, {7, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {6, 3, 0, 126} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {6, 0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {6, 6, 3, 126} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 3, 12, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {42, 0, 2, 4} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 3, 3, 63} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {147, 0, 0, 14} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {0, 0, 66, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {0, 7, 255, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 422900, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422901, 423300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423301, 425400, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425401, 426100, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426101, 428200, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428201, 429440, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429441, 431480, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 431481, 432240, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432241, 433400, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433401, 433980, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 388720, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388721, 392580, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392581, 392960, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392961, 393540, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393541, 395380, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395381, 395760, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395761, 396340, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396341, 397300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397301, 397980, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 362540, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362541, 362620, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362621, 363140, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363141, 365420, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365421, 365940, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365941, 369600, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369601, 370680, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370681, 372400, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372401, 372740, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372741, 373480, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373481, 374520, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 374521, 375540, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 375541, 375980, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 176500, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176501, 178100, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178101, 178780, {140, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 524420, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524421, 525180, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525181, 525420, {2, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525421, 526700, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 526701, 527220, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527221, 527980, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527981, 534020, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534021, 534520, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534521, 534840, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534841, 536820, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 536821, 537140, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537141, 537320, {40, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537321, 537640, {40, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537641, 538000, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 187440, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187441, 190080, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 190081, 190720, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 190721, 191980, {7, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146680, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146681, 149200, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 149480, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149481, 150260, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150261, 151200, {0, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 151800, {0, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151801, 153060, {0, 140, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153061, 153580, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 172260, {0, 7, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172261, 173300, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173301, 173700, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173701, 175000, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 160380, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160381, 160880, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160881, 162740, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162741, 163180, {0, 7, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163181, 164180, {0, 0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 388720, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388721, 392580, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392581, 392960, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392961, 393540, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393541, 395380, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395381, 395760, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395761, 396340, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396341, 397300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397301, 398980, {0, 0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 172260, {0, 7, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172261, 173300, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173301, 173700, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173701, 176500, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176501, 178100, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178101, 178800, {140, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 151800, {0, 140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151801, 153060, {0, 140, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153061, 154180, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154181, 154600, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154601, 156980, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156981, 158080, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158081, 160380, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160381, 160580, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 143660, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143661, 145000, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 145001, 145580, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 471980, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 514020, {2, 0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514021, 514300, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514301, 515760, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515761, 516020, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 516021, 517100, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517101, 522620, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522621, 523900, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 523901, 523980, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 377320, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377321, 381560, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381561, 381620, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381621, 382840, {3, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382841, 384000, {3, 3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 461040, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461041, 463740, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463741, 465340, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465341, 465660, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465661, 466540, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466541, 468140, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468141, 468460, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468461, 469180, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 469181, 471980, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471981, 473860, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 473861, 476660, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476661, 477060, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477061, 477300, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477301, 479860, {40, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479861, 480000, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 499840, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499841, 501240, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501241, 502020, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502021, 502640, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502641, 504040, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504041, 504180, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504181, 504820, {0, 40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504821, 506980, {0, 40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506981, 511220, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511221, 512960, {0, 0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512961, 513220, {0, 0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 513221, 514020, {2, 0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514021, 514300, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514301, 515760, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515761, 516020, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 516021, 517100, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517101, 522620, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522621, 523900, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 523901, 524420, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524421, 525180, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525181, 525420, {2, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525421, 526700, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 526701, 527220, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527221, 527980, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527981, 534020, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534021, 534520, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534521, 534840, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534841, 536820, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 536821, 537140, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537141, 537320, {40, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537321, 537640, {40, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537641, 537980, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 637567, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637568, 638747, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638748, 638847, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638848, 638887, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638888, 639687, {20, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639688, 639767, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639768, 639807, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639808, 640287, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640288, 641227, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641228, 642207, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642208, 642547, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642548, 642867, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642868, 643147, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643148, 643487, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643488, 643807, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643808, 643947, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643948, 644867, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644868, 645587, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645588, 646347, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646348, 646507, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646508, 646666, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 422900, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422901, 423300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423301, 425400, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425401, 426100, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426101, 428200, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428201, 429440, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429441, 431480, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 431481, 432240, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432241, 433400, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433401, 434280, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 434281, 436200, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 436201, 436340, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 436341, 439140, {0, 0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 439141, 439980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 123900, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123901, 126700, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126701, 129920, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129921, 130040, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 130041, 130240, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 130241, 130380, {7, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620700, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620701, 621980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621981, 622060, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622061, 622920, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622921, 622980, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622981, 623560, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623561, 623860, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623861, 624500, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624501, 625360, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625361, 625700, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625701, 626300, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626301, 626640, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626641, 626920, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626921, 627360, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627361, 627840, {1, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627841, 628300, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628301, 628720, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628721, 629340, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629341, 629660, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629661, 630280, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630281, 630900, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630901, 631160, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631161, 631840, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631841, 632100, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632101, 633000, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633001, 633040, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633041, 633920, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633921, 634900, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634901, 634960, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634961, 635480, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635481, 635820, {1, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635821, 635900, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635901, 636400, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636401, 636640, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636641, 637580, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637581, 638760, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638761, 638840, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638841, 638880, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638881, 639680, {20, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639681, 639780, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639781, 639820, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639821, 640300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640301, 641220, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641221, 642220, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642221, 642560, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642561, 642880, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642881, 643140, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643141, 643480, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643481, 643800, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643801, 643940, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643941, 644880, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644881, 645580, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645581, 646360, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646361, 646520, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646521, 646860, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646861, 647280, {1, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647281, 647580, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647581, 647800, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647801, 648520, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648521, 648960, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648961, 649880, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649881, 650140, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650141, 650860, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650861, 651080, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651081, 651240, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651241, 651780, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651781, 652160, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652161, 652320, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652321, 653260, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653261, 653940, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653941, 654840, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654841, 654880, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654881, 655700, {1, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655701, 655780, {1, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655781, 655820, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655821, 656620, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656621, 657740, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657741, 658540, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658541, 658680, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658681, 658840, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658841, 659060, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659061, 659460, {20, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659461, 659760, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659761, 660000, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660001, 661540, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661541, 662180, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662181, 662440, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662441, 662480, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662481, 662820, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662821, 663120, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663121, 663360, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663361, 663760, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663761, 665340, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665341, 665800, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665801, 665820, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665821, 666280, {0, 1, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666281, 666740, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666741, 666760, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666761, 666800, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666801, 667740, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667741, 669140, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669141, 669180, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669181, 669480, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669481, 670060, {0, 20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670061, 670100, {0, 20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670101, 670400, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670401, 670800, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670801, 671740, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671741, 672540, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672541, 672940, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672941, 673120, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673121, 673480, {0, 1, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673481, 673860, {0, 0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673861, 674060, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674061, 674780, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674781, 675720, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675721, 675920, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675921, 676720, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676721, 676780, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676781, 676860, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676861, 677660, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677661, 677700, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677701, 678780, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678781, 679280, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679281, 679700, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679701, 680000, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620700, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620701, 621980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621981, 622060, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622061, 622920, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622921, 622980, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622981, 623560, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623561, 623860, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623861, 624500, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624501, 625360, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625361, 625700, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625701, 626300, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626301, 626640, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626641, 626920, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626921, 627360, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627361, 627840, {1, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627841, 628300, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628301, 628720, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628721, 629340, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629341, 629660, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629661, 630280, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630281, 630900, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630901, 631160, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631161, 631840, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631841, 632100, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632101, 633000, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633001, 633040, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633041, 633920, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633921, 634900, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634901, 634960, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634961, 635480, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635481, 635820, {1, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635821, 635900, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635901, 636400, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636401, 636640, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636641, 637580, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637581, 638760, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638761, 638840, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638841, 638880, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638881, 639680, {20, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639681, 639780, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639781, 639820, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639821, 640300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640301, 641220, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641221, 642220, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642221, 642560, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642561, 642880, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642881, 643140, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643141, 643480, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643481, 643800, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643801, 643940, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643941, 644880, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644881, 645580, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645581, 646360, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646361, 646520, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646521, 646860, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646861, 647280, {1, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647281, 647580, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647581, 647800, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647801, 648520, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648521, 648960, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648961, 649880, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649881, 650140, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650141, 650860, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650861, 651080, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651081, 651240, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651241, 651780, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651781, 652160, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652161, 652320, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652321, 653260, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 653261, 653333, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693714, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693715, 694734, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694735, 695014, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695015, 695674, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695675, 695714, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695715, 695954, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695955, 696134, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696135, 696654, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696655, 697074, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697075, 698654, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698655, 698734, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698735, 699514, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699515, 699594, {20, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699595, 699654, {20, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699655, 700454, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700455, 702314, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702315, 702714, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702715, 702894, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702895, 703234, {1, 20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703235, 703314, {1, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703315, 703654, {1, 20, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703655, 703814, {0, 20, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703815, 704234, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704235, 705954, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705955, 706254, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706255, 706694, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706695, 706894, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706895, 707114, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707115, 707194, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707195, 707634, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707635, 708034, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708035, 709614, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709615, 709634, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709635, 710534, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710535, 710554, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710555, 710694, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710695, 710914, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710915, 711634, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711635, 711834, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711835, 712994, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712995, 713254, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713255, 713934, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713935, 714194, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714195, 714674, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714675, 714694, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714695, 715614, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715615, 715634, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715635, 716374, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716375, 716894, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716895, 717294, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717295, 717834, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717835, 718494, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718495, 718674, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718675, 719434, {20, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719435, 719594, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719595, 719734, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719735, 720554, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720555, 720674, {0, 20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720675, 721474, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721475, 722294, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722295, 722654, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722655, 723114, {1, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723115, 723234, {1, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723235, 723594, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723595, 724034, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724035, 724194, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724195, 725134, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725135, 726094, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726095, 726474, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726475, 726654, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726655, 727034, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727035, 727414, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727415, 727574, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727575, 727854, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727855, 728774, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728775, 729854, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729855, 729894, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729895, 730634, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730635, 730774, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730775, 730834, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730835, 731494, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731495, 731574, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731575, 732434, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732435, 733214, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733215, 733333, {0, 1, 0, 0} }, +}; + +static const struct cam_mipi_sensor_mode sensor_front_mipi_B_mode[] = { + { + sensor_s5k3j1_setfile_B_mipi_channel, ARRAY_SIZE(sensor_s5k3j1_setfile_B_mipi_channel), + sensor_s5k3j1_setfile_B_mipi_setting, ARRAY_SIZE(sensor_s5k3j1_setfile_B_mipi_setting) + }, +}; + +/*************************************/ +/* ========== DUMMY ================ */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_FRONT_DUMMY_REG_ARRAY[] = { +}; + +static const struct cam_sensor_i2c_reg_setting sensor_front_setfile_dummy[] = { + { MIPI_FRONT_DUMMY_REG_ARRAY, ARRAY_SIZE(MIPI_FRONT_DUMMY_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", 0, + sensor_front_setfile_dummy, ARRAY_SIZE(sensor_front_setfile_dummy) }, +}; + +static const struct cam_mipi_cell_ratings sensor_front_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_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_2_0_H_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3k1.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3k1.h new file mode 100755 index 0000000000..ee1dae76ce --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3k1.h @@ -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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3k1_2_0.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3k1_2_0.h new file mode 100644 index 0000000000..a838f81d81 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3k1_2_0.h @@ -0,0 +1,1292 @@ +/* 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 = 2; + +/* +TeleCAM_Adaptive MIPI 2.0_3K1_231027.xlsx +SET A : 10 bit (2304 / 2393.6 / 2278.4) +SET B : 12 bit (2892.8 / 2854.4 / 2688) +*/ + +/*************************************/ +/* ========== SET A =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_2304_REG_ARRAY[] = { + {0x0310, 0x00B4, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_2393_REG_ARRAY[] = { + {0x0310, 0x00BB, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_2278_REG_ARRAY[] = { + {0x0310, 0x00B2, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_s5k3k1_setfile_A_mipi_2304[] = { + { MIPI_2304_REG_ARRAY, ARRAY_SIZE(MIPI_2304_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_2393[] = { + { MIPI_2393_REG_ARRAY, ARRAY_SIZE(MIPI_2393_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_2278[] = { + { MIPI_2278_REG_ARRAY, ARRAY_SIZE(MIPI_2278_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[] = { + { "2304 Mhz", 2304, + sensor_s5k3k1_setfile_A_mipi_2304, ARRAY_SIZE(sensor_s5k3k1_setfile_A_mipi_2304) }, + { "2393 Mhz", 2393, + sensor_s5k3k1_setfile_A_mipi_2393, ARRAY_SIZE(sensor_s5k3k1_setfile_A_mipi_2393) }, + { "2278 Mhz", 2278, + sensor_s5k3k1_setfile_A_mipi_2278, ARRAY_SIZE(sensor_s5k3k1_setfile_A_mipi_2278) }, +}; + +static const struct cam_mipi_cell_ratings sensor_s5k3k1_setfile_A_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {147, 147, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {3, 0, 66} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10572, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10573, 10620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10621, 10690, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10691, 10736, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10737, 10787, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10788, 10806, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10807, 10838, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9718, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9719, 9756, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9757, 9826, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9827, 9838, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9839, 9908, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9909, 9932, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9933, 9938, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1203, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1204, 1273, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1274, 1305, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1306, 1365, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1366, 1375, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1376, 1435, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1436, 1488, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1489, 1513, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1547, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1548, 1595, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1596, 1665, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1666, 1711, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1712, 1738, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4452, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4453, 4458, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4413, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2254, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2255, 2260, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2261, 2324, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2325, 2337, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2338, 2407, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2408, 2475, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2476, 2545, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2546, 2553, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2554, 2563, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2942, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2943, 3052, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3053, 3088, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 763, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 45, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 46, 141, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 142, 281, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 282, 372, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 373, 474, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 475, 512, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 513, 599, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 736, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 737, 813, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 814, 953, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 954, 977, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 978, 1117, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1118, 1165, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1166, 1199, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1307, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1308, 1447, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1448, 1511, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1512, 1630, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1631, 1651, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1652, 1770, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1771, 1876, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1877, 1949, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1995, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1996, 2091, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2092, 2231, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2232, 2322, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2323, 2399, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2419, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2420, 2615, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2616, 2649, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2809, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2810, 2821, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2822, 2949, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2950, 2975, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2976, 3115, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3116, 3251, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3252, 3391, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3392, 3407, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3408, 3449, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3485, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3486, 3704, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3705, 3799, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5054, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5055, 5137, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5138, 5179, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5194, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5195, 5277, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5278, 5279, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5379, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5807, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5808, 5849, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5863, {140, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5864, 5959, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5960, 5999, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6149, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6233, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6234, 6284, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6285, 6373, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6374, 6449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6520, {3, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6521, 6536, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6537, 6599, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8176, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8177, 8253, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8254, 8393, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8394, 8417, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8418, 8557, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8558, 8605, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8606, 8689, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8713, {140, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8714, 8809, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8810, 9005, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9006, 9039, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9339, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9340, 9479, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9480, 9534, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9535, 9623, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9624, 9659, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9740, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9741, 9769, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9815, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9816, 9869, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10139, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10140, 10279, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10280, 10289, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10290, 10305, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10306, 10359, {3, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36330, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36331, 36349, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37751, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37752, 37851, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37852, 37899, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37900, 38039, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38040, 38181, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38182, 38249, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38316, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38317, 38387, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38388, 38527, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38528, 38528, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38529, 38649, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38759, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38760, 38917, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38918, 38933, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38934, 39057, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39058, 39073, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39074, 39195, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39196, 39335, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39336, 39503, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39504, 39515, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39516, 39643, {0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39644, 39649, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39682, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39683, 39752, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39753, 39822, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39823, 39892, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39893, 39963, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39964, 40103, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40104, 40251, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40252, 40351, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40352, 40391, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40392, 40491, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40492, 40539, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40540, 40679, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40680, 40821, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40822, 40949, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40950, 40961, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40962, 41089, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41090, 41115, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41116, 41255, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41256, 41391, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41392, 41531, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41532, 41547, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41548, 41589, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41628, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41629, 41643, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41644, 41696, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41697, 41768, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41769, 41836, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41837, 42080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42081, 42220, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42221, 42227, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42228, 42265, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42266, 42367, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42368, 42405, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42406, 42656, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42657, 42796, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42797, 42825, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42826, 42835, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42836, 42965, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42966, 42975, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42976, 43232, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43233, 43372, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43373, 43404, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43405, 43424, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43425, 43544, {0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43545, 43564, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43565, 43589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55382, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55383, 55522, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55523, 55554, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55555, 55574, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55575, 55694, {0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55695, 55714, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55715, 55958, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55959, 56098, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56099, 56124, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56125, 56172, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56173, 56264, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56265, 56312, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56313, 56534, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56535, 56674, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56675, 56694, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56695, 56739, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66481, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66482, 66577, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66578, 66717, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66718, 66808, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66809, 66910, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66911, 66948, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66949, 67050, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67051, 67153, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67154, 67293, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67294, 67335, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68611, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68612, 68681, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68682, 68751, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68752, 68821, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68822, 68928, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68929, 68935, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {3, 6, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 6, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {0, 6, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {63, 3, 12} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {42, 42, 2} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {147, 147, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {3, 0, 66} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {250, 0, 250} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 422900, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422901, 424820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 424821, 427620, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427621, 429440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429441, 431480, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 431481, 432240, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432241, 433980, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 388720, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388721, 390260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 390261, 393060, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393061, 393540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393541, 396340, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396341, 397300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397301, 397980, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 363140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363141, 365940, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365941, 367220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367221, 369600, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369601, 370020, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370021, 372400, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372401, 374520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 374521, 375980, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 174180, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 174181, 178100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178101, 178780, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 525180, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525181, 525420, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525421, 527980, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527981, 528500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528501, 531300, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531301, 534020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534021, 536820, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 536821, 537140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537141, 538000, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 185700, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185701, 190080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 190081, 191980, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146681, 148340, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148341, 149200, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 149480, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149481, 151140, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 151141, 151200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 153580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 172260, {140, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172261, 174180, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 174181, 175000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 159860, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159861, 160880, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160881, 162660, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162661, 164180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 388720, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388721, 390260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 390261, 393060, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393061, 393540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393541, 396340, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396341, 397300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397301, 398980, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 172260, {140, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172261, 174180, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 174181, 178100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178101, 178800, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 154180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154181, 156980, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156981, 158080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158081, 159860, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159861, 160580, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 145000, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 145001, 145580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 470900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470901, 471980, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 514020, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514021, 516020, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 516021, 516980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 516981, 519780, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 519781, 522620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522621, 523980, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 377320, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377321, 378740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378741, 381540, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381541, 381560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381561, 384000, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 462180, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 462181, 465340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465341, 465660, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465661, 468140, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468141, 468460, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468461, 470900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 470901, 473700, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 473701, 477060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477061, 477300, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477301, 479860, {0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479861, 480000, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 499840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499841, 501240, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501241, 502640, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502641, 504040, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504041, 505460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505461, 508260, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 508261, 511220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511221, 513220, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 513221, 514020, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514021, 516020, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 516021, 516980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 516981, 519780, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 519781, 522620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522621, 525180, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525181, 525420, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525421, 527980, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527981, 528500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528501, 531300, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531301, 534020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534021, 536820, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 536821, 537140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537141, 537980, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 637607, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637608, 638547, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638548, 638747, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638748, 638887, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638888, 639687, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639688, 639807, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639808, 641447, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641448, 642367, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642368, 642547, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642548, 642867, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642868, 643487, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643488, 643807, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643808, 645287, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645288, 646207, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646208, 646347, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646348, 646666, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 422900, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422901, 424820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 424821, 427620, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427621, 429440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429441, 431480, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 431481, 432240, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432241, 434280, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 434281, 436340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 436341, 439140, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 439141, 439980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 123900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123901, 125300, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125301, 126700, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126701, 128100, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128101, 130240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 130241, 130380, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620700, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620701, 622240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622241, 622920, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622921, 623180, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623181, 623560, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623561, 623860, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623861, 624500, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624501, 626080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626081, 626920, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626921, 627020, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627021, 627360, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627361, 627840, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627841, 628300, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628301, 629920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629921, 630860, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630861, 630900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630901, 631160, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631161, 631840, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631841, 632100, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632101, 633760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633761, 634700, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634701, 634900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634901, 634960, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634961, 635820, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635821, 635900, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635901, 637600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637601, 638540, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638541, 638760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638761, 638880, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638881, 639680, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639681, 639820, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639821, 641440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641441, 642380, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642381, 642560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642561, 642880, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642881, 643480, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643481, 643800, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643801, 645280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645281, 646220, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646221, 646360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646361, 646860, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646861, 647280, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647281, 647800, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647801, 649120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649121, 650060, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650061, 650140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650141, 650860, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650861, 651080, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651081, 651780, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651781, 652960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652961, 653900, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653901, 653940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653941, 654840, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654841, 654880, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654881, 655780, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655781, 656800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656801, 657740, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657741, 658680, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658681, 658840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658841, 659760, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659761, 660640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660641, 661540, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661541, 661580, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661581, 662480, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662481, 662820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662821, 663760, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663761, 664480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664481, 665340, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665341, 665420, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665421, 666280, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666281, 666800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666801, 667740, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667741, 668320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668321, 669140, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669141, 669260, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669261, 670060, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670061, 670800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670801, 671740, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671741, 672160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672161, 672940, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672941, 673100, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673101, 673860, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673861, 674780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674781, 675720, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675721, 676000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676001, 676720, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676721, 676940, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676941, 677660, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677661, 678780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678781, 679700, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679701, 679840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679841, 680000, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620700, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620701, 622240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622241, 622920, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622921, 623180, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623181, 623560, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623561, 623860, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623861, 624500, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624501, 626080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626081, 626920, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626921, 627020, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627021, 627360, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627361, 627840, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627841, 628300, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628301, 629920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629921, 630860, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630861, 630900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630901, 631160, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631161, 631840, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631841, 632100, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632101, 633760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633761, 634700, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634701, 634900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634901, 634960, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634961, 635820, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635821, 635900, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635901, 637600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637601, 638540, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638541, 638760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638761, 638880, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638881, 639680, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639681, 639820, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639821, 641440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641441, 642380, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642381, 642560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642561, 642880, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642881, 643480, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643481, 643800, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643801, 645280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645281, 646220, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646221, 646360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646361, 646860, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646861, 647280, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647281, 647800, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647801, 649120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649121, 650060, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650061, 650140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650141, 650860, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650861, 651080, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651081, 651780, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651781, 652960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652961, 653333, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 694734, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694735, 695214, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695215, 695674, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695675, 695714, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695715, 696134, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696135, 696654, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696655, 698734, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698735, 699054, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699055, 699514, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699515, 699654, {1, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699655, 699974, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699975, 700454, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700455, 702714, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702715, 702894, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702895, 703314, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703315, 703654, {1, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703655, 703814, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703815, 704234, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704235, 706694, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706695, 706734, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706735, 707114, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707115, 707634, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707635, 707654, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707655, 708034, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708035, 710574, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710575, 710694, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710695, 710914, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710915, 711494, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711495, 711634, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711635, 711834, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711835, 714414, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714415, 714674, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714675, 714694, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714695, 715334, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715335, 715614, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715615, 715634, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715635, 718254, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718255, 718494, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718495, 718674, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718675, 719174, {1, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719175, 719434, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719435, 719594, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719595, 722094, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722095, 722294, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722295, 722654, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722655, 723014, {1, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723015, 723234, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723235, 723594, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723595, 725934, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725935, 726094, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726095, 726654, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726655, 726854, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726855, 727034, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727035, 727574, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727575, 729774, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729775, 729894, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729895, 730634, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730635, 730694, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730695, 730834, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730835, 731574, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731575, 733333, {0, 0, 0} }, +}; + +static const struct cam_mipi_sensor_mode sensor_tele_mipi_A_mode[] = { + { + sensor_s5k3k1_setfile_A_mipi_channel, ARRAY_SIZE(sensor_s5k3k1_setfile_A_mipi_channel), + sensor_s5k3k1_setfile_A_mipi_setting, ARRAY_SIZE(sensor_s5k3k1_setfile_A_mipi_setting) + }, +}; + +/*************************************/ +/* ========== SET B =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_2892_REG_ARRAY[] = { +// {0x0310, 0x00B4, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_2854_REG_ARRAY[] = { +// {0x0310, 0x00BB, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_2688_REG_ARRAY[] = { +// {0x0310, 0x00B2, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_s5k3k1_setfile_B_mipi_2892[] = { + { MIPI_2892_REG_ARRAY, ARRAY_SIZE(MIPI_2892_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 } +}; + +static const struct cam_sensor_i2c_reg_setting sensor_s5k3k1_setfile_B_mipi_2854[] = { + { MIPI_2854_REG_ARRAY, ARRAY_SIZE(MIPI_2854_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 } +}; + +static const struct cam_sensor_i2c_reg_setting sensor_s5k3k1_setfile_B_mipi_2688[] = { + { MIPI_2688_REG_ARRAY, ARRAY_SIZE(MIPI_2688_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 } +}; + +static const struct cam_mipi_setting sensor_s5k3k1_setfile_B_mipi_setting[] = { + { "2892 Mhz", 2892, + sensor_s5k3k1_setfile_B_mipi_2892, ARRAY_SIZE(sensor_s5k3k1_setfile_B_mipi_2892) }, + { "2854 Mhz", 2854, + sensor_s5k3k1_setfile_B_mipi_2854, ARRAY_SIZE(sensor_s5k3k1_setfile_B_mipi_2854) }, + { "2688 Mhz", 2688, + sensor_s5k3k1_setfile_B_mipi_2688, ARRAY_SIZE(sensor_s5k3k1_setfile_B_mipi_2688) }, +}; + +static const struct cam_mipi_cell_ratings sensor_s5k3k1_setfile_B_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {66, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10668, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10669, 10716, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10717, 10738, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10739, 10786, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10787, 10812, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10813, 10838, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9668, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9669, 9708, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9709, 9728, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9729, 9778, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9779, 9798, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9799, 9938, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1199, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1200, 1231, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1232, 1366, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1367, 1436, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1437, 1491, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1492, 1497, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1498, 1513, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1643, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1644, 1691, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1692, 1713, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1714, 1738, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4374, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4375, 4402, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4403, 4458, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4402, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4403, 4413, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2263, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2264, 2291, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2292, 2361, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2362, 2469, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2470, 2529, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2530, 2539, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2540, 2563, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2965, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2966, 2968, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2969, 2973, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2974, 3035, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3036, 3038, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3039, 3088, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 727, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 728, 763, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 237, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 238, 333, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 334, 377, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 378, 473, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 474, 525, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 526, 599, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 637, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 638, 717, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 718, 756, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 757, 857, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 858, 896, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 897, 1199, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1223, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1224, 1299, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1300, 1363, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1364, 1633, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1634, 1773, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1774, 1883, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1884, 1895, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1896, 1949, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2187, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2188, 2283, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2284, 2327, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2328, 2399, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2458, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2459, 2515, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2516, 2649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2827, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2828, 2883, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2884, 3023, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3024, 3238, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3239, 3359, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3360, 3378, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3379, 3449, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3531, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3532, 3537, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3538, 3546, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3547, 3671, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3672, 3677, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3678, 3799, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5021, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5022, 5041, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5042, 5179, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5181, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5182, 5279, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5379, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5849, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5858, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5859, 5883, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5884, 5915, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5916, 5998, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5999, 5999, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6055, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6056, 6149, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6159, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6160, 6233, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6234, 6265, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6266, 6373, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6374, 6449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6546, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6547, 6599, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8077, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8078, 8157, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8158, 8196, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8197, 8297, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8298, 8336, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8337, 8650, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8651, 8689, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8708, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8709, 8733, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8734, 8765, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8766, 8848, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8849, 8905, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8906, 9039, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9409, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9410, 9515, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9516, 9549, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9550, 9623, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9624, 9655, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9656, 9659, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9695, {140, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9696, 9769, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9859, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9860, 9869, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9933, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9934, 10113, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10114, 10253, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10254, 10315, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10316, 10359, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36279, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36280, 36330, {3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36331, 36349, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37809, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37810, 38015, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38016, 38155, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38156, 38187, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38188, 38249, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38323, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38324, 38335, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38336, 38647, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38648, 38649, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38722, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38723, 38862, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38863, 39099, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39100, 39128, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39129, 39239, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39240, 39268, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39269, 39445, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39446, 39585, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39586, 39649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39735, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39736, 39931, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39932, 40071, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40072, 40155, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40156, 40295, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40296, 40309, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40310, 40449, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40450, 40655, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40656, 40795, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40796, 40827, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40828, 40967, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40968, 41023, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41024, 41163, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41164, 41378, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41379, 41499, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41500, 41518, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41519, 41589, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41650, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41651, 41772, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41773, 41792, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41793, 41912, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41913, 41932, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41933, 42233, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42234, 42373, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42374, 42464, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42465, 42486, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42487, 42604, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42605, 42626, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42627, 42956, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42957, 43096, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43097, 43136, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43137, 43200, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43201, 43276, {0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43277, 43340, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43341, 43589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55246, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55247, 55286, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55287, 55350, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55351, 55426, {0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55427, 55490, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55491, 55830, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55831, 55958, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55959, 55970, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55971, 56063, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56064, 56098, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56099, 56203, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56204, 56553, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56554, 56630, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56631, 56693, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56694, 56739, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66673, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66674, 66769, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66770, 66813, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66814, 66909, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66910, 66961, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66962, 67101, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67102, 67335, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68768, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68769, 68854, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68855, 68908, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68909, 68935, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {0, 6, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {0, 6, 42} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {7, 0, 14} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {7, 14, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 426740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426741, 428660, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428661, 429540, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429541, 431460, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 431461, 432500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432501, 433980, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 386740, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386741, 388340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388341, 389120, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389121, 391140, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391141, 391920, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391921, 397980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 361460, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361461, 362980, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362981, 364260, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 364261, 369660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369661, 372460, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372461, 374660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 374661, 374900, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 374901, 375980, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 174960, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 174961, 176100, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176101, 178780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 525540, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525541, 526660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 526661, 529460, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 529461, 533760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533761, 536180, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 536181, 536560, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 536561, 538000, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186620, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186621, 186740, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186741, 186920, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186921, 189420, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189421, 189540, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189541, 191980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146020, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146021, 146420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146421, 149200, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 149220, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149221, 151200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 153580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 172160, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172161, 172660, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172661, 173300, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173301, 174960, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 174961, 175000, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 158380, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158381, 159860, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159861, 160500, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160501, 162660, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162661, 164180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 386740, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386741, 388340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388341, 389120, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389121, 391140, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391141, 391920, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391921, 398200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 398201, 398980, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 172160, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172161, 172660, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172661, 173300, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173301, 174960, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 174961, 176100, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176101, 178800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 155580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155581, 157700, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157701, 158380, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158381, 159860, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159861, 160500, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160501, 160580, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 144100, {140, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 144101, 145580, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 471780, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471781, 471980, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 515180, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515181, 519300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 519301, 522100, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522101, 522740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522741, 523980, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 377460, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377461, 377700, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377701, 383940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 383941, 384000, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 461440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461441, 464240, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464241, 468980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468981, 469560, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 469561, 471780, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471781, 472360, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 472361, 475900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475901, 478700, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478701, 480000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 500900, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 500901, 504820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504821, 507620, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507621, 509300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509301, 512100, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512101, 512380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512381, 515180, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515181, 519300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 519301, 522100, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522101, 522740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522741, 525540, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525541, 526660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 526661, 529460, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 529461, 533760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533761, 536180, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 536181, 536560, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 536561, 537980, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 636707, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636708, 636967, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636968, 637387, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637388, 637907, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637908, 638327, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638328, 640587, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640588, 641447, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641448, 641527, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641528, 642147, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642148, 642367, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642368, 643087, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643088, 645407, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645408, 645927, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645928, 646347, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646348, 646666, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 426740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426741, 428660, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428661, 429540, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429541, 431460, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 431461, 432500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432501, 435300, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435301, 439980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 127040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127041, 128760, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128761, 129840, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129841, 130380, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 621300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621301, 622240, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622241, 623120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623121, 623520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623521, 624060, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624061, 624460, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624461, 626120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626121, 627060, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627061, 627880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627881, 628000, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628001, 628800, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628801, 628940, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628941, 630940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630941, 631880, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631881, 632480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632481, 632640, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632641, 633420, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633421, 633560, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633561, 635760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635761, 636700, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636701, 636960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636961, 637400, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637401, 637900, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637901, 638320, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638321, 640600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640601, 641440, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641441, 641520, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641521, 642140, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642141, 642380, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642381, 643080, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643081, 645420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645421, 645920, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645921, 646340, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646341, 646860, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646861, 646900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646901, 647840, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647841, 650240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650241, 650400, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650401, 651160, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651161, 651340, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651341, 651660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651661, 652600, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652601, 654880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654881, 655060, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655061, 655820, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655821, 655980, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655981, 656420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656421, 657360, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657361, 659360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659361, 659880, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659881, 660300, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660301, 660800, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660801, 661180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661181, 662100, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662101, 663840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663841, 664700, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664701, 664780, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664781, 665640, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665641, 665940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665941, 666860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666861, 668320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668321, 669260, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669261, 669520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669521, 670460, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670461, 670700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670701, 671620, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671621, 672800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672801, 673740, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673741, 674340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674341, 675280, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675281, 675440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675441, 676380, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676381, 677280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677281, 678220, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678221, 679160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679161, 680000, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 621300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621301, 622240, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622241, 623120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623121, 623520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623521, 624060, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624061, 624460, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624461, 626120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626121, 627060, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627061, 627880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627881, 628000, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628001, 628800, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628801, 628940, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628941, 630940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630941, 631880, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631881, 632480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632481, 632640, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632641, 633420, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633421, 633560, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633561, 635760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635761, 636700, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636701, 636960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636961, 637400, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637401, 637900, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637901, 638320, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638321, 640600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640601, 641440, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641441, 641520, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641521, 642140, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642141, 642380, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642381, 643080, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643081, 645420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645421, 645920, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645921, 646340, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646341, 646860, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646861, 646900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646901, 647840, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647841, 650240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650241, 650400, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650401, 651160, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651161, 651340, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651341, 651660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651661, 652600, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652601, 653333, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693634, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693635, 694474, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694475, 694554, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694555, 695214, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695215, 695414, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695415, 696134, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696135, 698454, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698455, 699234, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699235, 699374, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699375, 699694, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699695, 700174, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700175, 700614, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700615, 703274, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703275, 703994, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703995, 704174, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704175, 704194, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704195, 704934, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704935, 705094, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705095, 708094, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708095, 708654, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708655, 708754, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708755, 709014, {1, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709015, 709574, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709575, 709694, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709695, 712914, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712915, 713134, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713135, 713514, {20, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713515, 713834, {20, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713835, 714054, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714055, 714434, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714435, 717614, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717615, 717734, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717735, 718274, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718275, 718534, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718535, 718674, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718675, 719194, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719195, 722094, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722095, 722554, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722555, 723014, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723015, 723494, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723495, 723954, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723955, 726574, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726575, 727374, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727375, 727494, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727495, 727774, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727775, 728314, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728315, 728714, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728715, 731054, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731055, 731974, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731975, 732194, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732195, 732534, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732535, 733134, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733135, 733333, {0, 20, 0} }, +}; + +static const struct cam_mipi_sensor_mode sensor_tele_mipi_B_mode[] = { + { + sensor_s5k3k1_setfile_B_mipi_channel, ARRAY_SIZE(sensor_s5k3k1_setfile_B_mipi_channel), + sensor_s5k3k1_setfile_B_mipi_setting, ARRAY_SIZE(sensor_s5k3k1_setfile_B_mipi_setting) + }, +}; + +/*************************************/ +/* ========== DUMMY ================ */ +/*************************************/ +enum { + CAM_TELE_SET_DUMMY = 0, +}; + +struct cam_sensor_i2c_reg_array MIPI_TELE_DUMMY_REG_ARRAY[] = { +}; + +static const struct cam_sensor_i2c_reg_setting sensor_tele_setfile_dummy[] = { + { MIPI_TELE_DUMMY_REG_ARRAY, ARRAY_SIZE(MIPI_TELE_DUMMY_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", 0, + sensor_tele_setfile_dummy, ARRAY_SIZE(sensor_tele_setfile_dummy) }, +}; + +static const struct cam_mipi_cell_ratings sensor_tele_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_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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3lu.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3lu.h new file mode 100755 index 0000000000..09d834ac4c --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3lu.h @@ -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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3lu_2_0.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3lu_2_0.h new file mode 100644 index 0000000000..9535cf5055 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3lu_2_0.h @@ -0,0 +1,1775 @@ +/* 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; + +/* +FrontCAM_Adaptive MIPI 2.0_3LU_231016.xlsx +SET A : no-bin (10/12bit) (1862.4 / 1849.6 / 1811.2) +SET B : FastAE/SM 2x2 bin (10bit) (1164.8 / 1062.4 / 1116.8 / 1196.8) +*/ + +/*************************************/ +/* ========== SET A =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_SET_A_1862_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x0123, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_A_1849_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x0121, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_A_1811_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[] = { + { MIPI_SET_A_1862_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_1862_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[] = { + { MIPI_SET_A_1849_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_1849_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[] = { + { MIPI_SET_A_1811_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_1811_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", 1862, + sensor_s5k3lu_setfile_A_mipi_1862, ARRAY_SIZE(sensor_s5k3lu_setfile_A_mipi_1862) }, + { "1849 Msps", 1849, + sensor_s5k3lu_setfile_A_mipi_1849, ARRAY_SIZE(sensor_s5k3lu_setfile_A_mipi_1849) }, + { "1811 Msps", 1811, + sensor_s5k3lu_setfile_A_mipi_1811, ARRAY_SIZE(sensor_s5k3lu_setfile_A_mipi_1811) }, +}; + +static const struct cam_mipi_cell_ratings sensor_s5k3lu_setfile_A_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {14, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {0, 3, 63} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10600, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10601, 10604, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10605, 10607, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10608, 10677, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10678, 10745, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10746, 10754, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10755, 10815, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10816, 10824, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10825, 10828, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10829, 10838, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9667, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9668, 9720, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9721, 9723, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9724, 9737, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9738, 9790, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9791, 9873, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9874, 9883, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9884, 9938, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1180, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1181, 1187, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1188, 1215, {3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1216, 1250, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1251, 1337, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1338, 1361, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1362, 1401, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1402, 1407, {60, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1408, 1431, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1432, 1471, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1472, 1513, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1575, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1576, 1579, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1580, 1582, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1583, 1652, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1653, 1720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1721, 1729, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1730, 1738, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4368, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4369, 4399, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4400, 4438, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4439, 4458, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4399, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4400, 4413, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2241, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2242, 2242, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2243, 2301, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2302, 2312, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2313, 2371, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2372, 2392, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2393, 2458, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2459, 2462, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2463, 2521, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2522, 2528, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2529, 2563, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2958, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2959, 2990, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2991, 3008, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3009, 3078, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3079, 3088, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 724, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 725, 763, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 100, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 101, 108, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 109, 114, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 115, 254, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 255, 391, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 392, 408, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 409, 531, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 532, 548, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 549, 557, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 558, 599, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 606, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 607, 635, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 636, 740, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 741, 746, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 747, 775, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 776, 880, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 881, 1047, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1048, 1066, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1067, 1184, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1185, 1187, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1188, 1199, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1260, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1261, 1275, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1276, 1331, {3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1332, 1400, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1401, 1575, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1576, 1623, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1624, 1703, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1704, 1715, {60, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1716, 1763, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1764, 1843, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1844, 1949, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2050, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2051, 2058, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2059, 2064, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2065, 2204, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2205, 2341, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2342, 2358, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2359, 2399, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2404, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2405, 2447, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2448, 2508, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2509, 2587, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2588, 2648, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2649, 2649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2782, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2783, 2785, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2786, 2902, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2903, 2925, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2926, 3042, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3043, 3085, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3086, 3216, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3217, 3225, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3226, 3343, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3344, 3356, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3357, 3449, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3517, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3518, 3581, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3582, 3617, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3618, 3757, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3758, 3799, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5121, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5122, 5136, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5137, 5179, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5188, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5189, 5276, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5277, 5279, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5308, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5309, 5379, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5791, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5792, 5806, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5807, 5849, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5944, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5945, 5987, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5988, 5999, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6048, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6049, 6127, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6128, 6149, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6151, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6152, 6236, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6237, 6291, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6292, 6363, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6364, 6449, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6497, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6498, 6514, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6515, 6533, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6534, 6599, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8046, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8047, 8075, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8076, 8180, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8181, 8186, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8187, 8215, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8216, 8320, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8321, 8487, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8488, 8506, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8507, 8624, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8625, 8627, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8628, 8646, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8647, 8689, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8794, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8795, 8837, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8838, 8898, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8899, 8977, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8978, 9038, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9039, 9039, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9238, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9239, 9322, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9323, 9462, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9463, 9486, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9487, 9541, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9542, 9626, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9627, 9659, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9751, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9752, 9769, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9841, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9842, 9869, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9963, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9964, 9992, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9993, 10002, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10003, 10103, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10104, 10132, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10133, 10302, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10303, 10359, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36287, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36288, 36298, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36299, 36349, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37838, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37839, 37854, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37855, 37962, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37963, 37994, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37995, 38102, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38103, 38142, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38143, 38249, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38316, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38317, 38354, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38355, 38447, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38448, 38456, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38457, 38494, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38495, 38587, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38588, 38649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38778, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38779, 38866, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38867, 38920, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38921, 39006, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39007, 39060, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39061, 39081, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39082, 39221, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39222, 39298, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39299, 39360, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39361, 39438, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39439, 39500, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39501, 39525, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39526, 39649, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39721, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39722, 39771, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39772, 39861, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39862, 39895, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39896, 40035, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40036, 40063, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40064, 40162, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40163, 40203, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40204, 40302, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40303, 40338, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40339, 40478, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40479, 40494, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40495, 40602, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40603, 40634, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40635, 40742, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40743, 40782, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40783, 40922, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40923, 40925, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40926, 41042, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41043, 41065, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41066, 41182, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41183, 41225, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41226, 41356, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41357, 41365, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41366, 41483, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41484, 41496, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41497, 41589, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41664, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41665, 41727, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41728, 41804, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41805, 41869, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41870, 42009, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42010, 42019, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42020, 42107, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42108, 42159, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42160, 42247, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42248, 42310, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42311, 42450, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42451, 42550, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42551, 42590, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42591, 42690, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42691, 42750, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42751, 42881, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42882, 42890, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42891, 42994, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42995, 43021, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43022, 43134, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43135, 43190, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43191, 43312, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43313, 43330, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43331, 43437, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43438, 43452, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43453, 43577, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43578, 43589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55284, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55285, 55340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55341, 55462, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55463, 55480, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55481, 55587, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55588, 55602, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55603, 55727, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55728, 55781, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55782, 55894, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55895, 55921, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55922, 56031, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56032, 56034, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56035, 56171, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56172, 56221, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56222, 56325, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56326, 56361, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56362, 56465, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56466, 56474, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56475, 56614, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56615, 56662, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56663, 56739, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66536, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66537, 66544, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66545, 66550, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66551, 66690, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66691, 66827, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66828, 66844, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66845, 66967, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66968, 66984, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66985, 66993, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66994, 67133, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67134, 67259, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67260, 67285, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67286, 67335, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68651, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68652, 68693, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68694, 68814, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68815, 68935, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {6, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 63, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {6, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {6, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {0, 0, 14} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 424000, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 424001, 424160, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 424161, 424280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 424281, 427080, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427081, 429820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429821, 430160, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 430161, 432620, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432621, 432960, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432961, 433140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433141, 433980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 386120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386121, 386700, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386701, 388800, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388801, 388920, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388921, 389500, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389501, 391600, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391601, 394940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 394941, 395320, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395321, 397680, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397681, 397740, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397741, 397980, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 362200, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362201, 362500, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362501, 363620, {3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363621, 365000, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365001, 368500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 368501, 369460, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369461, 371060, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 371061, 371300, {60, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 371301, 372260, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372261, 373860, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373861, 375980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 173880, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173881, 174740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 174741, 175960, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175961, 177540, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 177541, 178760, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178761, 178780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 524640, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524641, 524700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524701, 527040, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527041, 527500, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527501, 529840, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 529841, 530700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530701, 533320, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533321, 533500, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533501, 535860, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 535861, 536120, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 536121, 538000, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186340, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186341, 187620, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187621, 188340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 188341, 191140, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191141, 191980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 148020, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148021, 148320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148321, 149200, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 149360, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149361, 151120, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 151121, 151200, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 152160, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 152161, 153580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 173880, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173881, 174740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 174741, 175000, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 158220, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158221, 159920, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159921, 161020, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 161021, 162460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162461, 164180, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 386120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386121, 386700, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386701, 388800, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388801, 388920, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388921, 389500, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389501, 391600, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391601, 394940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 394941, 395320, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395321, 397680, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397681, 397740, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397741, 398120, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 398121, 398980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 173880, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173881, 174740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 174741, 175960, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175961, 177540, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 177541, 178760, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178761, 178800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 152160, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 152161, 153840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153841, 156640, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156641, 157120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157121, 158220, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158221, 159920, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159921, 160580, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 145220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 145221, 145580, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 471420, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471421, 471980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 515760, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515761, 516080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 516081, 518240, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518241, 518880, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518881, 521040, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 521041, 521840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 521841, 523980, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 377320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377321, 378080, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378081, 379940, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 379941, 380120, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380121, 380880, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380881, 382740, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382741, 384000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 462560, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 462561, 464320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464321, 465400, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465401, 467120, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467121, 468200, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468201, 468620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468621, 471420, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471421, 472960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 472961, 474200, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 474201, 475760, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475761, 477000, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477001, 477500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477501, 480000, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 500620, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 500621, 501620, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501621, 503420, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 503421, 504100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504101, 506900, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506901, 507460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507461, 509440, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509441, 510260, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 510261, 512240, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512241, 512960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512961, 515760, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515761, 516080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 516081, 518240, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518241, 518880, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518881, 521040, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 521041, 521840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 521841, 524640, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524641, 524700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524701, 527040, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527041, 527500, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527501, 529840, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 529841, 530700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530701, 533320, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533321, 533500, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533501, 535860, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 535861, 536120, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 536121, 537980, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 636947, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636948, 637327, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637328, 638147, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638148, 638267, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638268, 638967, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638968, 639067, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639068, 639907, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639908, 640267, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640268, 641027, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641028, 641207, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641208, 641927, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641928, 641947, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641948, 642867, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642868, 643207, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643208, 643887, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643888, 644127, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644128, 644827, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644828, 644887, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644888, 645827, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645828, 646147, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646148, 646666, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 424000, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 424001, 424160, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 424161, 424280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 424281, 427080, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427081, 429820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429821, 430160, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 430161, 432620, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432621, 432960, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432961, 433140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433141, 435940, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435941, 438460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438461, 438980, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438981, 439980, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124700, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124701, 125540, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125541, 127960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127961, 130380, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620641, 620900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620901, 621240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621241, 621820, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621821, 622180, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622181, 622640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622641, 623580, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623581, 623760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623761, 624200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624201, 624700, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624701, 625120, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625121, 625580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625581, 626520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626521, 626640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626641, 627160, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627161, 627580, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627581, 628080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628081, 628520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628521, 629460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629461, 629520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629521, 630100, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630101, 630460, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630461, 631040, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631041, 631460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631461, 632400, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632401, 633060, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633061, 633320, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633321, 634000, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634001, 634400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634401, 635260, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635261, 635320, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635321, 636020, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636021, 636200, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636201, 636960, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636961, 637320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637321, 638140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638141, 638260, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638261, 638980, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638981, 639080, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639081, 639900, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639901, 640260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640261, 641020, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641021, 641200, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641201, 641940, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641941, 642860, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642861, 643200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643201, 643900, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643901, 644140, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644141, 644820, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644821, 644880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644881, 645820, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645821, 646140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646141, 646760, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646761, 647060, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647061, 647700, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647701, 647840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647841, 648780, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648781, 649080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649081, 649640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649641, 650000, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650001, 650580, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650581, 650800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650801, 651740, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651741, 652000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652001, 652520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652521, 652940, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652941, 653440, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653441, 653760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653761, 654680, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654681, 654940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654941, 655400, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655401, 655880, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655881, 656320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656321, 656720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656721, 657640, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657641, 657880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657881, 658260, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658261, 658820, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658821, 659200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659201, 659660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659661, 660600, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660601, 660820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660821, 661140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661141, 661740, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661741, 662080, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662081, 662620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662621, 663560, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663561, 663760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663761, 664020, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664021, 664680, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664681, 664940, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664941, 665580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665581, 666520, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666521, 666680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666681, 666900, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666901, 667620, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667621, 667820, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667821, 668540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668541, 669460, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669461, 669620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669621, 669760, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669761, 670560, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670561, 670700, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670701, 671500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671501, 672420, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672421, 672560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672561, 672640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672641, 673500, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673501, 673580, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673581, 674440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674441, 675380, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675381, 675500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675501, 675520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675521, 676420, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676421, 676440, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676441, 677400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677401, 678340, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678341, 678400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678401, 678440, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678441, 679320, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679321, 679360, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679361, 680000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620641, 620900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620901, 621240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621241, 621820, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621821, 622180, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622181, 622640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622641, 623580, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623581, 623760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623761, 624200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624201, 624700, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624701, 625120, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625121, 625580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625581, 626520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626521, 626640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626641, 627160, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627161, 627580, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627581, 628080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628081, 628520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628521, 629460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629461, 629520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629521, 630100, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630101, 630460, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630461, 631040, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631041, 631460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631461, 632400, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632401, 633060, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633061, 633320, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633321, 634000, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634001, 634400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634401, 635260, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635261, 635320, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635321, 636020, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636021, 636200, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636201, 636960, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636961, 637320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637321, 638140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638141, 638260, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638261, 638980, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638981, 639080, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639081, 639900, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639901, 640260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640261, 641020, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641021, 641200, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641201, 641940, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641941, 642860, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642861, 643200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643201, 643900, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643901, 644140, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644141, 644820, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644821, 644880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644881, 645820, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645821, 646140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646141, 646760, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646761, 647060, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647061, 647700, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647701, 647840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647841, 648780, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648781, 649080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649081, 649640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649641, 650000, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650001, 650580, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650581, 650800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650801, 651740, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651741, 652000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652001, 652520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652521, 652940, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652941, 653333, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693694, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693695, 694054, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694055, 695134, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695135, 695634, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695635, 696054, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696055, 696074, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696075, 696574, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696575, 696974, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696975, 698094, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698095, 698514, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698515, 698974, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698975, 699034, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699035, 699454, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699455, 699914, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699915, 701054, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701055, 701394, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701395, 701914, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701915, 701994, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701995, 702314, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702315, 702854, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702855, 704014, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704015, 704274, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704275, 704854, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704855, 704954, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704955, 705194, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705195, 705794, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705795, 706974, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706975, 707134, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707135, 707794, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707795, 707894, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707895, 708074, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708075, 708714, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708715, 709934, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709935, 710014, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710015, 710734, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710735, 710854, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710855, 710954, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710955, 711654, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711655, 712874, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712875, 712894, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712895, 713654, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713655, 713814, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713815, 714594, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714595, 715774, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715775, 715834, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715835, 716594, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716595, 716694, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716695, 716774, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716775, 717534, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717535, 718634, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718635, 718794, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718795, 719534, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719535, 719574, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719575, 719734, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719735, 720474, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720475, 721514, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721515, 721754, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721755, 722454, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722455, 722474, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722475, 722674, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722675, 723394, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723395, 724394, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724395, 724714, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724715, 725314, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725315, 725414, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725415, 725634, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725635, 726334, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726335, 727274, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727275, 727654, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727655, 728194, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728195, 728334, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728335, 728594, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728595, 729274, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729275, 730134, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730135, 730614, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730615, 731074, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731075, 731274, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731275, 731554, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731555, 732214, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732215, 733014, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733015, 733333, {0, 0, 1} }, +}; + +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) + }, +}; + +/*************************************/ +/* ========== SET B =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_SET_B_1164_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x00B6, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_B_1062_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x014C, 0x00, 0x00}, + {0x0312, 0x0002, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_B_1116_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x015D, 0x00, 0x00}, + {0x0312, 0x0002, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_B_1196_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[] = { + { MIPI_SET_B_1164_REG_ARRAY, ARRAY_SIZE(MIPI_SET_B_1164_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[] = { + { MIPI_SET_B_1062_REG_ARRAY, ARRAY_SIZE(MIPI_SET_B_1062_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[] = { + { MIPI_SET_B_1116_REG_ARRAY, ARRAY_SIZE(MIPI_SET_B_1116_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[] = { + { MIPI_SET_B_1196_REG_ARRAY, ARRAY_SIZE(MIPI_SET_B_1196_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", 1164, + sensor_s5k3lu_setfile_B_mipi_1164, ARRAY_SIZE(sensor_s5k3lu_setfile_B_mipi_1164) }, + { "1062 Msps", 1062, + sensor_s5k3lu_setfile_B_mipi_1062, ARRAY_SIZE(sensor_s5k3lu_setfile_B_mipi_1062) }, + { "1116 Msps", 1116, + sensor_s5k3lu_setfile_B_mipi_1116, ARRAY_SIZE(sensor_s5k3lu_setfile_B_mipi_1116) }, + { "1196 Msps", 1196, + sensor_s5k3lu_setfile_B_mipi_1196, ARRAY_SIZE(sensor_s5k3lu_setfile_B_mipi_1196) }, +}; + +static const struct cam_mipi_cell_ratings sensor_s5k3lu_setfile_B_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {14, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10573, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10574, 10578, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10579, 10588, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10589, 10601, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10602, 10658, {0, 60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10659, 10671, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10672, 10780, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10781, 10793, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10794, 10838, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9671, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9672, 9723, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9724, 9741, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9742, 9803, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9804, 9830, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9831, 9873, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9874, 9900, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9901, 9938, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1196, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1197, 1200, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1201, 1208, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1209, 1241, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1242, 1266, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1267, 1278, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1279, 1311, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1312, 1396, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1397, 1449, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1450, 1466, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1467, 1493, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1494, 1513, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1548, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1549, 1553, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1554, 1563, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1564, 1576, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1577, 1633, {0, 60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1634, 1646, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1647, 1738, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4402, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4403, 4458, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4402, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4403, 4413, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2243, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2244, 2267, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2268, 2313, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2314, 2385, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2386, 2401, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2402, 2455, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2456, 2471, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2472, 2482, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2483, 2496, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2497, 2552, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2553, 2563, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2979, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2980, 3049, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3050, 3051, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3052, 3071, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3072, 3088, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 727, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 728, 763, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 47, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 48, 56, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 57, 77, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 78, 102, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 103, 217, {0, 60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 218, 242, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 243, 461, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 462, 486, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 487, 583, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 584, 599, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 606, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 607, 643, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 644, 746, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 747, 783, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 784, 906, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 907, 960, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 961, 1046, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1047, 1100, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1101, 1176, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1177, 1197, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1198, 1199, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1292, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1293, 1301, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1302, 1316, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1317, 1383, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1384, 1432, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1433, 1456, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1457, 1523, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1524, 1693, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1694, 1798, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1799, 1833, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1834, 1886, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1887, 1938, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1939, 1949, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1997, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1998, 2006, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2007, 2027, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2028, 2052, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2053, 2167, {0, 60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2168, 2192, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2193, 2399, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2514, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2515, 2649, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2787, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2788, 2835, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2836, 2927, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2928, 3070, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3071, 3103, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3104, 3210, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3211, 3243, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3244, 3265, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3266, 3292, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3293, 3405, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3406, 3432, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3433, 3449, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3559, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3560, 3699, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3700, 3702, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3703, 3742, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3743, 3799, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5058, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5059, 5095, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5096, 5179, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5198, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5199, 5235, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5236, 5238, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5239, 5279, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5358, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5359, 5379, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5765, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5766, 5849, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5868, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5869, 5920, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5921, 5999, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6054, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6055, 6149, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6264, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6265, 6287, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6288, 6288, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6289, 6404, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6405, 6449, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6451, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6452, 6536, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6537, 6598, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6599, 6599, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8046, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8047, 8083, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8084, 8186, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8187, 8223, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8224, 8346, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8347, 8400, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8401, 8486, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8487, 8540, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8541, 8616, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8617, 8637, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8638, 8689, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8718, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8719, 8770, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8771, 8904, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8905, 9039, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9288, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9289, 9325, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9326, 9465, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9466, 9537, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9538, 9538, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9539, 9654, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9655, 9659, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9769, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9869, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10001, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10002, 10141, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10142, 10147, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10148, 10220, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10221, 10287, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10288, 10305, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10306, 10359, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36238, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36239, 36266, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36267, 36349, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37765, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37766, 37781, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37782, 37921, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37922, 38038, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38039, 38049, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38050, 38178, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38179, 38189, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38190, 38195, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38196, 38249, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38326, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38327, 38378, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38379, 38525, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38526, 38604, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38605, 38649, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38851, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38852, 38875, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38876, 38946, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38947, 38979, {40, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38980, 38991, {40, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38992, 39015, {40, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39016, 39086, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39087, 39119, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39120, 39357, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39358, 39430, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39431, 39497, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39498, 39511, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39512, 39515, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39516, 39570, {2, 0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39571, 39649, {0, 0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39695, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39696, 39719, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39720, 39755, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39756, 39835, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39836, 39915, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39916, 40055, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40056, 40134, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40135, 40146, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40147, 40265, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40266, 40274, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40275, 40286, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40287, 40405, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40406, 40421, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40422, 40561, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40562, 40678, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40679, 40689, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40690, 40818, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40819, 40829, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40830, 40835, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40836, 40927, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40928, 40975, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40976, 41067, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41068, 41210, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41211, 41243, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41244, 41350, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41351, 41383, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41384, 41405, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41406, 41432, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41433, 41545, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41546, 41572, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41573, 41589, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41695, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41696, 41714, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41715, 41854, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41855, 41909, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41910, 41921, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41922, 42049, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42050, 42061, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42062, 42087, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42088, 42227, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42228, 42284, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42285, 42424, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42425, 42427, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42428, 42464, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42465, 42567, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42568, 42604, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42605, 42619, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42620, 42759, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42760, 42854, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42855, 42933, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42934, 42994, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42995, 43018, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43019, 43073, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43074, 43151, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43152, 43158, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43159, 43291, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43292, 43424, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43425, 43439, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43440, 43564, {0, 2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43565, 43573, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43574, 43579, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43580, 43589, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55301, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55302, 55308, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55309, 55441, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55442, 55574, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55575, 55589, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55590, 55714, {0, 2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55715, 55723, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55724, 55729, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55730, 55833, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55834, 55863, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55864, 55973, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55974, 56095, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56096, 56143, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56144, 56235, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56236, 56278, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56279, 56283, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56284, 56364, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56365, 56418, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56419, 56504, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56505, 56601, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56602, 56713, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56714, 56739, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66483, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66484, 66492, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66493, 66513, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66514, 66538, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66539, 66653, {0, 60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66654, 66678, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66679, 66897, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66898, 66922, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66923, 67019, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67020, 67037, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67038, 67062, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67063, 67070, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67071, 67159, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67160, 67210, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67211, 67335, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68587, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68588, 68614, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68615, 68727, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68728, 68754, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68755, 68867, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68868, 68922, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68923, 68935, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {0, 3, 6, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {0, 6, 6, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 0, 0, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {2, 0, 2, 42} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {0, 7, 7, 14} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 422940, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422941, 423120, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423121, 423540, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423541, 424040, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 424041, 426340, {0, 60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426341, 426840, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426841, 431220, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 431221, 431720, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 431721, 433660, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433661, 433980, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 386120, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386121, 386860, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386861, 388920, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388921, 389660, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389661, 392120, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392121, 393200, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393201, 394920, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 394921, 396000, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396001, 397520, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397521, 397940, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397941, 397980, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 362840, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362841, 363020, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363021, 363320, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363321, 364660, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 364661, 365640, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365641, 366120, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366121, 367460, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367461, 370860, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370861, 372960, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372961, 373660, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373661, 374720, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 374721, 375760, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 375761, 375980, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 176080, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176081, 178780, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 524740, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524741, 525700, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525701, 527540, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527541, 530400, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530401, 531060, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531061, 533200, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533201, 533860, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533861, 534300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534301, 534840, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534841, 537100, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537101, 537640, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537641, 538000, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 187180, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187181, 189980, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189981, 190040, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 190041, 190840, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 190841, 191980, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146760, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146761, 147500, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147501, 149200, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 149560, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149561, 150300, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150301, 150360, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150361, 151200, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 153160, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153161, 153580, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 172360, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172361, 173400, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173401, 175000, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 160480, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160481, 160940, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160941, 160960, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160961, 163280, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163281, 164180, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 386120, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386121, 386860, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386861, 388920, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388921, 389660, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389661, 392120, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392121, 393200, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393201, 394920, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 394921, 396000, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396001, 397520, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397521, 397940, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397941, 398980, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 172360, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172361, 173400, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173401, 176080, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176081, 178800, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 153160, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153161, 153900, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153901, 156700, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156701, 158140, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158141, 158160, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158161, 160480, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160481, 160580, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 145580, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 471980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 514300, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514301, 514620, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514621, 517420, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517421, 519760, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 519761, 519980, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 519981, 522560, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522561, 522780, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522781, 522900, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522901, 523980, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 377520, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377521, 378560, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378561, 381500, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381501, 383080, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 383081, 384000, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 464020, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464021, 464500, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464501, 465920, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465921, 466580, {40, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466581, 466820, {40, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466821, 467300, {40, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467301, 468720, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468721, 469380, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 469381, 474140, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 474141, 475600, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475601, 476940, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476941, 477220, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477221, 477300, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477301, 478400, {2, 0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478401, 480000, {0, 0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 500100, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 500101, 500580, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 500581, 501300, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501301, 502900, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502901, 504500, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504501, 507300, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507301, 508880, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 508881, 509120, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509121, 511500, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511501, 511680, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511681, 511920, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511921, 514300, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514301, 514620, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514621, 517420, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517421, 519760, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 519761, 519980, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 519981, 522560, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522561, 522780, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522781, 522900, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522901, 524740, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524741, 525700, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525701, 527540, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527541, 530400, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530401, 531060, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531061, 533200, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533201, 533860, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533861, 534300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534301, 534840, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534841, 537100, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537101, 537640, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537641, 537980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 637067, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637068, 637107, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637108, 638007, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638008, 638887, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638888, 638987, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638988, 639807, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639808, 639887, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639888, 639927, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639928, 640607, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640608, 640807, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640808, 641547, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641548, 642367, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642368, 642687, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642688, 643287, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643288, 643567, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643568, 643607, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643608, 644147, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644148, 644507, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644508, 645087, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645088, 645727, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645728, 646487, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646488, 646666, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 422940, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422941, 423120, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423121, 423540, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423541, 424040, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 424041, 426340, {0, 60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426341, 426840, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426841, 431220, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 431221, 431720, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 431721, 433660, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433661, 434020, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 434021, 434520, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 434521, 434680, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 434681, 436460, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 436461, 437480, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437481, 439980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 123420, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123421, 123960, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123961, 126220, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126221, 126760, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126761, 129020, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129021, 130120, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 130121, 130380, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620280, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620281, 620820, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620821, 621380, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621381, 622120, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622121, 622320, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622321, 622880, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622881, 623060, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623061, 623680, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623681, 623820, {0, 0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623821, 624620, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624621, 625080, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625081, 625500, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625501, 626020, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626021, 626420, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626421, 627360, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627361, 627480, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627481, 628420, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628421, 628780, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628781, 628860, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628861, 629720, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629721, 629800, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629801, 629980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629981, 630900, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630901, 631280, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631281, 632220, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632221, 632240, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632241, 632480, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632481, 633180, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633181, 633420, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633421, 633520, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633521, 634460, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634461, 635080, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635081, 635620, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635621, 636020, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636021, 636180, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636181, 636540, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636541, 637060, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637061, 637120, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637121, 638000, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638001, 638880, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638881, 638980, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638981, 639820, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639821, 639880, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639881, 639920, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639921, 640620, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640621, 640820, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640821, 641540, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641541, 642360, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642361, 642680, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642681, 643300, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643301, 643580, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643581, 643620, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643621, 644160, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644161, 644500, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644501, 645080, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645081, 645740, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645741, 646480, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646481, 646660, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646661, 647280, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647281, 647420, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647421, 647700, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647701, 648200, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648201, 648640, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648641, 649100, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649101, 650040, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650041, 650280, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650281, 650980, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650981, 651220, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651221, 651240, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651241, 651900, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651901, 652180, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652181, 652480, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652481, 653400, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653401, 654080, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654081, 654680, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654681, 654800, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654801, 655020, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655021, 655600, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655601, 655720, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655721, 655840, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655841, 656780, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656781, 657880, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657881, 658340, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658341, 658360, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658361, 658820, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658821, 659220, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659221, 659280, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659281, 659300, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659301, 660160, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660161, 661680, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661681, 661880, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661881, 662060, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662061, 662600, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662601, 662620, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662621, 662820, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662821, 663000, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663001, 663520, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663521, 665420, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665421, 665480, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665481, 665760, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665761, 665960, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665961, 666360, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666361, 666420, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666421, 666700, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666701, 666900, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666901, 668980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668981, 669280, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669281, 669340, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669341, 669460, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669461, 669900, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669901, 670220, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670221, 670280, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670281, 670400, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670401, 672520, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672521, 672720, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672721, 673080, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673081, 673160, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673161, 673460, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673461, 673640, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673641, 674020, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674021, 674100, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674101, 676060, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676061, 676080, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676081, 676860, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676861, 676880, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676881, 677000, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677001, 677020, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677021, 677780, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677781, 677820, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677821, 679460, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679461, 679600, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679601, 680000, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620280, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620281, 620820, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620821, 621380, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621381, 622120, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622121, 622320, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622321, 622880, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622881, 623060, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623061, 623680, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623681, 623820, {0, 0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623821, 624620, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624621, 625080, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625081, 625500, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625501, 626020, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626021, 626420, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626421, 627360, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627361, 627480, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627481, 628420, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628421, 628780, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628781, 628860, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628861, 629720, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629721, 629800, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629801, 629980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629981, 630900, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630901, 631280, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631281, 632220, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632221, 632240, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632241, 632480, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632481, 633180, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633181, 633420, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633421, 633520, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633521, 634460, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634461, 635080, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635081, 635620, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635621, 636020, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636021, 636180, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636181, 636540, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636541, 637060, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637061, 637120, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637121, 638000, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638001, 638880, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638881, 638980, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638981, 639820, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639821, 639880, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639881, 639920, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639921, 640620, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640621, 640820, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640821, 641540, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641541, 642360, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642361, 642680, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642681, 643300, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643301, 643580, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643581, 643620, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643621, 644160, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644161, 644500, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644501, 645080, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645081, 645740, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645741, 646480, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646481, 646660, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646661, 647280, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647281, 647420, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647421, 647700, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647701, 648200, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648201, 648640, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648641, 649100, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649101, 650040, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650041, 650280, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650281, 650980, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650981, 651220, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651221, 651240, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651241, 651900, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651901, 652180, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652181, 652480, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652481, 653333, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693794, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693795, 693874, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693875, 694734, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694735, 695354, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695355, 695874, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695875, 696274, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696275, 696314, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696315, 696814, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696815, 697254, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697255, 697334, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697335, 698274, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698275, 699034, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699035, 699674, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699675, 699694, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699695, 699974, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699975, 700614, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700615, 700634, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700635, 700874, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700875, 701814, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701815, 702734, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702735, 703074, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703075, 703474, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703475, 703674, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703675, 703994, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703995, 704414, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704415, 704434, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704435, 705354, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705355, 706434, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706435, 707274, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707275, 707374, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707375, 707974, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707975, 708214, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708215, 708914, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708915, 709814, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709815, 710134, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710135, 710754, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710755, 711074, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711075, 711514, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711515, 712014, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712015, 712454, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712455, 713194, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713195, 713834, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713835, 714114, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714115, 714774, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714775, 714874, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714875, 715074, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715075, 715814, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715815, 715994, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715995, 716554, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716555, 717494, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717495, 717534, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717535, 718474, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718475, 718614, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718615, 718674, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718675, 719534, {0, 0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719535, 719594, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719595, 719934, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719935, 720854, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720855, 721234, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721235, 722154, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722155, 722474, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722475, 723094, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723095, 723294, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723295, 723394, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723395, 724234, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724235, 724934, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724935, 725694, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725695, 725854, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725855, 726274, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726275, 726634, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726635, 726674, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726675, 727194, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727195, 727614, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727615, 728634, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728635, 729254, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729255, 729554, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729555, 730054, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730055, 730074, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730075, 730174, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730175, 730974, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730975, 730994, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730995, 732314, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732315, 732794, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732795, 733254, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733255, 733333, {0, 0, 1, 0} }, +}; + +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 ================ */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_FRONT_DUMMY_REG_ARRAY[] = { +}; + +static const struct cam_sensor_i2c_reg_setting sensor_front_setfile_dummy[] = { + { MIPI_FRONT_DUMMY_REG_ARRAY, ARRAY_SIZE(MIPI_FRONT_DUMMY_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", 0, + sensor_front_setfile_dummy, ARRAY_SIZE(sensor_front_setfile_dummy) }, +}; + +static const struct cam_mipi_cell_ratings sensor_front_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_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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3lu_2_0_q6a.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3lu_2_0_q6a.h new file mode 100755 index 0000000000..c2c5aa10d2 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3lu_2_0_q6a.h @@ -0,0 +1,2372 @@ +/* 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_2_0_H_ +#define _CAM_SENSOR_ADAPTIVE_MIPI_S5K3LU_2_0_H_ + +#include "cam_sensor_dev.h" + +int num_front_mipi_setting = 3; + +/* +(3LU)MX_Q6A_3LUSX_SET_Bringup_v0.0.xlsx +SET A : (1292.8 / 1273.6 / 1267.2) +SET B : (1059.2 / 1011.2 / 992) +*/ + +/*************************************/ +/* ========== SET A =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_SET_A_1292_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x00CA, 0x00, 0x00}, + {0x0312, 0x0000, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_A_1273_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x00C7, 0x00, 0x00}, + {0x0312, 0x0000, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_A_1267_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x00C6, 0x00, 0x00}, + {0x0312, 0x0000, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_s5k3lu_setfile_A_mipi_1292[] = { + { MIPI_SET_A_1292_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_1292_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_1273[] = { + { MIPI_SET_A_1273_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_1273_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_1267[] = { + { MIPI_SET_A_1267_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_1267_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[] = { + { "1292 MHz", 1292, + sensor_s5k3lu_setfile_A_mipi_1292, ARRAY_SIZE(sensor_s5k3lu_setfile_A_mipi_1292) }, + { "1273 MHz", 1273, + sensor_s5k3lu_setfile_A_mipi_1273, ARRAY_SIZE(sensor_s5k3lu_setfile_A_mipi_1273) }, + { "1267 MHz", 1267, + sensor_s5k3lu_setfile_A_mipi_1267, ARRAY_SIZE(sensor_s5k3lu_setfile_A_mipi_1267) }, +}; + +static const struct cam_mipi_cell_ratings sensor_s5k3lu_setfile_A_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {0, 7, 14} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {0, 147, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {6, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10630, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10631, 10700, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10701, 10736, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10737, 10790, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10791, 10806, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10807, 10838, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9730, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9731, 9785, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9786, 9835, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9836, 9855, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9856, 9905, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9906, 9938, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1209, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1210, 1277, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1278, 1323, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1324, 1347, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1348, 1393, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1394, 1462, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1463, 1513, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1605, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1606, 1675, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1676, 1711, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1712, 1738, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4401, 4422, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4423, 4458, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4401, 4413, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2341, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2342, 2395, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2396, 2411, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2412, 2462, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2463, 2465, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2466, 2532, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2533, 2563, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 3016, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3017, 3040, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3041, 3086, {0, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3087, 3088, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 725, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 726, 747, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 748, 763, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 161, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 162, 301, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 302, 372, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 373, 481, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 482, 512, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 513, 599, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 621, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 622, 761, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 762, 871, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 872, 970, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 971, 1011, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1012, 1110, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1111, 1199, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1319, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1320, 1454, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1455, 1547, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1548, 1594, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1595, 1687, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1688, 1825, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1826, 1949, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2111, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2112, 2251, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2252, 2322, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2323, 2399, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2510, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2511, 2555, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2556, 2649, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2982, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2983, 3091, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3092, 3122, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3123, 3225, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3226, 3231, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3232, 3365, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3366, 3449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3633, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3634, 3681, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3682, 3773, {0, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3774, 3799, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5179, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5253, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5254, 5279, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5373, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5374, 5379, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5849, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5999, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6050, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6051, 6095, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6096, 6149, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6406, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6407, 6448, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6449, 6449, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6599, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8061, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8062, 8201, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8202, 8311, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8312, 8410, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8411, 8451, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8452, 8550, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8551, 8689, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8901, 8945, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8946, 9039, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9303, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9304, 9316, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9317, 9341, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9342, 9456, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9457, 9659, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9670, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9671, 9769, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9783, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9784, 9869, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9976, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9977, 10042, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10043, 10116, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10117, 10197, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10198, 10337, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10338, 10359, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36208, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36209, 36305, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36306, 36349, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37835, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37836, 37957, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37958, 37975, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37976, 38088, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38089, 38097, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38098, 38228, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38229, 38249, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38265, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38266, 38387, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38388, 38483, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38484, 38527, {0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38528, 38623, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38624, 38649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38850, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38851, 38990, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38991, 39023, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39024, 39141, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39142, 39163, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39164, 39281, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39282, 39496, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39497, 39636, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39637, 39649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39829, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39830, 39963, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39964, 39969, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39970, 40091, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40092, 40103, {0, 40, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40104, 40231, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40232, 40475, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40476, 40597, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40598, 40615, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40616, 40728, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40729, 40737, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40738, 40868, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40869, 41122, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41123, 41231, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41232, 41262, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41263, 41365, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41366, 41371, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41372, 41505, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41506, 41589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41734, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41735, 41779, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41780, 41874, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41875, 41907, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41908, 41919, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41920, 42047, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42048, 42368, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42369, 42425, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42426, 42508, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42509, 42544, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42545, 42565, {2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42566, 42684, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42685, 43001, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43002, 43072, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43073, 43141, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43142, 43180, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43181, 43212, {40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43213, 43320, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43321, 43589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55291, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55292, 55330, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55331, 55362, {40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55363, 55470, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55471, 55785, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55786, 55868, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55869, 55925, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55926, 55967, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55968, 56008, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56009, 56107, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56108, 56418, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56419, 56514, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56515, 56558, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56559, 56604, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56605, 56654, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56655, 56739, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66597, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66598, 66737, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66738, 66808, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66809, 66917, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66918, 66948, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66949, 67057, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67058, 67243, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67244, 67335, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68681, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68682, 68713, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68714, 68809, {0, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68810, 68821, {140, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68822, 68853, {140, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68854, 68935, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {0, 63, 63} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 66, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {0, 63, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 0, 63} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 425220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425221, 428020, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428021, 429440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429441, 431620, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 431621, 432240, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432241, 433980, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 386420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386421, 389220, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389221, 391420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391421, 393400, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393401, 394220, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 394221, 396200, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396201, 397980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 363380, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363381, 366080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366081, 367940, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367941, 368880, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 368881, 370740, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370741, 373500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373501, 375980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 176000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176001, 176900, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176901, 178780, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 528640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528641, 530820, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530821, 531440, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531441, 533500, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533501, 533620, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533621, 536300, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 536301, 538000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 188660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 188661, 189620, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189621, 191460, {0, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191461, 191980, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 149200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 150660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150661, 151200, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 153460, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153461, 153580, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 175000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 163320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163321, 164160, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 164161, 164180, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 386420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386421, 389220, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389221, 391420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391421, 393400, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393401, 394220, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 394221, 396200, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396201, 398980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 176000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176001, 176900, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176901, 178800, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 153460, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153461, 153720, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153721, 154220, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154221, 156520, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156521, 160580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 143600, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143601, 145580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 470260, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470261, 471980, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 515700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515701, 518140, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518141, 518500, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518501, 520760, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 520761, 520940, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 520941, 523560, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 523561, 523980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 376300, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376301, 378740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378741, 380660, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380661, 381540, {0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381541, 383460, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 383461, 384000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 464000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464001, 466800, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466801, 467460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467461, 469820, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 469821, 470260, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 470261, 472620, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 472621, 476920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476921, 479720, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479721, 480000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 502780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502781, 505460, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505461, 505580, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505581, 508020, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 508021, 508260, {0, 40, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 508261, 510820, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 510821, 515700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515701, 518140, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518141, 518500, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518501, 520760, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 520761, 520940, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 520941, 523560, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 523561, 528640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528641, 530820, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530821, 531440, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531441, 533500, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533501, 533620, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533621, 536300, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 536301, 537980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 637007, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637008, 637267, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637268, 637467, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637468, 638187, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638188, 640287, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640288, 640847, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640848, 641227, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641228, 641507, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641508, 641787, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641788, 642447, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642448, 644507, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644508, 645147, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645148, 645447, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645448, 645747, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645748, 646087, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646088, 646666, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 425220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425221, 428020, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428021, 429440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429441, 431620, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 431621, 432240, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432241, 434420, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 434421, 438140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438141, 439980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 125300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125301, 125940, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125941, 127860, {0, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127861, 128100, {140, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128101, 128740, {140, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128741, 130380, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620100, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620101, 620240, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620241, 620280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620281, 621220, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621221, 623400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623401, 623600, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623601, 624320, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624321, 624520, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624521, 624540, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624541, 625460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625461, 627620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627621, 627920, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627921, 628560, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628561, 628780, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628781, 628860, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628861, 629700, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629701, 631840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631841, 632220, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632221, 632780, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632781, 633020, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633021, 633160, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633161, 633940, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633941, 636060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636061, 636540, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636541, 637000, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637001, 637260, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637261, 637460, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637461, 638200, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638201, 640300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640301, 640840, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640841, 641220, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641221, 641500, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641501, 641780, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641781, 642440, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642441, 644520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644521, 645160, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645161, 645440, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645441, 645760, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645761, 646080, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646081, 646680, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646681, 648740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648741, 649460, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649461, 649680, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649681, 650000, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650001, 650400, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650401, 650940, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650941, 652960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652961, 653780, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653781, 653900, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653901, 654240, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654241, 654700, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654701, 655180, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655181, 657180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657181, 658080, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658081, 658120, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658121, 658480, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658481, 659020, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659021, 659420, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659421, 661420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661421, 662340, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662341, 662400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662401, 662740, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662741, 663320, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663321, 663660, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663661, 665640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665641, 666560, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666561, 666700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666701, 666980, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666981, 667640, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667641, 667920, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667921, 669860, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669861, 670800, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670801, 671020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671021, 671220, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671221, 671940, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671941, 672160, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672161, 674080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674081, 675020, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675021, 675320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675321, 675480, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675481, 676260, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676261, 676400, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676401, 678300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678301, 679240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679241, 679620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679621, 679720, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679721, 680000, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620100, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620101, 620240, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620241, 620280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620281, 621220, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621221, 623400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623401, 623600, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623601, 624320, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624321, 624520, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624521, 624540, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624541, 625460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625461, 627620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627621, 627920, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627921, 628560, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628561, 628780, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628781, 628860, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628861, 629700, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629701, 631840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631841, 632220, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632221, 632780, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632781, 633020, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633021, 633160, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633161, 633940, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633941, 636060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636061, 636540, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636541, 637000, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637001, 637260, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637261, 637460, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637461, 638200, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638201, 640300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640301, 640840, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640841, 641220, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641221, 641500, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641501, 641780, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641781, 642440, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642441, 644520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644521, 645160, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645161, 645440, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645441, 645760, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645761, 646080, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646081, 646680, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646681, 648740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648741, 649460, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649461, 649680, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649681, 650000, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650001, 650400, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650401, 650940, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650941, 652960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652961, 653333, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693394, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693395, 693494, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693495, 695214, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695215, 696134, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696135, 696694, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696695, 696874, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696875, 697634, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697635, 697794, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697795, 699434, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699435, 700354, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700355, 700934, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700935, 701174, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701175, 701874, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701875, 702114, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702115, 703654, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703655, 704594, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704595, 705194, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705195, 705494, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705495, 706114, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706115, 706414, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706415, 707874, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707875, 708814, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708815, 709434, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709435, 709794, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709795, 710374, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710375, 710734, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710735, 712094, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712095, 713034, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713035, 713674, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713675, 714114, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714115, 714614, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714615, 715034, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715035, 716334, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716335, 717254, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717255, 717914, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717915, 717934, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717935, 718414, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718415, 718854, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718855, 719354, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719355, 720554, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720555, 721474, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721475, 722174, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722175, 722734, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722735, 723094, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723095, 723654, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723655, 724774, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724775, 725714, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725715, 726414, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726415, 727034, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727035, 727354, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727355, 727974, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727975, 728994, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728995, 729934, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729935, 730654, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730655, 731334, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731335, 731594, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731595, 732274, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732275, 733214, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733215, 733333, {0, 0, 1} }, +}; + +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) + }, +}; + +/*************************************/ +/* ========== SET B =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_SET_B_793_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x00F8, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_B_723_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x00E2, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_B_774_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x00F2, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_s5k3lu_setfile_B_mipi_793[] = { + { MIPI_SET_B_793_REG_ARRAY, ARRAY_SIZE(MIPI_SET_B_793_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_723[] = { + { MIPI_SET_B_723_REG_ARRAY, ARRAY_SIZE(MIPI_SET_B_723_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_774[] = { + { MIPI_SET_B_774_REG_ARRAY, ARRAY_SIZE(MIPI_SET_B_774_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[] = { + { "793 MHz", 793, + sensor_s5k3lu_setfile_B_mipi_793, ARRAY_SIZE(sensor_s5k3lu_setfile_B_mipi_793) }, + { "723 MHz", 723, + sensor_s5k3lu_setfile_B_mipi_723, ARRAY_SIZE(sensor_s5k3lu_setfile_B_mipi_723) }, + { "774 MHz", 774, + sensor_s5k3lu_setfile_B_mipi_774, ARRAY_SIZE(sensor_s5k3lu_setfile_B_mipi_774) }, +}; + +static const struct cam_mipi_cell_ratings sensor_s5k3lu_setfile_B_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {0, 69, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {63, 63, 63} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10612, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10613, 10632, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10633, 10678, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10679, 10682, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10683, 10702, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10703, 10748, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10749, 10806, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10807, 10812, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10813, 10838, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9686, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9687, 9714, {3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9715, 9728, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9729, 9756, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9757, 9798, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9799, 9838, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9839, 9884, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9885, 9908, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9909, 9938, {60, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1189, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1190, 1199, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1200, 1216, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1217, 1259, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1260, 1286, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1287, 1310, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1311, 1380, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1381, 1382, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1383, 1414, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1415, 1452, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1453, 1484, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1485, 1491, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1492, 1513, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1587, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1588, 1607, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1608, 1653, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1654, 1657, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1658, 1677, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1678, 1723, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1724, 1738, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4374, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4375, 4399, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4400, 4417, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4418, 4458, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4399, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4400, 4413, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2254, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2255, 2254, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2255, 2288, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2289, 2324, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2325, 2358, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2359, 2382, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2383, 2448, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2449, 2452, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2453, 2469, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2470, 2518, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2519, 2539, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2540, 2563, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2965, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2966, 2981, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2982, 3026, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3027, 3035, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3036, 3088, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 724, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 725, 742, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 743, 763, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 0, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 1, 125, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 126, 164, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 165, 257, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 258, 265, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 266, 304, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 305, 397, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 398, 513, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 514, 525, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 526, 599, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 673, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 674, 729, {3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 730, 756, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 757, 813, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 814, 896, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 897, 977, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 978, 1069, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1070, 1117, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1118, 1199, {60, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1278, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1279, 1299, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1300, 1332, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1333, 1418, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1419, 1472, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1473, 1521, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1522, 1661, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1662, 1665, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1666, 1729, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1730, 1805, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1806, 1869, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1870, 1883, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1884, 1949, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1950, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1951, 2075, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2076, 2114, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2115, 2207, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2208, 2215, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2216, 2254, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2255, 2347, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2348, 2399, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2458, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2459, 2509, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2510, 2545, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2546, 2649, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2808, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2809, 2809, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2810, 2876, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2877, 2949, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2950, 3016, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3017, 3065, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3066, 3196, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3197, 3205, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3206, 3238, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3239, 3336, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3337, 3378, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3379, 3449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3531, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3532, 3562, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3563, 3653, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3654, 3671, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3672, 3793, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3794, 3799, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5021, {0, 140, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5022, 5146, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5147, 5179, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5189, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5190, 5243, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5244, 5279, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5309, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5310, 5363, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5364, 5373, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5374, 5379, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5816, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5817, 5849, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5858, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5859, 5909, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5910, 5998, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5999, 5999, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6049, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6050, 6085, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6086, 6149, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6245, {140, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6246, 6265, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6266, 6301, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6302, 6441, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6442, 6449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6499, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6500, 6521, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6522, 6599, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8113, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8114, 8169, {3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8170, 8196, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8197, 8253, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8254, 8336, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8337, 8417, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8418, 8509, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8510, 8557, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8558, 8649, {60, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8650, 8689, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8708, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8709, 8759, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8760, 8848, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8849, 8899, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8900, 8935, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8936, 9039, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9239, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9240, 9293, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9294, 9303, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9304, 9443, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9444, 9495, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9496, 9515, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9516, 9635, {140, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9636, 9655, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9656, 9659, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9702, {7, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9703, 9769, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9819, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9820, 9843, {0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9844, 9869, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9933, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9934, 10011, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10012, 10043, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10044, 10151, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10152, 10155, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10156, 10183, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10184, 10295, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10296, 10359, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36266, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36267, 36279, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36280, 36304, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36305, 36349, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37771, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37772, 37793, {40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37794, 37911, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37912, 37922, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37923, 38015, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38016, 38062, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38063, 38155, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38156, 38168, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38169, 38249, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38323, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38324, 38352, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38353, 38426, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38427, 38492, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38493, 38544, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38545, 38566, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38567, 38649, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38722, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38723, 38734, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38735, 38811, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38812, 38862, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38863, 38951, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38952, 38991, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38992, 39083, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39084, 39131, {2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39132, 39199, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39200, 39223, {0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39224, 39339, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39340, 39387, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39388, 39445, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39446, 39527, {40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39528, 39585, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39586, 39586, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39587, 39649, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39710, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39711, 39758, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39759, 39787, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39788, 39927, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39928, 39931, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39932, 40015, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40016, 40071, {2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40072, 40155, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40156, 40175, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40176, 40293, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40294, 40315, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40316, 40411, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40412, 40433, {40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40434, 40551, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40552, 40562, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40563, 40655, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40656, 40702, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40703, 40795, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40796, 40808, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40809, 40948, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40949, 40949, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40950, 41016, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41017, 41089, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41090, 41156, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41157, 41205, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41206, 41336, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41337, 41345, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41346, 41378, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41379, 41476, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41477, 41518, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41519, 41589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41593, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41594, 41644, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41645, 41650, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41651, 41733, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41734, 41784, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41785, 41872, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41873, 41980, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41981, 42012, {0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42013, 42041, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42042, 42120, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42121, 42181, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42182, 42233, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42234, 42368, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42369, 42373, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42374, 42438, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42439, 42508, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42509, 42578, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42579, 42595, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42596, 42735, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42736, 42755, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42756, 42835, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42836, 42895, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42896, 42956, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42957, 42975, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42976, 43096, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43097, 43142, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43143, 43232, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43233, 43282, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43283, 43318, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43319, 43372, {40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43373, 43458, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43459, 43529, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43530, 43589, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55246, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55247, 55292, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55293, 55382, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55383, 55432, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55433, 55468, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55469, 55522, {40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55523, 55608, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55609, 55679, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55680, 55778, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55779, 55819, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55820, 55830, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55831, 55918, {2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55919, 55970, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55971, 56066, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56067, 56175, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56176, 56191, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56192, 56206, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56207, 56315, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56316, 56331, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56332, 56454, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56455, 56553, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56554, 56572, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56573, 56594, {2, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56595, 56693, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56694, 56712, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56713, 56739, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66436, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66437, 66561, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66562, 66600, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66601, 66693, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66694, 66701, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66702, 66740, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66741, 66833, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66834, 66949, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66950, 66961, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66962, 67089, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67090, 67101, {60, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67102, 67229, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67230, 67323, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67324, 67335, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68633, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68634, 68681, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68682, 68694, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68695, 68834, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68835, 68854, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68855, 68928, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68929, 68935, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {6, 6, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 9, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {3, 6, 36} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 6, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {4, 44, 2} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 6, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {14, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {63, 63, 63} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 422000, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422001, 424500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 424501, 425280, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425281, 427140, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427141, 427300, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427301, 428080, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428081, 429940, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429941, 432260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432261, 432500, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432501, 433980, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 387460, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 387461, 388580, {3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388581, 389120, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389121, 390260, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 390261, 391920, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391921, 393540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393541, 395380, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395381, 396340, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396341, 397980, {60, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 362560, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362561, 362980, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362981, 363640, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363641, 365360, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365361, 366440, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366441, 367420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367421, 370220, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370221, 370300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370301, 371580, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 371581, 373100, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373101, 374380, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 374381, 374660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 374661, 375980, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 174960, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 174961, 175980, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175981, 176700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176701, 178780, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 525160, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525161, 525180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525181, 526520, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 526521, 527980, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527981, 529320, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 529321, 530300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530301, 532920, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 532921, 533100, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533101, 533760, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533761, 535720, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 535721, 536560, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 536561, 538000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186620, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186621, 187240, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187241, 189060, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189061, 189420, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189421, 191860, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191861, 191980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146020, {0, 140, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146021, 148520, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148521, 149200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 149380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149381, 150460, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150461, 151200, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 152180, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 152181, 153260, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153261, 153460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153461, 153580, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 172160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172161, 173180, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173181, 174960, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 174961, 175000, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 160100, {140, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160101, 160500, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160501, 161220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 161221, 164020, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 164021, 164180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 387460, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 387461, 388580, {3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388581, 389120, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389121, 390260, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 390261, 391920, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391921, 393540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393541, 395380, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395381, 396340, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396341, 398180, {60, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 398181, 398980, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 172160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172161, 173180, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173181, 174960, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 174961, 175980, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175981, 176700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176701, 178800, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 152180, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 152181, 153260, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153261, 153460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153461, 156260, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156261, 157300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157301, 157700, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157701, 160100, {140, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160101, 160500, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160501, 160580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 144240, {7, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 144241, 145580, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 470980, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470981, 471460, {0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471461, 471980, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 514420, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514421, 514860, {40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514861, 517220, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517221, 517440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517441, 519300, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 519301, 520240, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 520241, 522100, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522101, 522360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522361, 523980, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 377460, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377461, 378040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378041, 379520, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 379521, 380840, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380841, 381880, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381881, 382320, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382321, 384000, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 461440, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461441, 461680, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461681, 463220, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463221, 464240, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464241, 466020, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466021, 466820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466821, 468660, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468661, 469620, {2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 469621, 470980, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 470981, 471460, {0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471461, 473780, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 473781, 474740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 474741, 475900, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475901, 477540, {40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477541, 478700, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478701, 478720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478721, 480000, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 500400, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 500401, 501360, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501361, 501940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501941, 504740, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504741, 504820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504821, 506500, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506501, 507620, {2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507621, 509300, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509301, 509700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509701, 512060, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512061, 512500, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512501, 514420, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514421, 514860, {40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514861, 517220, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517221, 517440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517441, 519300, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 519301, 520240, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 520241, 522100, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522101, 522360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522361, 525160, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525161, 525180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525181, 526520, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 526521, 527980, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527981, 529320, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 529321, 530300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530301, 532920, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 532921, 533100, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533101, 533760, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533761, 535720, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 535721, 536560, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 536561, 537980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 636707, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636708, 637007, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637008, 637607, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637608, 637947, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637948, 638187, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638188, 638547, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638548, 639107, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639108, 639587, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639588, 640247, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640248, 640527, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640528, 640587, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640588, 641187, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641188, 641527, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641528, 642167, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642168, 642887, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642888, 643007, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643008, 643107, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643108, 643827, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643828, 643927, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643928, 644747, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644748, 645407, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645408, 645547, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645548, 645687, {1, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645688, 646347, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646348, 646467, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646468, 646666, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 422000, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422001, 424500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 424501, 425280, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425281, 427140, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427141, 427300, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427301, 428080, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428081, 429940, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429941, 432260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432261, 432500, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432501, 435060, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435061, 435300, {60, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435301, 437860, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437861, 439740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 439741, 439980, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124340, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124341, 125300, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125301, 125560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125561, 128360, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128361, 128760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128761, 130240, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 130241, 130380, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620020, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620021, 621300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621301, 621520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621521, 621740, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621741, 622240, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622241, 622460, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622461, 622660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622661, 623720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623721, 624100, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624101, 624380, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624381, 624640, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624641, 625040, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625041, 625300, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625301, 626120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626121, 626680, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626681, 627020, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627021, 627060, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627061, 627620, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627621, 627960, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627961, 628540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628541, 629260, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629261, 629480, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629481, 629660, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629661, 630200, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630201, 630600, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630601, 630940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630941, 631840, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631841, 631880, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631881, 632320, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632321, 632780, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632781, 633240, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633241, 633360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633361, 634300, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634301, 634420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634421, 634960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634961, 635360, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635361, 635760, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635761, 635900, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635901, 636700, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636701, 637000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637001, 637600, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637601, 637940, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637941, 638180, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638181, 638540, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638541, 639120, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639121, 639580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639581, 640240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640241, 640520, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640521, 640600, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640601, 641180, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641181, 641520, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641521, 642160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642161, 642900, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642901, 643000, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643001, 643100, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643101, 643820, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643821, 643940, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643941, 644760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644761, 645420, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645421, 645540, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645541, 645680, {1, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645681, 646340, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646341, 646480, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646481, 647340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647341, 647820, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647821, 648180, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648181, 648260, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648261, 648760, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648761, 649120, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649121, 649920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649921, 650240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650241, 650840, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650841, 651160, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651161, 651760, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651761, 652500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652501, 652640, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652641, 653420, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653421, 653480, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653481, 653580, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653581, 654400, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654401, 655060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655061, 655080, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655081, 655980, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655981, 656000, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656001, 656120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656121, 657060, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657061, 657460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657461, 657660, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657661, 658400, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658401, 658580, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658581, 658760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658761, 659700, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659701, 659880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659881, 660240, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660241, 660800, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660801, 661180, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661181, 661420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661421, 662280, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662281, 662340, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662341, 662820, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662821, 663220, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663221, 663760, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663761, 664060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664061, 664700, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664701, 664980, {20, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664981, 665400, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665401, 665640, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665641, 666340, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666341, 666700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666701, 667100, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667101, 667640, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667641, 667980, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667981, 668040, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668041, 668920, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668921, 669340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669341, 669520, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669521, 670280, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670281, 670460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670461, 670560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670561, 671500, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671501, 671920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671921, 672000, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672001, 672860, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672861, 672920, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672921, 673140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673141, 674080, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674081, 674340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674341, 674640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674641, 675280, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675281, 675580, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675581, 675720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675721, 676660, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676661, 676760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676761, 677280, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677281, 677680, {20, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677681, 678220, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678221, 678300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678301, 679160, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679161, 679240, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679241, 679920, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679921, 680000, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620020, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620021, 621300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621301, 621520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621521, 621740, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621741, 622240, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622241, 622460, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622461, 622660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622661, 623720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623721, 624100, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624101, 624380, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624381, 624640, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624641, 625040, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625041, 625300, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625301, 626120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626121, 626680, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626681, 627020, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627021, 627060, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627061, 627620, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627621, 627960, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627961, 628540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628541, 629260, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629261, 629480, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629481, 629660, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629661, 630200, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630201, 630600, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630601, 630940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630941, 631840, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631841, 631880, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631881, 632320, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632321, 632780, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632781, 633240, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633241, 633360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633361, 634300, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634301, 634420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634421, 634960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634961, 635360, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635361, 635760, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635761, 635900, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635901, 636700, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636701, 637000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637001, 637600, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637601, 637940, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637941, 638180, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638181, 638540, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638541, 639120, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639121, 639580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639581, 640240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640241, 640520, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640521, 640600, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640601, 641180, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641181, 641520, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641521, 642160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642161, 642900, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642901, 643000, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643001, 643100, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643101, 643820, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643821, 643940, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643941, 644760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644761, 645420, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645421, 645540, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645541, 645680, {1, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645681, 646340, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646341, 646480, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646481, 647340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647341, 647820, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647821, 648180, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648181, 648260, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648261, 648760, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648761, 649120, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649121, 649920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649921, 650240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650241, 650840, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650841, 651160, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651161, 651760, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651761, 652500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652501, 652640, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652641, 653333, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693634, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693635, 693794, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693795, 694094, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694095, 694554, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694555, 694734, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694735, 695794, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695795, 696034, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696035, 696374, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696375, 696734, {1, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696735, 696974, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696975, 697314, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697315, 698454, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698455, 698954, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698955, 699374, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699375, 699894, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699895, 700854, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700855, 701094, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701095, 701534, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701535, 701794, {1, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701795, 702034, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702035, 702474, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702475, 703274, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703275, 703734, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703735, 704114, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704115, 704194, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704195, 704674, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704675, 705054, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705055, 705674, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705675, 706374, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706375, 706614, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706615, 706694, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706695, 707314, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707315, 707634, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707635, 708094, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708095, 709014, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709015, 709034, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709035, 709294, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709295, 709954, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709955, 710214, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710215, 710494, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710495, 711434, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711435, 711674, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711675, 711874, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711875, 712614, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712615, 712794, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712795, 712914, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712915, 713834, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713835, 714314, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714315, 714454, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714455, 715254, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715255, 715314, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715315, 715374, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715375, 716254, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716255, 716974, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716975, 717034, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717035, 717734, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717735, 717894, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717895, 717954, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717955, 718674, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718675, 719614, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719615, 720134, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720135, 720534, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720535, 721074, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721075, 722194, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722195, 722254, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722255, 722554, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722555, 723114, {1, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723115, 723194, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723195, 723494, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723495, 724774, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724775, 724894, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724895, 724974, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724975, 725714, {1, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725715, 725834, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725835, 725894, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725895, 727354, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727355, 727374, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727375, 727554, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727555, 728294, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728295, 728314, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728315, 728474, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728475, 729794, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729795, 729934, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729935, 730194, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730195, 730714, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730715, 730874, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730875, 731114, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731115, 732194, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732195, 732514, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732515, 732834, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732835, 733134, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733135, 733333, {1, 0, 1} }, +}; + +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) + }, +}; + +/*************************************/ +/* ========== SET C =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_SET_C_1059_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x014B, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_C_1011_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x013C, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_C_992_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x0136, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_s5k3lu_setfile_C_mipi_1059[] = { + { MIPI_SET_C_1059_REG_ARRAY, ARRAY_SIZE(MIPI_SET_C_1059_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 } +}; + +static const struct cam_sensor_i2c_reg_setting sensor_s5k3lu_setfile_C_mipi_1011[] = { + { MIPI_SET_C_1011_REG_ARRAY, ARRAY_SIZE(MIPI_SET_C_1011_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 } +}; + +static const struct cam_sensor_i2c_reg_setting sensor_s5k3lu_setfile_C_mipi_992[] = { + { MIPI_SET_C_992_REG_ARRAY, ARRAY_SIZE(MIPI_SET_C_992_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 } +}; + +static const struct cam_mipi_setting sensor_s5k3lu_setfile_C_mipi_setting[] = { + { "1059 MHz", 1059, + sensor_s5k3lu_setfile_C_mipi_1059, ARRAY_SIZE(sensor_s5k3lu_setfile_C_mipi_1059) }, + { "1011 MHz", 1011, + sensor_s5k3lu_setfile_C_mipi_1011, ARRAY_SIZE(sensor_s5k3lu_setfile_C_mipi_1011) }, + { "992 MHz", 992, + sensor_s5k3lu_setfile_C_mipi_992, ARRAY_SIZE(sensor_s5k3lu_setfile_C_mipi_992) }, +}; + +static const struct cam_mipi_cell_ratings sensor_s5k3lu_setfile_C_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {3, 0, 63} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10582, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10583, 10612, {60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10613, 10626, {60, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10627, 10652, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10653, 10682, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10683, 10806, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10807, 10821, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10822, 10835, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10836, 10838, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9714, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9715, 9762, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9763, 9824, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9825, 9832, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9833, 9838, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9839, 9894, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9895, 9908, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9909, 9938, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1163, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1164, 1189, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1190, 1190, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1191, 1259, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1260, 1260, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1261, 1357, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1358, 1382, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1383, 1427, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1428, 1443, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1444, 1452, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1453, 1513, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1557, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1558, 1587, {60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1588, 1601, {60, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1602, 1627, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1628, 1657, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1658, 1738, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4417, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4418, 4458, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4413, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2254, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2255, 2305, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2306, 2324, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2325, 2329, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2330, 2399, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2400, 2448, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2449, 2488, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2489, 2518, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2519, 2558, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2559, 2563, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2981, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2982, 3031, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3032, 3068, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3069, 3088, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 742, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 743, 763, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 13, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 14, 65, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 66, 125, {60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 126, 153, {60, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 154, 205, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 206, 265, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 266, 513, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 514, 543, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 544, 570, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 571, 599, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 729, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 730, 825, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 826, 948, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 949, 965, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 966, 977, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 978, 1088, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1089, 1117, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1118, 1199, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1226, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1227, 1278, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1279, 1281, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1282, 1418, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1419, 1421, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1422, 1615, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1616, 1665, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1666, 1755, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1756, 1787, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1788, 1805, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1806, 1927, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1928, 1949, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1963, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1964, 2015, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2016, 2075, {60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2076, 2103, {60, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2104, 2155, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2156, 2215, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2216, 2399, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2545, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2546, 2643, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2644, 2649, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2771, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2772, 2809, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2810, 2911, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2912, 2949, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2950, 2959, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2960, 3099, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3100, 3196, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3197, 3276, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3277, 3336, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3337, 3416, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3417, 3449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3562, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3563, 3662, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3663, 3736, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3737, 3799, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5064, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5065, 5146, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5147, 5179, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5204, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5205, 5233, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5234, 5279, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5353, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5354, 5373, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5374, 5379, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5734, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5735, 5816, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5817, 5849, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5915, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5916, 5999, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6085, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6086, 6149, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6253, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6254, 6259, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6260, 6301, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6302, 6399, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6400, 6441, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6442, 6449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6521, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6522, 6588, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6589, 6599, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8169, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8170, 8265, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8266, 8388, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8389, 8405, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8406, 8417, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8418, 8528, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8529, 8557, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8558, 8689, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8765, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8766, 8935, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8936, 9033, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9034, 9039, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9283, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9284, 9303, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9304, 9443, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9444, 9503, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9504, 9643, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9644, 9649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9650, 9659, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9769, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9819, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9820, 9869, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9992, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9993, 10043, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10044, 10132, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10133, 10158, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10159, 10183, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10184, 10298, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10299, 10359, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36254, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36255, 36294, {3, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36295, 36304, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36305, 36349, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37765, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37766, 37905, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37906, 37922, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37923, 37930, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37931, 38062, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38063, 38070, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38071, 38249, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38352, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38353, 38445, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38446, 38492, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38493, 38585, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38586, 38592, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38593, 38649, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38811, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38812, 38837, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38838, 38882, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38883, 38951, {2, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38952, 38977, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38978, 39022, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39023, 39199, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39200, 39339, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39340, 39343, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39344, 39411, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39412, 39483, {40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39484, 39551, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39552, 39586, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39587, 39649, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39651, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39652, 39787, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39788, 39899, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39900, 39927, {0, 40, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39928, 40039, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40040, 40040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40041, 40175, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40176, 40180, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40181, 40315, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40316, 40405, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40406, 40545, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40546, 40562, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40563, 40570, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40571, 40702, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40703, 40710, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40711, 40911, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40912, 40949, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40950, 41051, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41052, 41089, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41090, 41099, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41100, 41239, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41240, 41336, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41337, 41416, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41417, 41476, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41477, 41556, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41557, 41589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41593, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41594, 41733, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41734, 41900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41901, 41944, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41945, 41980, {40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41981, 42040, {40, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42041, 42084, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42085, 42120, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42121, 42368, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42369, 42406, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42407, 42473, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42474, 42508, {2, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42509, 42546, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42547, 42613, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42614, 42755, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42756, 42895, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42896, 42912, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42913, 43003, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43004, 43052, {2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43053, 43142, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43143, 43143, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43144, 43282, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43283, 43417, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43418, 43529, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43530, 43532, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43533, 43557, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43558, 43589, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55292, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55293, 55293, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55294, 55432, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55433, 55567, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55568, 55679, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55680, 55682, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55683, 55707, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55708, 55819, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55820, 55822, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55823, 56066, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56067, 56073, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56074, 56206, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56207, 56212, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56213, 56213, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56214, 56352, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56353, 56454, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56455, 56578, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56579, 56594, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56595, 56718, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56719, 56739, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66450, 66501, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66502, 66561, {60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66562, 66589, {60, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66590, 66641, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66642, 66701, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66702, 66949, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66950, 66979, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66980, 67006, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67007, 67089, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67090, 67119, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67120, 67146, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67147, 67335, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68681, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68682, 68701, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68702, 68841, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68842, 68918, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68919, 68928, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68929, 68935, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {6, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {66, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {3, 6, 36} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {3, 0, 63} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 422260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422261, 423300, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423301, 424500, {60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 424501, 425060, {60, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425061, 426100, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426101, 427300, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427301, 432260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432261, 432860, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432861, 433400, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433401, 433980, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 388580, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388581, 390500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 390501, 392960, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392961, 393300, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393301, 393540, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393541, 395760, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395761, 396340, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396341, 397980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 361520, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361521, 362560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362561, 362620, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362621, 365360, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365361, 365420, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365421, 369300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369301, 370300, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370301, 372100, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372101, 372740, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372741, 373100, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373101, 375540, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 375541, 375980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 176700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176701, 178660, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178661, 178780, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 524420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524421, 525180, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525181, 527220, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527221, 527980, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527981, 528180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528181, 530980, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530981, 532920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 532921, 534520, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534521, 535720, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 535721, 537320, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537321, 538000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 187240, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187241, 189240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189241, 190720, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 190721, 191980, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146880, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146881, 148520, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148521, 149200, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 149680, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149681, 150260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150261, 151200, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 153060, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153061, 153460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153461, 153580, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 173300, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173301, 175000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 160260, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160261, 160380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160381, 161220, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 161221, 163180, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163181, 164020, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 164021, 164180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 388580, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388581, 390500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 390501, 392960, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392961, 393300, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393301, 393540, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393541, 395760, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395761, 396340, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396341, 398980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 173300, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173301, 176700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176701, 178660, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178661, 178800, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 153060, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153061, 153460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153461, 156260, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156261, 157460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157461, 160260, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160261, 160380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160381, 160580, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 145580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 470980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470981, 471980, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 514300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514301, 517100, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517101, 517440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517441, 517600, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517601, 520240, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 520241, 520400, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 520401, 523980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 378040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378041, 379900, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 379901, 380840, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380841, 382700, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382701, 382840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382841, 384000, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 463220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463221, 463740, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463741, 464640, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464641, 466020, {2, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466021, 466540, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466541, 467440, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467441, 470980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 470981, 473780, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 473781, 473860, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 473861, 475220, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475221, 476660, {40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476661, 478020, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478021, 478720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478721, 480000, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 499220, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499221, 501940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501941, 504180, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504181, 504740, {0, 40, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504741, 506980, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506981, 507000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507001, 509700, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509701, 509800, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509801, 512500, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512501, 514300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514301, 517100, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517101, 517440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517441, 517600, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517601, 520240, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 520241, 520400, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 520401, 524420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524421, 525180, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525181, 527220, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527221, 527980, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527981, 528180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528181, 530980, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530981, 532920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 532921, 534520, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534521, 535720, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 535721, 537320, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537321, 537980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 637007, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637008, 637947, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637948, 638847, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638848, 639587, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639588, 639607, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639608, 639767, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639768, 640527, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640528, 640547, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640548, 642167, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642168, 642207, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642208, 643107, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643108, 643147, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643148, 644067, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644068, 644747, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644748, 645587, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645588, 645687, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645688, 646507, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646508, 646666, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 422260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422261, 423300, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423301, 424500, {60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 424501, 425060, {60, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425061, 426100, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426101, 427300, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427301, 432260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432261, 432860, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432861, 433400, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433401, 435060, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435061, 435660, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435661, 436200, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 436201, 439980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 125300, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125301, 125700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125701, 128500, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128501, 130040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 130041, 130240, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 130241, 130380, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 621520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621521, 621960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621961, 621980, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621981, 622460, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622461, 622880, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622881, 622920, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622921, 624100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624101, 625040, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625041, 625360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625361, 625480, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625481, 626300, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626301, 626420, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626421, 626680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626681, 627620, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627621, 628720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628721, 629020, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629021, 629260, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629261, 629660, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629661, 629940, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629941, 630200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630201, 631840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631841, 632100, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632101, 632540, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632541, 632780, {1, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632781, 633040, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633041, 633480, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633481, 634420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634421, 635360, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635361, 635480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635481, 636080, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636081, 636400, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636401, 637000, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637001, 637020, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637021, 637940, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637941, 638840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638841, 639580, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639581, 639600, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639601, 639780, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639781, 640520, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640521, 640540, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640541, 642160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642161, 642220, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642221, 643100, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643101, 643140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643141, 644080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644081, 644760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644761, 645580, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645581, 645680, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645681, 646520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646521, 646680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646681, 647340, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647341, 647600, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647601, 648260, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648261, 648960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648961, 649880, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649881, 649920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649921, 650200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650201, 650840, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650841, 651140, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651141, 652320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652321, 652500, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652501, 653260, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653261, 653420, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653421, 653740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653741, 654660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654661, 655080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655081, 655700, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655701, 656000, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656001, 656620, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656621, 657260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657261, 657660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657661, 658200, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658201, 658580, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658581, 659060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659061, 660000, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660001, 660240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660241, 660800, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660801, 661180, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661181, 661720, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661721, 662440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662441, 662820, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662821, 663360, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663361, 663760, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663761, 664320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664321, 665260, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665261, 665400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665401, 665800, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665801, 666340, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666341, 666740, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666741, 667860, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667861, 667980, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667981, 668780, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668781, 668920, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668921, 669180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669181, 670100, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670101, 670560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670561, 671380, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671381, 671500, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671501, 672320, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672321, 672540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672541, 673140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673141, 673480, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673481, 674080, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674081, 674920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674921, 675720, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675721, 675840, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675841, 675920, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675921, 676660, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676661, 676860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676861, 678300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678301, 678440, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678441, 679240, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679241, 679280, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679281, 679380, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679381, 680000, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 621520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621521, 621960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621961, 621980, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621981, 622460, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622461, 622880, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622881, 622920, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622921, 624100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624101, 625040, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625041, 625360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625361, 625480, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625481, 626300, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626301, 626420, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626421, 626680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626681, 627620, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627621, 628720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628721, 629020, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629021, 629260, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629261, 629660, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629661, 629940, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629941, 630200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630201, 631840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631841, 632100, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632101, 632540, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632541, 632780, {1, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632781, 633040, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633041, 633480, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633481, 634420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634421, 635360, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635361, 635480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635481, 636080, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636081, 636400, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636401, 637000, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637001, 637020, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637021, 637940, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637941, 638840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638841, 639580, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639581, 639600, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639601, 639780, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639781, 640520, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640521, 640540, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640541, 642160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642161, 642220, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642221, 643100, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643101, 643140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643141, 644080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644081, 644760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644761, 645580, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645581, 645680, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645681, 646520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646521, 646680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646681, 647340, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647341, 647600, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647601, 648260, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648261, 648960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648961, 649880, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649881, 649920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649921, 650200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650201, 650840, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650841, 651140, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651141, 652320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652321, 652500, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652501, 653260, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 653261, 653333, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693494, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693495, 693714, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693715, 693794, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693795, 694734, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694735, 696094, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696095, 696134, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696135, 696374, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696375, 697034, {1, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697035, 697074, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697075, 697314, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697315, 698954, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698955, 699514, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699515, 699634, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699635, 699894, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699895, 700454, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700455, 700554, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700555, 701534, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701535, 702474, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702475, 702894, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702895, 703154, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703155, 703814, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703815, 704094, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704095, 704114, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704115, 705054, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705055, 706254, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706255, 706694, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706695, 707194, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707195, 707634, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707635, 709294, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709295, 709634, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709635, 710214, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710215, 710554, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710555, 711154, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711155, 711874, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711875, 712794, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712795, 712994, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712995, 713754, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713755, 713934, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713935, 714454, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714455, 714694, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714695, 715374, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715375, 716374, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716375, 717034, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717035, 717294, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717295, 717954, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717955, 718214, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718215, 719614, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719615, 719734, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719735, 720534, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720535, 720674, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720675, 720814, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720815, 721754, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721755, 722194, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722195, 723114, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723115, 724034, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724035, 724354, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724355, 724774, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724775, 725274, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725275, 725714, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725715, 726474, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726475, 727354, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727355, 727414, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727415, 727874, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727875, 728294, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728295, 728814, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728815, 729854, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729855, 729934, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729935, 730774, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730775, 730874, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730875, 731414, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731415, 732334, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732335, 732514, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732515, 733214, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733215, 733333, {0, 1, 1} }, +}; + +static const struct cam_mipi_sensor_mode sensor_front_mipi_C_mode[] = { + { + sensor_s5k3lu_setfile_C_mipi_channel, ARRAY_SIZE(sensor_s5k3lu_setfile_C_mipi_channel), + sensor_s5k3lu_setfile_C_mipi_setting, ARRAY_SIZE(sensor_s5k3lu_setfile_C_mipi_setting) + }, +}; + +/*************************************/ +/* ========== DUMMY ================ */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_FRONT_DUMMY_REG_ARRAY[] = { +}; + +static const struct cam_sensor_i2c_reg_setting sensor_front_setfile_dummy[] = { + { MIPI_FRONT_DUMMY_REG_ARRAY, ARRAY_SIZE(MIPI_FRONT_DUMMY_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", 0, + sensor_front_setfile_dummy, ARRAY_SIZE(sensor_front_setfile_dummy) }, +}; + +static const struct cam_mipi_cell_ratings sensor_front_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_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_2_0_H_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3lu_uw_2_0.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3lu_uw_2_0.h new file mode 100755 index 0000000000..151ea6f58a --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5k3lu_uw_2_0.h @@ -0,0 +1,2372 @@ +/* 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_UW_H_ +#define _CAM_SENSOR_ADAPTIVE_MIPI_S5K3LU_UW_H_ + +#include "cam_sensor_dev.h" + +int num_uw_mipi_setting = 3; + +/* +Q6과제_UWCAM_Adaptive MIPI 2.0_3LU_231205.xlsx +SET A : (1292.8 / 1273.6 / 1267.2) +SET B : (1059.2 / 1011.2 / 992) +*/ + +/*************************************/ +/* ========== SET A =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_SET_A_1292_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x00CA, 0x00, 0x00}, + {0x0312, 0x0000, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_A_1273_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x00C7, 0x00, 0x00}, + {0x0312, 0x0000, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_A_1267_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x00C6, 0x00, 0x00}, + {0x0312, 0x0000, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_s5k3lu_setfile_A_mipi_1292[] = { + { MIPI_SET_A_1292_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_1292_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_1273[] = { + { MIPI_SET_A_1273_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_1273_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_1267[] = { + { MIPI_SET_A_1267_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_1267_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[] = { + { "1292 MHz", 1292, + sensor_s5k3lu_setfile_A_mipi_1292, ARRAY_SIZE(sensor_s5k3lu_setfile_A_mipi_1292) }, + { "1273 MHz", 1273, + sensor_s5k3lu_setfile_A_mipi_1273, ARRAY_SIZE(sensor_s5k3lu_setfile_A_mipi_1273) }, + { "1267 MHz", 1267, + sensor_s5k3lu_setfile_A_mipi_1267, ARRAY_SIZE(sensor_s5k3lu_setfile_A_mipi_1267) }, +}; + +static const struct cam_mipi_cell_ratings sensor_s5k3lu_setfile_A_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {0, 7, 14} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {0, 147, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {6, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10630, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10631, 10700, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10701, 10736, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10737, 10790, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10791, 10806, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10807, 10838, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9730, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9731, 9785, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9786, 9835, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9836, 9855, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9856, 9905, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9906, 9938, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1209, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1210, 1277, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1278, 1323, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1324, 1347, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1348, 1393, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1394, 1462, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1463, 1513, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1605, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1606, 1675, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1676, 1711, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1712, 1738, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4401, 4422, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4423, 4458, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4401, 4413, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2341, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2342, 2395, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2396, 2411, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2412, 2462, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2463, 2465, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2466, 2532, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2533, 2563, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 3016, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3017, 3040, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3041, 3086, {0, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3087, 3088, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 725, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 726, 747, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 748, 763, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 161, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 162, 301, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 302, 372, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 373, 481, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 482, 512, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 513, 599, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 621, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 622, 761, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 762, 871, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 872, 970, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 971, 1011, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1012, 1110, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1111, 1199, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1319, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1320, 1454, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1455, 1547, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1548, 1594, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1595, 1687, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1688, 1825, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1826, 1949, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2111, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2112, 2251, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2252, 2322, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2323, 2399, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2510, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2511, 2555, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2556, 2649, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2982, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2983, 3091, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3092, 3122, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3123, 3225, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3226, 3231, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3232, 3365, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3366, 3449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3633, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3634, 3681, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3682, 3773, {0, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3774, 3799, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5179, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5253, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5254, 5279, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5373, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5374, 5379, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5849, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5999, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6050, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6051, 6095, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6096, 6149, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6406, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6407, 6448, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6449, 6449, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6599, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8061, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8062, 8201, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8202, 8311, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8312, 8410, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8411, 8451, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8452, 8550, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8551, 8689, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8901, 8945, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8946, 9039, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9303, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9304, 9316, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9317, 9341, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9342, 9456, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9457, 9659, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9670, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9671, 9769, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9783, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9784, 9869, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9976, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9977, 10042, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10043, 10116, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10117, 10197, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10198, 10337, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10338, 10359, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36208, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36209, 36305, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36306, 36349, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37835, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37836, 37957, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37958, 37975, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37976, 38088, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38089, 38097, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38098, 38228, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38229, 38249, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38265, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38266, 38387, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38388, 38483, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38484, 38527, {0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38528, 38623, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38624, 38649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38850, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38851, 38990, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38991, 39023, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39024, 39141, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39142, 39163, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39164, 39281, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39282, 39496, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39497, 39636, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39637, 39649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39829, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39830, 39963, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39964, 39969, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39970, 40091, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40092, 40103, {0, 40, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40104, 40231, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40232, 40475, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40476, 40597, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40598, 40615, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40616, 40728, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40729, 40737, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40738, 40868, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40869, 41122, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41123, 41231, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41232, 41262, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41263, 41365, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41366, 41371, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41372, 41505, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41506, 41589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41734, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41735, 41779, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41780, 41874, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41875, 41907, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41908, 41919, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41920, 42047, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42048, 42368, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42369, 42425, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42426, 42508, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42509, 42544, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42545, 42565, {2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42566, 42684, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42685, 43001, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43002, 43072, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43073, 43141, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43142, 43180, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43181, 43212, {40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43213, 43320, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43321, 43589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55291, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55292, 55330, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55331, 55362, {40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55363, 55470, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55471, 55785, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55786, 55868, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55869, 55925, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55926, 55967, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55968, 56008, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56009, 56107, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56108, 56418, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56419, 56514, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56515, 56558, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56559, 56604, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56605, 56654, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56655, 56739, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66597, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66598, 66737, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66738, 66808, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66809, 66917, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66918, 66948, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66949, 67057, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67058, 67243, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67244, 67335, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68681, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68682, 68713, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68714, 68809, {0, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68810, 68821, {140, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68822, 68853, {140, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68854, 68935, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {0, 63, 63} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 66, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {0, 63, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 0, 63} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 425220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425221, 428020, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428021, 429440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429441, 431620, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 431621, 432240, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432241, 433980, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 386420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386421, 389220, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389221, 391420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391421, 393400, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393401, 394220, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 394221, 396200, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396201, 397980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 363380, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363381, 366080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366081, 367940, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367941, 368880, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 368881, 370740, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370741, 373500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373501, 375980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 176000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176001, 176900, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176901, 178780, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 528640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528641, 530820, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530821, 531440, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531441, 533500, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533501, 533620, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533621, 536300, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 536301, 538000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 188660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 188661, 189620, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189621, 191460, {0, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191461, 191980, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 149200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 150660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150661, 151200, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 153460, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153461, 153580, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 175000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 163320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163321, 164160, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 164161, 164180, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 386420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386421, 389220, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389221, 391420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391421, 393400, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393401, 394220, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 394221, 396200, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396201, 398980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 176000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176001, 176900, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176901, 178800, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 153460, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153461, 153720, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153721, 154220, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154221, 156520, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156521, 160580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 143600, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143601, 145580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 470260, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470261, 471980, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 515700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515701, 518140, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518141, 518500, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518501, 520760, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 520761, 520940, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 520941, 523560, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 523561, 523980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 376300, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376301, 378740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378741, 380660, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380661, 381540, {0, 60, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381541, 383460, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 383461, 384000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 464000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464001, 466800, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466801, 467460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467461, 469820, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 469821, 470260, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 470261, 472620, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 472621, 476920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476921, 479720, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479721, 480000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 502780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502781, 505460, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505461, 505580, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505581, 508020, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 508021, 508260, {0, 40, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 508261, 510820, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 510821, 515700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515701, 518140, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518141, 518500, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518501, 520760, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 520761, 520940, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 520941, 523560, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 523561, 528640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528641, 530820, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530821, 531440, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531441, 533500, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533501, 533620, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533621, 536300, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 536301, 537980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 637007, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637008, 637267, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637268, 637467, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637468, 638187, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638188, 640287, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640288, 640847, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640848, 641227, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641228, 641507, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641508, 641787, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641788, 642447, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642448, 644507, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644508, 645147, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645148, 645447, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645448, 645747, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645748, 646087, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646088, 646666, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 425220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425221, 428020, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428021, 429440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429441, 431620, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 431621, 432240, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432241, 434420, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 434421, 438140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438141, 439980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 125300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125301, 125940, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125941, 127860, {0, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127861, 128100, {140, 140, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128101, 128740, {140, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128741, 130380, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620100, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620101, 620240, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620241, 620280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620281, 621220, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621221, 623400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623401, 623600, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623601, 624320, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624321, 624520, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624521, 624540, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624541, 625460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625461, 627620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627621, 627920, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627921, 628560, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628561, 628780, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628781, 628860, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628861, 629700, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629701, 631840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631841, 632220, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632221, 632780, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632781, 633020, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633021, 633160, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633161, 633940, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633941, 636060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636061, 636540, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636541, 637000, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637001, 637260, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637261, 637460, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637461, 638200, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638201, 640300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640301, 640840, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640841, 641220, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641221, 641500, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641501, 641780, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641781, 642440, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642441, 644520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644521, 645160, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645161, 645440, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645441, 645760, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645761, 646080, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646081, 646680, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646681, 648740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648741, 649460, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649461, 649680, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649681, 650000, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650001, 650400, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650401, 650940, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650941, 652960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652961, 653780, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653781, 653900, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653901, 654240, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654241, 654700, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654701, 655180, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655181, 657180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657181, 658080, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658081, 658120, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658121, 658480, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658481, 659020, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659021, 659420, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659421, 661420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661421, 662340, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662341, 662400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662401, 662740, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662741, 663320, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663321, 663660, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663661, 665640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665641, 666560, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666561, 666700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666701, 666980, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666981, 667640, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667641, 667920, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667921, 669860, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669861, 670800, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670801, 671020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671021, 671220, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671221, 671940, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671941, 672160, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672161, 674080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674081, 675020, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675021, 675320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675321, 675480, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675481, 676260, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676261, 676400, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676401, 678300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678301, 679240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679241, 679620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679621, 679720, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679721, 680000, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620100, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620101, 620240, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620241, 620280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620281, 621220, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621221, 623400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623401, 623600, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623601, 624320, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624321, 624520, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624521, 624540, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624541, 625460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625461, 627620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627621, 627920, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627921, 628560, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628561, 628780, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628781, 628860, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628861, 629700, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629701, 631840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631841, 632220, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632221, 632780, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632781, 633020, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633021, 633160, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633161, 633940, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633941, 636060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636061, 636540, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636541, 637000, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637001, 637260, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637261, 637460, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637461, 638200, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638201, 640300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640301, 640840, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640841, 641220, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641221, 641500, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641501, 641780, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641781, 642440, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642441, 644520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644521, 645160, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645161, 645440, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645441, 645760, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645761, 646080, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646081, 646680, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646681, 648740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648741, 649460, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649461, 649680, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649681, 650000, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650001, 650400, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650401, 650940, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650941, 652960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652961, 653333, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693394, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693395, 693494, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693495, 695214, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695215, 696134, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696135, 696694, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696695, 696874, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696875, 697634, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697635, 697794, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697795, 699434, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699435, 700354, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700355, 700934, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700935, 701174, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701175, 701874, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701875, 702114, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702115, 703654, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703655, 704594, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704595, 705194, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705195, 705494, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705495, 706114, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706115, 706414, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706415, 707874, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707875, 708814, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708815, 709434, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709435, 709794, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709795, 710374, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710375, 710734, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710735, 712094, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712095, 713034, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713035, 713674, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713675, 714114, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714115, 714614, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714615, 715034, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715035, 716334, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716335, 717254, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717255, 717914, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717915, 717934, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717935, 718414, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718415, 718854, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718855, 719354, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719355, 720554, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720555, 721474, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721475, 722174, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722175, 722734, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722735, 723094, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723095, 723654, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723655, 724774, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724775, 725714, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725715, 726414, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726415, 727034, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727035, 727354, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727355, 727974, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727975, 728994, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728995, 729934, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729935, 730654, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730655, 731334, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731335, 731594, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731595, 732274, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732275, 733214, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733215, 733333, {0, 0, 1} }, +}; + +static const struct cam_mipi_sensor_mode sensor_uw_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) + }, +}; + +/*************************************/ +/* ========== SET B =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_SET_B_793_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x00F8, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_B_774_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x00F2, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_B_723_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x00E2, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_s5k3lu_setfile_B_mipi_793[] = { + { MIPI_SET_B_793_REG_ARRAY, ARRAY_SIZE(MIPI_SET_B_793_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_774[] = { + { MIPI_SET_B_774_REG_ARRAY, ARRAY_SIZE(MIPI_SET_B_774_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_723[] = { + { MIPI_SET_B_723_REG_ARRAY, ARRAY_SIZE(MIPI_SET_B_723_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[] = { + { "793 MHz", 793, + sensor_s5k3lu_setfile_B_mipi_793, ARRAY_SIZE(sensor_s5k3lu_setfile_B_mipi_793) }, + { "774 MHz", 774, + sensor_s5k3lu_setfile_B_mipi_774, ARRAY_SIZE(sensor_s5k3lu_setfile_B_mipi_774) }, + { "723 MHz", 723, + sensor_s5k3lu_setfile_B_mipi_723, ARRAY_SIZE(sensor_s5k3lu_setfile_B_mipi_723) }, +}; + +static const struct cam_mipi_cell_ratings sensor_s5k3lu_setfile_B_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {0, 69, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {63, 63, 63} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10612, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10613, 10632, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10633, 10678, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10679, 10682, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10683, 10702, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10703, 10748, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10749, 10806, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10807, 10812, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10813, 10838, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9686, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9687, 9714, {3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9715, 9728, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9729, 9756, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9757, 9798, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9799, 9838, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9839, 9884, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9885, 9908, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9909, 9938, {60, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1189, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1190, 1199, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1200, 1216, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1217, 1259, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1260, 1286, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1287, 1310, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1311, 1380, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1381, 1382, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1383, 1414, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1415, 1452, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1453, 1484, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1485, 1491, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1492, 1513, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1587, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1588, 1607, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1608, 1653, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1654, 1657, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1658, 1677, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1678, 1723, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1724, 1738, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4374, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4375, 4399, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4400, 4417, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4418, 4458, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4399, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4400, 4413, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2254, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2255, 2254, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2255, 2288, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2289, 2324, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2325, 2358, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2359, 2382, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2383, 2448, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2449, 2452, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2453, 2469, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2470, 2518, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2519, 2539, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2540, 2563, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2965, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2966, 2981, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2982, 3026, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3027, 3035, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3036, 3088, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 724, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 725, 742, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 743, 763, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 0, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 1, 125, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 126, 164, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 165, 257, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 258, 265, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 266, 304, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 305, 397, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 398, 513, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 514, 525, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 526, 599, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 673, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 674, 729, {3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 730, 756, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 757, 813, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 814, 896, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 897, 977, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 978, 1069, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1070, 1117, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1118, 1199, {60, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1278, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1279, 1299, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1300, 1332, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1333, 1418, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1419, 1472, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1473, 1521, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1522, 1661, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1662, 1665, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1666, 1729, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1730, 1805, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1806, 1869, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1870, 1883, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1884, 1949, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1950, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1951, 2075, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2076, 2114, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2115, 2207, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2208, 2215, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2216, 2254, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2255, 2347, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2348, 2399, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2458, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2459, 2509, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2510, 2545, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2546, 2649, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2808, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2809, 2809, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2810, 2876, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2877, 2949, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2950, 3016, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3017, 3065, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3066, 3196, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3197, 3205, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3206, 3238, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3239, 3336, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3337, 3378, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3379, 3449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3531, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3532, 3562, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3563, 3653, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3654, 3671, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3672, 3793, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3794, 3799, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5021, {0, 140, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5022, 5146, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5147, 5179, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5189, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5190, 5243, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5244, 5279, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5309, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5310, 5363, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5364, 5373, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5374, 5379, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5816, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5817, 5849, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5858, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5859, 5909, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5910, 5998, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5999, 5999, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6049, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6050, 6085, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6086, 6149, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6245, {140, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6246, 6265, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6266, 6301, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6302, 6441, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6442, 6449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6499, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6500, 6521, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6522, 6599, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8113, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8114, 8169, {3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8170, 8196, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8197, 8253, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8254, 8336, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8337, 8417, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8418, 8509, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8510, 8557, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8558, 8649, {60, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8650, 8689, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8708, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8709, 8759, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8760, 8848, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8849, 8899, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8900, 8935, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8936, 9039, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9239, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9240, 9293, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9294, 9303, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9304, 9443, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9444, 9495, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9496, 9515, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9516, 9635, {140, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9636, 9655, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9656, 9659, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9702, {7, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9703, 9769, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9819, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9820, 9843, {0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9844, 9869, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9933, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9934, 10011, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10012, 10043, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10044, 10151, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10152, 10155, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10156, 10183, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10184, 10295, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10296, 10359, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36266, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36267, 36279, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36280, 36304, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36305, 36349, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37771, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37772, 37793, {40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37794, 37911, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37912, 37922, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37923, 38015, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38016, 38062, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38063, 38155, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38156, 38168, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38169, 38249, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38323, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38324, 38352, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38353, 38426, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38427, 38492, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38493, 38544, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38545, 38566, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38567, 38649, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38722, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38723, 38734, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38735, 38811, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38812, 38862, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38863, 38951, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38952, 38991, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38992, 39083, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39084, 39131, {2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39132, 39199, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39200, 39223, {0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39224, 39339, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39340, 39387, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39388, 39445, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39446, 39527, {40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39528, 39585, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39586, 39586, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39587, 39649, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39710, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39711, 39758, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39759, 39787, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39788, 39927, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39928, 39931, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39932, 40015, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40016, 40071, {2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40072, 40155, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40156, 40175, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40176, 40293, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40294, 40315, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40316, 40411, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40412, 40433, {40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40434, 40551, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40552, 40562, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40563, 40655, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40656, 40702, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40703, 40795, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40796, 40808, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40809, 40948, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40949, 40949, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40950, 41016, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41017, 41089, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41090, 41156, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41157, 41205, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41206, 41336, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41337, 41345, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41346, 41378, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41379, 41476, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41477, 41518, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41519, 41589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41593, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41594, 41644, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41645, 41650, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41651, 41733, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41734, 41784, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41785, 41872, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41873, 41980, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41981, 42012, {0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42013, 42041, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42042, 42120, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42121, 42181, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42182, 42233, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42234, 42368, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42369, 42373, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42374, 42438, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42439, 42508, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42509, 42578, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42579, 42595, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42596, 42735, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42736, 42755, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42756, 42835, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42836, 42895, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42896, 42956, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42957, 42975, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42976, 43096, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43097, 43142, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43143, 43232, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43233, 43282, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43283, 43318, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43319, 43372, {40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43373, 43458, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43459, 43529, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43530, 43589, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55246, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55247, 55292, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55293, 55382, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55383, 55432, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55433, 55468, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55469, 55522, {40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55523, 55608, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55609, 55679, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55680, 55778, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55779, 55819, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55820, 55830, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55831, 55918, {2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55919, 55970, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55971, 56066, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56067, 56175, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56176, 56191, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56192, 56206, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56207, 56315, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56316, 56331, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56332, 56454, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56455, 56553, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56554, 56572, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56573, 56594, {2, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56595, 56693, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56694, 56712, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56713, 56739, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66436, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66437, 66561, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66562, 66600, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66601, 66693, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66694, 66701, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66702, 66740, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66741, 66833, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66834, 66949, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66950, 66961, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66962, 67089, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67090, 67101, {60, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67102, 67229, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67230, 67323, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67324, 67335, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68633, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68634, 68681, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68682, 68694, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68695, 68834, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68835, 68854, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68855, 68928, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68929, 68935, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {6, 6, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 9, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {3, 6, 36} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 6, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {4, 44, 2} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 6, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {14, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {63, 63, 63} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 422000, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422001, 424500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 424501, 425280, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425281, 427140, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427141, 427300, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427301, 428080, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428081, 429940, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429941, 432260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432261, 432500, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432501, 433980, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 387460, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 387461, 388580, {3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388581, 389120, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389121, 390260, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 390261, 391920, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391921, 393540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393541, 395380, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395381, 396340, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396341, 397980, {60, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 362560, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362561, 362980, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362981, 363640, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363641, 365360, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365361, 366440, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366441, 367420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367421, 370220, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370221, 370300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370301, 371580, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 371581, 373100, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373101, 374380, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 374381, 374660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 374661, 375980, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 174960, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 174961, 175980, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175981, 176700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176701, 178780, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 525160, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525161, 525180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525181, 526520, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 526521, 527980, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527981, 529320, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 529321, 530300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530301, 532920, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 532921, 533100, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533101, 533760, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533761, 535720, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 535721, 536560, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 536561, 538000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186620, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186621, 187240, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187241, 189060, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189061, 189420, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189421, 191860, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191861, 191980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146020, {0, 140, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146021, 148520, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148521, 149200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 149380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149381, 150460, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150461, 151200, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 152180, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 152181, 153260, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153261, 153460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153461, 153580, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 172160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172161, 173180, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173181, 174960, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 174961, 175000, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 160100, {140, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160101, 160500, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160501, 161220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 161221, 164020, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 164021, 164180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 387460, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 387461, 388580, {3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388581, 389120, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389121, 390260, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 390261, 391920, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391921, 393540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393541, 395380, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395381, 396340, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396341, 398180, {60, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 398181, 398980, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 172160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172161, 173180, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173181, 174960, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 174961, 175980, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175981, 176700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176701, 178800, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 152180, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 152181, 153260, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153261, 153460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153461, 156260, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156261, 157300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157301, 157700, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157701, 160100, {140, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160101, 160500, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160501, 160580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 144240, {7, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 144241, 145580, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 470980, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470981, 471460, {0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471461, 471980, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 514420, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514421, 514860, {40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514861, 517220, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517221, 517440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517441, 519300, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 519301, 520240, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 520241, 522100, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522101, 522360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522361, 523980, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 377460, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377461, 378040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378041, 379520, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 379521, 380840, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380841, 381880, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381881, 382320, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382321, 384000, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 461440, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461441, 461680, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461681, 463220, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463221, 464240, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464241, 466020, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466021, 466820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466821, 468660, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468661, 469620, {2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 469621, 470980, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 470981, 471460, {0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471461, 473780, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 473781, 474740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 474741, 475900, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475901, 477540, {40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477541, 478700, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478701, 478720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478721, 480000, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 500400, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 500401, 501360, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501361, 501940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501941, 504740, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504741, 504820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504821, 506500, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506501, 507620, {2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507621, 509300, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509301, 509700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509701, 512060, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512061, 512500, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512501, 514420, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514421, 514860, {40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514861, 517220, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517221, 517440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517441, 519300, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 519301, 520240, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 520241, 522100, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522101, 522360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522361, 525160, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525161, 525180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525181, 526520, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 526521, 527980, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527981, 529320, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 529321, 530300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530301, 532920, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 532921, 533100, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533101, 533760, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533761, 535720, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 535721, 536560, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 536561, 537980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 636707, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636708, 637007, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637008, 637607, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637608, 637947, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637948, 638187, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638188, 638547, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638548, 639107, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639108, 639587, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639588, 640247, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640248, 640527, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640528, 640587, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640588, 641187, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641188, 641527, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641528, 642167, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642168, 642887, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642888, 643007, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643008, 643107, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643108, 643827, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643828, 643927, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643928, 644747, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644748, 645407, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645408, 645547, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645548, 645687, {1, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645688, 646347, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646348, 646467, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646468, 646666, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 422000, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422001, 424500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 424501, 425280, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425281, 427140, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427141, 427300, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427301, 428080, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428081, 429940, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429941, 432260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432261, 432500, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432501, 435060, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435061, 435300, {60, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435301, 437860, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437861, 439740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 439741, 439980, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124340, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124341, 125300, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125301, 125560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125561, 128360, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128361, 128760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128761, 130240, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 130241, 130380, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620020, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620021, 621300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621301, 621520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621521, 621740, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621741, 622240, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622241, 622460, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622461, 622660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622661, 623720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623721, 624100, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624101, 624380, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624381, 624640, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624641, 625040, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625041, 625300, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625301, 626120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626121, 626680, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626681, 627020, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627021, 627060, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627061, 627620, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627621, 627960, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627961, 628540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628541, 629260, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629261, 629480, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629481, 629660, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629661, 630200, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630201, 630600, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630601, 630940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630941, 631840, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631841, 631880, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631881, 632320, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632321, 632780, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632781, 633240, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633241, 633360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633361, 634300, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634301, 634420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634421, 634960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634961, 635360, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635361, 635760, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635761, 635900, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635901, 636700, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636701, 637000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637001, 637600, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637601, 637940, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637941, 638180, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638181, 638540, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638541, 639120, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639121, 639580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639581, 640240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640241, 640520, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640521, 640600, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640601, 641180, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641181, 641520, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641521, 642160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642161, 642900, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642901, 643000, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643001, 643100, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643101, 643820, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643821, 643940, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643941, 644760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644761, 645420, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645421, 645540, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645541, 645680, {1, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645681, 646340, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646341, 646480, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646481, 647340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647341, 647820, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647821, 648180, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648181, 648260, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648261, 648760, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648761, 649120, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649121, 649920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649921, 650240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650241, 650840, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650841, 651160, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651161, 651760, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651761, 652500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652501, 652640, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652641, 653420, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653421, 653480, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653481, 653580, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653581, 654400, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654401, 655060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655061, 655080, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655081, 655980, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655981, 656000, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656001, 656120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656121, 657060, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657061, 657460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657461, 657660, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657661, 658400, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658401, 658580, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658581, 658760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658761, 659700, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659701, 659880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659881, 660240, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660241, 660800, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660801, 661180, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661181, 661420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661421, 662280, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662281, 662340, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662341, 662820, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662821, 663220, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663221, 663760, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663761, 664060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664061, 664700, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664701, 664980, {20, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664981, 665400, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665401, 665640, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665641, 666340, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666341, 666700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666701, 667100, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667101, 667640, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667641, 667980, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667981, 668040, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668041, 668920, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668921, 669340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669341, 669520, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669521, 670280, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670281, 670460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670461, 670560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670561, 671500, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671501, 671920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671921, 672000, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672001, 672860, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672861, 672920, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672921, 673140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673141, 674080, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674081, 674340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674341, 674640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674641, 675280, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675281, 675580, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675581, 675720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675721, 676660, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676661, 676760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676761, 677280, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677281, 677680, {20, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677681, 678220, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678221, 678300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678301, 679160, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679161, 679240, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679241, 679920, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679921, 680000, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620020, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620021, 621300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621301, 621520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621521, 621740, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621741, 622240, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622241, 622460, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622461, 622660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622661, 623720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623721, 624100, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624101, 624380, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624381, 624640, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624641, 625040, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625041, 625300, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625301, 626120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626121, 626680, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626681, 627020, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627021, 627060, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627061, 627620, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627621, 627960, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627961, 628540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628541, 629260, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629261, 629480, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629481, 629660, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629661, 630200, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630201, 630600, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630601, 630940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630941, 631840, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631841, 631880, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631881, 632320, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632321, 632780, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632781, 633240, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633241, 633360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633361, 634300, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634301, 634420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634421, 634960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634961, 635360, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635361, 635760, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635761, 635900, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635901, 636700, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636701, 637000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637001, 637600, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637601, 637940, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637941, 638180, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638181, 638540, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638541, 639120, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639121, 639580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639581, 640240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640241, 640520, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640521, 640600, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640601, 641180, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641181, 641520, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641521, 642160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642161, 642900, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642901, 643000, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643001, 643100, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643101, 643820, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643821, 643940, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643941, 644760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644761, 645420, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645421, 645540, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645541, 645680, {1, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645681, 646340, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646341, 646480, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646481, 647340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647341, 647820, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647821, 648180, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648181, 648260, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648261, 648760, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648761, 649120, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649121, 649920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649921, 650240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650241, 650840, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650841, 651160, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651161, 651760, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651761, 652500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652501, 652640, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652641, 653333, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693634, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693635, 693794, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693795, 694094, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694095, 694554, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694555, 694734, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694735, 695794, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695795, 696034, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696035, 696374, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696375, 696734, {1, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696735, 696974, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696975, 697314, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697315, 698454, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698455, 698954, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698955, 699374, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699375, 699894, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699895, 700854, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700855, 701094, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701095, 701534, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701535, 701794, {1, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701795, 702034, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702035, 702474, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702475, 703274, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703275, 703734, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703735, 704114, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704115, 704194, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704195, 704674, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704675, 705054, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705055, 705674, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705675, 706374, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706375, 706614, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706615, 706694, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706695, 707314, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707315, 707634, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707635, 708094, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708095, 709014, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709015, 709034, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709035, 709294, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709295, 709954, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709955, 710214, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710215, 710494, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710495, 711434, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711435, 711674, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711675, 711874, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711875, 712614, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712615, 712794, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712795, 712914, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712915, 713834, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713835, 714314, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714315, 714454, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714455, 715254, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715255, 715314, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715315, 715374, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715375, 716254, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716255, 716974, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716975, 717034, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717035, 717734, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717735, 717894, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717895, 717954, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717955, 718674, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718675, 719614, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719615, 720134, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720135, 720534, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720535, 721074, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721075, 722194, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722195, 722254, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722255, 722554, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722555, 723114, {1, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723115, 723194, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723195, 723494, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723495, 724774, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724775, 724894, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724895, 724974, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724975, 725714, {1, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725715, 725834, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725835, 725894, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725895, 727354, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727355, 727374, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727375, 727554, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727555, 728294, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728295, 728314, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728315, 728474, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728475, 729794, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729795, 729934, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729935, 730194, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730195, 730714, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730715, 730874, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730875, 731114, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731115, 732194, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732195, 732514, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732515, 732834, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732835, 733134, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733135, 733333, {1, 0, 1} }, +}; + +static const struct cam_mipi_sensor_mode sensor_uw_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) + }, +}; + +/*************************************/ +/* ========== SET C =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_SET_C_1059_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x014B, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_C_1011_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x013C, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_C_992_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x0136, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_s5k3lu_setfile_C_mipi_1059[] = { + { MIPI_SET_C_1059_REG_ARRAY, ARRAY_SIZE(MIPI_SET_C_1059_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 } +}; + +static const struct cam_sensor_i2c_reg_setting sensor_s5k3lu_setfile_C_mipi_1011[] = { + { MIPI_SET_C_1011_REG_ARRAY, ARRAY_SIZE(MIPI_SET_C_1011_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 } +}; + +static const struct cam_sensor_i2c_reg_setting sensor_s5k3lu_setfile_C_mipi_992[] = { + { MIPI_SET_C_992_REG_ARRAY, ARRAY_SIZE(MIPI_SET_C_992_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 } +}; + +static const struct cam_mipi_setting sensor_s5k3lu_setfile_C_mipi_setting[] = { + { "1059 MHz", 1059, + sensor_s5k3lu_setfile_C_mipi_1059, ARRAY_SIZE(sensor_s5k3lu_setfile_C_mipi_1059) }, + { "1011 MHz", 1011, + sensor_s5k3lu_setfile_C_mipi_1011, ARRAY_SIZE(sensor_s5k3lu_setfile_C_mipi_1011) }, + { "992 MHz", 992, + sensor_s5k3lu_setfile_C_mipi_992, ARRAY_SIZE(sensor_s5k3lu_setfile_C_mipi_992) }, +}; + +static const struct cam_mipi_cell_ratings sensor_s5k3lu_setfile_C_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {3, 0, 63} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10582, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10583, 10612, {60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10613, 10626, {60, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10627, 10652, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10653, 10682, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10683, 10806, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10807, 10821, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10822, 10835, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10836, 10838, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9714, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9715, 9762, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9763, 9824, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9825, 9832, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9833, 9838, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9839, 9894, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9895, 9908, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9909, 9938, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1163, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1164, 1189, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1190, 1190, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1191, 1259, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1260, 1260, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1261, 1357, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1358, 1382, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1383, 1427, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1428, 1443, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1444, 1452, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1453, 1513, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1557, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1558, 1587, {60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1588, 1601, {60, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1602, 1627, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1628, 1657, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1658, 1738, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4417, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4418, 4458, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4413, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2254, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2255, 2305, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2306, 2324, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2325, 2329, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2330, 2399, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2400, 2448, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2449, 2488, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2489, 2518, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2519, 2558, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2559, 2563, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2981, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2982, 3031, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3032, 3068, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3069, 3088, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 742, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 743, 763, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 13, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 14, 65, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 66, 125, {60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 126, 153, {60, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 154, 205, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 206, 265, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 266, 513, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 514, 543, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 544, 570, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 571, 599, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 729, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 730, 825, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 826, 948, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 949, 965, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 966, 977, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 978, 1088, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1089, 1117, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1118, 1199, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1226, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1227, 1278, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1279, 1281, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1282, 1418, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1419, 1421, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1422, 1615, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1616, 1665, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1666, 1755, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1756, 1787, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1788, 1805, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1806, 1927, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1928, 1949, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1963, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1964, 2015, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2016, 2075, {60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2076, 2103, {60, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2104, 2155, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2156, 2215, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2216, 2399, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2545, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2546, 2643, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2644, 2649, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2771, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2772, 2809, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2810, 2911, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2912, 2949, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2950, 2959, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2960, 3099, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3100, 3196, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3197, 3276, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3277, 3336, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3337, 3416, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3417, 3449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3562, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3563, 3662, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3663, 3736, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3737, 3799, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5064, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5065, 5146, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5147, 5179, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5204, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5205, 5233, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5234, 5279, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5353, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5354, 5373, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5374, 5379, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5734, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5735, 5816, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5817, 5849, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5915, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5916, 5999, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6085, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6086, 6149, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6253, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6254, 6259, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6260, 6301, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6302, 6399, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6400, 6441, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6442, 6449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6521, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6522, 6588, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6589, 6599, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8169, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8170, 8265, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8266, 8388, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8389, 8405, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8406, 8417, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8418, 8528, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8529, 8557, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8558, 8689, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8765, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8766, 8935, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8936, 9033, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9034, 9039, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9283, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9284, 9303, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9304, 9443, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9444, 9503, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9504, 9643, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9644, 9649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9650, 9659, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9769, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9819, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9820, 9869, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9992, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9993, 10043, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10044, 10132, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10133, 10158, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10159, 10183, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10184, 10298, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10299, 10359, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36254, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36255, 36294, {3, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36295, 36304, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36305, 36349, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37765, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37766, 37905, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37906, 37922, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37923, 37930, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37931, 38062, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38063, 38070, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38071, 38249, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38352, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38353, 38445, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38446, 38492, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38493, 38585, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38586, 38592, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38593, 38649, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38811, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38812, 38837, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38838, 38882, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38883, 38951, {2, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38952, 38977, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38978, 39022, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39023, 39199, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39200, 39339, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39340, 39343, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39344, 39411, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39412, 39483, {40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39484, 39551, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39552, 39586, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39587, 39649, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39651, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39652, 39787, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39788, 39899, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39900, 39927, {0, 40, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39928, 40039, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40040, 40040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40041, 40175, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40176, 40180, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40181, 40315, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40316, 40405, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40406, 40545, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40546, 40562, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40563, 40570, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40571, 40702, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40703, 40710, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40711, 40911, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40912, 40949, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40950, 41051, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41052, 41089, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41090, 41099, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41100, 41239, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41240, 41336, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41337, 41416, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41417, 41476, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41477, 41556, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41557, 41589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41593, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41594, 41733, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41734, 41900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41901, 41944, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41945, 41980, {40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41981, 42040, {40, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42041, 42084, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42085, 42120, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42121, 42368, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42369, 42406, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42407, 42473, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42474, 42508, {2, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42509, 42546, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42547, 42613, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42614, 42755, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42756, 42895, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42896, 42912, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42913, 43003, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43004, 43052, {2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43053, 43142, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43143, 43143, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43144, 43282, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43283, 43417, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43418, 43529, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43530, 43532, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43533, 43557, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43558, 43589, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55292, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55293, 55293, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55294, 55432, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55433, 55567, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55568, 55679, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55680, 55682, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55683, 55707, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55708, 55819, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55820, 55822, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55823, 56066, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56067, 56073, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56074, 56206, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56207, 56212, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56213, 56213, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56214, 56352, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56353, 56454, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56455, 56578, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56579, 56594, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56595, 56718, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56719, 56739, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66450, 66501, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66502, 66561, {60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66562, 66589, {60, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66590, 66641, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66642, 66701, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66702, 66949, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66950, 66979, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66980, 67006, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67007, 67089, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67090, 67119, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67120, 67146, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67147, 67335, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68681, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68682, 68701, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68702, 68841, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68842, 68918, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68919, 68928, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68929, 68935, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {6, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {66, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {3, 6, 36} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {3, 0, 63} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 422260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422261, 423300, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423301, 424500, {60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 424501, 425060, {60, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425061, 426100, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426101, 427300, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427301, 432260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432261, 432860, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432861, 433400, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433401, 433980, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 388580, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388581, 390500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 390501, 392960, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392961, 393300, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393301, 393540, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393541, 395760, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395761, 396340, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396341, 397980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 361520, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361521, 362560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362561, 362620, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362621, 365360, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365361, 365420, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365421, 369300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369301, 370300, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370301, 372100, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372101, 372740, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372741, 373100, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373101, 375540, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 375541, 375980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 176700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176701, 178660, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178661, 178780, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 524420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524421, 525180, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525181, 527220, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527221, 527980, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527981, 528180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528181, 530980, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530981, 532920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 532921, 534520, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534521, 535720, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 535721, 537320, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537321, 538000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 187240, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187241, 189240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189241, 190720, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 190721, 191980, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146880, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146881, 148520, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148521, 149200, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 149680, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149681, 150260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150261, 151200, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 153060, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153061, 153460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153461, 153580, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 173300, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173301, 175000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 160260, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160261, 160380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160381, 161220, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 161221, 163180, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163181, 164020, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 164021, 164180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 388580, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388581, 390500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 390501, 392960, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392961, 393300, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393301, 393540, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393541, 395760, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395761, 396340, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396341, 398980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 173300, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173301, 176700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176701, 178660, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178661, 178800, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 153060, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153061, 153460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153461, 156260, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156261, 157460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157461, 160260, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160261, 160380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160381, 160580, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 145580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 470980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470981, 471980, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 514300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514301, 517100, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517101, 517440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517441, 517600, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517601, 520240, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 520241, 520400, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 520401, 523980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 378040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378041, 379900, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 379901, 380840, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380841, 382700, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382701, 382840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382841, 384000, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 463220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463221, 463740, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463741, 464640, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464641, 466020, {2, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466021, 466540, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466541, 467440, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467441, 470980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 470981, 473780, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 473781, 473860, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 473861, 475220, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475221, 476660, {40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476661, 478020, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478021, 478720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478721, 480000, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 499220, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499221, 501940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501941, 504180, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504181, 504740, {0, 40, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504741, 506980, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506981, 507000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507001, 509700, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509701, 509800, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509801, 512500, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512501, 514300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514301, 517100, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517101, 517440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517441, 517600, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517601, 520240, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 520241, 520400, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 520401, 524420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524421, 525180, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525181, 527220, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527221, 527980, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527981, 528180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528181, 530980, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530981, 532920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 532921, 534520, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534521, 535720, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 535721, 537320, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537321, 537980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 637007, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637008, 637947, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637948, 638847, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638848, 639587, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639588, 639607, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639608, 639767, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639768, 640527, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640528, 640547, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640548, 642167, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642168, 642207, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642208, 643107, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643108, 643147, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643148, 644067, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644068, 644747, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644748, 645587, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645588, 645687, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645688, 646507, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646508, 646666, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 422260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422261, 423300, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423301, 424500, {60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 424501, 425060, {60, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425061, 426100, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426101, 427300, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427301, 432260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432261, 432860, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432861, 433400, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433401, 435060, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435061, 435660, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435661, 436200, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 436201, 439980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 125300, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125301, 125700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125701, 128500, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128501, 130040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 130041, 130240, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 130241, 130380, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 621520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621521, 621960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621961, 621980, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621981, 622460, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622461, 622880, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622881, 622920, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622921, 624100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624101, 625040, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625041, 625360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625361, 625480, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625481, 626300, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626301, 626420, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626421, 626680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626681, 627620, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627621, 628720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628721, 629020, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629021, 629260, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629261, 629660, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629661, 629940, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629941, 630200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630201, 631840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631841, 632100, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632101, 632540, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632541, 632780, {1, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632781, 633040, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633041, 633480, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633481, 634420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634421, 635360, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635361, 635480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635481, 636080, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636081, 636400, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636401, 637000, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637001, 637020, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637021, 637940, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637941, 638840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638841, 639580, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639581, 639600, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639601, 639780, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639781, 640520, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640521, 640540, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640541, 642160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642161, 642220, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642221, 643100, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643101, 643140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643141, 644080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644081, 644760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644761, 645580, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645581, 645680, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645681, 646520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646521, 646680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646681, 647340, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647341, 647600, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647601, 648260, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648261, 648960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648961, 649880, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649881, 649920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649921, 650200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650201, 650840, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650841, 651140, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651141, 652320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652321, 652500, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652501, 653260, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653261, 653420, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653421, 653740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653741, 654660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654661, 655080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655081, 655700, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655701, 656000, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656001, 656620, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656621, 657260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657261, 657660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657661, 658200, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658201, 658580, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658581, 659060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659061, 660000, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660001, 660240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660241, 660800, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660801, 661180, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661181, 661720, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661721, 662440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662441, 662820, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662821, 663360, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663361, 663760, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663761, 664320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664321, 665260, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665261, 665400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665401, 665800, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665801, 666340, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666341, 666740, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666741, 667860, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667861, 667980, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667981, 668780, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668781, 668920, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668921, 669180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669181, 670100, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670101, 670560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670561, 671380, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671381, 671500, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671501, 672320, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672321, 672540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672541, 673140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673141, 673480, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673481, 674080, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674081, 674920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674921, 675720, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675721, 675840, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675841, 675920, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675921, 676660, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676661, 676860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676861, 678300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678301, 678440, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678441, 679240, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679241, 679280, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679281, 679380, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679381, 680000, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 621520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621521, 621960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621961, 621980, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621981, 622460, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622461, 622880, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622881, 622920, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622921, 624100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624101, 625040, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625041, 625360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625361, 625480, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625481, 626300, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626301, 626420, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626421, 626680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626681, 627620, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627621, 628720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628721, 629020, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629021, 629260, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629261, 629660, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629661, 629940, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629941, 630200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630201, 631840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631841, 632100, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632101, 632540, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632541, 632780, {1, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632781, 633040, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633041, 633480, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633481, 634420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634421, 635360, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635361, 635480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635481, 636080, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636081, 636400, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636401, 637000, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637001, 637020, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637021, 637940, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637941, 638840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638841, 639580, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639581, 639600, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639601, 639780, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639781, 640520, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640521, 640540, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640541, 642160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642161, 642220, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642221, 643100, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643101, 643140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643141, 644080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644081, 644760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644761, 645580, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645581, 645680, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645681, 646520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646521, 646680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646681, 647340, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647341, 647600, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647601, 648260, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648261, 648960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648961, 649880, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649881, 649920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649921, 650200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650201, 650840, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650841, 651140, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651141, 652320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652321, 652500, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652501, 653260, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 653261, 653333, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693494, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693495, 693714, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693715, 693794, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693795, 694734, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694735, 696094, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696095, 696134, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696135, 696374, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696375, 697034, {1, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697035, 697074, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697075, 697314, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697315, 698954, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698955, 699514, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699515, 699634, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699635, 699894, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699895, 700454, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700455, 700554, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700555, 701534, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701535, 702474, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702475, 702894, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702895, 703154, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703155, 703814, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703815, 704094, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704095, 704114, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704115, 705054, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705055, 706254, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706255, 706694, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706695, 707194, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707195, 707634, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707635, 709294, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709295, 709634, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709635, 710214, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710215, 710554, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710555, 711154, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711155, 711874, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711875, 712794, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712795, 712994, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712995, 713754, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713755, 713934, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713935, 714454, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714455, 714694, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714695, 715374, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715375, 716374, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716375, 717034, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717035, 717294, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717295, 717954, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717955, 718214, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718215, 719614, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719615, 719734, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719735, 720534, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720535, 720674, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720675, 720814, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720815, 721754, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721755, 722194, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722195, 723114, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723115, 724034, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724035, 724354, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724355, 724774, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724775, 725274, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725275, 725714, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725715, 726474, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726475, 727354, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727355, 727414, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727415, 727874, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727875, 728294, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728295, 728814, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728815, 729854, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729855, 729934, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729935, 730774, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730775, 730874, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730875, 731414, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731415, 732334, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732335, 732514, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732515, 733214, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733215, 733333, {0, 1, 1} }, +}; + +static const struct cam_mipi_sensor_mode sensor_uw_mipi_C_mode[] = { + { + sensor_s5k3lu_setfile_C_mipi_channel, ARRAY_SIZE(sensor_s5k3lu_setfile_C_mipi_channel), + sensor_s5k3lu_setfile_C_mipi_setting, ARRAY_SIZE(sensor_s5k3lu_setfile_C_mipi_setting) + }, +}; + +/*************************************/ +/* ========== DUMMY ================ */ +/*************************************/ +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 Msps", 0, + sensor_uw_setfile_dummy_mhz, ARRAY_SIZE(sensor_uw_setfile_dummy_mhz) }, +}; + +static const struct cam_mipi_cell_ratings sensor_uw_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_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_S5K3LU_UW_H_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5kgn3.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5kgn3.h new file mode 100755 index 0000000000..a0b4cafc4a --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5kgn3.h @@ -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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5kgn3_2_0.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5kgn3_2_0.h new file mode 100644 index 0000000000..24750f602a --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5kgn3_2_0.h @@ -0,0 +1,1773 @@ +/* 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; + +/* +WideCAM_Adaptive MIPI 2.0_GN3_231016.xlsx +SET A : Full-Remosaic, 4SUM (10Bit) (3046.4 / 3008 / 2982.4) +SET B : 4SUM+A2A2 (10Bit), 8k (10Bit) (2585.6 / 2547.2 / 2483.2) +SET C : Full-Remosaic, 4SUM (12Bit) (3315.2 / 3456 / 3340.8) +*/ + +/*************************************/ +/* ========== SET A =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_A_3046_REG_ARRAY[] = { + {0x0310, 0x00EE, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_A_3008_REG_ARRAY[] = { + {0x0310, 0x00EB, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_A_2982_REG_ARRAY[] = { + {0x0310, 0x00E9, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_s5kgn3_setfile_A_3046[] = { + { MIPI_A_3046_REG_ARRAY, ARRAY_SIZE(MIPI_A_3046_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[] = { + { MIPI_A_3008_REG_ARRAY, ARRAY_SIZE(MIPI_A_3008_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[] = { + { MIPI_A_2982_REG_ARRAY, ARRAY_SIZE(MIPI_A_2982_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 Msps", 3046, + sensor_s5kgn3_setfile_A_3046, ARRAY_SIZE(sensor_s5kgn3_setfile_A_3046) }, + { "3008 Msps", 3008, + sensor_s5kgn3_setfile_A_3008, ARRAY_SIZE(sensor_s5kgn3_setfile_A_3008) }, + { "2982 Msps", 2982, + sensor_s5kgn3_setfile_A_2982, ARRAY_SIZE(sensor_s5kgn3_setfile_A_2982) }, +}; + +static const struct cam_mipi_cell_ratings sensor_s5kgn3_setfile_A_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10616, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10617, 10686, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10687, 10707, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10708, 10777, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10778, 10838, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9703, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9704, 9756, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9757, 9826, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9827, 9906, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9907, 9938, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1226, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1227, 1321, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1322, 1391, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1392, 1400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1401, 1470, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1471, 1513, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1591, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1592, 1661, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1662, 1682, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1683, 1738, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4386, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4387, 4458, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4413, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2296, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2297, 2339, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2340, 2409, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2410, 2508, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2509, 2563, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2950, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2951, 2979, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2980, 2990, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2991, 3049, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3050, 3088, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 763, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 4, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 5, 132, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 133, 272, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 273, 315, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 316, 455, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 456, 589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 590, 599, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 707, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 708, 813, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 814, 953, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 954, 1112, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1113, 1199, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1213, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1214, 1353, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1354, 1542, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1543, 1682, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1683, 1700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1701, 1840, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1841, 1938, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1939, 1949, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1954, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1955, 2082, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2083, 2222, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2223, 2265, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2266, 2399, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2483, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2484, 2649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2753, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2754, 2893, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2894, 2979, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2980, 3119, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3120, 3317, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3318, 3449, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3501, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3502, 3559, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3560, 3580, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3581, 3699, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3700, 3799, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5043, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5044, 5179, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5279, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5379, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5849, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5883, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5884, 5914, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5915, 5999, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6023, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6024, 6149, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6188, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6189, 6288, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6289, 6449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6460, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6461, 6472, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6473, 6599, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8147, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8148, 8253, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8254, 8393, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8394, 8552, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8553, 8689, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8691, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8692, 8733, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8734, 8764, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8765, 8873, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8874, 9039, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9371, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9372, 9438, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9439, 9511, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9512, 9538, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9539, 9578, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9579, 9659, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9660, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9661, 9673, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9674, 9721, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9722, 9769, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9773, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9774, 9834, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9835, 9869, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9976, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9977, 10241, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10242, 10359, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36223, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36224, 36339, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36340, 36349, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37762, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37763, 37902, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37903, 38091, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38092, 38231, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38232, 38249, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38378, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38379, 38552, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38553, 38649, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38790, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38791, 38930, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38931, 39013, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39014, 39153, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39154, 39214, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39215, 39354, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39355, 39515, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39516, 39649, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39686, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39687, 39826, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39827, 40006, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40007, 40146, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40147, 40183, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40184, 40323, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40324, 40402, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40403, 40542, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40543, 40731, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40732, 40871, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40872, 40893, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40894, 41033, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41034, 41119, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41120, 41259, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41260, 41457, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41458, 41589, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41604, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41605, 41610, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41611, 41744, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41745, 41750, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41751, 41897, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41898, 42037, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42038, 42314, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42315, 42336, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42337, 42454, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42455, 42476, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42477, 42613, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42614, 42753, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42754, 43024, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43025, 43061, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43062, 43164, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43165, 43201, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43202, 43329, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43330, 43469, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43470, 43589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55314, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55315, 55351, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55352, 55479, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55480, 55619, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55620, 55884, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55885, 55936, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55937, 56024, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56025, 56076, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56077, 56195, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56196, 56335, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56336, 56594, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56595, 56662, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56663, 56734, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56735, 56739, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66440, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66441, 66568, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66569, 66708, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66709, 66751, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66752, 66891, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66892, 67025, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67026, 67165, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67166, 67278, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67279, 67335, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68736, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68737, 68791, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68792, 68873, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68874, 68876, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68877, 68931, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68932, 68935, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {0, 0, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {0, 3, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {14, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 422080, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422081, 424640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 424641, 427440, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427441, 428300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428301, 431100, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 431101, 433780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433781, 433980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 388140, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388141, 390260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 390261, 393060, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393061, 396240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396241, 397980, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 361260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361261, 364060, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 364061, 367840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367841, 370640, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370641, 371000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 371001, 373800, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373801, 375760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 375761, 375980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 175460, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175461, 178780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 524060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524061, 526860, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 526861, 528580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528581, 531380, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531381, 535340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 535341, 538000, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186020, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186021, 187180, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187181, 187600, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187601, 189980, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189981, 191980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146460, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146461, 149200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 151200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 153580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 172660, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172661, 173280, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173281, 175000, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 158960, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158961, 160960, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160961, 164180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 388140, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388141, 390260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 390261, 393060, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393061, 396240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396241, 398980, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 171820, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171821, 172660, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172661, 173280, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173281, 175460, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175461, 178800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 154820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154821, 156160, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156161, 157620, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157621, 158160, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158161, 158960, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158961, 160580, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 143400, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143401, 143660, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143661, 144620, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 144621, 145580, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 470060, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470061, 471280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471281, 471980, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 514240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514241, 517040, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517041, 520820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 520821, 523620, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 523621, 523980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 378560, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378561, 382040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382041, 384000, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 462800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 462801, 465600, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465601, 467260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467261, 470060, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 470061, 471280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471281, 474080, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 474081, 477300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477301, 480000, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 499920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499921, 502720, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502721, 506320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506321, 509120, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509121, 509860, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509861, 512660, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512661, 514240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514241, 517040, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517041, 520820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 520821, 523620, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 523621, 524060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524061, 526860, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 526861, 528580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528581, 531380, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531381, 535340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 535341, 537980, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 637147, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637148, 637407, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637408, 638247, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638248, 639187, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639188, 640947, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640948, 641307, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641308, 641887, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641888, 642227, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642228, 643027, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643028, 643967, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643968, 645687, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645688, 646147, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646148, 646627, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646628, 646666, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 422080, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422081, 424640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 424641, 427440, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427441, 428300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428301, 431100, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 431101, 433780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433781, 436580, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 436581, 438840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438841, 439980, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 126400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126401, 127500, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127501, 129140, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129141, 129200, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129201, 130300, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 130301, 130380, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620080, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620081, 621960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621961, 622020, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622021, 622900, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622901, 622960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622961, 623920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623921, 624860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624861, 626760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626761, 626800, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626801, 627680, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627681, 627720, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627721, 628700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628701, 629640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629641, 631480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631481, 631640, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631641, 632420, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632421, 632560, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632561, 633480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633481, 634420, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634421, 636220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636221, 636460, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636461, 637160, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637161, 637400, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637401, 638260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638261, 639180, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639181, 640960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640961, 641300, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641301, 641880, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641881, 642240, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642241, 643020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643021, 643960, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643961, 645680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645681, 646140, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646141, 646620, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646621, 647060, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647061, 647800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647801, 648740, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648741, 650420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650421, 650980, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650981, 651360, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651361, 651900, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651901, 652580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652581, 653520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653521, 655160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655161, 655800, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655801, 656100, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656101, 656740, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656741, 657360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657361, 658280, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658281, 659900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659901, 660640, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660641, 660820, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660821, 661580, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661581, 662120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662121, 663060, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663061, 664620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664621, 665480, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665481, 665560, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665561, 666420, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666421, 666900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666901, 667840, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667841, 669360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669361, 670300, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670301, 670320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670321, 671240, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671241, 671680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671681, 672600, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672601, 674100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674101, 675020, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675021, 675160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675161, 676080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676081, 676460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676461, 677380, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677381, 678820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678821, 679760, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679761, 679980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679981, 680000, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620080, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620081, 621960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621961, 622020, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622021, 622900, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622901, 622960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622961, 623920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623921, 624860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624861, 626760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626761, 626800, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626801, 627680, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627681, 627720, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627721, 628700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628701, 629640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629641, 631480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631481, 631640, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631641, 632420, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632421, 632560, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632561, 633480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633481, 634420, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634421, 636220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636221, 636460, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636461, 637160, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637161, 637400, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637401, 638260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638261, 639180, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639181, 640960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640961, 641300, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641301, 641880, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641881, 642240, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642241, 643020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643021, 643960, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643961, 645680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645681, 646140, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646141, 646620, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646621, 647060, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647061, 647800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647801, 648740, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648741, 650420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650421, 650980, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650981, 651360, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651361, 651900, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651901, 652580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652581, 653333, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693954, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693955, 694494, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694495, 695434, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695435, 695554, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695555, 696474, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696475, 697774, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697775, 698694, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698695, 699334, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699335, 700254, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700255, 700334, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700335, 701254, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701255, 702494, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702495, 703434, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703435, 704154, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704155, 705094, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705095, 706034, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706035, 707234, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707235, 708174, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708175, 708994, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708995, 709874, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709875, 709934, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709935, 710814, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710815, 711974, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711975, 712894, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712895, 713834, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713835, 714654, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714655, 714774, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714775, 715574, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715575, 716694, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716695, 717634, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717635, 718674, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718675, 719414, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719415, 719594, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719595, 720354, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720355, 721434, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721435, 722374, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722375, 723514, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723515, 724194, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724195, 724434, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724435, 725134, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725135, 726174, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726175, 727094, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727095, 728334, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728335, 728974, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728975, 729274, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729275, 729914, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729915, 730894, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730895, 731834, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731835, 733174, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733175, 733333, {1, 0, 0} }, +}; + +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) + }, +}; + +/*************************************/ +/* ========== SET B =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_B_2585_REG_ARRAY[] = { + {0x0310, 0x00CA, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_B_2547_REG_ARRAY[] = { + {0x0310, 0x00C7, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_B_2483_REG_ARRAY[] = { + {0x0310, 0x00C2, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_s5kgn3_setfile_B_2585[] = { + { MIPI_B_2585_REG_ARRAY, ARRAY_SIZE(MIPI_B_2585_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[] = { + { MIPI_B_2547_REG_ARRAY, ARRAY_SIZE(MIPI_B_2547_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[] = { + { MIPI_B_2483_REG_ARRAY, ARRAY_SIZE(MIPI_B_2483_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 Msps", 2585, + sensor_s5kgn3_setfile_B_2585, ARRAY_SIZE(sensor_s5kgn3_setfile_B_2585) }, + { "2547 Msps", 2547, + sensor_s5kgn3_setfile_B_2547, ARRAY_SIZE(sensor_s5kgn3_setfile_B_2547) }, + { "2483 Msps", 2483, + sensor_s5kgn3_setfile_B_2483, ARRAY_SIZE(sensor_s5kgn3_setfile_B_2483) }, +}; + +static const struct cam_mipi_cell_ratings sensor_s5kgn3_setfile_B_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {0, 0, 14} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10578, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10579, 10607, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10608, 10648, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10649, 10677, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10678, 10738, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10739, 10808, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10809, 10838, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9668, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9669, 9720, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9721, 9738, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9739, 9790, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9791, 9814, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9815, 9884, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9885, 9938, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1187, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1188, 1254, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1255, 1257, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1258, 1324, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1325, 1394, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1395, 1490, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1491, 1513, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1553, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1554, 1582, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1583, 1623, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1624, 1652, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1653, 1713, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1714, 1738, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4399, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4400, 4458, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4399, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4400, 4413, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2325, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2326, 2392, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2393, 2395, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2396, 2432, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2433, 2462, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2463, 2502, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2503, 2563, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2952, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2953, 2994, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2995, 3064, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3065, 3088, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 724, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 725, 763, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 56, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 57, 114, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 115, 196, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 197, 254, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 255, 376, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 377, 516, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 517, 599, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 637, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 638, 740, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 741, 777, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 778, 880, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 881, 929, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 930, 1069, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1070, 1199, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1274, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1275, 1408, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1409, 1414, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1415, 1548, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1549, 1688, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1689, 1880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1881, 1949, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2006, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2007, 2064, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2065, 2146, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2147, 2204, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2205, 2326, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2327, 2399, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2508, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2509, 2648, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2649, 2649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2951, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2952, 3085, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3086, 3091, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3092, 3164, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3165, 3225, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3226, 3304, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3305, 3449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3504, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3505, 3589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3590, 3729, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3730, 3799, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5037, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5038, 5067, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5068, 5177, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5178, 5179, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5279, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5316, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5317, 5379, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5737, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5738, 5847, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5848, 5849, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5938, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5939, 5999, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6048, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6049, 6149, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6173, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6174, 6194, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6195, 6313, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6314, 6447, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6448, 6449, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6582, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6583, 6599, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8077, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8078, 8180, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8181, 8217, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8218, 8320, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8321, 8369, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8370, 8509, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8510, 8683, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8684, 8689, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8788, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8789, 8898, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8899, 9038, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9039, 9039, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9246, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9247, 9386, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9387, 9444, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9445, 9563, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9564, 9584, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9585, 9659, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9697, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9698, 9769, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9849, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9850, 9852, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9853, 9869, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10025, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10026, 10104, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10105, 10110, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10111, 10244, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10245, 10250, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10251, 10359, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36272, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36273, 36345, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36346, 36349, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37835, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37836, 37975, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37976, 37994, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37995, 38058, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38059, 38134, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38135, 38198, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38199, 38249, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38299, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38300, 38320, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38321, 38439, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38440, 38464, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38465, 38604, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38605, 38649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38766, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38767, 38778, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38779, 38973, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38974, 39113, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39114, 39229, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39230, 39232, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39233, 39369, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39370, 39372, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39373, 39589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39590, 39649, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39860, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39861, 40000, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40001, 40043, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40044, 40091, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40092, 40183, {0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40184, 40231, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40232, 40475, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40476, 40615, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40616, 40634, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40635, 40698, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40699, 40774, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40775, 40838, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40839, 41091, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41092, 41225, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41226, 41231, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41232, 41304, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41305, 41365, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41366, 41444, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41445, 41589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41622, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41623, 41811, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41812, 41951, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41952, 41994, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41995, 42089, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42090, 42134, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42135, 42229, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42230, 42403, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42404, 42543, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42544, 42610, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42611, 42695, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42696, 42750, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42751, 42835, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42836, 42994, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42995, 43134, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43135, 43225, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43226, 43302, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43303, 43365, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43366, 43442, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43443, 43585, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43586, 43589, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55284, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55285, 55375, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55376, 55452, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55453, 55515, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55516, 55592, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55593, 55735, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55736, 55875, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55876, 55991, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55992, 56058, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56059, 56131, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56132, 56198, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56199, 56326, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56327, 56466, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56467, 56607, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56608, 56665, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56666, 56739, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66492, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66493, 66550, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66551, 66632, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66633, 66690, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66691, 66812, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66813, 66952, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66953, 67099, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67100, 67141, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67142, 67239, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67240, 67281, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67282, 67335, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68642, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68643, 68849, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68850, 68935, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {6, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {6, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {14, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 423120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423121, 424280, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 424281, 425920, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425921, 427080, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427081, 429520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429521, 432320, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432321, 433980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 386740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386741, 388800, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388801, 389540, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389541, 391600, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391601, 392580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392581, 395380, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395381, 397980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 362480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362481, 365160, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365161, 365280, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365281, 367960, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367961, 370760, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370761, 374600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 374601, 375980, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 175960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175961, 178760, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178761, 178780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 528020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528021, 530700, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530701, 530820, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530821, 532280, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 532281, 533500, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533501, 535080, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 535081, 538000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186080, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186081, 187780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187781, 190580, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 190581, 191980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146340, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146341, 146940, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146941, 149140, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 149141, 149200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 151200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 152320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 152321, 153580, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 173760, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173761, 175000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 158660, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158661, 159080, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159081, 161460, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 161461, 164140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 164141, 164180, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 386740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386741, 388800, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388801, 389540, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389541, 391600, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391601, 392580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392581, 395380, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395381, 398860, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 398861, 398980, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 173760, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173761, 175960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175961, 178760, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178761, 178800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 152320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 152321, 155120, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155121, 156280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156281, 158660, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158661, 159080, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159081, 160580, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 144140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 144141, 145580, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 471580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471581, 471640, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471641, 471980, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 515700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515701, 518500, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518501, 518880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518881, 520160, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 520161, 521680, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 521681, 522960, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522961, 523980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 376980, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376981, 377400, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377401, 379780, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 379781, 380280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380281, 383080, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 383081, 384000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 462320, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 462321, 462560, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 462561, 466460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466461, 469260, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 469261, 471580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471581, 471640, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471641, 474380, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 474381, 474440, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 474441, 478780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478781, 480000, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 503400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 503401, 506200, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506201, 507060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507061, 508020, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 508021, 509860, {0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509861, 510820, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 510821, 515700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515701, 518500, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518501, 518880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518881, 520160, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 520161, 521680, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 521681, 522960, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522961, 528020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528021, 530700, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530701, 530820, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530821, 532280, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 532281, 533500, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533501, 535080, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 535081, 537980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 636947, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636948, 637567, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637568, 638067, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638068, 638487, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638488, 639007, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639008, 639967, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639968, 640887, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640888, 641667, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641668, 642107, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642108, 642607, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642608, 643047, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643048, 643907, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643908, 644827, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644828, 645767, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645768, 646167, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646168, 646666, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 423120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423121, 424280, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 424281, 425920, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425921, 427080, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427081, 429520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429521, 432320, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432321, 435260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435261, 436100, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 436101, 438060, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438061, 438900, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438901, 439980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124520, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124521, 128660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128661, 130380, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620261, 621140, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621141, 621180, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621181, 621900, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621901, 622080, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622081, 622840, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622841, 624200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624201, 625120, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625121, 625260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625261, 625940, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625941, 626180, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626181, 626880, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626881, 628140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628141, 629060, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629061, 629360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629361, 629980, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629981, 630280, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630281, 630920, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630921, 632080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632081, 633020, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633021, 633460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633461, 634020, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634021, 634400, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634401, 634960, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634961, 636020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636021, 636960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636961, 637560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637561, 638080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638081, 638500, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638501, 639000, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639001, 639960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639961, 640900, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640901, 641660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641661, 642120, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642121, 642600, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642601, 643040, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643041, 643900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643901, 644840, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644841, 645780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645781, 646160, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646161, 646700, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646701, 647100, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647101, 647840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647841, 648780, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648781, 649880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649881, 650200, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650201, 650800, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650801, 651140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651141, 651780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651781, 652720, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652721, 653980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653981, 654240, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654241, 654920, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654921, 655180, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655181, 655720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655721, 656660, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656661, 658080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658081, 658280, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658281, 659020, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659021, 659220, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659221, 659660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659661, 660600, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660601, 662180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662181, 662320, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662321, 663120, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663121, 663260, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663261, 663600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663601, 664540, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664541, 666300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666301, 666380, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666381, 667220, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667221, 667300, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667301, 667560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667561, 668480, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668481, 670400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670401, 670420, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670421, 671320, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671321, 671340, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671341, 671500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671501, 672420, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672421, 674460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674461, 674500, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674501, 675400, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675401, 675440, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675441, 676360, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676361, 678500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678501, 678600, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678601, 679380, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679381, 679440, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679441, 679540, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679541, 680000, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620261, 621140, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621141, 621180, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621181, 621900, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621901, 622080, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622081, 622840, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622841, 624200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624201, 625120, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625121, 625260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625261, 625940, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625941, 626180, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626181, 626880, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626881, 628140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628141, 629060, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629061, 629360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629361, 629980, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629981, 630280, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630281, 630920, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630921, 632080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632081, 633020, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633021, 633460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633461, 634020, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634021, 634400, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634401, 634960, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634961, 636020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636021, 636960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636961, 637560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637561, 638080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638081, 638500, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638501, 639000, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639001, 639960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639961, 640900, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640901, 641660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641661, 642120, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642121, 642600, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642601, 643040, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643041, 643900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643901, 644840, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644841, 645780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645781, 646160, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646161, 646700, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646701, 647100, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647101, 647840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647841, 648780, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648781, 649880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649881, 650200, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650201, 650800, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650801, 651140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651141, 651780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651781, 652720, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652721, 653333, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 694674, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694675, 695014, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695015, 695134, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695135, 695614, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695615, 695954, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695955, 696074, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696075, 698714, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698715, 699094, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699095, 699134, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699135, 699654, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699655, 700014, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700015, 700054, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700055, 702754, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702755, 703034, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703035, 703234, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703235, 703694, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703695, 703954, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703955, 704154, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704155, 706814, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706815, 706974, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706975, 707334, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707335, 707734, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707735, 707894, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707895, 708274, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708275, 710854, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710855, 710914, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710915, 711434, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711435, 711774, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711775, 711834, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711835, 712374, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712375, 714854, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714855, 714894, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714895, 715534, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715535, 715794, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715795, 715834, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715835, 716474, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716475, 718794, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718795, 718934, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718935, 719654, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719655, 719734, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719735, 719874, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719875, 720574, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720575, 722734, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722735, 722974, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722975, 723674, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723675, 723754, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723755, 723914, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723915, 724674, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724675, 726674, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726675, 727014, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727015, 727614, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727615, 727854, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727855, 727954, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727955, 728794, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728795, 730614, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730615, 731074, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731075, 731554, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731555, 731954, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731955, 731994, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731995, 732894, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732895, 733333, {0, 0, 0} }, +}; + +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) + }, +}; + +/*************************************/ +/* ========== SET C =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_C_3315_REG_ARRAY[] = { + {0x0310, 0x0103, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_C_3456_REG_ARRAY[] = { + {0x0310, 0x010E, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_C_3340_REG_ARRAY[] = { + {0x0310, 0x0105, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_s5kgn3_setfile_C_3315[] = { + { MIPI_C_3315_REG_ARRAY, ARRAY_SIZE(MIPI_C_3315_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[] = { + { MIPI_C_3456_REG_ARRAY, ARRAY_SIZE(MIPI_C_3456_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[] = { + { MIPI_C_3340_REG_ARRAY, ARRAY_SIZE(MIPI_C_3340_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 Msps", 3315, + sensor_s5kgn3_setfile_C_3315, ARRAY_SIZE(sensor_s5kgn3_setfile_C_3315) }, + { "3456 Msps", 3456, + sensor_s5kgn3_setfile_C_3456, ARRAY_SIZE(sensor_s5kgn3_setfile_C_3456) }, + { "3340 Msps", 3340, + sensor_s5kgn3_setfile_C_3340, ARRAY_SIZE(sensor_s5kgn3_setfile_C_3340) }, +}; + +static const struct cam_mipi_cell_ratings sensor_s5kgn3_setfile_C_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {7, 0, 14} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10621, 10662, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10663, 10690, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10691, 10703, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10704, 10732, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10733, 10773, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10774, 10838, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9831, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9832, 9839, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9840, 9901, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9902, 9907, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9908, 9909, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9910, 9938, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1167, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1168, 1211, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1212, 1237, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1238, 1307, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1308, 1513, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1595, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1596, 1637, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1638, 1665, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1666, 1678, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1679, 1707, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1708, 1738, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4376, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4377, 4409, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4410, 4458, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4409, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4410, 4413, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2255, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2256, 2284, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2285, 2325, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2326, 2508, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2509, 2563, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 3000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3001, 3037, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3038, 3070, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3071, 3088, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 734, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 735, 763, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 141, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 142, 224, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 225, 281, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 282, 306, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 307, 364, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 365, 446, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 447, 599, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 963, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 964, 978, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 979, 1103, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1104, 1115, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1116, 1118, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1119, 1199, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1234, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1235, 1322, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1323, 1374, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1375, 1514, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1515, 1949, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2091, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2092, 2174, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2175, 2231, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2232, 2256, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2257, 2314, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2315, 2396, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2397, 2399, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2462, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2463, 2529, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2530, 2649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2811, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2812, 2869, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2870, 2951, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2952, 3317, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3318, 3449, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3601, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3602, 3675, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3676, 3741, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3742, 3799, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5055, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5056, 5179, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5195, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5196, 5279, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5379, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5849, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5862, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5863, 5929, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5930, 5999, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6002, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6003, 6069, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6070, 6149, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6203, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6204, 6264, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6265, 6398, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6399, 6449, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6534, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6535, 6558, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6559, 6599, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8403, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8404, 8418, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8419, 8543, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8544, 8555, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8556, 8558, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8559, 8689, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8712, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8713, 8779, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8780, 8852, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8853, 8919, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8920, 9039, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9453, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9454, 9514, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9515, 9593, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9594, 9654, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9655, 9659, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9663, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9664, 9718, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9719, 9769, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9869, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10141, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10142, 10281, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10282, 10327, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10328, 10359, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36349, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 38027, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38028, 38167, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38168, 38229, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38230, 38249, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38305, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38306, 38323, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38324, 38445, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38446, 38463, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38464, 38470, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38471, 38610, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38611, 38649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38759, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38760, 38787, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38788, 39259, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39260, 39399, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39400, 39442, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39443, 39582, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39583, 39649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39878, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39879, 40018, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40019, 40073, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40074, 40128, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40129, 40213, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40214, 40268, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40269, 40667, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40668, 40807, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40808, 40869, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40870, 40951, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40952, 41009, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41010, 41091, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41092, 41457, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41458, 41589, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41601, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41602, 41723, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41724, 41863, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41864, 42080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42081, 42220, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42221, 42250, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42251, 42390, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42391, 42518, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42519, 42658, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42659, 42902, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42903, 43040, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43041, 43042, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43043, 43180, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43181, 43314, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43315, 43454, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43455, 43589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55330, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55331, 55464, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55465, 55604, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55605, 55875, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55876, 55979, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55980, 56015, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56016, 56119, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56120, 56259, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56260, 56399, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56400, 56698, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56699, 56739, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66577, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66578, 66660, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66661, 66717, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66718, 66742, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66743, 66800, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66801, 66882, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66883, 67335, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68661, 68709, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68710, 68800, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68801, 68849, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68850, 68928, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68929, 68935, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {7, 0, 14} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 424820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 424821, 426480, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426481, 427620, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427621, 428120, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428121, 429280, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429281, 430920, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 430921, 433980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 393260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393261, 393560, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393561, 396060, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396061, 396300, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396301, 396360, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396361, 397980, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 361680, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361681, 363440, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363441, 364480, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 364481, 367280, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367281, 375980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 175040, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175041, 176380, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176381, 178780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 525220, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525221, 526380, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 526381, 528020, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528021, 535340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 535341, 538000, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 188020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 188021, 189500, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189501, 190820, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 190821, 191980, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146701, 149200, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 149500, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149501, 151200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 153580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 172240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172241, 173580, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173581, 175000, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 159260, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159261, 160480, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160481, 163160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163161, 164180, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 393260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393261, 393560, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393561, 396060, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396061, 396300, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396301, 396360, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396361, 398980, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 172240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172241, 173580, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173581, 175040, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175041, 176380, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176381, 178800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 156460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156461, 157680, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157681, 159260, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159261, 160480, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160481, 160580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 143460, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143461, 144560, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 144561, 145580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 471980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 519540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 519541, 522340, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522341, 523580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 523581, 523980, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 377100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377101, 377460, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377461, 379900, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 379901, 380260, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380261, 380400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380401, 383200, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 383201, 384000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 462180, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 462181, 462740, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 462741, 472180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 472181, 474980, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 474981, 475840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475841, 478640, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478641, 480000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 503760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 503761, 506560, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506561, 507660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507661, 508760, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 508761, 510460, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 510461, 511560, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511561, 519540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 519541, 522340, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522341, 523580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 523581, 525220, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525221, 526380, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 526381, 528020, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528021, 535340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 535341, 537980, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 637247, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637248, 638147, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638148, 639087, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639088, 640887, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640888, 641587, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641588, 641827, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641828, 642527, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642528, 643447, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643448, 644387, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644388, 646387, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646388, 646666, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 424820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 424821, 426480, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426481, 427620, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427621, 428120, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428121, 429280, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429281, 430920, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 430921, 439980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124881, 125860, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125861, 127680, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127681, 128660, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128661, 130240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 130241, 130380, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620541, 621460, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621461, 622240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622241, 623180, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623181, 624440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624441, 625380, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625381, 625800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625801, 626740, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626741, 627540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627541, 628480, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628481, 629920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629921, 630860, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630861, 631060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631061, 632000, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632001, 632840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632841, 633780, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633781, 635400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635401, 636320, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636321, 636340, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636341, 637260, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637261, 638160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638161, 639080, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639081, 640900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640901, 641580, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641581, 641820, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641821, 642520, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642521, 643460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643461, 644380, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644381, 646380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646381, 646840, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646841, 647320, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647321, 647780, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647781, 648760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648761, 649700, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649701, 651860, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651861, 652100, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652101, 652800, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652801, 653040, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653041, 654060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654061, 655000, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655001, 657360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657361, 657380, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657381, 658280, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658281, 658300, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658301, 659360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659361, 660300, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660301, 662640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662641, 662840, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662841, 663560, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663561, 663780, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663781, 664660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664661, 665600, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665601, 667900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667901, 668320, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668321, 668820, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668821, 669260, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669261, 669960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669961, 670900, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670901, 673160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673161, 673800, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673801, 674100, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674101, 674740, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674741, 675280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675281, 676200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676201, 678420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678421, 679300, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679301, 679360, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679361, 680000, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620541, 621460, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621461, 622240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622241, 623180, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623181, 624440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624441, 625380, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625381, 625800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625801, 626740, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626741, 627540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627541, 628480, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628481, 629920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629921, 630860, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630861, 631060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631061, 632000, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632001, 632840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632841, 633780, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633781, 635400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635401, 636320, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636321, 636340, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636341, 637260, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637261, 638160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638161, 639080, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639081, 640900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640901, 641580, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641581, 641820, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641821, 642520, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642521, 643460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643461, 644380, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644381, 646380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646381, 646840, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646841, 647320, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647321, 647780, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647781, 648760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648761, 649700, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649701, 651860, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651861, 652100, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652101, 652800, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652801, 653040, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 653041, 653333, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 694214, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694215, 695134, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695135, 695754, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695755, 696494, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696495, 696694, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696695, 697414, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697415, 699474, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699475, 700394, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700395, 701234, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701235, 701794, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701795, 702174, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702175, 702714, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702715, 704734, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704735, 705674, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705675, 706734, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706735, 707094, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707095, 707654, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707655, 708014, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708015, 709994, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709995, 710934, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710935, 712214, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712215, 712394, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712395, 713134, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713135, 713334, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713335, 715254, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715255, 716194, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716195, 717694, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717695, 718634, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718635, 720514, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720515, 721454, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721455, 722994, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722995, 723174, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723175, 723934, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723935, 724114, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724115, 725774, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725775, 726714, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726715, 728294, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728295, 728674, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728675, 729234, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729235, 729594, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729595, 731034, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731035, 731974, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731975, 733333, {0, 0, 0} }, +}; + +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 ================ */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_WIDE_DUMMY_REG_ARRAY[] = { +}; + +static const struct cam_sensor_i2c_reg_setting sensor_wide_setfile_dummy[] = { + { MIPI_WIDE_DUMMY_REG_ARRAY, ARRAY_SIZE(MIPI_WIDE_DUMMY_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 Msps", 0, + sensor_wide_setfile_dummy, ARRAY_SIZE(sensor_wide_setfile_dummy) }, +}; + +static const struct cam_mipi_cell_ratings sensor_wide_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_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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5khp2.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5khp2.h new file mode 100755 index 0000000000..ba906d312d --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5khp2.h @@ -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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5khp2_2_0.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5khp2_2_0.h new file mode 100644 index 0000000000..caaaacaa8d --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/adaptive_mipi/cam_sensor_adaptive_mipi_s5khp2_2_0.h @@ -0,0 +1,1834 @@ +/* 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; + +/* +WideCAM_Adaptive_MIPI_2.0_HP2_231026.xlsx +SET A : no-bin (10bit) (3712) +SET B : 8k (10bit) & SSM 4x4 & 2x2 (10bit) (2988.8 / 2944 / 2860.8) +SET C : 4x4 (10/12bit) & 2x2 (10bit) (3712 / 3686.4) +SET D : Fast AE / SM 4x4 & 2x2 (10bit) (1862.4 / 1849.6 / 1811.2) +*/ + +/*************************************/ +/* ========== SET A =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_HP2_A_3712_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_A_3712[] = { + { MIPI_HP2_A_3712_REG_ARRAY, ARRAY_SIZE(MIPI_HP2_A_3712_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", 3712, + sensor_s5khp2_setfile_A_3712, ARRAY_SIZE(sensor_s5khp2_setfile_A_3712) }, +}; + +static const struct cam_mipi_cell_ratings sensor_s5khp2_setfile_A_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {0} }, +}; + +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) + }, +}; + +/*************************************/ +/* ========== SET B =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_HP2_B_2988_REG_ARRAY[] = { + {0x0310, 0x01D3, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, + {0x030E, 0x0003, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_HP2_B_2944_REG_ARRAY[] = { + {0x0310, 0x01CC, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, + {0x030E, 0x0003, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_HP2_B_2860_REG_ARRAY[] = { + {0x0310, 0x01BF, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, + {0x030E, 0x0003, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_s5khp2_setfile_B_2988[] = { + { MIPI_HP2_B_2988_REG_ARRAY, ARRAY_SIZE(MIPI_HP2_B_2988_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 } +}; + +static const struct cam_sensor_i2c_reg_setting sensor_s5khp2_setfile_B_2944[] = { + { MIPI_HP2_B_2944_REG_ARRAY, ARRAY_SIZE(MIPI_HP2_B_2944_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 } +}; + +static const struct cam_sensor_i2c_reg_setting sensor_s5khp2_setfile_B_2860[] = { + { MIPI_HP2_B_2860_REG_ARRAY, ARRAY_SIZE(MIPI_HP2_B_2860_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[] = { + { "2988 Msps", 2988, + sensor_s5khp2_setfile_B_2988, ARRAY_SIZE(sensor_s5khp2_setfile_B_2988) }, + { "2944 Msps", 2944, + sensor_s5khp2_setfile_B_2944, ARRAY_SIZE(sensor_s5khp2_setfile_B_2944) }, + { "2860 Msps", 2860, + sensor_s5khp2_setfile_B_2860, ARRAY_SIZE(sensor_s5khp2_setfile_B_2860) }, +}; + +static const struct cam_mipi_cell_ratings sensor_s5khp2_setfile_B_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10592, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10593, 10639, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10640, 10709, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10710, 10829, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10830, 10838, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9778, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9779, 9841, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9842, 9848, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9849, 9911, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9912, 9927, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9928, 9938, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1202, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1203, 1272, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1273, 1285, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1286, 1341, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1342, 1355, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1356, 1411, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1412, 1513, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1567, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1568, 1614, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1615, 1684, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1685, 1738, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4392, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4393, 4458, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4392, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4393, 4413, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2254, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2255, 2324, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2325, 2372, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2373, 2408, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2409, 2442, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2443, 2478, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2479, 2563, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2960, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2961, 3032, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3033, 3088, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 717, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 718, 763, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 85, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 86, 178, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 179, 318, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 319, 559, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 560, 599, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 856, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 857, 983, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 984, 996, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 997, 1123, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1124, 1155, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1156, 1199, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1304, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1305, 1444, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1445, 1470, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1471, 1582, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1583, 1610, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1611, 1722, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1723, 1949, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2035, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2036, 2128, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2129, 2268, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2269, 2399, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2494, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2495, 2634, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2635, 2649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2809, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2810, 2949, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2950, 3044, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3045, 3116, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3117, 3184, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3185, 3256, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3257, 3449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3521, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3522, 3665, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3666, 3799, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5142, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5143, 5179, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5279, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5341, 5379, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5812, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5813, 5849, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5859, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5860, 5999, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6034, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6035, 6149, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6343, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6344, 6449, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6504, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6505, 6546, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6547, 6599, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8296, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8297, 8423, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8424, 8436, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8437, 8563, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8564, 8595, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8596, 8689, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8709, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8710, 8884, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8885, 9024, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9025, 9039, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9270, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9271, 9387, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9388, 9410, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9411, 9527, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9528, 9659, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9676, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9677, 9769, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9823, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9824, 9869, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10049, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10050, 10189, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10190, 10273, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10274, 10315, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10316, 10359, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36349, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37863, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37864, 37915, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37916, 38003, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38004, 38055, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38056, 38249, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38305, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38306, 38445, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38446, 38451, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38452, 38591, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38592, 38593, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38594, 38649, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38711, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38712, 38738, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38739, 38851, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38852, 38878, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38879, 39063, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39064, 39203, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39204, 39412, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39413, 39419, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39420, 39552, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39553, 39559, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39560, 39649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39666, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39667, 39822, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39823, 39854, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39855, 39962, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39963, 39994, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39995, 40238, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40239, 40378, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40379, 40503, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40504, 40555, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40556, 40643, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40644, 40695, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40696, 40949, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40950, 41089, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41090, 41184, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41185, 41256, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41257, 41324, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41325, 41396, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41397, 41589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41677, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41678, 41717, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41718, 41817, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41818, 41866, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41867, 42006, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42007, 42258, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42259, 42389, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42390, 42398, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42399, 42529, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42530, 42567, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42568, 42707, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42708, 42939, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42940, 43079, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43080, 43100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43101, 43240, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43241, 43268, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43269, 43408, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43409, 43589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55250, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55251, 55390, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55391, 55418, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55419, 55558, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55559, 55770, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55771, 55910, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55911, 55962, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55963, 56102, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56103, 56119, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56120, 56259, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56260, 56451, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56452, 56591, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56592, 56674, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56675, 56739, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66521, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66522, 66614, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66615, 66754, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66755, 66995, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66996, 67062, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67063, 67135, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67136, 67202, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67203, 67326, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67327, 67335, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68616, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68617, 68654, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68655, 68750, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68751, 68794, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68795, 68890, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68891, 68935, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {3, 0, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {6, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {4, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {14, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 423700, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423701, 425560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425561, 428360, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428361, 433180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433181, 433980, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 391120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391121, 393660, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393661, 393920, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393921, 396460, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396461, 397100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397101, 397980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 363080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363081, 365880, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365881, 366400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366401, 368640, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 368641, 369200, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369201, 371440, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 371441, 375980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 175680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175681, 178480, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178481, 178780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 525180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525181, 527980, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527981, 529880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 529881, 531320, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531321, 532680, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 532681, 534120, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534121, 538000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186420, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186421, 189300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189301, 191980, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 148440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148441, 149200, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 151200, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 152800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 152801, 153580, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 172180, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172181, 175000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 162060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162061, 164180, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 391120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391121, 393660, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393661, 393920, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393921, 396460, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396461, 397100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397101, 398980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 172180, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172181, 175680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175681, 178480, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178481, 178800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 152800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 152801, 155140, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155141, 155600, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155601, 157940, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157941, 160580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 143720, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143721, 145580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 471060, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471061, 471980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 516260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 516261, 517300, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517301, 519060, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 519061, 520100, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 520101, 523980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 377100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377101, 379900, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 379901, 380020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380021, 382820, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382821, 382860, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382861, 384000, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 461220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461221, 461760, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461761, 464020, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464021, 464560, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464561, 468260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468261, 471060, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471061, 475240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475241, 475380, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475381, 478040, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478041, 478180, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478181, 480000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 499520, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499521, 502640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502641, 503280, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 503281, 505440, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505441, 506080, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506081, 510960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 510961, 513760, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 513761, 516260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 516261, 517300, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517301, 519060, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 519061, 520100, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 520101, 525180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525181, 527980, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527981, 529880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 529881, 531320, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531321, 532680, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 532681, 534120, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534121, 537980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 636727, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636728, 637667, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637668, 637847, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637848, 638787, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638788, 640187, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640188, 641127, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641128, 641467, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641468, 642407, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642408, 642527, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642528, 643447, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643448, 644727, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644728, 645667, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645668, 646227, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646228, 646666, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 423700, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423701, 425560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425561, 428360, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428361, 433180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433181, 434520, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 434521, 435980, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435981, 437320, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437321, 439800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 439801, 439980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124000, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124001, 124760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124761, 126680, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126681, 127560, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127561, 129480, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129481, 130380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620080, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620081, 622040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622041, 622500, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622501, 622960, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622961, 623440, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623441, 623820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623821, 624760, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624761, 626580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626581, 627240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627241, 627500, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627501, 628180, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628181, 628500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628501, 629440, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629441, 631120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631121, 631980, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631981, 632040, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632041, 632920, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632921, 633180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633181, 634100, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634101, 635660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635661, 636580, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636581, 636720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636721, 637660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637661, 637840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637841, 638780, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638781, 640200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640201, 641120, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641121, 641480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641481, 642400, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642401, 642520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642521, 643460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643461, 644740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644741, 645660, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645661, 646220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646221, 647160, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647161, 647200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647201, 648120, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648121, 649280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649281, 650200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650201, 650960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650961, 651860, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651861, 651900, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651901, 652800, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652801, 653820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653821, 654740, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654741, 655700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655701, 656540, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656541, 656640, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656641, 657480, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657481, 658360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658361, 659300, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659301, 660460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660461, 661220, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661221, 661380, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661381, 662140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662141, 662900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662901, 663840, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663841, 665200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665201, 665880, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665881, 666120, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666121, 666820, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666821, 667440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667441, 668380, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668381, 669940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669941, 670560, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670561, 670880, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670881, 671500, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671501, 671980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671981, 672920, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672921, 674680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674681, 675240, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675241, 675620, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675621, 676160, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676161, 676520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676521, 677460, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677461, 679420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679421, 679900, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679901, 680000, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620080, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620081, 622040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622041, 622500, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622501, 622960, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622961, 623440, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623441, 623820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623821, 624760, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624761, 626580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626581, 627240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627241, 627500, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627501, 628180, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628181, 628500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628501, 629440, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629441, 631120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631121, 631980, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631981, 632040, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632041, 632920, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632921, 633180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633181, 634100, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634101, 635660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635661, 636580, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636581, 636720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636721, 637660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637661, 637840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637841, 638780, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638781, 640200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640201, 641120, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641121, 641480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641481, 642400, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642401, 642520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642521, 643460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643461, 644740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644741, 645660, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645661, 646220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646221, 647160, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647161, 647200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647201, 648120, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648121, 649280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649281, 650200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650201, 650960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650961, 651860, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651861, 651900, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651901, 652800, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652801, 653333, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693654, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693655, 693934, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693935, 694594, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694595, 694694, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694695, 694854, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694855, 695614, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695615, 698414, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698415, 698594, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698595, 699234, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699235, 699334, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699335, 699534, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699535, 700154, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700155, 703154, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703155, 703274, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703275, 703774, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703775, 704074, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704075, 704194, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704195, 704694, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704695, 707894, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707895, 707934, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707935, 708314, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708315, 708834, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708835, 708874, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708875, 709234, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709235, 712614, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712615, 712634, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712635, 712854, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712855, 713554, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713555, 713574, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713575, 713774, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713775, 717294, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717295, 717374, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717375, 717394, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717395, 718214, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718215, 718314, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718315, 721934, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721935, 721954, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721955, 722134, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722135, 722874, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722875, 722894, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722895, 723054, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723055, 726474, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726475, 726634, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726635, 726874, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726875, 727414, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727415, 727574, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727575, 727794, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727795, 731014, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731015, 731314, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731315, 731614, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731615, 731954, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731955, 732234, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732235, 732554, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732555, 733333, {0, 0, 0} }, +}; + +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) + }, +}; + +/*************************************/ +/* ========== SET C =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_HP2_C_3712_REG_ARRAY[] = { + {0x0310, 0x0122, 0x00, 0x00}, + {0x0312, 0x0000, 0x00, 0x00}, + {0x030E, 0x0003, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_HP2_C_3686_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_C_3712[] = { + { MIPI_HP2_C_3712_REG_ARRAY, ARRAY_SIZE(MIPI_HP2_C_3712_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_3686[] = { + { MIPI_HP2_C_3686_REG_ARRAY, ARRAY_SIZE(MIPI_HP2_C_3686_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[] = { + { "3712 Msps", 3712, + sensor_s5khp2_setfile_C_3712, ARRAY_SIZE(sensor_s5khp2_setfile_C_3712) }, + { "3686 Msps", 3686, + sensor_s5khp2_setfile_C_3686, ARRAY_SIZE(sensor_s5khp2_setfile_C_3686) }, +}; + +static const struct cam_mipi_cell_ratings sensor_s5khp2_setfile_C_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10567, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10568, 10570, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10571, 10640, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10641, 10838, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9686, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9687, 9689, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9690, 9756, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9757, 9938, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1305, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1306, 1369, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1370, 1375, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1376, 1439, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1440, 1513, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1542, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1543, 1545, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1546, 1615, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1616, 1738, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4384, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4385, 4423, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4424, 4454, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4455, 4458, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4413, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2255, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2256, 2325, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2326, 2347, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2348, 2417, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2418, 2563, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 3088, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 748, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 749, 763, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 35, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 36, 41, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 42, 181, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 182, 599, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 673, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 674, 679, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 680, 813, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 814, 1199, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1511, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1512, 1639, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1640, 1651, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1652, 1779, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1780, 1949, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1985, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1986, 1991, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1992, 2131, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2132, 2399, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2417, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2418, 2478, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2479, 2557, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2558, 2618, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2619, 2649, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2811, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2812, 2951, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2952, 2994, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2995, 3134, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3135, 3449, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3784, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3785, 3799, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5179, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5279, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5379, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5849, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5957, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5958, 5999, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6018, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6019, 6097, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6098, 6149, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6209, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6210, 6264, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6265, 6449, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6482, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6483, 6585, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6586, 6599, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8113, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8114, 8119, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8120, 8253, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8254, 8689, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8807, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8808, 8868, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8869, 8947, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8948, 9008, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9009, 9039, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9459, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9460, 9514, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9515, 9599, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9600, 9654, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9655, 9659, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9769, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9869, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10251, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10252, 10354, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10355, 10359, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36217, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36218, 36349, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37750, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37751, 38249, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38649, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38699, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38700, 39278, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39279, 39418, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39419, 39442, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39443, 39582, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39583, 39649, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 40073, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40074, 40213, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40214, 40250, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40251, 40390, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40391, 40951, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40952, 41091, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41092, 41134, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41135, 41274, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41275, 41589, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41750, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41751, 41890, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41891, 41988, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41989, 42128, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42129, 42628, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42629, 42768, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42769, 42872, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42873, 43012, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43013, 43506, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43507, 43589, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55656, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55657, 55796, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55797, 55906, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55907, 56046, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56047, 56534, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56535, 56674, {0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56675, 56739, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66471, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66472, 66477, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66478, 66617, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66618, 67208, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67209, 67335, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68629, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68630, 68672, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68673, 68935, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 422700, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422701, 422820, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422821, 425620, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425621, 433980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 387460, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 387461, 387580, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 387581, 390260, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 390261, 397980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 367220, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367221, 369780, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369781, 370020, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370021, 372580, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372581, 375980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 174140, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 174141, 175360, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175361, 176940, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176941, 178160, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178161, 178780, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 525220, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525221, 528020, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528021, 528880, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528881, 531680, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531681, 538000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 191680, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191681, 191980, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 149200, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 151200, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 153580, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 174140, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 174141, 175000, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 159380, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159381, 160480, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160481, 164180, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 387460, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 387461, 387580, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 387581, 390260, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 390261, 398980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 174140, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 174141, 175360, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175361, 176940, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176941, 178160, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178161, 178800, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 156580, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156581, 157680, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157681, 159380, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159381, 160480, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160481, 160580, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 145580, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 471980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 514000, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514001, 523980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 384000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 460980, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460981, 472560, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 472561, 475360, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475361, 475840, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475841, 478640, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478641, 480000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 507660, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507661, 510460, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 510461, 511200, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511201, 514000, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514001, 525220, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525221, 528020, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528021, 528880, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528881, 531680, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531681, 537980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 639427, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639428, 640367, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640368, 641107, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641108, 642027, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642028, 645287, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645288, 646207, {0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646208, 646666, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 422700, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422701, 422820, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422821, 425620, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425621, 437440, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437441, 439980, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124260, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124261, 125120, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125121, 130380, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 621880, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621881, 622820, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622821, 623420, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623421, 624360, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624361, 627720, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627721, 628660, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628661, 629320, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629321, 630240, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630241, 633580, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633581, 634520, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634521, 635200, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635201, 636140, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636141, 639440, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639441, 640360, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640361, 641100, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641101, 642040, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642041, 645280, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645281, 646220, {0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646221, 647000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647001, 647920, {20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647921, 651140, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651141, 652060, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652061, 652880, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652881, 653820, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653821, 656980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656981, 657920, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657921, 658780, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658781, 659700, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659701, 662840, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662841, 663780, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663781, 664660, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664661, 665600, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665601, 668680, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668681, 669620, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669621, 670560, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670561, 671500, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671501, 674540, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674541, 675480, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675481, 676460, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676461, 677380, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677381, 680000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 621880, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621881, 622820, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622821, 623420, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623421, 624360, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624361, 627720, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627721, 628660, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628661, 629320, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629321, 630240, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630241, 633580, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633581, 634520, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634521, 635200, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635201, 636140, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636141, 639440, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639441, 640360, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640361, 641100, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641101, 642040, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642041, 645280, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645281, 646220, {0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646221, 647000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647001, 647920, {20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647921, 651140, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651141, 652060, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652061, 652880, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652881, 653333, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 694134, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694135, 695054, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695055, 697954, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697955, 698874, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698875, 700014, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700015, 700954, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700955, 703794, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703795, 704734, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704735, 705914, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705915, 706854, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706855, 709654, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709655, 710574, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710575, 711794, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711795, 712734, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712735, 715494, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715495, 716434, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716435, 717694, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717695, 718634, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718635, 721354, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721355, 722294, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722295, 723594, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723595, 724514, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724515, 727214, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727215, 728134, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728135, 729474, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729475, 730414, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730415, 733054, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733055, 733333, {0, 1} }, +}; + +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) + }, +}; + + +/*************************************/ +/* ========== SET D =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_HP2_D_1862_REG_ARRAY[] = { + {0x0310, 0x0123, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, + {0x030E, 0x0003, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_HP2_D_1849_REG_ARRAY[] = { + {0x0310, 0x0121, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, + {0x030E, 0x0003, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_HP2_D_1811_REG_ARRAY[] = { + {0x0310, 0x011B, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, + {0x030E, 0x0003, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_s5khp2_setfile_D_1862[] = { + { MIPI_HP2_D_1862_REG_ARRAY, ARRAY_SIZE(MIPI_HP2_D_1862_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[] = { + { MIPI_HP2_D_1849_REG_ARRAY, ARRAY_SIZE(MIPI_HP2_D_1849_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_1811[] = { + { MIPI_HP2_D_1811_REG_ARRAY, ARRAY_SIZE(MIPI_HP2_D_1811_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[] = { + { "1862 Msps", 1862, + sensor_s5khp2_setfile_D_1862, ARRAY_SIZE(sensor_s5khp2_setfile_D_1862) }, + { "1849 Msps", 1849, + sensor_s5khp2_setfile_D_1849, ARRAY_SIZE(sensor_s5khp2_setfile_D_1849) }, + { "1811 Msps", 1811, + sensor_s5khp2_setfile_D_1811, ARRAY_SIZE(sensor_s5khp2_setfile_D_1811) }, +}; + +static const struct cam_mipi_cell_ratings sensor_s5khp2_setfile_D_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {14, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {0, 3, 63} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10600, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10601, 10604, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10605, 10607, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10608, 10677, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10678, 10745, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10746, 10754, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10755, 10815, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10816, 10824, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10825, 10828, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10829, 10838, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9667, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9668, 9720, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9721, 9723, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9724, 9737, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9738, 9790, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9791, 9873, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9874, 9883, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9884, 9938, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1180, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1181, 1187, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1188, 1215, {3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1216, 1250, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1251, 1337, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1338, 1361, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1362, 1401, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1402, 1407, {60, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1408, 1431, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1432, 1471, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1472, 1513, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1575, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1576, 1579, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1580, 1582, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1583, 1652, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1653, 1720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1721, 1729, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1730, 1738, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4368, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4369, 4399, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4400, 4438, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4439, 4458, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4399, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4400, 4413, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2241, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2242, 2242, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2243, 2301, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2302, 2312, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2313, 2371, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2372, 2392, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2393, 2458, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2459, 2462, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2463, 2521, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2522, 2528, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2529, 2563, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2958, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2959, 2990, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2991, 3008, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3009, 3078, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3079, 3088, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 724, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 725, 763, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 100, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 101, 108, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 109, 114, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 115, 254, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 255, 391, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 392, 408, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 409, 531, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 532, 548, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 549, 557, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 558, 599, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 606, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 607, 635, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 636, 740, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 741, 746, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 747, 775, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 776, 880, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 881, 1047, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1048, 1066, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1067, 1184, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1185, 1187, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1188, 1199, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1260, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1261, 1275, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1276, 1331, {3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1332, 1400, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1401, 1575, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1576, 1623, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1624, 1703, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1704, 1715, {60, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1716, 1763, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1764, 1843, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1844, 1949, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2050, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2051, 2058, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2059, 2064, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2065, 2204, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2205, 2341, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2342, 2358, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2359, 2399, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2404, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2405, 2447, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2448, 2508, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2509, 2587, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2588, 2648, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2649, 2649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2782, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2783, 2785, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2786, 2902, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2903, 2925, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2926, 3042, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3043, 3085, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3086, 3216, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3217, 3225, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3226, 3343, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3344, 3356, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3357, 3449, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3517, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3518, 3581, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3582, 3617, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3618, 3757, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3758, 3799, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5121, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5122, 5136, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5137, 5179, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5188, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5189, 5276, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5277, 5279, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5308, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5309, 5379, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5791, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5792, 5806, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5807, 5849, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5944, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5945, 5987, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5988, 5999, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6048, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6049, 6127, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6128, 6149, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6151, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6152, 6236, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6237, 6291, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6292, 6363, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6364, 6449, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6497, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6498, 6514, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6515, 6533, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6534, 6599, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8046, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8047, 8075, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8076, 8180, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8181, 8186, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8187, 8215, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8216, 8320, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8321, 8487, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8488, 8506, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8507, 8624, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8625, 8627, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8628, 8646, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8647, 8689, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8794, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8795, 8837, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8838, 8898, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8899, 8977, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8978, 9038, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9039, 9039, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9238, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9239, 9322, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9323, 9462, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9463, 9486, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9487, 9541, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9542, 9626, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9627, 9659, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9751, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9752, 9769, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9841, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9842, 9869, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9963, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9964, 9992, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9993, 10002, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10003, 10103, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10104, 10132, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10133, 10302, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10303, 10359, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36287, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36288, 36298, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36299, 36349, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37838, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37839, 37854, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37855, 37962, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37963, 37994, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37995, 38102, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38103, 38142, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38143, 38249, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38316, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38317, 38354, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38355, 38447, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38448, 38456, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38457, 38494, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38495, 38587, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38588, 38649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38778, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38779, 38866, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38867, 38920, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38921, 39006, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39007, 39060, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39061, 39081, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39082, 39221, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39222, 39298, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39299, 39360, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39361, 39438, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39439, 39500, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39501, 39525, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39526, 39649, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39721, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39722, 39771, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39772, 39861, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39862, 39895, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39896, 40035, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40036, 40063, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40064, 40162, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40163, 40203, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40204, 40302, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40303, 40338, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40339, 40478, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40479, 40494, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40495, 40602, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40603, 40634, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40635, 40742, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40743, 40782, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40783, 40922, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40923, 40925, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40926, 41042, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41043, 41065, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41066, 41182, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41183, 41225, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41226, 41356, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41357, 41365, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41366, 41483, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41484, 41496, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41497, 41589, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41664, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41665, 41727, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41728, 41804, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41805, 41869, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41870, 42009, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42010, 42019, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42020, 42107, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42108, 42159, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42160, 42247, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42248, 42310, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42311, 42450, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42451, 42550, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42551, 42590, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42591, 42690, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42691, 42750, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42751, 42881, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42882, 42890, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42891, 42994, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42995, 43021, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43022, 43134, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43135, 43190, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43191, 43312, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43313, 43330, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43331, 43437, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43438, 43452, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43453, 43577, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43578, 43589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55284, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55285, 55340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55341, 55462, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55463, 55480, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55481, 55587, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55588, 55602, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55603, 55727, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55728, 55781, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55782, 55894, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55895, 55921, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55922, 56031, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56032, 56034, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56035, 56171, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56172, 56221, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56222, 56325, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56326, 56361, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56362, 56465, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56466, 56474, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56475, 56614, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56615, 56662, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56663, 56739, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66536, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66537, 66544, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66545, 66550, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66551, 66690, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66691, 66827, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66828, 66844, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66845, 66967, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66968, 66984, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66985, 66993, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66994, 67133, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67134, 67259, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67260, 67285, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67286, 67335, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68651, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68652, 68693, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68694, 68814, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68815, 68935, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {6, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 63, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {6, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {6, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {0, 0, 14} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 424000, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 424001, 424160, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 424161, 424280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 424281, 427080, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427081, 429820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429821, 430160, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 430161, 432620, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432621, 432960, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432961, 433140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433141, 433980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 386120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386121, 386700, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386701, 388800, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388801, 388920, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388921, 389500, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389501, 391600, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391601, 394940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 394941, 395320, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395321, 397680, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397681, 397740, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397741, 397980, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 362200, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362201, 362500, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362501, 363620, {3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363621, 365000, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365001, 368500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 368501, 369460, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369461, 371060, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 371061, 371300, {60, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 371301, 372260, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372261, 373860, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373861, 375980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 173880, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173881, 174740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 174741, 175960, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175961, 177540, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 177541, 178760, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178761, 178780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 524640, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524641, 524700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524701, 527040, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527041, 527500, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527501, 529840, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 529841, 530700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530701, 533320, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533321, 533500, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533501, 535860, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 535861, 536120, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 536121, 538000, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186340, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186341, 187620, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187621, 188340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 188341, 191140, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191141, 191980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 148020, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148021, 148320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148321, 149200, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 149360, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149361, 151120, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 151121, 151200, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 152160, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 152161, 153580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 173880, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173881, 174740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 174741, 175000, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 158220, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158221, 159920, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159921, 161020, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 161021, 162460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162461, 164180, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 386120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386121, 386700, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386701, 388800, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388801, 388920, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388921, 389500, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389501, 391600, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391601, 394940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 394941, 395320, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395321, 397680, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397681, 397740, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397741, 398120, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 398121, 398980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 173880, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173881, 174740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 174741, 175960, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175961, 177540, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 177541, 178760, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178761, 178800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 152160, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 152161, 153840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153841, 156640, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156641, 157120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157121, 158220, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158221, 159920, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159921, 160580, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 145220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 145221, 145580, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 471420, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471421, 471980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 515760, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515761, 516080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 516081, 518240, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518241, 518880, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518881, 521040, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 521041, 521840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 521841, 523980, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 377320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377321, 378080, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378081, 379940, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 379941, 380120, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380121, 380880, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380881, 382740, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382741, 384000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 462560, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 462561, 464320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464321, 465400, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465401, 467120, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467121, 468200, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468201, 468620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468621, 471420, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471421, 472960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 472961, 474200, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 474201, 475760, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475761, 477000, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477001, 477500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477501, 480000, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 500620, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 500621, 501620, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501621, 503420, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 503421, 504100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504101, 506900, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506901, 507460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507461, 509440, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509441, 510260, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 510261, 512240, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512241, 512960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512961, 515760, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515761, 516080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 516081, 518240, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518241, 518880, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518881, 521040, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 521041, 521840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 521841, 524640, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524641, 524700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524701, 527040, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527041, 527500, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527501, 529840, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 529841, 530700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530701, 533320, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533321, 533500, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533501, 535860, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 535861, 536120, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 536121, 537980, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 636947, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636948, 637327, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637328, 638147, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638148, 638267, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638268, 638967, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638968, 639067, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639068, 639907, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639908, 640267, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640268, 641027, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641028, 641207, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641208, 641927, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641928, 641947, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641948, 642867, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642868, 643207, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643208, 643887, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643888, 644127, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644128, 644827, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644828, 644887, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644888, 645827, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645828, 646147, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646148, 646666, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 424000, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 424001, 424160, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 424161, 424280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 424281, 427080, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427081, 429820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429821, 430160, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 430161, 432620, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432621, 432960, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432961, 433140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433141, 435940, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435941, 438460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438461, 438980, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438981, 439980, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124700, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124701, 125540, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125541, 127960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127961, 130380, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620641, 620900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620901, 621240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621241, 621820, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621821, 622180, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622181, 622640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622641, 623580, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623581, 623760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623761, 624200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624201, 624700, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624701, 625120, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625121, 625580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625581, 626520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626521, 626640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626641, 627160, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627161, 627580, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627581, 628080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628081, 628520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628521, 629460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629461, 629520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629521, 630100, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630101, 630460, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630461, 631040, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631041, 631460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631461, 632400, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632401, 633060, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633061, 633320, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633321, 634000, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634001, 634400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634401, 635260, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635261, 635320, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635321, 636020, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636021, 636200, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636201, 636960, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636961, 637320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637321, 638140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638141, 638260, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638261, 638980, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638981, 639080, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639081, 639900, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639901, 640260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640261, 641020, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641021, 641200, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641201, 641940, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641941, 642860, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642861, 643200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643201, 643900, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643901, 644140, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644141, 644820, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644821, 644880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644881, 645820, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645821, 646140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646141, 646760, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646761, 647060, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647061, 647700, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647701, 647840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647841, 648780, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648781, 649080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649081, 649640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649641, 650000, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650001, 650580, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650581, 650800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650801, 651740, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651741, 652000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652001, 652520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652521, 652940, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652941, 653440, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653441, 653760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653761, 654680, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654681, 654940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654941, 655400, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655401, 655880, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655881, 656320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656321, 656720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656721, 657640, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657641, 657880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657881, 658260, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658261, 658820, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658821, 659200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659201, 659660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659661, 660600, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660601, 660820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660821, 661140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661141, 661740, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661741, 662080, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662081, 662620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662621, 663560, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663561, 663760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663761, 664020, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664021, 664680, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664681, 664940, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664941, 665580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665581, 666520, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666521, 666680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666681, 666900, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666901, 667620, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667621, 667820, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667821, 668540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668541, 669460, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669461, 669620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669621, 669760, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669761, 670560, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670561, 670700, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670701, 671500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671501, 672420, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672421, 672560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672561, 672640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672641, 673500, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673501, 673580, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673581, 674440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674441, 675380, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675381, 675500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675501, 675520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675521, 676420, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676421, 676440, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676441, 677400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677401, 678340, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678341, 678400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678401, 678440, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678441, 679320, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679321, 679360, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679361, 680000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620641, 620900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620901, 621240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621241, 621820, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621821, 622180, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622181, 622640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622641, 623580, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623581, 623760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623761, 624200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624201, 624700, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624701, 625120, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625121, 625580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625581, 626520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626521, 626640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626641, 627160, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627161, 627580, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627581, 628080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628081, 628520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628521, 629460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629461, 629520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629521, 630100, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630101, 630460, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630461, 631040, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631041, 631460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631461, 632400, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632401, 633060, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633061, 633320, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633321, 634000, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634001, 634400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634401, 635260, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635261, 635320, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635321, 636020, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636021, 636200, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636201, 636960, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636961, 637320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637321, 638140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638141, 638260, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638261, 638980, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638981, 639080, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639081, 639900, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639901, 640260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640261, 641020, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641021, 641200, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641201, 641940, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641941, 642860, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642861, 643200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643201, 643900, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643901, 644140, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644141, 644820, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644821, 644880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644881, 645820, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645821, 646140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646141, 646760, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646761, 647060, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647061, 647700, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647701, 647840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647841, 648780, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648781, 649080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649081, 649640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649641, 650000, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650001, 650580, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650581, 650800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650801, 651740, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651741, 652000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652001, 652520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652521, 652940, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652941, 653333, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693694, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693695, 694054, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694055, 695134, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695135, 695634, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695635, 696054, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696055, 696074, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696075, 696574, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696575, 696974, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696975, 698094, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698095, 698514, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698515, 698974, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698975, 699034, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699035, 699454, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699455, 699914, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699915, 701054, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701055, 701394, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701395, 701914, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701915, 701994, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701995, 702314, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702315, 702854, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702855, 704014, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704015, 704274, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704275, 704854, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704855, 704954, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704955, 705194, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705195, 705794, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705795, 706974, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706975, 707134, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707135, 707794, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707795, 707894, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707895, 708074, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708075, 708714, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708715, 709934, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709935, 710014, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710015, 710734, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710735, 710854, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710855, 710954, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710955, 711654, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711655, 712874, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712875, 712894, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712895, 713654, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713655, 713814, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713815, 714594, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714595, 715774, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715775, 715834, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715835, 716594, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716595, 716694, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716695, 716774, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716775, 717534, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717535, 718634, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718635, 718794, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718795, 719534, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719535, 719574, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719575, 719734, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719735, 720474, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720475, 721514, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721515, 721754, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721755, 722454, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722455, 722474, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722475, 722674, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722675, 723394, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723395, 724394, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724395, 724714, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724715, 725314, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725315, 725414, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725415, 725634, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725635, 726334, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726335, 727274, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727275, 727654, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727655, 728194, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728195, 728334, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728335, 728594, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728595, 729274, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729275, 730134, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730135, 730614, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730615, 731074, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731075, 731274, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731275, 731554, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731555, 732214, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732215, 733014, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733015, 733333, {0, 0, 1} }, +}; + +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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_front.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_front.h new file mode 100644 index 0000000000..7d15e28bb6 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_front.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_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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_front_2_0.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_front_2_0.h new file mode 100644 index 0000000000..9535cf5055 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_front_2_0.h @@ -0,0 +1,1775 @@ +/* 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; + +/* +FrontCAM_Adaptive MIPI 2.0_3LU_231016.xlsx +SET A : no-bin (10/12bit) (1862.4 / 1849.6 / 1811.2) +SET B : FastAE/SM 2x2 bin (10bit) (1164.8 / 1062.4 / 1116.8 / 1196.8) +*/ + +/*************************************/ +/* ========== SET A =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_SET_A_1862_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x0123, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_A_1849_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x0121, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_A_1811_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[] = { + { MIPI_SET_A_1862_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_1862_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[] = { + { MIPI_SET_A_1849_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_1849_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[] = { + { MIPI_SET_A_1811_REG_ARRAY, ARRAY_SIZE(MIPI_SET_A_1811_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", 1862, + sensor_s5k3lu_setfile_A_mipi_1862, ARRAY_SIZE(sensor_s5k3lu_setfile_A_mipi_1862) }, + { "1849 Msps", 1849, + sensor_s5k3lu_setfile_A_mipi_1849, ARRAY_SIZE(sensor_s5k3lu_setfile_A_mipi_1849) }, + { "1811 Msps", 1811, + sensor_s5k3lu_setfile_A_mipi_1811, ARRAY_SIZE(sensor_s5k3lu_setfile_A_mipi_1811) }, +}; + +static const struct cam_mipi_cell_ratings sensor_s5k3lu_setfile_A_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {14, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {0, 3, 63} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10600, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10601, 10604, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10605, 10607, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10608, 10677, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10678, 10745, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10746, 10754, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10755, 10815, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10816, 10824, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10825, 10828, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10829, 10838, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9667, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9668, 9720, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9721, 9723, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9724, 9737, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9738, 9790, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9791, 9873, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9874, 9883, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9884, 9938, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1180, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1181, 1187, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1188, 1215, {3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1216, 1250, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1251, 1337, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1338, 1361, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1362, 1401, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1402, 1407, {60, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1408, 1431, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1432, 1471, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1472, 1513, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1575, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1576, 1579, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1580, 1582, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1583, 1652, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1653, 1720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1721, 1729, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1730, 1738, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4368, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4369, 4399, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4400, 4438, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4439, 4458, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4399, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4400, 4413, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2241, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2242, 2242, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2243, 2301, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2302, 2312, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2313, 2371, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2372, 2392, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2393, 2458, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2459, 2462, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2463, 2521, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2522, 2528, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2529, 2563, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2958, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2959, 2990, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2991, 3008, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3009, 3078, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3079, 3088, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 724, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 725, 763, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 100, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 101, 108, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 109, 114, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 115, 254, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 255, 391, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 392, 408, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 409, 531, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 532, 548, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 549, 557, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 558, 599, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 606, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 607, 635, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 636, 740, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 741, 746, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 747, 775, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 776, 880, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 881, 1047, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1048, 1066, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1067, 1184, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1185, 1187, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1188, 1199, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1260, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1261, 1275, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1276, 1331, {3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1332, 1400, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1401, 1575, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1576, 1623, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1624, 1703, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1704, 1715, {60, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1716, 1763, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1764, 1843, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1844, 1949, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2050, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2051, 2058, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2059, 2064, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2065, 2204, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2205, 2341, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2342, 2358, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2359, 2399, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2404, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2405, 2447, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2448, 2508, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2509, 2587, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2588, 2648, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2649, 2649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2782, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2783, 2785, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2786, 2902, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2903, 2925, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2926, 3042, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3043, 3085, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3086, 3216, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3217, 3225, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3226, 3343, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3344, 3356, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3357, 3449, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3517, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3518, 3581, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3582, 3617, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3618, 3757, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3758, 3799, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5121, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5122, 5136, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5137, 5179, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5188, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5189, 5276, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5277, 5279, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5308, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5309, 5379, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5791, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5792, 5806, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5807, 5849, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5944, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5945, 5987, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5988, 5999, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6048, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6049, 6127, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6128, 6149, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6151, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6152, 6236, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6237, 6291, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6292, 6363, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6364, 6449, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6497, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6498, 6514, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6515, 6533, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6534, 6599, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8046, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8047, 8075, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8076, 8180, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8181, 8186, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8187, 8215, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8216, 8320, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8321, 8487, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8488, 8506, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8507, 8624, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8625, 8627, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8628, 8646, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8647, 8689, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8794, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8795, 8837, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8838, 8898, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8899, 8977, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8978, 9038, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9039, 9039, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9238, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9239, 9322, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9323, 9462, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9463, 9486, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9487, 9541, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9542, 9626, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9627, 9659, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9751, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9752, 9769, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9841, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9842, 9869, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9963, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9964, 9992, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9993, 10002, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10003, 10103, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10104, 10132, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10133, 10302, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10303, 10359, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36287, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36288, 36298, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36299, 36349, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37838, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37839, 37854, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37855, 37962, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37963, 37994, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37995, 38102, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38103, 38142, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38143, 38249, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38316, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38317, 38354, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38355, 38447, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38448, 38456, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38457, 38494, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38495, 38587, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38588, 38649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38778, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38779, 38866, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38867, 38920, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38921, 39006, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39007, 39060, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39061, 39081, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39082, 39221, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39222, 39298, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39299, 39360, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39361, 39438, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39439, 39500, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39501, 39525, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39526, 39649, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39721, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39722, 39771, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39772, 39861, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39862, 39895, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39896, 40035, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40036, 40063, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40064, 40162, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40163, 40203, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40204, 40302, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40303, 40338, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40339, 40478, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40479, 40494, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40495, 40602, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40603, 40634, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40635, 40742, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40743, 40782, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40783, 40922, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40923, 40925, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40926, 41042, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41043, 41065, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41066, 41182, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41183, 41225, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41226, 41356, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41357, 41365, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41366, 41483, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41484, 41496, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41497, 41589, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41664, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41665, 41727, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41728, 41804, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41805, 41869, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41870, 42009, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42010, 42019, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42020, 42107, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42108, 42159, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42160, 42247, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42248, 42310, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42311, 42450, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42451, 42550, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42551, 42590, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42591, 42690, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42691, 42750, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42751, 42881, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42882, 42890, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42891, 42994, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42995, 43021, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43022, 43134, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43135, 43190, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43191, 43312, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43313, 43330, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43331, 43437, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43438, 43452, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43453, 43577, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43578, 43589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55284, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55285, 55340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55341, 55462, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55463, 55480, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55481, 55587, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55588, 55602, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55603, 55727, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55728, 55781, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55782, 55894, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55895, 55921, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55922, 56031, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56032, 56034, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56035, 56171, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56172, 56221, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56222, 56325, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56326, 56361, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56362, 56465, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56466, 56474, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56475, 56614, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56615, 56662, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56663, 56739, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66536, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66537, 66544, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66545, 66550, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66551, 66690, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66691, 66827, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66828, 66844, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66845, 66967, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66968, 66984, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66985, 66993, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66994, 67133, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67134, 67259, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67260, 67285, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67286, 67335, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68651, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68652, 68693, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68694, 68814, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68815, 68935, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {6, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 63, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {6, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {6, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {0, 0, 14} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 424000, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 424001, 424160, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 424161, 424280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 424281, 427080, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427081, 429820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429821, 430160, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 430161, 432620, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432621, 432960, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432961, 433140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433141, 433980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 386120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386121, 386700, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386701, 388800, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388801, 388920, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388921, 389500, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389501, 391600, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391601, 394940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 394941, 395320, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395321, 397680, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397681, 397740, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397741, 397980, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 362200, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362201, 362500, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362501, 363620, {3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363621, 365000, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365001, 368500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 368501, 369460, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369461, 371060, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 371061, 371300, {60, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 371301, 372260, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372261, 373860, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373861, 375980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 173880, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173881, 174740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 174741, 175960, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175961, 177540, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 177541, 178760, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178761, 178780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 524640, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524641, 524700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524701, 527040, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527041, 527500, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527501, 529840, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 529841, 530700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530701, 533320, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533321, 533500, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533501, 535860, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 535861, 536120, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 536121, 538000, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186340, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186341, 187620, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187621, 188340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 188341, 191140, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191141, 191980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 148020, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148021, 148320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148321, 149200, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 149360, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149361, 151120, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 151121, 151200, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 152160, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 152161, 153580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 173880, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173881, 174740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 174741, 175000, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 158220, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158221, 159920, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159921, 161020, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 161021, 162460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162461, 164180, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 386120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386121, 386700, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386701, 388800, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388801, 388920, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388921, 389500, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389501, 391600, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391601, 394940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 394941, 395320, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395321, 397680, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397681, 397740, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397741, 398120, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 398121, 398980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 173880, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173881, 174740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 174741, 175960, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175961, 177540, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 177541, 178760, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178761, 178800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 152160, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 152161, 153840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153841, 156640, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156641, 157120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157121, 158220, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158221, 159920, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159921, 160580, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 145220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 145221, 145580, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 471420, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471421, 471980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 515760, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515761, 516080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 516081, 518240, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518241, 518880, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518881, 521040, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 521041, 521840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 521841, 523980, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 377320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377321, 378080, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378081, 379940, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 379941, 380120, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380121, 380880, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380881, 382740, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382741, 384000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 462560, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 462561, 464320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464321, 465400, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465401, 467120, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467121, 468200, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468201, 468620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468621, 471420, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471421, 472960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 472961, 474200, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 474201, 475760, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475761, 477000, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477001, 477500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477501, 480000, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 500620, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 500621, 501620, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501621, 503420, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 503421, 504100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504101, 506900, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506901, 507460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507461, 509440, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509441, 510260, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 510261, 512240, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512241, 512960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512961, 515760, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515761, 516080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 516081, 518240, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518241, 518880, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518881, 521040, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 521041, 521840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 521841, 524640, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524641, 524700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524701, 527040, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527041, 527500, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527501, 529840, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 529841, 530700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530701, 533320, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533321, 533500, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533501, 535860, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 535861, 536120, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 536121, 537980, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 636947, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636948, 637327, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637328, 638147, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638148, 638267, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638268, 638967, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638968, 639067, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639068, 639907, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639908, 640267, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640268, 641027, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641028, 641207, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641208, 641927, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641928, 641947, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641948, 642867, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642868, 643207, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643208, 643887, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643888, 644127, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644128, 644827, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644828, 644887, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644888, 645827, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645828, 646147, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646148, 646666, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 424000, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 424001, 424160, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 424161, 424280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 424281, 427080, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427081, 429820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429821, 430160, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 430161, 432620, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432621, 432960, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432961, 433140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433141, 435940, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435941, 438460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438461, 438980, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438981, 439980, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124700, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124701, 125540, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125541, 127960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127961, 130380, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620641, 620900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620901, 621240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621241, 621820, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621821, 622180, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622181, 622640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622641, 623580, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623581, 623760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623761, 624200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624201, 624700, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624701, 625120, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625121, 625580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625581, 626520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626521, 626640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626641, 627160, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627161, 627580, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627581, 628080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628081, 628520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628521, 629460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629461, 629520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629521, 630100, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630101, 630460, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630461, 631040, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631041, 631460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631461, 632400, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632401, 633060, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633061, 633320, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633321, 634000, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634001, 634400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634401, 635260, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635261, 635320, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635321, 636020, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636021, 636200, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636201, 636960, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636961, 637320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637321, 638140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638141, 638260, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638261, 638980, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638981, 639080, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639081, 639900, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639901, 640260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640261, 641020, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641021, 641200, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641201, 641940, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641941, 642860, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642861, 643200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643201, 643900, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643901, 644140, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644141, 644820, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644821, 644880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644881, 645820, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645821, 646140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646141, 646760, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646761, 647060, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647061, 647700, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647701, 647840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647841, 648780, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648781, 649080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649081, 649640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649641, 650000, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650001, 650580, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650581, 650800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650801, 651740, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651741, 652000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652001, 652520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652521, 652940, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652941, 653440, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653441, 653760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653761, 654680, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654681, 654940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654941, 655400, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655401, 655880, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655881, 656320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656321, 656720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656721, 657640, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657641, 657880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657881, 658260, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658261, 658820, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658821, 659200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659201, 659660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659661, 660600, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660601, 660820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660821, 661140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661141, 661740, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661741, 662080, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662081, 662620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662621, 663560, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663561, 663760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663761, 664020, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664021, 664680, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664681, 664940, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664941, 665580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665581, 666520, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666521, 666680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666681, 666900, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666901, 667620, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667621, 667820, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667821, 668540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668541, 669460, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669461, 669620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669621, 669760, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669761, 670560, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670561, 670700, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670701, 671500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671501, 672420, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672421, 672560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672561, 672640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672641, 673500, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673501, 673580, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673581, 674440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674441, 675380, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675381, 675500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675501, 675520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675521, 676420, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676421, 676440, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676441, 677400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677401, 678340, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678341, 678400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678401, 678440, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678441, 679320, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679321, 679360, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679361, 680000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620641, 620900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620901, 621240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621241, 621820, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621821, 622180, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622181, 622640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622641, 623580, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623581, 623760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623761, 624200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624201, 624700, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624701, 625120, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625121, 625580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625581, 626520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626521, 626640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626641, 627160, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627161, 627580, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627581, 628080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628081, 628520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628521, 629460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629461, 629520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629521, 630100, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630101, 630460, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630461, 631040, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631041, 631460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631461, 632400, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632401, 633060, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633061, 633320, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633321, 634000, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634001, 634400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634401, 635260, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635261, 635320, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635321, 636020, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636021, 636200, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636201, 636960, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636961, 637320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637321, 638140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638141, 638260, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638261, 638980, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638981, 639080, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639081, 639900, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639901, 640260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640261, 641020, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641021, 641200, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641201, 641940, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641941, 642860, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642861, 643200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643201, 643900, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643901, 644140, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644141, 644820, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644821, 644880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644881, 645820, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645821, 646140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646141, 646760, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646761, 647060, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647061, 647700, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647701, 647840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647841, 648780, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648781, 649080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649081, 649640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649641, 650000, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650001, 650580, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650581, 650800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650801, 651740, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651741, 652000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652001, 652520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652521, 652940, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652941, 653333, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693694, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693695, 694054, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694055, 695134, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695135, 695634, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695635, 696054, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696055, 696074, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696075, 696574, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696575, 696974, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696975, 698094, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698095, 698514, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698515, 698974, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698975, 699034, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699035, 699454, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699455, 699914, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699915, 701054, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701055, 701394, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701395, 701914, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701915, 701994, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701995, 702314, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702315, 702854, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702855, 704014, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704015, 704274, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704275, 704854, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704855, 704954, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704955, 705194, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705195, 705794, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705795, 706974, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706975, 707134, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707135, 707794, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707795, 707894, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707895, 708074, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708075, 708714, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708715, 709934, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709935, 710014, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710015, 710734, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710735, 710854, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710855, 710954, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710955, 711654, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711655, 712874, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712875, 712894, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712895, 713654, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713655, 713814, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713815, 714594, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714595, 715774, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715775, 715834, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715835, 716594, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716595, 716694, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716695, 716774, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716775, 717534, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717535, 718634, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718635, 718794, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718795, 719534, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719535, 719574, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719575, 719734, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719735, 720474, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720475, 721514, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721515, 721754, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721755, 722454, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722455, 722474, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722475, 722674, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722675, 723394, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723395, 724394, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724395, 724714, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724715, 725314, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725315, 725414, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725415, 725634, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725635, 726334, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726335, 727274, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727275, 727654, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727655, 728194, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728195, 728334, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728335, 728594, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728595, 729274, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729275, 730134, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730135, 730614, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730615, 731074, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731075, 731274, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731275, 731554, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731555, 732214, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732215, 733014, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733015, 733333, {0, 0, 1} }, +}; + +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) + }, +}; + +/*************************************/ +/* ========== SET B =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_SET_B_1164_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x00B6, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_B_1062_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x014C, 0x00, 0x00}, + {0x0312, 0x0002, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_B_1116_REG_ARRAY[] = { + {0x030E, 0x0003, 0x00, 0x00}, + {0x0310, 0x015D, 0x00, 0x00}, + {0x0312, 0x0002, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_SET_B_1196_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[] = { + { MIPI_SET_B_1164_REG_ARRAY, ARRAY_SIZE(MIPI_SET_B_1164_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[] = { + { MIPI_SET_B_1062_REG_ARRAY, ARRAY_SIZE(MIPI_SET_B_1062_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[] = { + { MIPI_SET_B_1116_REG_ARRAY, ARRAY_SIZE(MIPI_SET_B_1116_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[] = { + { MIPI_SET_B_1196_REG_ARRAY, ARRAY_SIZE(MIPI_SET_B_1196_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", 1164, + sensor_s5k3lu_setfile_B_mipi_1164, ARRAY_SIZE(sensor_s5k3lu_setfile_B_mipi_1164) }, + { "1062 Msps", 1062, + sensor_s5k3lu_setfile_B_mipi_1062, ARRAY_SIZE(sensor_s5k3lu_setfile_B_mipi_1062) }, + { "1116 Msps", 1116, + sensor_s5k3lu_setfile_B_mipi_1116, ARRAY_SIZE(sensor_s5k3lu_setfile_B_mipi_1116) }, + { "1196 Msps", 1196, + sensor_s5k3lu_setfile_B_mipi_1196, ARRAY_SIZE(sensor_s5k3lu_setfile_B_mipi_1196) }, +}; + +static const struct cam_mipi_cell_ratings sensor_s5k3lu_setfile_B_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {14, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10573, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10574, 10578, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10579, 10588, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10589, 10601, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10602, 10658, {0, 60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10659, 10671, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10672, 10780, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10781, 10793, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10794, 10838, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9671, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9672, 9723, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9724, 9741, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9742, 9803, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9804, 9830, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9831, 9873, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9874, 9900, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9901, 9938, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1196, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1197, 1200, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1201, 1208, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1209, 1241, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1242, 1266, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1267, 1278, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1279, 1311, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1312, 1396, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1397, 1449, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1450, 1466, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1467, 1493, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1494, 1513, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1548, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1549, 1553, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1554, 1563, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1564, 1576, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1577, 1633, {0, 60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1634, 1646, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1647, 1738, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4402, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4403, 4458, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4402, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4403, 4413, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2243, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2244, 2267, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2268, 2313, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2314, 2385, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2386, 2401, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2402, 2455, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2456, 2471, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2472, 2482, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2483, 2496, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2497, 2552, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2553, 2563, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2979, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2980, 3049, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3050, 3051, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3052, 3071, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3072, 3088, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 727, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 728, 763, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 47, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 48, 56, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 57, 77, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 78, 102, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 103, 217, {0, 60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 218, 242, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 243, 461, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 462, 486, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 487, 583, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 584, 599, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 606, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 607, 643, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 644, 746, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 747, 783, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 784, 906, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 907, 960, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 961, 1046, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1047, 1100, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1101, 1176, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1177, 1197, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1198, 1199, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1292, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1293, 1301, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1302, 1316, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1317, 1383, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1384, 1432, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1433, 1456, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1457, 1523, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1524, 1693, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1694, 1798, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1799, 1833, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1834, 1886, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1887, 1938, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1939, 1949, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1997, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1998, 2006, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2007, 2027, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2028, 2052, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2053, 2167, {0, 60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2168, 2192, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2193, 2399, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2514, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2515, 2649, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2787, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2788, 2835, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2836, 2927, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2928, 3070, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3071, 3103, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3104, 3210, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3211, 3243, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3244, 3265, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3266, 3292, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3293, 3405, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3406, 3432, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3433, 3449, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3559, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3560, 3699, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3700, 3702, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3703, 3742, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3743, 3799, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5058, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5059, 5095, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5096, 5179, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5198, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5199, 5235, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5236, 5238, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5239, 5279, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5358, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5359, 5379, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5765, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5766, 5849, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5868, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5869, 5920, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5921, 5999, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6054, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6055, 6149, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6264, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6265, 6287, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6288, 6288, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6289, 6404, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6405, 6449, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6451, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6452, 6536, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6537, 6598, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6599, 6599, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8046, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8047, 8083, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8084, 8186, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8187, 8223, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8224, 8346, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8347, 8400, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8401, 8486, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8487, 8540, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8541, 8616, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8617, 8637, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8638, 8689, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8718, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8719, 8770, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8771, 8904, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8905, 9039, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9288, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9289, 9325, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9326, 9465, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9466, 9537, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9538, 9538, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9539, 9654, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9655, 9659, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9769, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9869, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10001, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10002, 10141, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10142, 10147, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10148, 10220, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10221, 10287, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10288, 10305, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10306, 10359, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36238, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36239, 36266, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36267, 36349, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37765, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37766, 37781, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37782, 37921, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37922, 38038, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38039, 38049, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38050, 38178, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38179, 38189, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38190, 38195, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38196, 38249, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38326, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38327, 38378, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38379, 38525, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38526, 38604, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38605, 38649, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38851, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38852, 38875, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38876, 38946, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38947, 38979, {40, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38980, 38991, {40, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38992, 39015, {40, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39016, 39086, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39087, 39119, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39120, 39357, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39358, 39430, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39431, 39497, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39498, 39511, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39512, 39515, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39516, 39570, {2, 0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39571, 39649, {0, 0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39695, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39696, 39719, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39720, 39755, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39756, 39835, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39836, 39915, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39916, 40055, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40056, 40134, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40135, 40146, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40147, 40265, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40266, 40274, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40275, 40286, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40287, 40405, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40406, 40421, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40422, 40561, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40562, 40678, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40679, 40689, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40690, 40818, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40819, 40829, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40830, 40835, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40836, 40927, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40928, 40975, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40976, 41067, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41068, 41210, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41211, 41243, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41244, 41350, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41351, 41383, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41384, 41405, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41406, 41432, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41433, 41545, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41546, 41572, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41573, 41589, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41695, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41696, 41714, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41715, 41854, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41855, 41909, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41910, 41921, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41922, 42049, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42050, 42061, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42062, 42087, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42088, 42227, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42228, 42284, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42285, 42424, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42425, 42427, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42428, 42464, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42465, 42567, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42568, 42604, {40, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42605, 42619, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42620, 42759, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42760, 42854, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42855, 42933, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42934, 42994, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42995, 43018, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43019, 43073, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43074, 43151, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43152, 43158, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43159, 43291, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43292, 43424, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43425, 43439, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43440, 43564, {0, 2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43565, 43573, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43574, 43579, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43580, 43589, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55301, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55302, 55308, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55309, 55441, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55442, 55574, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55575, 55589, {0, 0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55590, 55714, {0, 2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55715, 55723, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55724, 55729, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55730, 55833, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55834, 55863, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55864, 55973, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55974, 56095, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56096, 56143, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56144, 56235, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56236, 56278, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56279, 56283, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56284, 56364, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56365, 56418, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56419, 56504, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56505, 56601, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56602, 56713, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56714, 56739, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66483, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66484, 66492, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66493, 66513, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66514, 66538, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66539, 66653, {0, 60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66654, 66678, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66679, 66897, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66898, 66922, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66923, 67019, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67020, 67037, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67038, 67062, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67063, 67070, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67071, 67159, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67160, 67210, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67211, 67335, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68587, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68588, 68614, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68615, 68727, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68728, 68754, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68755, 68867, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68868, 68922, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68923, 68935, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {0, 3, 6, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {0, 6, 6, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 0, 0, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {2, 0, 2, 42} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {0, 7, 7, 14} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 422940, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422941, 423120, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423121, 423540, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423541, 424040, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 424041, 426340, {0, 60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426341, 426840, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426841, 431220, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 431221, 431720, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 431721, 433660, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433661, 433980, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 386120, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386121, 386860, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386861, 388920, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388921, 389660, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389661, 392120, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392121, 393200, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393201, 394920, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 394921, 396000, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396001, 397520, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397521, 397940, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397941, 397980, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 362840, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362841, 363020, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363021, 363320, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363321, 364660, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 364661, 365640, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365641, 366120, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366121, 367460, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367461, 370860, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370861, 372960, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372961, 373660, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373661, 374720, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 374721, 375760, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 375761, 375980, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 176080, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176081, 178780, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 524740, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524741, 525700, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525701, 527540, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527541, 530400, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530401, 531060, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531061, 533200, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533201, 533860, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533861, 534300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534301, 534840, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534841, 537100, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537101, 537640, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537641, 538000, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 187180, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187181, 189980, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189981, 190040, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 190041, 190840, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 190841, 191980, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146760, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146761, 147500, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147501, 149200, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 149560, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149561, 150300, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150301, 150360, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150361, 151200, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 153160, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153161, 153580, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 172360, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172361, 173400, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173401, 175000, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 160480, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160481, 160940, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160941, 160960, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160961, 163280, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163281, 164180, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 386120, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386121, 386860, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386861, 388920, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388921, 389660, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389661, 392120, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392121, 393200, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393201, 394920, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 394921, 396000, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396001, 397520, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397521, 397940, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397941, 398980, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 172360, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172361, 173400, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173401, 176080, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176081, 178800, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 153160, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153161, 153900, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153901, 156700, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156701, 158140, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158141, 158160, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158161, 160480, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160481, 160580, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 145580, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 471980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 514300, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514301, 514620, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514621, 517420, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517421, 519760, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 519761, 519980, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 519981, 522560, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522561, 522780, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522781, 522900, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522901, 523980, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 377520, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377521, 378560, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378561, 381500, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381501, 383080, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 383081, 384000, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 464020, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464021, 464500, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464501, 465920, {40, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465921, 466580, {40, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466581, 466820, {40, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466821, 467300, {40, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467301, 468720, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468721, 469380, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 469381, 474140, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 474141, 475600, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475601, 476940, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476941, 477220, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477221, 477300, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477301, 478400, {2, 0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478401, 480000, {0, 0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 500100, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 500101, 500580, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 500581, 501300, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501301, 502900, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502901, 504500, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504501, 507300, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507301, 508880, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 508881, 509120, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509121, 511500, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511501, 511680, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511681, 511920, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511921, 514300, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514301, 514620, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514621, 517420, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517421, 519760, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 519761, 519980, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 519981, 522560, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522561, 522780, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522781, 522900, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522901, 524740, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524741, 525700, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525701, 527540, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527541, 530400, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530401, 531060, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531061, 533200, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533201, 533860, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533861, 534300, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534301, 534840, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534841, 537100, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537101, 537640, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537641, 537980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 637067, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637068, 637107, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637108, 638007, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638008, 638887, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638888, 638987, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638988, 639807, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639808, 639887, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639888, 639927, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639928, 640607, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640608, 640807, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640808, 641547, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641548, 642367, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642368, 642687, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642688, 643287, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643288, 643567, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643568, 643607, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643608, 644147, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644148, 644507, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644508, 645087, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645088, 645727, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645728, 646487, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646488, 646666, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 422940, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422941, 423120, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423121, 423540, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423541, 424040, {0, 60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 424041, 426340, {0, 60, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426341, 426840, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426841, 431220, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 431221, 431720, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 431721, 433660, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433661, 434020, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 434021, 434520, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 434521, 434680, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 434681, 436460, {0, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 436461, 437480, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437481, 439980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 123420, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123421, 123960, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123961, 126220, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126221, 126760, {0, 0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126761, 129020, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129021, 130120, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 130121, 130380, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620280, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620281, 620820, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620821, 621380, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621381, 622120, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622121, 622320, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622321, 622880, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622881, 623060, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623061, 623680, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623681, 623820, {0, 0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623821, 624620, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624621, 625080, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625081, 625500, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625501, 626020, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626021, 626420, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626421, 627360, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627361, 627480, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627481, 628420, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628421, 628780, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628781, 628860, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628861, 629720, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629721, 629800, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629801, 629980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629981, 630900, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630901, 631280, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631281, 632220, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632221, 632240, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632241, 632480, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632481, 633180, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633181, 633420, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633421, 633520, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633521, 634460, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634461, 635080, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635081, 635620, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635621, 636020, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636021, 636180, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636181, 636540, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636541, 637060, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637061, 637120, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637121, 638000, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638001, 638880, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638881, 638980, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638981, 639820, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639821, 639880, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639881, 639920, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639921, 640620, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640621, 640820, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640821, 641540, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641541, 642360, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642361, 642680, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642681, 643300, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643301, 643580, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643581, 643620, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643621, 644160, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644161, 644500, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644501, 645080, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645081, 645740, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645741, 646480, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646481, 646660, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646661, 647280, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647281, 647420, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647421, 647700, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647701, 648200, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648201, 648640, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648641, 649100, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649101, 650040, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650041, 650280, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650281, 650980, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650981, 651220, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651221, 651240, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651241, 651900, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651901, 652180, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652181, 652480, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652481, 653400, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653401, 654080, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654081, 654680, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654681, 654800, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654801, 655020, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655021, 655600, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655601, 655720, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655721, 655840, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655841, 656780, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656781, 657880, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657881, 658340, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658341, 658360, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658361, 658820, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658821, 659220, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659221, 659280, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659281, 659300, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659301, 660160, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660161, 661680, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661681, 661880, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661881, 662060, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662061, 662600, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662601, 662620, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662621, 662820, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662821, 663000, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663001, 663520, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663521, 665420, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665421, 665480, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665481, 665760, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665761, 665960, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665961, 666360, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666361, 666420, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666421, 666700, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666701, 666900, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666901, 668980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668981, 669280, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669281, 669340, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669341, 669460, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669461, 669900, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669901, 670220, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670221, 670280, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670281, 670400, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670401, 672520, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672521, 672720, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672721, 673080, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673081, 673160, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673161, 673460, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673461, 673640, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673641, 674020, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674021, 674100, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674101, 676060, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676061, 676080, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676081, 676860, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676861, 676880, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676881, 677000, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677001, 677020, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677021, 677780, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677781, 677820, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677821, 679460, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679461, 679600, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679601, 680000, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620280, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620281, 620820, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620821, 621380, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621381, 622120, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622121, 622320, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622321, 622880, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622881, 623060, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623061, 623680, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623681, 623820, {0, 0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623821, 624620, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624621, 625080, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625081, 625500, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625501, 626020, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626021, 626420, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626421, 627360, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627361, 627480, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627481, 628420, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628421, 628780, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628781, 628860, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628861, 629720, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629721, 629800, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629801, 629980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629981, 630900, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630901, 631280, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631281, 632220, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632221, 632240, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632241, 632480, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632481, 633180, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633181, 633420, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633421, 633520, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633521, 634460, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634461, 635080, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635081, 635620, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635621, 636020, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636021, 636180, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636181, 636540, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636541, 637060, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637061, 637120, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637121, 638000, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638001, 638880, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638881, 638980, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638981, 639820, {0, 1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639821, 639880, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639881, 639920, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639921, 640620, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640621, 640820, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640821, 641540, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641541, 642360, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642361, 642680, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642681, 643300, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643301, 643580, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643581, 643620, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643621, 644160, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644161, 644500, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644501, 645080, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645081, 645740, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645741, 646480, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646481, 646660, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646661, 647280, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647281, 647420, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647421, 647700, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647701, 648200, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648201, 648640, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648641, 649100, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649101, 650040, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650041, 650280, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650281, 650980, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650981, 651220, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651221, 651240, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651241, 651900, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651901, 652180, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652181, 652480, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652481, 653333, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693794, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693795, 693874, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693875, 694734, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694735, 695354, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695355, 695874, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695875, 696274, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696275, 696314, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696315, 696814, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696815, 697254, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697255, 697334, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697335, 698274, {0, 0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698275, 699034, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699035, 699674, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699675, 699694, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699695, 699974, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699975, 700614, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700615, 700634, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700635, 700874, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700875, 701814, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701815, 702734, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702735, 703074, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703075, 703474, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703475, 703674, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703675, 703994, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703995, 704414, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704415, 704434, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704435, 705354, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705355, 706434, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706435, 707274, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707275, 707374, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707375, 707974, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707975, 708214, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708215, 708914, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708915, 709814, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709815, 710134, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710135, 710754, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710755, 711074, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711075, 711514, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711515, 712014, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712015, 712454, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712455, 713194, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713195, 713834, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713835, 714114, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714115, 714774, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714775, 714874, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714875, 715074, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715075, 715814, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715815, 715994, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715995, 716554, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716555, 717494, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717495, 717534, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717535, 718474, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718475, 718614, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718615, 718674, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718675, 719534, {0, 0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719535, 719594, {0, 0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719595, 719934, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719935, 720854, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720855, 721234, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721235, 722154, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722155, 722474, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722475, 723094, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723095, 723294, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723295, 723394, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723395, 724234, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724235, 724934, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724935, 725694, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725695, 725854, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725855, 726274, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726275, 726634, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726635, 726674, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726675, 727194, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727195, 727614, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727615, 728634, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728635, 729254, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729255, 729554, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729555, 730054, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730055, 730074, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730075, 730174, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730175, 730974, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730975, 730994, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730995, 732314, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732315, 732794, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732795, 733254, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733255, 733333, {0, 0, 1, 0} }, +}; + +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 ================ */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_FRONT_DUMMY_REG_ARRAY[] = { +}; + +static const struct cam_sensor_i2c_reg_setting sensor_front_setfile_dummy[] = { + { MIPI_FRONT_DUMMY_REG_ARRAY, ARRAY_SIZE(MIPI_FRONT_DUMMY_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", 0, + sensor_front_setfile_dummy, ARRAY_SIZE(sensor_front_setfile_dummy) }, +}; + +static const struct cam_mipi_cell_ratings sensor_front_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_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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_front_top_2_0.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_front_top_2_0.h new file mode 100644 index 0000000000..770a094440 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_front_top_2_0.h @@ -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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_tele.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_tele.h new file mode 100644 index 0000000000..ea8718828d --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_tele.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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_tele2_2_0.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_tele2_2_0.h new file mode 100644 index 0000000000..1c5b7e6056 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_tele2_2_0.h @@ -0,0 +1,2552 @@ +/* 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_IMX854_H_ +#define _CAM_SENSOR_ADAPTIVE_MIPI_IMX854_H_ + +#include "cam_sensor_dev.h" + +int num_tele2_mipi_setting = 4; + +/* +TeleCAM5x_Adaptive MIPI 2.0_IMX854_231026.xlsx +SET A : No-Bin (10Bit) (3231.49 / 3142.61) +SET B : 2x2/No-Bin (12Bit) (2784.85 / 2720.21 / 2714.15) +SET C : 4x4 (10Bit) (1857.28 / 1796.68 / 1746.18) +SET D : 10Bit (2297.43 / 2289.35 / 2214.57) +*/ + +/*************************************/ +/* ========== SET A =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_A_3231_REG_ARRAY[] = { + {0x030E, 0x0C, 0x00, 0x00}, + {0x030F, 0x7E, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_A_3142_REG_ARRAY[] = { + {0x030E, 0x0C, 0x00, 0x00}, + {0x030F, 0x26, 0x00, 0x00}, +}; + + +static const struct cam_sensor_i2c_reg_setting sensor_imx854_setfile_A_mipi_3231[] = { + { MIPI_A_3231_REG_ARRAY, ARRAY_SIZE(MIPI_A_3231_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 } +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx854_setfile_A_mipi_3142[] = { + { MIPI_A_3142_REG_ARRAY, ARRAY_SIZE(MIPI_A_3142_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 } +}; + +static const struct cam_mipi_setting sensor_imx854_setfile_A_mipi_setting[] = { + { "3231 Msps", 3231, + sensor_imx854_setfile_A_mipi_3231, ARRAY_SIZE(sensor_imx854_setfile_A_mipi_3231) }, + { "3142 Msps", 3142, + sensor_imx854_setfile_A_mipi_3142, ARRAY_SIZE(sensor_imx854_setfile_A_mipi_3142) }, +}; + +static const struct cam_mipi_cell_ratings sensor_imx854_setfile_A_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10736, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10737, 10806, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10807, 10814, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10815, 10838, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9692, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9693, 9762, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9763, 9938, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1322, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1323, 1392, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1393, 1443, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1444, 1513, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1711, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1712, 1738, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4454, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4455, 4458, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4413, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2239, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2240, 2254, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2255, 2554, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2555, 2558, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2559, 2563, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2951, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2952, 3088, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 763, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 373, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 374, 513, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 514, 528, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 529, 599, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 605, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 606, 684, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 685, 824, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 825, 1199, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1545, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1546, 1685, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1686, 1786, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1787, 1926, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1927, 1949, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2323, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2324, 2399, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2618, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2619, 2649, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2779, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2780, 2808, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2809, 3409, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3410, 3416, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3417, 3449, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3502, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3503, 3799, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5132, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5133, 5179, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5272, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5273, 5279, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5324, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5325, 5379, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5802, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5803, 5849, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5999, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6149, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6400, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6401, 6449, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6525, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6526, 6599, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8045, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8046, 8124, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8125, 8264, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8265, 8674, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8675, 8689, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 9008, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9009, 9039, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9254, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9255, 9394, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9395, 9659, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9769, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9869, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9948, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9949, 10088, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10089, 10294, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10295, 10359, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36232, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36233, 36349, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 38139, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38140, 38168, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38169, 38249, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38615, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38616, 38649, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38662, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38663, 38775, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38776, 38802, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38803, 38915, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38916, 39431, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39432, 39523, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39524, 39571, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39572, 39649, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 40010, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40011, 40060, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40061, 40150, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40151, 40200, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40201, 40779, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40780, 40808, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40809, 40919, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40920, 40948, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40949, 41549, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41550, 41556, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41557, 41589, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41939, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41940, 42079, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42080, 42143, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42144, 42283, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42284, 42687, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42688, 42827, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42828, 42912, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42913, 43052, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43053, 43435, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43436, 43575, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43576, 43589, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55585, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55586, 55725, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55726, 55831, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55832, 55971, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55972, 56333, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56334, 56473, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56474, 56601, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56602, 56739, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66809, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66810, 66949, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66950, 66964, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66965, 67104, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67105, 67335, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68641, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68642, 68935, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {6, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 429460, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429461, 432260, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432261, 432560, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432561, 433980, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 386100, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386101, 387680, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 387681, 390480, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 390481, 397980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 367900, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367901, 370700, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370701, 372720, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372721, 375520, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 375521, 375980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 178160, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178161, 178780, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 524580, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524581, 525160, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525161, 537180, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537181, 537320, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537321, 538000, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186040, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186041, 191980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 148240, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148241, 149200, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 151040, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 151041, 151200, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 152480, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 152481, 153580, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 175000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 163200, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163201, 164180, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 386100, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386101, 387680, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 387681, 390480, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 390481, 398680, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 398681, 398980, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 178160, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178161, 178800, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 152480, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 152481, 155280, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155281, 160580, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 145580, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 471980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 521780, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 521781, 522360, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522361, 523980, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 383300, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 383301, 384000, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 460240, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460241, 462500, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 462501, 463040, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463041, 465300, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465301, 475620, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475621, 477460, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477461, 478420, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478421, 480000, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 506400, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506401, 507400, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507401, 509200, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509201, 510200, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 510201, 521780, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 521781, 522360, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522361, 524580, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524581, 525160, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525161, 537180, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537181, 537320, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537321, 537980, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 638967, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638968, 639887, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639888, 640607, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640608, 641527, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641528, 643947, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643948, 644887, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644888, 645727, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645728, 646666, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 429460, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429461, 432260, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432261, 432560, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432561, 435360, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435361, 439980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124500, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124501, 130380, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620080, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620081, 621020, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621021, 624000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624001, 624920, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624921, 625220, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625221, 626140, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626141, 628980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628981, 629920, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629921, 630340, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630341, 631280, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631281, 633980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633981, 634900, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634901, 635480, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635481, 636400, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636401, 638960, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638961, 639900, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639901, 640600, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640601, 641540, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641541, 643940, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643941, 644880, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644881, 645740, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645741, 646660, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646661, 648940, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648941, 649880, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649881, 650860, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650861, 651800, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651801, 653920, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653921, 654860, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654861, 656000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656001, 656920, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656921, 658920, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658921, 659840, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659841, 661120, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661121, 662060, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662061, 663900, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663901, 664840, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664841, 666240, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666241, 667180, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667181, 668880, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668881, 669820, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669821, 671380, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671381, 672320, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672321, 673880, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673881, 674820, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674821, 676500, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676501, 677440, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677441, 678860, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678861, 679800, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679801, 680000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620080, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620081, 621020, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621021, 624000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624001, 624920, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624921, 625220, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625221, 626140, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626141, 628980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628981, 629920, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629921, 630340, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630341, 631280, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631281, 633980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633981, 634900, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634901, 635480, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635481, 636400, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636401, 638960, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638961, 639900, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639901, 640600, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640601, 641540, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641541, 643940, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643941, 644880, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644881, 645740, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645741, 646660, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646661, 648940, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648941, 649880, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649881, 650860, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650861, 651800, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651801, 653333, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693834, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693835, 694774, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694775, 697034, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697035, 697954, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697955, 698814, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698815, 699754, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699755, 702154, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702155, 703094, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703095, 703814, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703815, 704734, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704735, 707294, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707295, 708214, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708215, 708794, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708795, 709734, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709735, 712414, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712415, 713354, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713355, 713794, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713795, 714714, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714715, 717534, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717535, 718474, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718475, 718774, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718775, 719714, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719715, 722674, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722675, 723614, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723615, 723754, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723755, 724694, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724695, 727794, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727795, 728734, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728735, 728754, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728755, 729674, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729675, 732934, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732935, 733333, {1, 0} }, +}; + +static const struct cam_mipi_sensor_mode sensor_tele2_mipi_A_mode[] = { + { + sensor_imx854_setfile_A_mipi_channel, ARRAY_SIZE(sensor_imx854_setfile_A_mipi_channel), + sensor_imx854_setfile_A_mipi_setting, ARRAY_SIZE(sensor_imx854_setfile_A_mipi_setting) + }, +}; + +/*************************************/ +/* ========== Mode B =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_B_2784_REG_ARRAY[] = { + {0x030E, 0x0A, 0x00, 0x00}, + {0x030F, 0xC4, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_B_2720_REG_ARRAY[] = { + {0x030E, 0x0A, 0x00, 0x00}, + {0x030F, 0x84, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_B_2714_REG_ARRAY[] = { + {0x030E, 0x0A, 0x00, 0x00}, + {0x030F, 0x7E, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx854_setfile_B_mipi_2784[] = { + { MIPI_B_2784_REG_ARRAY, ARRAY_SIZE(MIPI_B_2784_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 } +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx854_setfile_B_mipi_2720[] = { + { MIPI_B_2720_REG_ARRAY, ARRAY_SIZE(MIPI_B_2720_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 } +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx854_setfile_B_mipi_2714[] = { + { MIPI_B_2714_REG_ARRAY, ARRAY_SIZE(MIPI_B_2714_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 } +}; + +static const struct cam_mipi_setting sensor_imx854_setfile_B_mipi_setting[] = { + { "2784 Msps", 2784, + sensor_imx854_setfile_B_mipi_2784, ARRAY_SIZE(sensor_imx854_setfile_B_mipi_2784) }, + { "2720 Msps", 2720, + sensor_imx854_setfile_B_mipi_2720, ARRAY_SIZE(sensor_imx854_setfile_B_mipi_2720) }, + { "2714 Msps", 2714, + sensor_imx854_setfile_B_mipi_2714, ARRAY_SIZE(sensor_imx854_setfile_B_mipi_2714) }, +}; + +static const struct cam_mipi_cell_ratings sensor_imx854_setfile_B_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {0, 3, 6} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10573, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10574, 10627, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10628, 10643, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10644, 10651, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10652, 10697, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10698, 10721, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10722, 10838, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9680, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9681, 9728, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9729, 9750, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9751, 9910, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9911, 9938, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1207, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1208, 1227, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1228, 1372, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1373, 1442, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1443, 1460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1461, 1481, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1482, 1513, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1548, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1549, 1602, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1603, 1618, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1619, 1626, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1627, 1672, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1673, 1696, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1697, 1738, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4458, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4413, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2337, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2338, 2351, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2352, 2367, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2368, 2407, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2408, 2421, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2422, 2437, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2438, 2563, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2976, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2977, 3088, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 763, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 47, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 48, 155, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 156, 187, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 188, 203, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 204, 295, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 296, 343, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 344, 599, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 616, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 617, 660, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 661, 756, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 757, 800, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 801, 1121, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1122, 1199, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1214, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1215, 1314, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1315, 1354, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1355, 1645, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1646, 1785, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1786, 1820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1821, 1862, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1863, 1949, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1997, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1998, 2105, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2106, 2137, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2138, 2153, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2154, 2245, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2246, 2293, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2294, 2399, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2975, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2976, 3002, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3003, 3034, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3035, 3115, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3116, 3142, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3143, 3174, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3175, 3449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3552, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3553, 3799, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5083, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5084, 5179, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5279, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5379, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5753, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5754, 5849, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5939, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5940, 5999, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6149, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6266, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6267, 6449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6457, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6458, 6599, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8056, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8057, 8100, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8101, 8196, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8197, 8240, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8241, 8561, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8562, 8689, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8789, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8790, 9039, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9314, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9315, 9332, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9333, 9454, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9455, 9472, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9473, 9516, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9517, 9656, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9657, 9659, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9668, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9669, 9684, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9685, 9713, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9714, 9769, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9869, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10057, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10058, 10193, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10194, 10226, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10227, 10333, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10334, 10359, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36203, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36204, 36247, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36248, 36349, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37829, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37830, 37839, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37840, 37886, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37887, 37969, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37970, 37979, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37980, 38026, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38027, 38249, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38260, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38261, 38302, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38303, 38608, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38609, 38649, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38787, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38788, 38844, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38845, 38896, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38897, 38927, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38928, 38984, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38985, 39036, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39037, 39450, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39451, 39490, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39491, 39543, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39544, 39590, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39591, 39630, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39631, 39649, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39816, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39817, 39822, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39823, 39879, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39880, 39956, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39957, 39962, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39963, 40019, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40020, 40469, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40470, 40479, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40480, 40526, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40527, 40609, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40610, 40619, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40620, 40666, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40667, 41115, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41116, 41142, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41143, 41174, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41175, 41255, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41256, 41282, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41283, 41314, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41315, 41589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41769, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41770, 41846, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41847, 41909, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41910, 41986, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41987, 41999, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42000, 42139, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42140, 42416, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42417, 42494, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42495, 42556, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42557, 42634, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42635, 42662, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42663, 42802, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42803, 43062, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43063, 43141, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43142, 43202, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43203, 43281, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43282, 43325, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43326, 43465, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43466, 43589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55291, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55292, 55352, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55353, 55431, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55432, 55475, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55476, 55615, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55616, 55858, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55859, 55939, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55940, 55998, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55999, 56079, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56080, 56138, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56139, 56278, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56279, 56504, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56505, 56587, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56588, 56644, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56645, 56727, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56728, 56739, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66483, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66484, 66591, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66592, 66623, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66624, 66639, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66640, 66731, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66732, 66779, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66780, 67146, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67147, 67237, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67238, 67286, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67287, 67335, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68808, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68809, 68822, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68823, 68935, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {6, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {0, 6, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {14, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 422940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422941, 425100, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425101, 425740, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425741, 426060, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426061, 427900, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427901, 428860, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428861, 433980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 386320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386321, 387200, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 387201, 389120, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389121, 390000, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 390001, 396420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396421, 397980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 361280, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361281, 363280, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363281, 364080, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 364081, 369900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369901, 372700, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372701, 373400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373401, 374240, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 374241, 375980, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 178780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 528500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528501, 529040, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 529041, 529680, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 529681, 531300, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531301, 531840, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531841, 532480, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 532481, 538000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 187040, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187041, 191980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 147260, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147261, 149200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 151200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 153580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 173780, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173781, 175000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 160520, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160521, 164180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 386320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386321, 387200, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 387201, 389120, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389121, 390000, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 390001, 396420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396421, 398980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 173780, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173781, 178800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 153680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153681, 154040, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154041, 156480, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156481, 156840, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156841, 157720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157721, 160520, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160521, 160580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 143560, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143561, 143880, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143881, 144460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 144461, 145580, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 471980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 515580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515581, 515780, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515781, 516720, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 516721, 518380, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518381, 518580, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518581, 519520, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 519521, 523980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 376200, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376201, 377040, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377041, 383160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 383161, 384000, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 462740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 462741, 463880, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463881, 464920, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464921, 465540, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465541, 466680, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466681, 467720, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467721, 476000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476001, 476800, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476801, 477860, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477861, 478800, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478801, 479600, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479601, 480000, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 502520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502521, 502640, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502641, 503780, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 503781, 505320, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505321, 505440, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505441, 506580, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506581, 515580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515581, 515780, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515781, 516720, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 516721, 518380, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518381, 518580, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518581, 519520, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 519521, 528500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528501, 529040, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 529041, 529680, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 529681, 531300, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531301, 531840, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531841, 532480, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 532481, 537980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 637007, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637008, 637407, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637408, 637927, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637928, 638227, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638228, 639167, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639168, 640787, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640788, 641327, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641328, 641707, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641708, 642247, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642248, 642647, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642648, 643587, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643588, 645087, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645088, 645647, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645648, 646027, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646028, 646567, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646568, 646666, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 422940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422941, 425100, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425101, 425740, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425741, 426060, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426061, 427900, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427901, 428860, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428861, 436200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 436201, 438020, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438021, 439000, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 439001, 439980, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 127840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127841, 128120, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128121, 130380, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620180, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620181, 620540, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620541, 620660, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620661, 621480, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621481, 623540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623541, 624040, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624041, 624480, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624481, 624960, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624961, 624980, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624981, 625900, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625901, 627860, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627861, 628360, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628361, 628780, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628781, 629300, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629301, 629380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629381, 630320, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630321, 632160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632161, 632680, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632681, 633100, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633101, 633620, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633621, 633800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633801, 634740, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634741, 636480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636481, 637000, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637001, 637400, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637401, 637940, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637941, 638220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638221, 639160, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639161, 640780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640781, 641320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641321, 641720, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641721, 642260, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642261, 642640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642641, 643580, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643581, 645080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645081, 645640, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645641, 646020, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646021, 646580, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646581, 647060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647061, 648000, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648001, 649400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649401, 649960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649961, 650340, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650341, 650880, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650881, 651480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651481, 652420, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652421, 653700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653701, 654280, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654281, 654640, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654641, 655200, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655201, 655900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655901, 656840, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656841, 658020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658021, 658600, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658601, 658940, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658941, 659520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659521, 660320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660321, 661260, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661261, 662320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662321, 662900, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662901, 663260, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663261, 663840, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663841, 664740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664741, 665680, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665681, 666640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666641, 667220, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667221, 667560, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667561, 668160, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668161, 669160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669161, 670100, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670101, 670940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670941, 671540, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671541, 671880, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671881, 672480, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672481, 673580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673581, 674520, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674521, 675240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675241, 675860, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675861, 676180, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676181, 676800, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676801, 678000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678001, 678940, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678941, 679560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679561, 680000, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620180, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620181, 620540, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620541, 620660, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620661, 621480, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621481, 623540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623541, 624040, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624041, 624480, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624481, 624960, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624961, 624980, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624981, 625900, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625901, 627860, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627861, 628360, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628361, 628780, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628781, 629300, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629301, 629380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629381, 630320, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630321, 632160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632161, 632680, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632681, 633100, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633101, 633620, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633621, 633800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633801, 634740, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634741, 636480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636481, 637000, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637001, 637400, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637401, 637940, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637941, 638220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638221, 639160, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639161, 640780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640781, 641320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641321, 641720, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641721, 642260, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642261, 642640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642641, 643580, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643581, 645080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645081, 645640, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645641, 646020, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646021, 646580, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646581, 647060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647061, 648000, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648001, 649400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649401, 649960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649961, 650340, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650341, 650880, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650881, 651480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651481, 652420, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652421, 653333, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693414, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693415, 694074, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694075, 695694, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695695, 696614, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696615, 696794, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696795, 697454, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697455, 697714, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697715, 698394, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698395, 700114, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700115, 701054, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701055, 701094, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701095, 701774, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701775, 702034, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702035, 702694, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702695, 704534, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704535, 705414, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705415, 705474, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705475, 706094, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706095, 706334, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706335, 707014, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707015, 708954, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708955, 709714, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709715, 709894, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709895, 710414, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710415, 710654, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710655, 711334, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711335, 713374, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713375, 714014, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714015, 714314, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714315, 714714, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714715, 714954, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714955, 715654, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715655, 717794, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717795, 718334, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718335, 718734, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718735, 719034, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719035, 719254, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719255, 719974, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719975, 722214, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722215, 722634, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722635, 723154, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723155, 723354, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723355, 723574, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723575, 724294, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724295, 726634, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726635, 726954, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726955, 727574, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727575, 727674, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727675, 727874, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727875, 728614, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728615, 731054, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731055, 731254, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731255, 731994, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731995, 732194, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732195, 732934, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732935, 733333, {0, 0, 0} }, +}; + +static const struct cam_mipi_sensor_mode sensor_tele2_mipi_B_mode[] = { + { + sensor_imx854_setfile_B_mipi_channel, ARRAY_SIZE(sensor_imx854_setfile_B_mipi_channel), + sensor_imx854_setfile_B_mipi_setting, ARRAY_SIZE(sensor_imx854_setfile_B_mipi_setting) + }, +}; + +/*************************************/ +/* ========== Mode C =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_C_1857_REG_ARRAY[] = { + {0x030E, 0x0E, 0x00, 0x00}, + {0x030F, 0x5C, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_C_1796_REG_ARRAY[] = { + {0x030E, 0x0D, 0x00, 0x00}, + {0x030F, 0xE4, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_C_1746_REG_ARRAY[] = { + {0x030E, 0x0D, 0x00, 0x00}, + {0x030F, 0x80, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx854_setfile_C_mipi_1857[] = { + { MIPI_C_1857_REG_ARRAY, ARRAY_SIZE(MIPI_C_1857_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 } +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx854_setfile_C_mipi_1796[] = { + { MIPI_C_1796_REG_ARRAY, ARRAY_SIZE(MIPI_C_1796_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 } +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx854_setfile_C_mipi_1746[] = { + { MIPI_C_1746_REG_ARRAY, ARRAY_SIZE(MIPI_C_1746_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 } +}; + +static const struct cam_mipi_setting sensor_imx854_setfile_C_mipi_setting[] = { + { "1857 Msps", 1857, + sensor_imx854_setfile_C_mipi_1857, ARRAY_SIZE(sensor_imx854_setfile_C_mipi_1857) }, + { "1796 Msps", 1796, + sensor_imx854_setfile_C_mipi_1796, ARRAY_SIZE(sensor_imx854_setfile_C_mipi_1796) }, + { "1746 Msps", 1746, + sensor_imx854_setfile_C_mipi_1746, ARRAY_SIZE(sensor_imx854_setfile_C_mipi_1746) }, +}; + +static const struct cam_mipi_cell_ratings sensor_imx854_setfile_C_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {0, 6, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {3, 3, 6} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10566, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10567, 10578, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10579, 10636, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10637, 10648, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10649, 10659, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10660, 10729, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10730, 10774, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10775, 10799, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10800, 10838, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9693, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9694, 9735, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9736, 9763, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9764, 9803, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9804, 9805, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9806, 9873, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9874, 9914, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9915, 9938, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1225, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1226, 1236, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1237, 1287, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1288, 1306, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1307, 1357, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1358, 1376, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1377, 1444, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1445, 1446, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1447, 1501, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1502, 1513, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1541, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1542, 1553, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1554, 1611, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1612, 1623, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1624, 1634, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1635, 1704, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1705, 1738, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4387, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4388, 4400, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4401, 4456, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4457, 4457, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4458, 4458, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4387, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4388, 4400, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4401, 4413, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2256, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2257, 2351, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2352, 2356, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2357, 2394, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2395, 2421, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2422, 2426, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2427, 2464, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2465, 2563, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2970, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2971, 2978, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2979, 3040, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3041, 3046, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3047, 3088, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 712, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 713, 725, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 726, 763, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 33, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 34, 56, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 57, 173, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 174, 196, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 197, 219, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 220, 359, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 360, 449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 450, 498, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 499, 589, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 590, 599, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 620, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 621, 687, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 688, 770, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 771, 827, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 828, 907, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 908, 910, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 911, 1047, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1048, 1129, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1130, 1186, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1187, 1199, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1210, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1211, 1350, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1351, 1373, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1374, 1474, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1475, 1513, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1514, 1614, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1615, 1652, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1653, 1789, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1790, 1792, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1793, 1902, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1903, 1929, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1930, 1949, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1983, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1984, 2006, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2007, 2123, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2124, 2146, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2147, 2169, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2170, 2309, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2310, 2399, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2484, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2485, 2510, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2511, 2623, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2624, 2624, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2625, 2649, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2812, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2813, 3002, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3003, 3012, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3013, 3088, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3089, 3142, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3143, 3152, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3153, 3228, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3229, 3430, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3431, 3449, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3541, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3542, 3556, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3557, 3681, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3682, 3692, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3693, 3799, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5062, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5063, 5133, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5134, 5167, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5168, 5179, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5273, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5274, 5279, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5287, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5288, 5330, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5331, 5379, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5732, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5733, 5803, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5804, 5837, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5838, 5849, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5875, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5876, 5910, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5911, 5999, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6024, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6025, 6050, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6051, 6149, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6209, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6210, 6269, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6270, 6297, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6298, 6437, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6438, 6449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6456, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6457, 6528, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6529, 6533, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6534, 6596, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6597, 6599, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8060, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8061, 8127, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8128, 8210, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8211, 8267, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8268, 8347, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8348, 8350, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8351, 8487, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8488, 8569, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8570, 8626, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8627, 8689, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8725, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8726, 8760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8761, 8874, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8875, 8900, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8901, 9013, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9014, 9014, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9015, 9039, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9217, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9218, 9260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9261, 9400, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9401, 9459, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9460, 9519, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9520, 9599, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9600, 9659, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9692, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9693, 9769, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9777, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9778, 9867, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9868, 9869, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9922, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9923, 10014, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10015, 10021, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10022, 10062, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10063, 10297, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10298, 10302, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10303, 10359, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36275, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36276, 36349, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37756, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37757, 37768, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37769, 37786, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37787, 37896, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37897, 38070, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38071, 38074, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38075, 38172, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38173, 38210, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38211, 38214, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38215, 38249, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38342, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38343, 38395, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38396, 38504, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38505, 38535, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38536, 38630, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38631, 38644, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38645, 38649, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38680, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38681, 38714, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38715, 38820, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38821, 38862, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38863, 39002, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39003, 39017, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39018, 39107, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39108, 39157, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39158, 39247, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39248, 39278, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39279, 39418, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39419, 39459, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39460, 39535, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39536, 39599, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39600, 39649, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39705, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39706, 39825, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39826, 39859, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39860, 39965, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39966, 39981, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39982, 39999, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40000, 40121, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40122, 40268, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40269, 40286, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40287, 40396, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40397, 40408, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40409, 40426, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40427, 40536, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40537, 40710, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40711, 40714, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40715, 40812, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40813, 40850, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40851, 40854, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40855, 40952, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40953, 41142, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41143, 41152, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41153, 41228, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41229, 41282, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41283, 41292, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41293, 41368, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41369, 41570, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41571, 41589, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41612, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41613, 41710, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41711, 41742, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41743, 41752, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41753, 41882, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41883, 42012, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42013, 42027, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42028, 42152, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42153, 42167, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42168, 42170, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42171, 42310, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42311, 42443, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42444, 42454, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42455, 42583, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42584, 42594, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42595, 42598, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42599, 42738, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42739, 42859, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42860, 42896, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42897, 42999, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43000, 43025, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43026, 43036, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43037, 43165, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43166, 43275, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43276, 43338, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43339, 43415, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43416, 43453, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43454, 43478, {2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43479, 43589, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55315, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55316, 55425, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55426, 55488, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55489, 55565, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55566, 55603, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55604, 55628, {2, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55629, 55743, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55744, 55840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55841, 55931, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55932, 55980, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55981, 56031, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56032, 56071, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56072, 56171, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56172, 56256, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56257, 56373, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56374, 56396, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56397, 56459, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56460, 56513, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56514, 56599, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56600, 56672, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56673, 56739, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66469, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66470, 66492, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66493, 66609, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66610, 66632, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66633, 66655, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66656, 66795, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66796, 66885, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66886, 66934, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66935, 67025, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67026, 67074, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67075, 67082, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67083, 67222, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67223, 67301, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67302, 67335, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68676, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68677, 68722, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68723, 68762, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68763, 68902, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68903, 68935, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {3, 3, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {60, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {0, 6, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 6, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {4, 4, 2} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 6, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {0, 7, 14} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {3, 3, 6} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {0, 14, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 422660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422661, 423120, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423121, 425460, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425461, 425920, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425921, 426380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426381, 429180, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429181, 430980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 430981, 431960, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 431961, 433780, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433781, 433980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 386400, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386401, 387740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 387741, 389400, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389401, 390540, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 390541, 392140, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392141, 392200, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392201, 394940, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 394941, 396580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396581, 397720, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397721, 397980, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 361200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361201, 364000, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 364001, 364460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 364461, 366480, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366481, 367260, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367261, 369280, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369281, 370040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370041, 372780, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372781, 372840, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372841, 375040, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 375041, 375580, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 375581, 375980, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 175480, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175481, 176000, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176001, 178260, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178261, 178280, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178281, 178780, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 525240, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525241, 529040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 529041, 529240, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 529241, 530760, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530761, 531840, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531841, 532040, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 532041, 533560, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533561, 537600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537601, 538000, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186820, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186821, 187120, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187121, 189620, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189621, 189840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189841, 191980, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146840, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146841, 148260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148261, 148940, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148941, 149200, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 151060, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 151061, 151200, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 151740, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151741, 152600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 152601, 153580, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 172500, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172501, 173200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173201, 175000, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 159380, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159381, 160580, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160581, 161140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 161141, 163940, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163941, 164180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 386400, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386401, 387740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 387741, 389400, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389401, 390540, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 390541, 392140, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392141, 392200, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392201, 394940, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 394941, 396580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396581, 397720, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397721, 398980, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 172500, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172501, 173200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173201, 175480, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175481, 176000, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176001, 178260, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178261, 178280, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178281, 178800, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 151740, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151741, 152600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 152601, 155400, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155401, 156580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156581, 157780, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157781, 159380, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159381, 160580, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 144040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 144041, 145580, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 470140, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470141, 471940, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471941, 471980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 514120, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514121, 514360, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514361, 514720, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514721, 516920, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 516921, 520400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 520401, 520480, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 520481, 522440, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522441, 523200, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 523201, 523280, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 523281, 523980, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 377840, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377841, 378900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378901, 381080, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381081, 381700, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381701, 383600, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 383601, 383880, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 383881, 384000, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 460600, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460601, 461280, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461281, 463400, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463401, 464240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464241, 467040, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467041, 467340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467341, 469140, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 469141, 470140, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 470141, 471940, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471941, 472560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 472561, 475360, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475361, 476180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476181, 477700, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477701, 478980, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478981, 480000, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 500300, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 500301, 502700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502701, 503380, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 503381, 505500, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505501, 505820, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505821, 506180, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506181, 508620, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 508621, 511560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511561, 511920, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511921, 514120, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514121, 514360, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514361, 514720, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514721, 516920, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 516921, 520400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 520401, 520480, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 520481, 522440, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522441, 523200, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 523201, 523280, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 523281, 525240, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525241, 529040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 529041, 529240, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 529241, 530760, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530761, 531840, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531841, 532040, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 532041, 533560, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533561, 537600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537601, 537980, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 637167, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637168, 637887, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637888, 638307, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638308, 638827, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638828, 639087, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639088, 639247, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639248, 640007, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640008, 640667, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640668, 641267, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641268, 641587, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641588, 641927, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641928, 642207, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642208, 642867, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642868, 643427, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643428, 644207, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644208, 644367, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644368, 644787, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644788, 645147, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645148, 645727, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645728, 646207, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646208, 646666, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 422660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422661, 423120, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423121, 425460, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425461, 425920, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425921, 426380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426381, 429180, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429181, 430980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 430981, 431960, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 431961, 433780, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433781, 434760, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 434761, 434920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 434921, 437720, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437721, 439300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 439301, 439980, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 125200, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125201, 126120, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126121, 126920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126921, 129720, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129721, 130380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620060, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620061, 620620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620621, 621260, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621261, 621560, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621561, 621960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621961, 622200, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622201, 622900, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622901, 623580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623581, 624040, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624041, 624500, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624501, 624820, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624821, 624960, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624961, 625760, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625761, 626520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626521, 626800, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626801, 627460, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627461, 627680, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627681, 627740, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627741, 628600, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628601, 629480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629481, 629580, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629581, 630400, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630401, 630500, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630501, 630520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630521, 631460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631461, 632340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632341, 632420, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632421, 633280, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633281, 633360, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633361, 633380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633381, 634320, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634321, 635120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635121, 635360, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635361, 636060, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636061, 636220, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636221, 636300, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636301, 637160, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637161, 637900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637901, 638320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638321, 638820, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638821, 639080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639081, 639240, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639241, 640020, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640021, 640660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640661, 641260, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641261, 641600, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641601, 641940, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641941, 642200, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642201, 642860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642861, 643440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643441, 644220, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644221, 644360, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644361, 644780, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644781, 645140, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645141, 645720, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645721, 646200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646201, 647140, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647141, 647160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647161, 647640, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647641, 648100, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648101, 648560, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648561, 648980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648981, 649920, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649921, 650100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650101, 650480, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650481, 651040, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651041, 651420, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651421, 651740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651741, 652680, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652681, 653060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653061, 653340, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653341, 654000, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654001, 654280, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654281, 654520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654521, 655460, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655461, 656000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656001, 656200, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656201, 656940, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656941, 657120, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657121, 657300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657301, 658220, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658221, 658960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658961, 659040, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659041, 659880, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659881, 659980, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659981, 660060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660061, 661000, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661001, 661900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661901, 662820, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662821, 662840, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662841, 663760, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663761, 664740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664741, 664840, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664841, 665600, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665601, 665680, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665681, 665780, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665781, 666540, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666541, 667600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667601, 667800, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667801, 668380, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668381, 668540, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668541, 668740, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668741, 669320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669321, 670460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670461, 670740, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670741, 671160, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671161, 671380, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671381, 671680, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671681, 672080, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672081, 673300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673301, 673700, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673701, 673920, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673921, 674240, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674241, 674620, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674621, 674860, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674861, 676160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676161, 676640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676641, 676700, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676701, 677080, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677081, 677580, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677581, 677620, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677621, 679000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679001, 679460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679461, 679580, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679581, 679940, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679941, 680000, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620060, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620061, 620620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620621, 621260, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621261, 621560, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621561, 621960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621961, 622200, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622201, 622900, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622901, 623580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623581, 624040, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624041, 624500, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624501, 624820, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624821, 624960, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624961, 625760, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625761, 626520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626521, 626800, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626801, 627460, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627461, 627680, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627681, 627740, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627741, 628600, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628601, 629480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629481, 629580, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629581, 630400, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630401, 630500, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630501, 630520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630521, 631460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631461, 632340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632341, 632420, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632421, 633280, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633281, 633360, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633361, 633380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633381, 634320, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634321, 635120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635121, 635360, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635361, 636060, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636061, 636220, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636221, 636300, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636301, 637160, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637161, 637900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637901, 638320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638321, 638820, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638821, 639080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639081, 639240, {1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639241, 640020, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640021, 640660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640661, 641260, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641261, 641600, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641601, 641940, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641941, 642200, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642201, 642860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642861, 643440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643441, 644220, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644221, 644360, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644361, 644780, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644781, 645140, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645141, 645720, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645721, 646200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646201, 647140, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647141, 647160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647161, 647640, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647641, 648100, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648101, 648560, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648561, 648980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648981, 649920, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649921, 650100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650101, 650480, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650481, 651040, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651041, 651420, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651421, 651740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651741, 652680, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652681, 653060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 653061, 653333, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693334, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693335, 694194, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694195, 694254, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694255, 694334, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694335, 695254, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695255, 696094, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696095, 696114, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696115, 697034, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697035, 697054, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697055, 697274, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697275, 698214, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698215, 698874, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698875, 698974, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698975, 699794, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699795, 699894, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699895, 700234, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700235, 701154, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701155, 701634, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701635, 701814, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701815, 702574, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702575, 702754, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702755, 703174, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703175, 704114, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704115, 704414, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704415, 704674, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704675, 705354, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705355, 705614, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705615, 706114, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706115, 707054, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707055, 707194, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707195, 707534, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707535, 708114, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708115, 708454, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708455, 709074, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709075, 709954, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709955, 709994, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709995, 710374, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710375, 710894, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710895, 711314, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711315, 712014, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712015, 712734, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712735, 712954, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712955, 713234, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713235, 713654, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713655, 714154, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714155, 714974, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714975, 715494, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715495, 715894, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715895, 716074, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716075, 716434, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716435, 717014, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717015, 717914, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717915, 718274, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718275, 718854, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718855, 718934, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718935, 719214, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719215, 719874, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719875, 720854, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720855, 721034, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721035, 721794, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721795, 721974, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721975, 722714, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722715, 723814, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723815, 724634, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724635, 724754, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724755, 725574, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725575, 726594, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726595, 726754, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726755, 727494, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727495, 727514, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727515, 727694, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727695, 728414, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728415, 729354, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729355, 729714, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729715, 730294, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730295, 730334, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730335, 730634, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730635, 731274, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731275, 732134, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732135, 732654, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732655, 733054, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733055, 733194, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733195, 733333, {1, 1, 0} }, +}; + +static const struct cam_mipi_sensor_mode sensor_tele2_mipi_C_mode[] = { + { + sensor_imx854_setfile_C_mipi_channel, ARRAY_SIZE(sensor_imx854_setfile_C_mipi_channel), + sensor_imx854_setfile_C_mipi_setting, ARRAY_SIZE(sensor_imx854_setfile_C_mipi_setting) + }, +}; + +/*************************************/ +/* ========== Mode D =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_D_2297_REG_ARRAY[] = { + {0x030E, 0x08, 0x00, 0x00}, + {0x030F, 0xE1, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_D_2289_REG_ARRAY[] = { + {0x030E, 0x08, 0x00, 0x00}, + {0x030F, 0xD9, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_D_2214_REG_ARRAY[] = { + {0x030E, 0x08, 0x00, 0x00}, + {0x030F, 0x8F, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx854_setfile_D_mipi_2297[] = { + { MIPI_D_2297_REG_ARRAY, ARRAY_SIZE(MIPI_D_2297_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 } +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx854_setfile_D_mipi_2289[] = { + { MIPI_D_2289_REG_ARRAY, ARRAY_SIZE(MIPI_D_2289_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 } +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx854_setfile_D_mipi_2214[] = { + { MIPI_D_2214_REG_ARRAY, ARRAY_SIZE(MIPI_D_2214_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, 0 } +}; + +static const struct cam_mipi_setting sensor_imx854_setfile_D_mipi_setting[] = { + { "2297 Msps", 2297, + sensor_imx854_setfile_D_mipi_2297, ARRAY_SIZE(sensor_imx854_setfile_D_mipi_2297) }, + { "2289 Msps", 2289, + sensor_imx854_setfile_D_mipi_2289, ARRAY_SIZE(sensor_imx854_setfile_D_mipi_2289) }, + { "2214 Msps", 2214, + sensor_imx854_setfile_D_mipi_2214, ARRAY_SIZE(sensor_imx854_setfile_D_mipi_2214) }, +}; + +static const struct cam_mipi_cell_ratings sensor_imx854_setfile_D_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {14, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {3, 3, 63} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10580, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10581, 10594, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10595, 10631, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10632, 10664, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10665, 10701, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10702, 10774, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10775, 10838, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9719, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9720, 9776, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9777, 9789, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9790, 9811, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9812, 9846, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9847, 9881, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9882, 9938, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1185, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1186, 1317, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1318, 1356, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1357, 1387, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1388, 1389, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1390, 1426, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1427, 1459, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1460, 1513, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1555, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1556, 1569, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1570, 1606, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1607, 1639, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1640, 1676, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1677, 1738, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4395, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4396, 4411, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4412, 4446, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4447, 4458, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4395, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4396, 4411, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4412, 4413, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2241, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2242, 2271, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2272, 2288, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2289, 2341, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2342, 2444, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2445, 2491, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2492, 2514, {40, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2515, 2535, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2536, 2561, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2562, 2563, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2968, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2969, 2984, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2985, 3010, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3011, 3080, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3081, 3088, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 720, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 721, 736, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 737, 763, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 61, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 62, 88, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 89, 163, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 164, 228, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 229, 303, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 304, 448, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 449, 588, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 589, 599, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 739, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 740, 852, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 853, 879, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 880, 922, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 923, 992, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 993, 1062, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1063, 1199, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1207, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1208, 1271, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1272, 1534, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1535, 1612, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1613, 1674, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1675, 1678, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1679, 1752, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1753, 1818, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1819, 1949, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2011, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2012, 2038, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2039, 2113, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2114, 2178, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2179, 2253, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2254, 2398, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2399, 2399, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2501, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2502, 2532, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2533, 2603, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2604, 2649, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2783, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2784, 2843, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2844, 2876, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2877, 2983, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2984, 3189, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3190, 3283, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3284, 3329, {40, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3330, 3371, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3372, 3423, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3424, 3449, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3536, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3537, 3569, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3570, 3621, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3622, 3761, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3762, 3799, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5031, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5032, 5171, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5172, 5179, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5279, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5288, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5289, 5379, {140, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5841, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5842, 5849, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5901, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5902, 5932, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5933, 5999, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6041, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6042, 6072, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6073, 6143, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6144, 6149, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6219, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6220, 6346, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6347, 6375, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6376, 6449, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6599, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8179, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8180, 8292, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8293, 8319, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8320, 8362, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8363, 8432, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8433, 8502, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8503, 8689, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8751, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8752, 8782, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8783, 8891, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8892, 8922, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8923, 8993, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8994, 9039, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9218, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9219, 9331, {140, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9332, 9358, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9359, 9469, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9470, 9609, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9610, 9659, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9671, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9672, 9769, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9778, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9779, 9861, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9862, 9869, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10047, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10048, 10093, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10094, 10099, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10100, 10187, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10188, 10233, {3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10234, 10239, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10240, 10359, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36206, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36207, 36269, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36270, 36338, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36339, 36349, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37816, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37817, 37829, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37830, 37956, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37957, 38143, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38144, 38236, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38237, 38249, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38362, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38363, 38457, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38458, 38502, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38503, 38525, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38526, 38597, {60, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38598, 38649, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38694, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38695, 38780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38781, 38920, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38921, 39018, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39019, 39101, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39102, 39158, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39159, 39241, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39242, 39307, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39308, 39447, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39448, 39563, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39564, 39648, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39649, 39649, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39693, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39694, 39782, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39783, 39833, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39834, 39922, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39923, 39929, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39930, 40069, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40070, 40238, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40239, 40329, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40330, 40378, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40379, 40456, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40457, 40469, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40470, 40596, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40597, 40783, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40784, 40876, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40877, 40923, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40924, 40983, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40984, 41016, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41017, 41123, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41124, 41329, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41330, 41423, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41424, 41469, {40, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41470, 41511, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41512, 41563, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41564, 41589, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41793, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41794, 41860, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41861, 41933, {0, 40, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41934, 41981, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41982, 42000, {40, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42001, 42121, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42122, 42320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42321, 42405, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42406, 42460, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42461, 42528, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42529, 42545, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42546, 42668, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42669, 42847, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42848, 42950, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42951, 42987, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42988, 43075, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43076, 43090, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43091, 43215, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43216, 43374, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43375, 43495, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43496, 43514, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43515, 43589, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55240, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55241, 55365, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55366, 55524, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55525, 55645, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55646, 55664, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55665, 55772, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55773, 55785, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55786, 55912, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55913, 56052, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56053, 56190, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56191, 56192, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56193, 56319, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56320, 56330, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56331, 56459, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56460, 56579, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56580, 56719, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56720, 56735, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56736, 56739, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66497, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66498, 66524, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66525, 66599, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66600, 66664, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66665, 66739, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66740, 66884, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66885, 67024, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67025, 67069, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67070, 67146, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67147, 67209, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67210, 67286, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67287, 67335, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68673, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68674, 68813, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68814, 68886, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68887, 68910, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68911, 68935, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {126, 105, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {63, 66, 63} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {126, 63, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {6, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {46, 4, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {63, 12, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {14, 14, 7} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 423220, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423221, 423760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423761, 425260, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425261, 426560, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426561, 428060, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428061, 430960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 430961, 433760, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433761, 433980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 388780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388781, 391040, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391041, 391580, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391581, 392440, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392441, 393840, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393841, 395240, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395241, 397980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 361140, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361141, 362420, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362421, 367680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367681, 369240, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369241, 370480, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370481, 370560, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370561, 372040, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372041, 373360, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373361, 375980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 175820, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175821, 176440, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176441, 177860, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 177861, 178780, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 524660, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524661, 525860, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525861, 526520, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 526521, 528660, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528661, 532780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 532781, 534660, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534661, 535580, {40, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 535581, 536420, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 536421, 537460, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537461, 538000, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186720, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186721, 187380, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187381, 188420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 188421, 191220, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191221, 191980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146221, 149020, {0, 0, 140} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 149021, 149200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 151200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 151760, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151761, 153580, {140, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 173020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173021, 173640, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173641, 175000, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 159580, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159581, 162120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162121, 162700, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162701, 164180, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 388780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388781, 391040, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391041, 391580, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391581, 392440, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392441, 393840, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393841, 395240, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395241, 398980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 173020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173021, 173640, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173641, 175820, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175821, 176440, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176441, 177860, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 177861, 178800, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 151760, {0, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151761, 154020, {140, 140, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154021, 154560, {140, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154561, 156780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156781, 159580, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159581, 160580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 143620, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143621, 145580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 470160, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470161, 471820, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471821, 471980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 515320, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515321, 515580, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515581, 518120, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518121, 521860, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 521861, 523720, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 523721, 523980, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 378240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378241, 380140, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380141, 381040, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381041, 381500, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381501, 382940, {60, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382941, 384000, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 460880, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460881, 462600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 462601, 465400, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465401, 467360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467361, 469020, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 469021, 470160, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 470161, 471820, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471821, 473140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 473141, 475940, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475941, 478260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478261, 479960, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479961, 480000, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 500060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 500061, 501840, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501841, 502860, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502861, 504640, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504641, 504780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504781, 507580, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507581, 510960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 510961, 512780, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512781, 513760, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 513761, 515320, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515321, 515580, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515581, 518120, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518121, 521860, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 521861, 523720, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 523721, 524660, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524661, 525860, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525861, 526520, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 526521, 528660, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528661, 532780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 532781, 534660, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534661, 535580, {40, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 535581, 536420, {40, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 536421, 537460, {40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537461, 537980, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 636667, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636668, 637487, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637488, 638547, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638548, 639367, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639368, 639487, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639488, 640207, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640208, 640287, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640288, 641147, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641148, 642067, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642068, 642987, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642988, 643007, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643008, 643847, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643848, 643927, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643928, 644787, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644788, 645587, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645588, 646527, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646528, 646627, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646628, 646666, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 423220, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423221, 423760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423761, 425260, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425261, 426560, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426561, 428060, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428061, 430960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 430961, 433760, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433761, 434660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 434661, 436200, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 436201, 437460, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437461, 439000, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 439001, 439980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 125140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125141, 127940, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127941, 129400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129401, 129880, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129881, 130380, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620981, 621200, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621201, 621920, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621921, 621980, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621981, 622120, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622121, 622900, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622901, 624500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624501, 624820, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624821, 625420, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625421, 625620, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625621, 625760, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625761, 626560, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626561, 628020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628021, 628460, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628461, 628940, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628941, 629260, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629261, 629400, {20, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629401, 630200, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630201, 631520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631521, 632100, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632101, 632460, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632461, 632920, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632921, 633020, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633021, 633840, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633841, 635040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635041, 635720, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635721, 635980, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635981, 636560, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636561, 636660, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636661, 637500, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637501, 638560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638561, 639360, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639361, 639480, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639481, 640200, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640201, 640300, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640301, 641140, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641141, 642080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642081, 643000, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643001, 643860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643861, 643920, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643921, 644780, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644781, 645580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645581, 646520, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646521, 646620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646621, 647500, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647501, 647560, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647561, 648440, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648441, 649100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649101, 650040, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650041, 650260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650261, 651140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651141, 651200, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651201, 652080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652081, 652620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652621, 653560, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653561, 653900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653901, 654800, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654801, 654820, {20, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654821, 655720, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655721, 656140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656141, 657060, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657061, 657520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657521, 658440, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658441, 658460, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658461, 659380, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659381, 659640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659641, 660580, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660581, 661160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661161, 662080, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662081, 662100, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662101, 663020, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663021, 663160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663161, 664100, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664101, 664800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664801, 665740, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665741, 666660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666661, 666680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666681, 667620, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667621, 668440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668441, 669360, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669361, 669380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669381, 670200, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670201, 670320, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670321, 671120, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671121, 672060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672061, 673000, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673001, 673020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673021, 673700, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673701, 673960, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673961, 674640, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674641, 675700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675701, 676640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676641, 676680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676681, 677220, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677221, 677600, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677601, 678160, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678161, 679340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679341, 680000, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620981, 621200, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621201, 621920, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621921, 621980, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621981, 622120, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622121, 622900, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622901, 624500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624501, 624820, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624821, 625420, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625421, 625620, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625621, 625760, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625761, 626560, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626561, 628020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628021, 628460, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628461, 628940, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628941, 629260, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629261, 629400, {20, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629401, 630200, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630201, 631520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631521, 632100, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632101, 632460, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632461, 632920, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632921, 633020, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633021, 633840, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633841, 635040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635041, 635720, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635721, 635980, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635981, 636560, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636561, 636660, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636661, 637500, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637501, 638560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638561, 639360, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639361, 639480, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639481, 640200, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640201, 640300, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640301, 641140, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641141, 642080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642081, 643000, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643001, 643860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643861, 643920, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643921, 644780, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644781, 645580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645581, 646520, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646521, 646620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646621, 647500, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647501, 647560, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647561, 648440, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648441, 649100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649101, 650040, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650041, 650260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650261, 651140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651141, 651200, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651201, 652080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652081, 652620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652621, 653333, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693874, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693875, 694794, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694795, 694914, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694915, 695734, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695735, 695834, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695835, 697494, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697495, 698314, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698315, 698434, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698435, 698554, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698555, 699254, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699255, 699494, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699495, 701134, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701135, 701834, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701835, 702074, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702075, 702194, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702195, 702754, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702755, 703134, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703135, 704774, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704775, 705354, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705355, 705694, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705695, 705854, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705855, 706274, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706275, 706774, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706775, 708414, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708415, 708854, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708855, 709334, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709335, 709494, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709495, 709794, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709795, 710434, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710435, 712034, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712035, 712374, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712375, 712974, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712975, 713134, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713135, 713314, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713315, 714074, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714075, 715674, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715675, 715894, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715895, 716614, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716615, 716794, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716795, 716834, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716835, 717714, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717715, 719314, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719315, 719414, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719415, 720234, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720235, 720334, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720335, 720434, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720435, 721374, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721375, 722914, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722915, 722934, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722935, 723854, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723855, 723874, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723875, 724074, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724075, 725014, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725015, 726434, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726435, 726574, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726575, 727374, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727375, 727514, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727515, 727734, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727735, 728654, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728655, 729954, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729955, 730214, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730215, 730894, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730895, 731134, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731135, 731374, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731375, 732314, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732315, 733333, {0, 0, 0} }, +}; + +static const struct cam_mipi_sensor_mode sensor_tele2_mipi_D_mode[] = { + { + sensor_imx854_setfile_D_mipi_channel, ARRAY_SIZE(sensor_imx854_setfile_D_mipi_channel), + sensor_imx854_setfile_D_mipi_setting, ARRAY_SIZE(sensor_imx854_setfile_D_mipi_setting) + }, +}; +#endif /* _CAM_SENSOR_ADAPTIVE_MIPI_IMX754_H_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_tele_2_0.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_tele_2_0.h new file mode 100644 index 0000000000..17ad4229e4 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_tele_2_0.h @@ -0,0 +1,2847 @@ +/* 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; + +/* +TeleCAM3x_Adaptive MIPI 2.0_IMX754_231026.xlsx +SET A : Full mode, 2-Binning 120fps (1660.8 / 1670.4 / 1708.8) +SET B : 2-Binning 240fps (1900.8 / 1910.4 / 1968) +*/ + +/*************************************/ +/* ========== SET A =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_A_1660_REG_ARRAY[] = { + {0x030F, 0x07, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_A_1670_REG_ARRAY[] = { + {0x030F, 0x0A, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_A_1708_REG_ARRAY[] = { + {0x030F, 0x16, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx754_setfile_A_mipi_1660[] = { + { MIPI_A_1660_REG_ARRAY, ARRAY_SIZE(MIPI_A_1660_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_1670[] = { + { MIPI_A_1670_REG_ARRAY, ARRAY_SIZE(MIPI_A_1670_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_1708[] = { + { MIPI_A_1708_REG_ARRAY, ARRAY_SIZE(MIPI_A_1708_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[] = { + { "1660 Msps", 1660, + sensor_imx754_setfile_A_mipi_1660, ARRAY_SIZE(sensor_imx754_setfile_A_mipi_1660) }, + { "1670 Msps", 1670, + sensor_imx754_setfile_A_mipi_1670, ARRAY_SIZE(sensor_imx754_setfile_A_mipi_1670) }, + { "1708 Msps", 1708, + sensor_imx754_setfile_A_mipi_1708, ARRAY_SIZE(sensor_imx754_setfile_A_mipi_1708) }, +}; + +static const struct cam_mipi_cell_ratings sensor_imx754_setfile_A_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {14, 14, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {6, 6, 6} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {3, 6, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10583, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10584, 10592, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10593, 10641, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10642, 10653, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10654, 10703, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10704, 10706, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10707, 10711, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10712, 10760, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10761, 10773, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10774, 10776, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10777, 10822, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10823, 10828, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10829, 10830, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10831, 10838, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9677, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9678, 9692, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9693, 9699, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9700, 9729, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9730, 9748, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9749, 9762, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9763, 9799, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9800, 9811, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9812, 9818, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9819, 9851, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9852, 9868, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9869, 9881, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9882, 9921, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9922, 9929, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9930, 9938, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1175, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1176, 1192, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1193, 1224, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1225, 1227, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1228, 1244, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1245, 1277, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1278, 1294, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1295, 1314, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1315, 1343, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1344, 1347, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1348, 1366, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1367, 1396, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1397, 1413, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1414, 1436, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1437, 1461, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1462, 1466, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1467, 1488, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1489, 1513, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1558, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1559, 1567, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1568, 1616, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1617, 1628, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1629, 1678, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1679, 1681, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1682, 1686, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1687, 1735, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1736, 1738, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4359, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4360, 4379, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4380, 4424, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4425, 4429, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4430, 4449, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4450, 4458, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4413, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2257, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2258, 2272, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2273, 2284, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2285, 2327, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2328, 2333, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2334, 2342, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2343, 2376, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2377, 2394, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2395, 2403, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2404, 2446, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2447, 2453, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2454, 2464, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2465, 2495, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2496, 2516, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2517, 2523, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2524, 2563, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2961, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2962, 2973, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2974, 2988, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2989, 3010, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3011, 3025, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3026, 3037, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3038, 3080, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3081, 3088, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 749, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 750, 754, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 755, 763, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 67, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 68, 85, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 86, 183, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 184, 207, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 208, 306, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 307, 312, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 313, 323, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 324, 420, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 421, 446, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 447, 452, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 453, 545, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 546, 556, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 557, 560, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 561, 599, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 655, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 656, 685, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 686, 698, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 699, 759, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 760, 797, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 798, 825, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 826, 899, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 900, 922, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 923, 937, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 938, 1003, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1004, 1036, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1037, 1062, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1063, 1143, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1144, 1159, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1160, 1176, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1177, 1199, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1215, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1216, 1251, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1252, 1284, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1285, 1348, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1349, 1355, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1356, 1388, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1389, 1454, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1455, 1488, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1489, 1528, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1529, 1586, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1587, 1594, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1595, 1632, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1633, 1693, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1694, 1726, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1727, 1772, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1773, 1823, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1824, 1833, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1834, 1876, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1877, 1931, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1932, 1949, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2017, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2018, 2035, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2036, 2133, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2134, 2157, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2158, 2256, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2257, 2262, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2263, 2273, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2274, 2370, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2371, 2396, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2397, 2399, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2418, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2419, 2428, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2429, 2469, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2470, 2558, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2559, 2568, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2569, 2609, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2610, 2649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2815, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2816, 2844, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2845, 2869, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2870, 2955, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2956, 2967, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2968, 2984, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2985, 3052, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3053, 3088, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3089, 3107, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3108, 3192, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3193, 3206, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3207, 3228, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3229, 3290, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3291, 3332, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3333, 3346, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3347, 3430, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3431, 3445, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3446, 3449, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3523, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3524, 3546, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3547, 3576, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3577, 3620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3621, 3650, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3651, 3675, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3676, 3760, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3761, 3790, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3791, 3799, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5047, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5048, 5113, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5114, 5144, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5145, 5179, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5187, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5188, 5217, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5218, 5242, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5243, 5279, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5337, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5338, 5362, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5363, 5379, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5783, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5784, 5814, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5815, 5849, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5861, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5862, 5863, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5864, 5910, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5911, 5958, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5959, 5968, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5969, 5999, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6009, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6010, 6098, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6099, 6108, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6109, 6149, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6184, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6185, 6225, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6226, 6236, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6237, 6283, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6284, 6365, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6366, 6376, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6377, 6423, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6424, 6449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6451, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6452, 6454, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6455, 6508, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6509, 6556, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6557, 6594, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6595, 6599, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8095, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8096, 8125, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8126, 8138, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8139, 8199, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8200, 8237, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8238, 8265, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8266, 8339, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8340, 8362, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8363, 8377, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8378, 8443, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8444, 8476, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8477, 8502, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8503, 8583, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8584, 8599, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8600, 8616, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8617, 8687, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8688, 8689, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8711, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8712, 8713, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8714, 8760, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8761, 8808, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8809, 8818, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8819, 8859, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8860, 8948, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8949, 8958, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8959, 8999, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9000, 9039, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9267, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9268, 9292, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9293, 9336, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9337, 9371, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9372, 9389, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9390, 9434, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9435, 9511, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9512, 9529, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9530, 9574, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9575, 9615, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9616, 9626, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9627, 9659, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9677, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9678, 9718, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9719, 9743, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9744, 9769, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9774, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9775, 9824, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9825, 9828, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9829, 9869, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9942, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9943, 9976, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9977, 10026, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10027, 10039, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10040, 10116, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10117, 10124, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10125, 10179, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10180, 10220, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10221, 10264, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10265, 10277, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10278, 10359, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36214, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36215, 36291, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36292, 36313, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36314, 36336, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36337, 36349, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37751, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37752, 37841, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37842, 37856, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37857, 37891, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37892, 37981, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37982, 37990, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37991, 37996, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37997, 38078, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38079, 38100, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38101, 38130, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38131, 38218, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38219, 38229, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38230, 38240, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38241, 38249, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38263, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38264, 38316, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38317, 38360, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38361, 38371, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38372, 38420, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38421, 38470, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38471, 38500, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38501, 38560, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38561, 38597, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38598, 38610, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38611, 38649, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38666, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38667, 38726, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38727, 38733, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38734, 38770, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38771, 38831, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38832, 38866, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38867, 38910, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38911, 38965, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38966, 38971, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38972, 39014, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39015, 39068, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39069, 39105, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39106, 39154, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39155, 39204, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39205, 39208, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39209, 39259, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39260, 39305, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39306, 39344, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39345, 39399, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39400, 39442, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39443, 39445, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39446, 39503, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39504, 39542, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39543, 39582, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39583, 39643, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39644, 39649, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39659, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39660, 39671, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39672, 39675, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39676, 39763, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39764, 39769, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39770, 39815, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39816, 39903, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39904, 39909, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39910, 39914, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39915, 40006, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40007, 40007, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40008, 40054, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40055, 40146, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40147, 40147, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40148, 40153, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40154, 40243, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40244, 40251, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40252, 40293, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40294, 40383, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40384, 40391, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40392, 40481, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40482, 40496, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40497, 40531, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40532, 40621, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40622, 40630, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40631, 40636, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40637, 40718, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40719, 40740, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40741, 40770, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40771, 40858, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40859, 40869, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40870, 40880, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40881, 40955, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40956, 40984, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40985, 41009, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41010, 41095, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41096, 41107, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41108, 41124, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41125, 41192, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41193, 41228, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41229, 41247, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41248, 41332, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41333, 41346, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41347, 41368, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41369, 41430, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41431, 41472, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41473, 41486, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41487, 41570, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41571, 41585, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41586, 41589, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41591, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41592, 41643, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41644, 41685, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41686, 41696, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41697, 41783, {2, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41784, 41825, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41826, 41836, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41837, 41882, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41883, 41922, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41923, 41940, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41941, 42022, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42023, 42062, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42063, 42080, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42081, 42121, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42122, 42159, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42160, 42184, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42185, 42261, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42262, 42299, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42300, 42324, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42325, 42359, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42360, 42396, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42397, 42428, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42429, 42499, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42500, 42536, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42537, 42568, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42569, 42598, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42599, 42634, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42635, 42672, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42673, 42738, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42739, 42774, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42775, 42812, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42813, 42837, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42838, 42871, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42872, 42916, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42917, 42977, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42978, 43011, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43012, 43056, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43057, 43075, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43076, 43108, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43109, 43160, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43161, 43215, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43216, 43248, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43249, 43300, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43301, 43314, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43315, 43345, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43346, 43404, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43405, 43454, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43455, 43485, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43486, 43544, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43545, 43552, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43553, 43583, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43584, 43589, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55258, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55259, 55310, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55311, 55365, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55366, 55398, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55399, 55450, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55451, 55464, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55465, 55495, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55496, 55554, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55555, 55604, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55605, 55635, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55636, 55694, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55695, 55702, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55703, 55733, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55734, 55798, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55799, 55842, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55843, 55873, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55874, 55938, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55939, 55941, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55942, 55970, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55971, 56043, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56044, 56081, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56082, 56110, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56111, 56180, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56181, 56183, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56184, 56207, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56208, 56287, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56288, 56320, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56321, 56347, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56348, 56418, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56419, 56427, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56428, 56444, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56445, 56531, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56532, 56558, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56559, 56584, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56585, 56657, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56658, 56671, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56672, 56682, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56683, 56739, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66503, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66504, 66521, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66522, 66619, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66620, 66643, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66644, 66742, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66743, 66748, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66749, 66759, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66760, 66856, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66857, 66882, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66883, 66888, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66889, 66981, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66982, 66992, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66993, 66996, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66997, 67093, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67094, 67121, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67122, 67132, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67133, 67219, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67220, 67233, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67234, 67236, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67237, 67330, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67331, 67335, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68588, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68589, 68654, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68655, 68690, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68691, 68692, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68693, 68751, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68752, 68788, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68789, 68832, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68833, 68891, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68892, 68928, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68929, 68935, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {6, 3, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {6, 6, 9} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {6, 6, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 9, 9} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {6, 0, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {9, 3, 6} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {3, 6, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {14, 7, 14} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 423340, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423341, 423700, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423701, 425660, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425661, 426140, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426141, 428120, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428121, 428240, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428241, 428460, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428461, 430400, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 430401, 430920, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 430921, 431040, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 431041, 432900, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432901, 433120, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433121, 433200, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433201, 433980, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 387100, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 387101, 387700, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 387701, 387960, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 387961, 389180, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389181, 389940, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389941, 390500, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 390501, 391980, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391981, 392440, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392441, 392740, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392741, 394060, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 394061, 394720, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 394721, 395240, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395241, 396860, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396861, 397180, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397181, 397520, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397521, 397980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 361300, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361301, 362020, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362021, 362680, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362681, 363960, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363961, 364100, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 364101, 364760, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 364761, 366080, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366081, 366760, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366761, 367560, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367561, 368720, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 368721, 368880, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 368881, 369640, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369641, 370860, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370861, 371520, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 371521, 372440, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372441, 373460, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373461, 373660, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373661, 374520, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 374521, 375620, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 375621, 375980, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 174160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 174161, 174360, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 174361, 175180, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175181, 176960, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176961, 177160, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 177161, 177980, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 177981, 178780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 525300, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525301, 525880, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525881, 526380, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 526381, 528100, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528101, 528340, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528341, 528680, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528681, 530040, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530041, 530760, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530761, 531140, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531141, 532840, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 532841, 533120, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533121, 533560, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533561, 534800, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534801, 535640, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 535641, 535920, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 535921, 537600, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537601, 537900, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537901, 538000, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186460, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186461, 186920, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186921, 187520, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187521, 188400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 188401, 189000, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189001, 189500, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189501, 191200, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191201, 191800, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191801, 191980, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146540, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146541, 147860, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147861, 148480, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148481, 149200, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 149340, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149341, 149940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149941, 150440, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150441, 151200, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 152740, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 152741, 153240, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153241, 153580, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 172220, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172221, 172260, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172261, 173200, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173201, 174160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 174161, 174360, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 174361, 175000, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 158880, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158881, 159700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159701, 159920, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159921, 160860, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160861, 162500, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162501, 162720, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162721, 163660, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163661, 164180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 387100, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 387101, 387700, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 387701, 387960, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 387961, 389180, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389181, 389940, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389941, 390500, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 390501, 391980, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391981, 392440, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392441, 392740, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392741, 394060, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 394061, 394720, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 394721, 395240, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395241, 396860, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396861, 397180, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397181, 397520, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397521, 398940, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 398941, 398980, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 172220, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172221, 172260, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172261, 173200, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173201, 174160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 174161, 174360, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 174361, 175180, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175181, 176960, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176961, 177160, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 177161, 177980, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 177981, 178800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 152740, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 152741, 153240, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153241, 154120, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154121, 154820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154821, 155180, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155181, 156080, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156081, 157620, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157621, 157980, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157981, 158880, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158881, 159700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159701, 159920, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159921, 160580, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 143740, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143741, 144560, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 144561, 145060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 145061, 145580, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 470080, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470081, 471080, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471081, 471160, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471161, 471980, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 514020, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514021, 515820, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515821, 516120, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 516121, 516820, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 516821, 518620, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518621, 518800, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518801, 518920, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518921, 520560, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 520561, 521000, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 521001, 521600, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 521601, 523360, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 523361, 523580, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 523581, 523800, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 523801, 523980, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 376260, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376261, 377320, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377321, 378200, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378201, 378420, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378421, 379400, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 379401, 380400, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380401, 381000, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381001, 382200, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382201, 382940, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382941, 383200, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 383201, 384000, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 460320, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460321, 461520, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461521, 461660, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461661, 462400, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 462401, 463620, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463621, 464320, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464321, 465200, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465201, 466300, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466301, 466420, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466421, 467280, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467281, 468360, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468361, 469100, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 469101, 470080, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 470081, 471080, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471081, 471160, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471161, 472180, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 472181, 473100, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 473101, 473880, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 473881, 474980, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 474981, 475840, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475841, 475900, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475901, 477060, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477061, 477840, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477841, 478640, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478641, 479860, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479861, 480000, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 499380, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499381, 499620, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499621, 499700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499701, 501460, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501461, 501580, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501581, 502500, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502501, 504260, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504261, 504380, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504381, 504480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504481, 506320, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506321, 506340, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506341, 507280, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507281, 509120, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509121, 509140, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509141, 509260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509261, 511060, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511061, 511220, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511221, 512060, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512061, 513860, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 513861, 514020, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514021, 515820, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515821, 516120, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 516121, 516820, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 516821, 518620, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518621, 518800, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518801, 518920, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518921, 520560, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 520561, 521000, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 521001, 521600, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 521601, 523360, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 523361, 523580, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 523581, 523800, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 523801, 525300, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525301, 525880, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525881, 526380, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 526381, 528100, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528101, 528340, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528341, 528680, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528681, 530040, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530041, 530760, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530761, 531140, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531141, 532840, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 532841, 533120, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533121, 533560, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533561, 534800, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534801, 535640, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 535641, 535920, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 535921, 537600, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537601, 537900, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537901, 537980, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 636787, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636788, 637127, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637128, 637487, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637488, 637707, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637708, 638067, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638068, 638147, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638148, 638367, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638368, 638747, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638748, 639087, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639088, 639287, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639288, 639687, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639688, 639747, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639748, 639947, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639948, 640387, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640388, 640667, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640668, 640887, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640888, 641307, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641308, 641327, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641328, 641527, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641528, 642007, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642008, 642267, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642268, 642467, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642468, 642927, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642928, 642947, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642948, 643107, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643108, 643647, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643648, 643867, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643868, 644047, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644048, 644507, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644508, 644567, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644568, 644687, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644688, 645267, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645268, 645447, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645448, 645627, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645628, 646107, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646108, 646207, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646208, 646267, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646268, 646666, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 423340, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423341, 423700, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423701, 425660, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425661, 426140, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426141, 428120, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428121, 428240, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428241, 428460, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428461, 430400, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 430401, 430920, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 430921, 431040, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 431041, 432900, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432901, 433120, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433121, 433200, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433201, 435140, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435141, 435700, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435701, 435920, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435921, 437660, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437661, 437940, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437941, 438000, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438001, 439880, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 439881, 439980, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 123440, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123441, 124760, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124761, 125480, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125481, 125520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125521, 126700, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126701, 127440, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127441, 128320, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128321, 129500, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129501, 130240, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 130241, 130380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620000, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620001, 620160, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620161, 620320, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620321, 620660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620661, 620860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620861, 620960, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620961, 621580, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621581, 621780, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621781, 621900, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621901, 622240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622241, 622480, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622481, 622540, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622541, 623180, {1, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623181, 623420, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623421, 623480, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623481, 623840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623841, 624100, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624101, 624120, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624121, 624760, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624761, 625040, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625041, 625060, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625061, 625420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625421, 625700, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625701, 625740, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625741, 626360, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626361, 626640, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626641, 626660, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626661, 627020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627021, 627300, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627301, 627360, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627361, 627940, {1, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627941, 628220, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628221, 628300, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628301, 628600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628601, 628880, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628881, 629000, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629001, 629540, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629541, 629800, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629801, 629920, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629921, 630200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630201, 630460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630461, 630620, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630621, 631140, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631141, 631380, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631381, 631560, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631561, 631780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631781, 632040, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632041, 632240, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632241, 632720, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632721, 632960, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632961, 633180, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633181, 633380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633381, 633620, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633621, 633880, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633881, 634320, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634321, 634560, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634561, 634800, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634801, 634980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634981, 635200, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635201, 635500, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635501, 635900, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635901, 636140, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636141, 636440, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636441, 636560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636561, 636780, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636781, 637120, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637121, 637500, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637501, 637720, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637721, 638060, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638061, 638160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638161, 638360, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638361, 638760, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638761, 639080, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639081, 639300, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639301, 639680, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639681, 639740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639741, 639940, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639941, 640380, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640381, 640680, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640681, 640880, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640881, 641320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641321, 641340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641341, 641520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641521, 642020, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642021, 642260, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642261, 642460, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642461, 642920, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642921, 642940, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642941, 643100, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643101, 643640, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643641, 643860, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643861, 644040, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644041, 644520, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644521, 644580, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644581, 644680, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644681, 645260, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645261, 645440, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645441, 645620, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645621, 646100, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646101, 646200, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646201, 646280, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646281, 646900, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646901, 647040, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647041, 647200, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647201, 647700, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647701, 647820, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647821, 647860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647861, 648520, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648521, 648640, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648641, 648780, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648781, 649280, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649281, 649440, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649441, 649460, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649461, 650140, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650141, 650220, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650221, 650360, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650361, 650880, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650881, 651020, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651021, 651080, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651081, 651780, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651781, 651820, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651821, 651940, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651941, 652460, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652461, 652600, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652601, 652700, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652701, 653400, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653401, 653540, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653541, 654060, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654061, 654180, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654181, 654340, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654341, 655000, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655001, 655020, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655021, 655120, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655121, 655660, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655661, 655760, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655761, 655960, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655961, 656580, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656581, 656660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656661, 656700, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656701, 657240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657241, 657340, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657341, 657600, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657601, 658180, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658181, 658280, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658281, 658840, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658841, 658920, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658921, 659220, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659221, 659760, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659761, 659860, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659861, 659920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659921, 660420, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660421, 660500, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660501, 660840, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660841, 661360, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661361, 661440, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661441, 661540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661541, 662020, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662021, 662080, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662081, 662480, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662481, 662940, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662941, 663020, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663021, 663160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663161, 663600, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663601, 663660, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663661, 664100, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664101, 664540, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664541, 664600, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664601, 664800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664801, 665200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665201, 665260, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665261, 665720, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665721, 666120, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666121, 666180, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666181, 666420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666421, 666780, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666781, 666840, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666841, 667360, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667361, 667720, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667721, 667760, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667761, 668040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668041, 668380, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668381, 668420, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668421, 668980, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668981, 669320, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669321, 669340, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669341, 669680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669681, 669960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669961, 670000, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670001, 670600, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670601, 670900, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670901, 670920, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670921, 671300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671301, 671560, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671561, 671580, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671581, 672240, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672241, 672500, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672501, 672520, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672521, 672940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672941, 673160, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673161, 673860, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673861, 674080, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674081, 674100, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674101, 674560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674561, 674740, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674741, 675500, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675501, 675680, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675681, 676180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676181, 676320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676321, 676340, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676341, 677120, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677121, 677260, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677261, 677820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677821, 677900, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677901, 677920, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677921, 678740, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678741, 678840, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678841, 678860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678861, 679440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679441, 679480, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679481, 679520, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679521, 680000, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620000, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620001, 620160, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620161, 620320, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620321, 620660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620661, 620860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620861, 620960, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620961, 621580, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621581, 621780, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621781, 621900, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621901, 622240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622241, 622480, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622481, 622540, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622541, 623180, {1, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623181, 623420, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623421, 623480, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623481, 623840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623841, 624100, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624101, 624120, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624121, 624760, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624761, 625040, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625041, 625060, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625061, 625420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625421, 625700, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625701, 625740, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625741, 626360, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626361, 626640, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626641, 626660, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626661, 627020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627021, 627300, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627301, 627360, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627361, 627940, {1, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627941, 628220, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628221, 628300, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628301, 628600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628601, 628880, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628881, 629000, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629001, 629540, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629541, 629800, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629801, 629920, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629921, 630200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630201, 630460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630461, 630620, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630621, 631140, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631141, 631380, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631381, 631560, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631561, 631780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631781, 632040, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632041, 632240, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632241, 632720, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632721, 632960, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632961, 633180, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633181, 633380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633381, 633620, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633621, 633880, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633881, 634320, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634321, 634560, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634561, 634800, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634801, 634980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634981, 635200, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635201, 635500, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635501, 635900, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635901, 636140, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636141, 636440, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636441, 636560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636561, 636780, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636781, 637120, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637121, 637500, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637501, 637720, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637721, 638060, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638061, 638160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638161, 638360, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638361, 638760, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638761, 639080, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639081, 639300, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639301, 639680, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639681, 639740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639741, 639940, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639941, 640380, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640381, 640680, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640681, 640880, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640881, 641320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641321, 641340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641341, 641520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641521, 642020, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642021, 642260, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642261, 642460, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642461, 642920, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642921, 642940, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642941, 643100, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643101, 643640, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643641, 643860, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643861, 644040, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644041, 644520, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644521, 644580, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644581, 644680, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644681, 645260, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645261, 645440, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645441, 645620, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645621, 646100, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646101, 646200, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646201, 646280, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646281, 646900, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646901, 647040, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647041, 647200, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647201, 647700, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647701, 647820, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647821, 647860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647861, 648520, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648521, 648640, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648641, 648780, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648781, 649280, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649281, 649440, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649441, 649460, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649461, 650140, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650141, 650220, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650221, 650360, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650361, 650880, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650881, 651020, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651021, 651080, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651081, 651780, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651781, 651820, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651821, 651940, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651941, 652460, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652461, 652600, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652601, 652700, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652701, 653333, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693394, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693395, 693714, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693715, 693834, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693835, 694094, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694095, 694654, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694655, 694774, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694775, 695014, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695015, 695314, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695315, 695414, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695415, 695714, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695715, 696234, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696235, 696354, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696355, 696654, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696655, 696894, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696895, 697014, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697015, 697334, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697335, 697814, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697815, 697954, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697955, 698274, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698275, 698474, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698475, 698614, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698615, 698974, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698975, 699394, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699395, 699534, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699535, 699914, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699915, 700054, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700055, 700194, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700195, 700594, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700595, 700974, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700975, 701134, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701135, 701534, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701535, 701634, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701635, 701794, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701795, 702234, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702235, 702574, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702575, 702714, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702715, 703154, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703155, 703214, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703215, 703374, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703375, 703854, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703855, 704154, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704155, 704314, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704315, 704794, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704795, 704974, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704975, 705474, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705475, 705734, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705735, 705894, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705895, 706374, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706375, 706414, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706415, 706554, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706555, 707114, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707115, 707314, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707315, 707494, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707495, 707954, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707955, 708034, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708035, 708154, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708155, 708734, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708735, 708894, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708895, 709074, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709075, 709534, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709535, 709674, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709675, 709734, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709735, 710354, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710355, 710474, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710475, 710674, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710675, 711114, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711115, 711294, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711295, 711334, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711335, 711994, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711995, 712054, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712055, 712274, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712275, 712694, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712695, 712914, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712915, 713614, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713615, 713634, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713635, 713854, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713855, 714294, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714295, 714514, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714515, 714554, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714555, 715214, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715215, 715254, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715255, 715454, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715455, 715874, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715875, 716114, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716115, 716174, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716175, 716794, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716795, 716874, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716875, 717034, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717035, 717454, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717455, 717694, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717695, 717814, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717815, 718374, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718375, 718494, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718495, 718634, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718635, 719034, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719035, 719294, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719295, 719434, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719435, 719954, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719955, 720134, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720135, 720214, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720215, 720614, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720615, 720874, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720875, 721054, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721055, 721554, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721555, 721754, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721755, 721814, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721815, 722194, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722195, 722474, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722475, 722694, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722695, 723134, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723135, 723374, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723375, 723394, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723395, 723774, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723775, 724054, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724055, 724314, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724315, 724714, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724715, 724994, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724995, 725014, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725015, 725354, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725355, 725654, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725655, 725934, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725935, 726294, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726295, 726574, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726575, 726634, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726635, 726934, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726935, 727234, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727235, 727574, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727575, 727874, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727875, 728174, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728175, 728274, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728275, 728514, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728515, 728834, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728835, 729194, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729195, 729454, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729455, 729774, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729775, 729894, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729895, 730094, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730095, 730414, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730415, 730834, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730835, 731034, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731035, 731354, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731355, 731514, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731515, 731694, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731695, 732014, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732015, 732454, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732455, 732614, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732615, 732954, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732955, 733154, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733155, 733274, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733275, 733333, {1, 0, 1} }, +}; + +static const struct cam_mipi_sensor_mode sensor_tele_mipi_A_mode[] = { + { + sensor_imx754_setfile_A_mipi_channel, ARRAY_SIZE(sensor_imx754_setfile_A_mipi_channel), + sensor_imx754_setfile_A_mipi_setting, ARRAY_SIZE(sensor_imx754_setfile_A_mipi_setting) + }, +}; + +/*************************************/ +/* ========== Mode B =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_B_1900_REG_ARRAY[] = { + {0x030F, 0x52, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_B_1910_REG_ARRAY[] = { + {0x030F, 0x55, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_B_1968_REG_ARRAY[] = { + {0x030F, 0x67, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx754_setfile_B_mipi_1900[] = { + { MIPI_B_1900_REG_ARRAY, ARRAY_SIZE(MIPI_B_1900_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_1910[] = { + { MIPI_B_1910_REG_ARRAY, ARRAY_SIZE(MIPI_B_1910_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_1968[] = { + { MIPI_B_1968_REG_ARRAY, ARRAY_SIZE(MIPI_B_1968_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[] = { + { "1900 Msps", 1900, + sensor_imx754_setfile_B_mipi_1900, ARRAY_SIZE(sensor_imx754_setfile_B_mipi_1900) }, + { "1910 Msps", 1910, + sensor_imx754_setfile_B_mipi_1910, ARRAY_SIZE(sensor_imx754_setfile_B_mipi_1910) }, + { "1968 Msps", 1968, + sensor_imx754_setfile_B_mipi_1968, ARRAY_SIZE(sensor_imx754_setfile_B_mipi_1968) }, +}; + +static const struct cam_mipi_cell_ratings sensor_imx754_setfile_B_mipi_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {14, 14, 14} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 14, 14} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {6, 6, 6} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {6, 6, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10577, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10578, 10608, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10609, 10625, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10626, 10648, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10649, 10678, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10679, 10690, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10691, 10718, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10719, 10745, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10746, 10760, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10761, 10788, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10789, 10815, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10816, 10826, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10827, 10838, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9664, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9665, 9674, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9675, 9723, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9724, 9734, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9735, 9740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9741, 9789, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9790, 9804, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9805, 9810, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9811, 9859, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9860, 9874, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9875, 9876, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9877, 9926, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9927, 9938, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1166, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1167, 1186, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1187, 1227, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1228, 1232, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1233, 1256, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1257, 1297, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1298, 1302, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1303, 1322, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1323, 1367, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1368, 1369, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1370, 1392, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1393, 1437, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1438, 1439, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1440, 1458, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1459, 1505, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1506, 1508, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1509, 1513, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1552, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1553, 1583, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1584, 1600, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1601, 1623, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1624, 1653, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1654, 1665, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1666, 1693, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1694, 1720, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1721, 1735, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1736, 1738, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4379, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4380, 4392, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4393, 4401, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4402, 4445, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4446, 4458, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4392, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4393, 4401, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4402, 4413, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2259, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2260, 2303, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2304, 2326, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2327, 2329, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2330, 2373, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2374, 2395, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2396, 2396, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2397, 2444, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2445, 2462, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2463, 2465, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2466, 2514, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2515, 2531, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2532, 2532, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2533, 2563, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2951, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2952, 2973, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2974, 2974, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2975, 3016, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3017, 3040, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3041, 3044, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3045, 3086, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3087, 3088, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 717, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 718, 726, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 727, 763, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 10, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 11, 55, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 56, 117, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 118, 150, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 151, 196, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 197, 257, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 258, 281, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 282, 336, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 337, 390, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 391, 421, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 422, 477, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 478, 530, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 531, 553, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 554, 599, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 606, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 607, 628, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 629, 649, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 650, 746, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 747, 768, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 769, 781, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 782, 879, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 880, 909, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 910, 921, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 922, 1019, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1020, 1049, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1050, 1052, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1053, 1152, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1153, 1191, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1192, 1192, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1193, 1199, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1213, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1214, 1232, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1233, 1273, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1274, 1354, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1355, 1365, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1366, 1413, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1414, 1494, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1495, 1505, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1506, 1544, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1545, 1635, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1636, 1638, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1639, 1684, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1685, 1775, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1776, 1778, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1779, 1816, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1817, 1911, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1912, 1916, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1917, 1949, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1960, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1961, 2005, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2006, 2067, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2068, 2100, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2101, 2146, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2147, 2207, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2208, 2231, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2232, 2286, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2287, 2340, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2341, 2371, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2372, 2399, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2469, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2470, 2495, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2496, 2513, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2514, 2600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2601, 2636, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2637, 2646, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2647, 2649, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2766, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2767, 2819, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2820, 2907, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2908, 2952, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2953, 2959, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2960, 3047, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3048, 3091, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3092, 3092, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3093, 3188, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3189, 3225, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3226, 3231, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3232, 3328, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3329, 3362, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3363, 3365, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3366, 3449, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3502, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3503, 3547, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3548, 3549, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3550, 3633, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3634, 3681, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3682, 3688, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3689, 3773, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3774, 3799, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5018, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5019, 5099, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5100, 5121, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5122, 5158, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5159, 5179, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5241, 5253, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5254, 5279, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5360, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5361, 5373, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5374, 5379, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5769, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5770, 5791, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5792, 5828, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5829, 5849, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5869, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5870, 5895, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5896, 5913, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5914, 5999, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6009, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6010, 6035, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6036, 6053, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6054, 6140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6141, 6149, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6181, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6182, 6184, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6185, 6224, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6225, 6316, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6317, 6323, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6324, 6357, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6358, 6449, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6461, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6462, 6495, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6496, 6571, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6572, 6599, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8046, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8047, 8068, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8069, 8089, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8090, 8186, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8187, 8208, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8209, 8221, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8222, 8319, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8320, 8349, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8350, 8361, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8362, 8459, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8460, 8489, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8490, 8492, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8493, 8592, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8593, 8631, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8632, 8632, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8633, 8689, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8719, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8720, 8745, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8746, 8763, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8764, 8859, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8860, 8885, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8886, 8903, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8904, 8990, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8991, 9026, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9027, 9036, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9037, 9039, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9290, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9291, 9303, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9304, 9341, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9342, 9431, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9432, 9434, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9435, 9474, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9475, 9571, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9572, 9574, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9575, 9614, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9615, 9659, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9729, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9730, 9751, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9752, 9769, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9810, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9811, 9815, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9816, 9824, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9825, 9869, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9934, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9935, 9949, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9950, 9993, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9994, 10067, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10068, 10089, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10090, 10133, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10134, 10207, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10208, 10230, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10231, 10264, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10265, 10340, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10341, 10359, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36225, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36226, 36264, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36265, 36272, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36273, 36349, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37773, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37774, 37776, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37777, 37845, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37846, 37906, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37907, 37916, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37917, 37985, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37986, 38046, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38047, 38048, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38049, 38126, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38127, 38179, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38180, 38188, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38189, 38249, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38256, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38257, 38351, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38352, 38356, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38357, 38387, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38388, 38483, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38484, 38497, {60, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38498, 38527, {60, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38528, 38623, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38624, 38637, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38638, 38649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38661, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38662, 38773, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38774, 38777, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38778, 38801, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38802, 38914, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38915, 38917, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38918, 38932, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38933, 39050, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39051, 39054, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39055, 39072, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39073, 39190, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39191, 39195, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39196, 39204, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39205, 39323, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39324, 39335, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39336, 39344, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39345, 39463, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39464, 39475, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39476, 39477, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39478, 39596, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39597, 39615, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39616, 39617, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39618, 39649, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39728, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39729, 39741, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39742, 39781, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39782, 39868, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39869, 39873, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39874, 39922, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39923, 40001, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40002, 40013, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40014, 40062, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40063, 40141, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40142, 40145, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40146, 40203, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40204, 40273, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40274, 40285, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40286, 40343, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40344, 40413, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40414, 40416, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40417, 40485, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40486, 40546, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40547, 40556, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40557, 40625, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40626, 40686, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40687, 40688, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40689, 40766, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40767, 40819, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40820, 40828, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40829, 40906, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40907, 40959, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40960, 41047, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41048, 41092, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41093, 41099, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41100, 41187, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41188, 41231, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41232, 41232, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41233, 41328, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41329, 41365, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41366, 41371, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41372, 41468, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41469, 41502, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41503, 41505, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41506, 41589, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41602, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41603, 41634, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41635, 41678, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41679, 41734, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41735, 41774, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41775, 41819, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41820, 41874, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41875, 41907, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41908, 41959, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41960, 42005, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42006, 42047, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42048, 42100, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42101, 42145, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42146, 42180, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42181, 42240, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42241, 42277, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42278, 42320, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42321, 42381, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42382, 42417, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42418, 42453, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42454, 42521, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42522, 42549, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42550, 42593, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42594, 42662, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42663, 42689, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42690, 42725, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42726, 42802, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42803, 42820, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42821, 42865, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42866, 42944, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42945, 42960, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42961, 42998, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42999, 43084, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43085, 43092, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43093, 43138, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43139, 43225, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43226, 43232, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43233, 43271, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43272, 43363, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43364, 43365, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43366, 43411, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43412, 43503, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43504, 43506, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43507, 43544, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43545, 43589, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55242, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55243, 55288, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55289, 55375, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55376, 55382, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55383, 55421, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55422, 55513, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55514, 55515, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55516, 55561, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55562, 55653, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55654, 55656, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55657, 55694, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55695, 55785, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55786, 55796, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55797, 55834, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55835, 55925, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55926, 55937, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55938, 55967, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55968, 56056, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56057, 56077, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56078, 56107, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56108, 56196, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56197, 56218, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56219, 56240, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56241, 56328, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56329, 56358, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56359, 56380, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56381, 56468, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56469, 56499, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56500, 56513, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56514, 56599, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56600, 56639, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56640, 56653, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56654, 56739, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66446, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66447, 66491, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66492, 66553, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66554, 66586, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66587, 66632, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66633, 66693, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66694, 66717, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66718, 66772, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66773, 66826, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66827, 66857, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66858, 66913, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66914, 66966, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66967, 66989, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66990, 67053, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67054, 67099, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67100, 67129, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67130, 67195, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67196, 67239, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67240, 67260, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67261, 67335, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68591, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68592, 68623, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68624, 68671, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68672, 68731, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68732, 68763, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68764, 68812, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68813, 68863, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68864, 68895, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68896, 68935, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {63, 63, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {6, 69, 9} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {6, 63, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 9, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {4, 4, 4} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {66, 3, 6} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {14, 21, 21} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {6, 6, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {7, 14, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 422200, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422201, 423100, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423101, 424340, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 424341, 425000, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425001, 425920, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425921, 427140, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427141, 427620, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427621, 428720, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428721, 429800, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429801, 430420, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 430421, 431540, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 431541, 432600, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432601, 433060, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433061, 433980, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 386120, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386121, 386560, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386561, 386980, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386981, 388920, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388921, 389360, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389361, 389620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389621, 391580, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391581, 392180, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392181, 392420, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392421, 394380, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 394381, 394980, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 394981, 395040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395041, 397040, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397041, 397820, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397821, 397840, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397841, 397980, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 361260, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361261, 361640, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361641, 362460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362461, 364080, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 364081, 364300, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 364301, 365260, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365261, 366880, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366881, 367100, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367101, 367880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367881, 369700, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369701, 369760, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369761, 370680, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370681, 372500, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372501, 372560, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372561, 373320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373321, 375220, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 375221, 375320, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 375321, 375980, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 175180, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175181, 175700, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175701, 176060, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176061, 177800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 177801, 178520, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178521, 178720, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178721, 178780, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 524320, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524321, 525380, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525381, 527140, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527141, 528040, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528041, 528180, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528181, 529940, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 529941, 530820, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530821, 530840, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530841, 532760, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 532761, 533500, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533501, 533620, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533621, 535560, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 535561, 536240, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 536241, 536300, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 536301, 538000, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186040, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186041, 186940, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186941, 186980, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186981, 188660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 188661, 189620, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189621, 189760, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189761, 191460, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191461, 191980, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 145960, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145961, 147580, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147581, 148020, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148021, 148760, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148761, 149200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 150400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150401, 150660, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150661, 151200, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 153200, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153201, 153460, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153461, 153580, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 172380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172381, 172900, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172901, 173260, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173261, 175000, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 158820, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158821, 158880, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158881, 159680, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159681, 161520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 161521, 161660, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 161661, 162340, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162341, 164180, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 386120, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386121, 386560, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386561, 386980, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386981, 388920, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388921, 389360, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389361, 389620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389621, 391580, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391581, 392180, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392181, 392420, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392421, 394380, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 394381, 394980, {0, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 394981, 395040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395041, 397040, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397041, 397820, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397821, 397840, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397841, 398980, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 172380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172381, 172900, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172901, 173260, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173261, 175180, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175181, 175700, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175701, 176060, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176061, 177800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 177801, 178520, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178521, 178720, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178721, 178800, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 153200, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153201, 153460, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153461, 154220, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154221, 156020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156021, 156080, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156081, 156880, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156881, 158820, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158821, 158880, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158881, 159680, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159681, 160580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 144780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 144781, 145220, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 145221, 145580, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 470800, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470801, 470900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470901, 471080, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471081, 471980, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 514460, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514461, 514520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514521, 515900, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515901, 517120, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517121, 517320, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517321, 518700, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518701, 519920, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 519921, 519960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 519961, 521520, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 521521, 522580, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522581, 522760, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522761, 523980, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 376120, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376121, 378020, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378021, 378120, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378121, 378740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378741, 380660, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380661, 380940, {60, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380941, 381540, {60, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381541, 383460, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 383461, 383740, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 383741, 384000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 460220, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460221, 462460, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 462461, 462540, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 462541, 463020, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463021, 465280, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465281, 465340, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465341, 465640, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465641, 468000, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468001, 468080, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468081, 468440, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468441, 470800, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 470801, 470900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 470901, 471080, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471081, 473460, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 473461, 473700, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 473701, 473880, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 473881, 476260, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476261, 476500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476501, 476540, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476541, 478920, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478921, 479300, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479301, 479340, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479341, 480000, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 500760, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 500761, 501020, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501021, 501820, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501821, 503560, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 503561, 503660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 503661, 504640, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504641, 506220, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506221, 506460, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506461, 507440, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507441, 509020, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509021, 509100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509101, 510260, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 510261, 511660, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511661, 511900, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511901, 513060, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 513061, 514460, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514461, 514520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514521, 515900, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515901, 517120, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517121, 517320, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517321, 518700, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518701, 519920, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 519921, 519960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 519961, 521520, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 521521, 522580, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522581, 522760, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522761, 524320, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524321, 525380, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525381, 527140, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527141, 528040, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528041, 528180, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528181, 529940, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 529941, 530820, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530821, 530840, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530841, 532760, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 532761, 533500, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533501, 533620, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533621, 535560, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 535561, 536240, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 536241, 536300, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 536301, 537980, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 636667, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636668, 636987, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636988, 637567, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637568, 637607, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637608, 637867, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637868, 638487, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638488, 638807, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638808, 639407, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639408, 639427, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639428, 639687, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639688, 640287, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640288, 640367, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640368, 640627, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640628, 641227, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641228, 641307, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641308, 641507, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641508, 642107, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642108, 642247, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642248, 642447, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642448, 643027, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643028, 643187, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643188, 643327, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643328, 643907, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643908, 644107, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644108, 644267, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644268, 644847, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644848, 645047, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645048, 645147, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645148, 645727, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645728, 645987, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645988, 646087, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646088, 646647, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646648, 646666, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 422200, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422201, 423100, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423101, 424340, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 424341, 425000, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425001, 425920, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425921, 427140, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427141, 427620, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427621, 428720, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428721, 429800, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429801, 430420, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 430421, 431540, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 431541, 432600, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432601, 433060, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433061, 434340, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 434341, 435260, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435261, 435860, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435861, 437180, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437181, 438060, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438061, 438480, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438481, 439980, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 123500, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123501, 124140, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124141, 125100, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125101, 126300, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126301, 126940, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126941, 127920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127921, 128940, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128941, 129580, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129581, 130380, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620380, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620381, 620600, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620601, 620680, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620681, 621320, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621321, 621500, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621501, 621620, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621621, 622180, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622181, 622420, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622421, 622560, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622561, 623120, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623121, 623320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623321, 623500, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623501, 624000, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624001, 624240, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624241, 624440, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624441, 624940, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624941, 625140, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625141, 625380, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625381, 625800, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625801, 626060, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626061, 626320, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626321, 626740, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626741, 626960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626961, 627240, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627241, 627620, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627621, 627880, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627881, 628180, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628181, 628560, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628561, 628780, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628781, 629120, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629121, 629420, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629421, 629700, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629701, 630060, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630061, 630360, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630361, 630600, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630601, 631000, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631001, 631240, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631241, 631520, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631521, 631940, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631941, 632180, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632181, 632420, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632421, 632860, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632861, 633060, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633061, 633340, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633341, 633800, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633801, 633980, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633981, 634220, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634221, 634740, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634741, 634860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634861, 635160, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635161, 635680, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635681, 635800, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635801, 636040, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636041, 636620, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636621, 636680, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636681, 636980, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636981, 637560, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637561, 637600, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637601, 637860, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637861, 638480, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638481, 638500, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638501, 638800, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638801, 639420, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639421, 639440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639441, 639680, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639681, 640300, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640301, 640360, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640361, 640620, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640621, 641220, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641221, 641300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641301, 641500, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641501, 642100, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642101, 642240, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642241, 642440, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642441, 643040, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643041, 643180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643181, 643320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643321, 643920, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643921, 644120, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644121, 644260, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644261, 644840, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644841, 645060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645061, 645140, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645141, 645720, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645721, 645980, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645981, 646080, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646081, 646660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646661, 646920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646921, 646960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646961, 647540, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647541, 647860, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647861, 647900, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647901, 648460, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648461, 648780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648781, 648800, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648801, 649340, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649341, 649720, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649721, 649740, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649741, 650280, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650281, 650600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650601, 650680, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650681, 651160, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651161, 651540, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651541, 651620, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651621, 652080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652081, 652420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652421, 652560, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652561, 652960, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652961, 653360, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653361, 653480, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653481, 653900, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653901, 654240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654241, 654420, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654421, 654780, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654781, 655180, {1, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655181, 655360, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655361, 655700, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655701, 656060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656061, 656300, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656301, 656580, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656581, 657000, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657001, 657240, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657241, 657520, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657521, 657880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657881, 658180, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658181, 658400, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658401, 658820, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658821, 659100, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659101, 659320, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659321, 659700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659701, 660040, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660041, 660200, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660201, 660640, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660641, 660980, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660981, 661140, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661141, 661520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661521, 661920, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661921, 662020, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662021, 662460, {1, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662461, 662860, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662861, 662940, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662941, 663340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663341, 663800, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663801, 663820, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663821, 664280, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664281, 664740, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664741, 664760, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664761, 665160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665161, 665640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665641, 665680, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665681, 666100, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666101, 666560, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666561, 666600, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666601, 666980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666981, 667440, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667441, 667540, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667541, 667920, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667921, 668380, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668381, 668480, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668481, 668800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668801, 669260, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669261, 669420, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669421, 669740, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669741, 670180, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670181, 670360, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670361, 670620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670621, 671060, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671061, 671300, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671301, 671560, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671561, 672000, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672001, 672220, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672221, 672440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672441, 672880, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672881, 673160, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673161, 673380, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673381, 673800, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673801, 674100, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674101, 674260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674261, 674680, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674681, 675040, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675041, 675200, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675201, 675620, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675621, 675980, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675981, 676080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676081, 676500, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676501, 676920, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676921, 677000, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677001, 677440, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677441, 677860, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677861, 677900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677901, 678300, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678301, 678800, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678801, 678820, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678821, 679240, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679241, 679720, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679721, 680000, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620380, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620381, 620600, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620601, 620680, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620681, 621320, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621321, 621500, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621501, 621620, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621621, 622180, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622181, 622420, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622421, 622560, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622561, 623120, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623121, 623320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623321, 623500, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623501, 624000, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624001, 624240, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624241, 624440, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624441, 624940, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624941, 625140, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625141, 625380, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625381, 625800, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625801, 626060, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626061, 626320, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626321, 626740, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626741, 626960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626961, 627240, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627241, 627620, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627621, 627880, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627881, 628180, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628181, 628560, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628561, 628780, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628781, 629120, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629121, 629420, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629421, 629700, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629701, 630060, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630061, 630360, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630361, 630600, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630601, 631000, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631001, 631240, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631241, 631520, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631521, 631940, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631941, 632180, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632181, 632420, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632421, 632860, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632861, 633060, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633061, 633340, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633341, 633800, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633801, 633980, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633981, 634220, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634221, 634740, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634741, 634860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634861, 635160, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635161, 635680, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635681, 635800, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635801, 636040, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636041, 636620, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636621, 636680, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636681, 636980, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636981, 637560, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637561, 637600, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637601, 637860, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637861, 638480, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638481, 638500, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638501, 638800, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638801, 639420, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639421, 639440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639441, 639680, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639681, 640300, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640301, 640360, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640361, 640620, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640621, 641220, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641221, 641300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641301, 641500, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641501, 642100, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642101, 642240, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642241, 642440, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642441, 643040, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643041, 643180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643181, 643320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643321, 643920, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643921, 644120, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644121, 644260, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644261, 644840, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644841, 645060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645061, 645140, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645141, 645720, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645721, 645980, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645981, 646080, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646081, 646660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646661, 646920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646921, 646960, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646961, 647540, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647541, 647860, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647861, 647900, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647901, 648460, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648461, 648780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648781, 648800, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648801, 649340, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649341, 649720, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649721, 649740, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649741, 650280, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650281, 650600, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650601, 650680, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650681, 651160, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651161, 651540, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651541, 651620, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651621, 652080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652081, 652420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652421, 652560, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652561, 652960, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652961, 653333, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693394, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693395, 693714, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693715, 693794, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693795, 694274, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694275, 694594, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694595, 694714, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694715, 695214, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695215, 695534, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695535, 695654, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695655, 696094, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696095, 696414, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696415, 696594, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696595, 697034, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697035, 697354, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697355, 697534, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697535, 697914, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697915, 698214, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698215, 698474, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698475, 698834, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698835, 699154, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699155, 699414, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699415, 699734, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699735, 700034, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700035, 700334, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700335, 700654, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700655, 700974, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700975, 701294, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701295, 701554, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701555, 701834, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701835, 702214, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702215, 702474, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702475, 702774, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702775, 703154, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703155, 703374, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703375, 703654, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703655, 704094, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704095, 704294, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704295, 704594, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704595, 705034, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705035, 705194, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705195, 705454, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705455, 705974, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705975, 706114, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706115, 706394, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706395, 706914, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706915, 707014, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707015, 707274, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707275, 707834, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707835, 707934, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707935, 708214, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708215, 708774, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708775, 708834, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708835, 709074, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709075, 709714, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709715, 709754, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709755, 710014, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710015, 710654, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710655, 710894, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710895, 711574, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711575, 711594, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711595, 711834, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711835, 712474, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712475, 712534, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712535, 712694, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712695, 713394, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713395, 713454, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713455, 713634, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713635, 714294, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714295, 714414, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714415, 714514, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714515, 715214, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715215, 715334, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715335, 715454, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715455, 716114, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716115, 716274, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716275, 716334, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716335, 717034, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717035, 717214, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717215, 717254, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717255, 717934, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717935, 718134, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718135, 718154, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718155, 718854, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718855, 719074, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719075, 719094, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719095, 719734, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719735, 719954, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719955, 720034, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720035, 720674, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720675, 720874, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720875, 720954, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720955, 721554, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721555, 721754, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721755, 721894, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721895, 722494, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722495, 722694, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722695, 722834, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722835, 723374, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723375, 723574, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723575, 723774, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723775, 724314, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724315, 724494, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724495, 724714, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724715, 725194, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725195, 725374, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725375, 725654, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725655, 726134, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726135, 726314, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726315, 726574, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726575, 727014, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727015, 727194, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727195, 727534, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727535, 727954, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727955, 728114, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728115, 728454, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728455, 728834, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728835, 728994, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728995, 729394, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729395, 729774, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729775, 729934, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729935, 730334, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730335, 730654, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730655, 730814, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730815, 731274, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731275, 731594, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731595, 731734, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731735, 732214, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732215, 732474, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732475, 732614, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732615, 733154, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733155, 733333, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695315, 695414, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695415, 695714, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695715, 696234, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696235, 696354, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696355, 696654, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696655, 696894, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696895, 697014, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697015, 697334, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697335, 697814, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697815, 697954, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697955, 698274, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698275, 698474, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698475, 698614, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698615, 698974, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698975, 699394, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699395, 699534, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699535, 699914, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699915, 700054, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700055, 700194, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700195, 700594, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700595, 700974, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700975, 701134, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701135, 701534, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701535, 701634, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701635, 701794, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701795, 702234, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702235, 702574, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702575, 702714, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702715, 703154, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703155, 703214, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703215, 703374, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703375, 703854, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703855, 704154, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704155, 704314, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704315, 704794, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704795, 704974, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704975, 705474, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705475, 705734, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705735, 705894, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705895, 706374, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706375, 706414, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706415, 706554, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706555, 707114, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707115, 707314, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707315, 707494, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707495, 707954, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707955, 708034, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708035, 708154, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708155, 708734, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708735, 708894, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708895, 709074, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709075, 709534, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709535, 709674, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709675, 709734, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709735, 710354, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710355, 710474, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710475, 710674, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710675, 711114, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711115, 711294, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711295, 711334, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711335, 711994, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711995, 712054, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712055, 712274, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712275, 712694, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712695, 712914, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712915, 713614, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713615, 713634, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713635, 713854, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713855, 714294, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714295, 714514, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714515, 714554, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714555, 715214, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715215, 715254, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715255, 715454, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715455, 715874, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715875, 716114, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716115, 716174, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716175, 716794, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716795, 716874, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716875, 717034, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717035, 717454, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717455, 717694, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717695, 717814, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717815, 718374, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718375, 718494, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718495, 718634, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718635, 719034, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719035, 719294, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719295, 719434, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719435, 719954, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719955, 720134, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720135, 720214, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720215, 720614, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720615, 720874, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720875, 721054, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721055, 721554, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721555, 721754, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721755, 721814, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721815, 722194, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722195, 722474, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722475, 722694, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722695, 723134, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723135, 723374, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723375, 723394, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723395, 723774, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723775, 724054, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724055, 724314, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724315, 724714, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724715, 724994, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724995, 725014, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725015, 725354, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725355, 725654, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725655, 725934, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725935, 726294, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726295, 726574, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726575, 726634, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726635, 726934, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726935, 727234, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727235, 727574, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727575, 727874, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727875, 728174, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728175, 728274, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728275, 728514, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728515, 728834, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728835, 729194, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729195, 729454, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729455, 729774, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729775, 729894, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729895, 730094, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730095, 730414, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730415, 730834, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730835, 731034, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731035, 731354, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731355, 731514, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731515, 731694, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731695, 732014, {20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732015, 732454, {20, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732455, 732614, {20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732615, 732954, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732955, 733154, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733155, 733274, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733275, 733333, {1, 0, 1} }, +}; + +static const struct cam_mipi_sensor_mode sensor_tele_mipi_B_mode[] = { + { + sensor_imx754_setfile_B_mipi_channel, ARRAY_SIZE(sensor_imx754_setfile_B_mipi_channel), + sensor_imx754_setfile_B_mipi_setting, ARRAY_SIZE(sensor_imx754_setfile_B_mipi_setting) + }, +}; + +/*************************************/ +/* ========== DUMMY ================ */ +/*************************************/ +enum { + CAM_TELE_SET_DUMMY = 0, +}; + +struct cam_sensor_i2c_reg_array MIPI_TELE_DUMMY_REG_ARRAY[] = { +}; + +static const struct cam_sensor_i2c_reg_setting sensor_tele_setfile_dummy[] = { + { MIPI_TELE_DUMMY_REG_ARRAY, ARRAY_SIZE(MIPI_TELE_DUMMY_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 Msps", 0, + sensor_tele_setfile_dummy, ARRAY_SIZE(sensor_tele_setfile_dummy) }, +}; + +static const struct cam_mipi_cell_ratings sensor_tele_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_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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_uw.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_uw.h new file mode 100644 index 0000000000..89c72a8de8 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_uw.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_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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_uw_2_0.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_uw_2_0.h new file mode 100644 index 0000000000..4ede38a5a9 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_uw_2_0.h @@ -0,0 +1,2972 @@ +/* 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; + +/* +UWCAM_Adaptive MIPI 2.0_IMX564_231027.xlsx +SET A : 4x4 (10/12bit) (2784 / 2720 / 2713.6) +SET B : SSM 4x4&2x2 (10bit) (2988.8 / 2944 / 2860.8) +SET C : FastAE/SM 4x4&2x2 (10bit) (1356.8 / 1331.2 / 1382.4 / 1414.4) +SET D : Pro Video 120Fps non bin (10bit) (3379.2 / 3331.2) +*/ + +/*************************************/ +/* ========== SET A =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_A_2784_REG_ARRAY[] = { + {0x030B, 0x01, 0x00, 0x00}, + {0x030D, 0x02, 0x00, 0x00}, + {0x030E, 0x01, 0x00, 0x00}, + {0x030F, 0x22, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_A_2720_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_2713_REG_ARRAY[] = { + {0x030B, 0x01, 0x00, 0x00}, + {0x030D, 0x03, 0x00, 0x00}, + {0x030E, 0x01, 0x00, 0x00}, + {0x030F, 0xA8, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_imx564_setfile_A_2784[] = { + { MIPI_A_2784_REG_ARRAY, ARRAY_SIZE(MIPI_A_2784_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[] = { + { MIPI_A_2720_REG_ARRAY, ARRAY_SIZE(MIPI_A_2720_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_2713[] = { + { MIPI_A_2713_REG_ARRAY, ARRAY_SIZE(MIPI_A_2713_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[] = { + { "2784 Msps", 2784, + sensor_imx564_setfile_A_2784, ARRAY_SIZE(sensor_imx564_setfile_A_2784) }, + { "2720 Msps", 2720, + sensor_imx564_setfile_A_2720, ARRAY_SIZE(sensor_imx564_setfile_A_2720) }, + { "2713 Msps", 2713, + sensor_imx564_setfile_A_2713, ARRAY_SIZE(sensor_imx564_setfile_A_2713) }, +}; + +static const struct cam_mipi_cell_ratings sensor_imx564_setfile_A_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {0, 3, 6} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10570, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10571, 10625, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10626, 10640, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10641, 10650, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10651, 10695, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10696, 10720, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10721, 10838, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9679, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9680, 9726, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9727, 9749, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9750, 9907, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9908, 9938, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1205, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1206, 1226, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1227, 1369, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1370, 1439, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1440, 1458, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1459, 1480, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1481, 1513, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1545, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1546, 1600, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1601, 1615, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1616, 1625, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1626, 1670, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1671, 1695, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1696, 1738, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4458, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4413, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2334, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2335, 2347, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2348, 2366, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2367, 2404, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2405, 2417, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2418, 2436, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2437, 2563, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2974, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2975, 3088, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 763, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 41, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 42, 151, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 152, 181, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 182, 201, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 202, 291, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 292, 341, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 342, 599, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 612, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 613, 658, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 659, 752, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 753, 798, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 799, 1115, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1116, 1199, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1213, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1214, 1310, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1311, 1353, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1354, 1639, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1640, 1779, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1780, 1816, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1817, 1860, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1861, 1949, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1991, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1992, 2101, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2102, 2131, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2132, 2151, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2152, 2241, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2242, 2291, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2292, 2399, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2969, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2970, 2994, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2995, 3032, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3033, 3109, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3110, 3134, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3135, 3172, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3173, 3449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3549, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3550, 3799, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5081, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5082, 5179, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5279, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5379, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5751, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5752, 5849, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5937, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5938, 5999, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6149, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6264, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6265, 6449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6456, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6457, 6599, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8052, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8053, 8098, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8099, 8192, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8193, 8238, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8239, 8555, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8556, 8689, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8787, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8788, 9039, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9313, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9314, 9331, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9332, 9453, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9454, 9471, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9472, 9514, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9515, 9654, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9655, 9659, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9667, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9668, 9683, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9684, 9711, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9712, 9769, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9869, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10052, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10053, 10190, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10191, 10225, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10226, 10330, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10331, 10359, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36246, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36247, 36349, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37823, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37824, 37831, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37832, 37884, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37885, 37963, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37964, 37971, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37972, 38024, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38025, 38249, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38256, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38257, 38300, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38301, 38602, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38603, 38649, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38779, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38780, 38839, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38840, 38894, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38895, 38919, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38920, 38979, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38980, 39034, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39035, 39442, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39443, 39485, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39486, 39541, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39542, 39582, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39583, 39625, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39626, 39649, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39808, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39809, 39817, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39818, 39877, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39878, 39948, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39949, 39957, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39958, 40017, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40018, 40463, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40464, 40471, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40472, 40524, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40525, 40603, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40604, 40611, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40612, 40664, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40665, 41109, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41110, 41134, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41135, 41172, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41173, 41249, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41250, 41274, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41275, 41312, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41313, 41589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41763, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41764, 41843, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41844, 41903, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41904, 41983, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41984, 41988, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41989, 42128, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42129, 42409, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42410, 42491, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42492, 42549, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42550, 42631, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42632, 42651, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42652, 42791, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42792, 43055, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43056, 43139, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43140, 43195, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43196, 43279, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43280, 43314, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43315, 43454, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43455, 43589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55289, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55290, 55345, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55346, 55429, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55430, 55464, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55465, 55604, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55605, 55851, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55852, 55936, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55937, 55991, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55992, 56076, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56077, 56127, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56128, 56267, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56268, 56497, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56498, 56584, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56585, 56637, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56638, 56724, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56725, 56739, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66477, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66478, 66587, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66588, 66617, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66618, 66637, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66638, 66727, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66728, 66777, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66778, 67140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67141, 67233, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67234, 67280, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67281, 67285, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67286, 67335, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68806, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68807, 68822, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68823, 68935, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {6, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {0, 6, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {14, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 422820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422821, 425020, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425021, 425620, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425621, 426020, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426021, 427820, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427821, 428820, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428821, 433980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 386240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386241, 387160, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 387161, 389040, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389041, 389960, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389961, 396300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396301, 397980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 361260, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361261, 363200, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363201, 364060, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 364061, 369780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369781, 372580, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372581, 373320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373321, 374200, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 374201, 375980, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 178780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 528380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528381, 528880, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528881, 529640, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 529641, 531180, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531181, 531680, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531681, 532440, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 532441, 538000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186980, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186981, 191980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 147220, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147221, 149200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 151200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 153580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 173740, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173741, 175000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 160480, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160481, 164180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 386240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386241, 387160, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 387161, 389040, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389041, 389960, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389961, 396300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396301, 398980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 173740, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173741, 178800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 153660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153661, 154020, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 154021, 156460, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156461, 156820, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156821, 157680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157681, 160480, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160481, 160580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 143540, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143541, 143860, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143861, 144420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 144421, 145580, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 471980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 515460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515461, 515620, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515621, 516680, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 516681, 518260, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518261, 518420, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518421, 519480, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 519481, 523980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 376120, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376121, 377000, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377001, 383040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 383041, 384000, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 462580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 462581, 463780, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463781, 464880, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464881, 465380, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465381, 466580, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466581, 467680, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467681, 475840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475841, 476700, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476701, 477820, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477821, 478640, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478641, 479500, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479501, 480000, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 502360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502361, 502540, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502541, 503740, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 503741, 505160, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505161, 505340, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505341, 506540, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506541, 515460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515461, 515620, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515621, 516680, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 516681, 518260, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518261, 518420, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518421, 519480, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 519481, 528380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528381, 528880, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528881, 529640, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 529641, 531180, {2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531181, 531680, {2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531681, 532440, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 532441, 537980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 636987, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636988, 637367, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637368, 637927, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637928, 638147, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638148, 639087, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639088, 640727, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640728, 641307, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641308, 641667, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641668, 642227, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642228, 642567, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642568, 643507, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643508, 645047, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645048, 645627, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645628, 645967, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645968, 646547, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646548, 646666, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 422820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422821, 425020, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425021, 425620, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425621, 426020, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426021, 427820, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427821, 428820, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428821, 436080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 436081, 437940, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437941, 438880, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438881, 438980, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438981, 439980, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 127800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127801, 128120, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128121, 130380, {0, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620120, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620121, 620480, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620481, 620640, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620641, 621400, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621401, 623500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623501, 624040, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624041, 624440, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624441, 624900, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624901, 624960, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624961, 625820, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625821, 627820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627821, 628340, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628341, 628740, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628741, 629280, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629281, 629320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629321, 630240, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630241, 632120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632121, 632660, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632661, 633060, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633061, 633600, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633601, 633740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633741, 634660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634661, 636420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636421, 636980, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636981, 637360, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637361, 637920, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637921, 638160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638161, 639080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639081, 640740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640741, 641300, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641301, 641660, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641661, 642240, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642241, 642580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642581, 643500, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643501, 645040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645041, 645620, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645621, 645980, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645981, 646560, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646561, 647000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647001, 647920, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647921, 649340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649341, 649940, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649941, 650280, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650281, 650860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650861, 651400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651401, 652340, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652341, 653660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653661, 654260, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654261, 654580, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654581, 655180, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655181, 655820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655821, 656760, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656761, 657960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657961, 658580, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658581, 658900, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658901, 659500, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659501, 660240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660241, 661180, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661181, 662260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662261, 662880, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662881, 663200, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663201, 663820, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663821, 664660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664661, 665600, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665601, 666580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666581, 667200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667201, 667500, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667501, 668140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668141, 669080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669081, 670020, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670021, 670880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670881, 671520, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671521, 671820, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671821, 672460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672461, 673500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673501, 674440, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674441, 675200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675201, 675840, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675841, 676120, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676121, 676780, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676781, 677920, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677921, 678860, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678861, 679500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679501, 680000, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620120, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620121, 620480, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620481, 620640, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620641, 621400, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621401, 623500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623501, 624040, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624041, 624440, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624441, 624900, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624901, 624960, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624961, 625820, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625821, 627820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627821, 628340, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628341, 628740, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628741, 629280, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629281, 629320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629321, 630240, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630241, 632120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632121, 632660, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632661, 633060, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633061, 633600, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633601, 633740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633741, 634660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634661, 636420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636421, 636980, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636981, 637360, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637361, 637920, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637921, 638160, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638161, 639080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639081, 640740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640741, 641300, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641301, 641660, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641661, 642240, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642241, 642580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642581, 643500, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643501, 645040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645041, 645620, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645621, 645980, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645981, 646560, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646561, 647000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647001, 647920, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647921, 649340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649341, 649940, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649941, 650280, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650281, 650860, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650861, 651400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651401, 652340, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652341, 653333, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693354, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693355, 694054, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694055, 695594, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695595, 696534, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696535, 696734, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696735, 697434, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697435, 697654, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697655, 698354, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698355, 700014, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700015, 700954, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700955, 701034, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701035, 701754, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701755, 701974, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701975, 702674, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702675, 704434, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704435, 705334, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705335, 705374, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705375, 706054, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706055, 706274, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706275, 706994, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706995, 708854, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708855, 709654, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709655, 709794, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709795, 710374, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710375, 710574, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710575, 711314, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711315, 713274, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713275, 713954, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713955, 714214, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714215, 714694, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714695, 714894, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714895, 715634, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715635, 717694, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717695, 718274, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718275, 718634, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718635, 719014, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719015, 719194, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719195, 719954, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719955, 722114, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722115, 722574, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722575, 723054, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723055, 723334, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723335, 723514, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723515, 724274, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724275, 726534, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726535, 726874, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726875, 727474, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727475, 727654, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727655, 727814, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727815, 728594, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728595, 730954, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730955, 731194, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731195, 731894, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731895, 731974, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731975, 732114, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732115, 732894, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732895, 733333, {0, 0, 0} }, +}; + +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) + }, +}; + +/*************************************/ +/* ========== SET B =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_B_2988_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_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_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[] = { + { MIPI_B_2988_REG_ARRAY, ARRAY_SIZE(MIPI_B_2988_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[] = { + { MIPI_B_2944_REG_ARRAY, ARRAY_SIZE(MIPI_B_2944_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[] = { + { MIPI_B_2860_REG_ARRAY, ARRAY_SIZE(MIPI_B_2860_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 Msps", 2988, + sensor_imx564_setfile_B_2988, ARRAY_SIZE(sensor_imx564_setfile_B_2988) }, + { "2944 Msps", 2944, + sensor_imx564_setfile_B_2944, ARRAY_SIZE(sensor_imx564_setfile_B_2944) }, + { "2860 Msps", 2860, + sensor_imx564_setfile_B_2860, ARRAY_SIZE(sensor_imx564_setfile_B_2860) }, +}; + +static const struct cam_mipi_cell_ratings sensor_imx564_setfile_B_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10592, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10593, 10639, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10640, 10709, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10710, 10829, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10830, 10838, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9778, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9779, 9841, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9842, 9848, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9849, 9911, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9912, 9927, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9928, 9938, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1202, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1203, 1272, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1273, 1285, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1286, 1341, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1342, 1355, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1356, 1411, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1412, 1513, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1567, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1568, 1614, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1615, 1684, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1685, 1738, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4392, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4393, 4458, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4392, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4393, 4413, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2254, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2255, 2324, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2325, 2372, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2373, 2408, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2409, 2442, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2443, 2478, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2479, 2563, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2960, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2961, 3032, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3033, 3088, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 717, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 718, 763, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 85, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 86, 178, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 179, 318, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 319, 559, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 560, 599, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 856, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 857, 983, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 984, 996, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 997, 1123, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1124, 1155, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1156, 1199, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1304, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1305, 1444, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1445, 1470, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1471, 1582, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1583, 1610, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1611, 1722, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1723, 1949, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2035, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2036, 2128, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2129, 2268, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2269, 2399, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2494, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2495, 2634, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2635, 2649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2809, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2810, 2949, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2950, 3044, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3045, 3116, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3117, 3184, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3185, 3256, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3257, 3449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3521, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3522, 3665, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3666, 3799, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5142, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5143, 5179, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5279, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5341, 5379, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5812, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5813, 5849, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5859, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5860, 5999, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6034, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6035, 6149, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6343, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6344, 6449, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6504, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6505, 6546, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6547, 6599, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8296, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8297, 8423, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8424, 8436, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8437, 8563, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8564, 8595, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8596, 8689, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8709, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8710, 8884, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8885, 9024, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9025, 9039, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9270, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9271, 9387, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9388, 9410, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9411, 9527, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9528, 9659, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9676, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9677, 9769, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9823, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9824, 9869, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10049, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10050, 10189, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10190, 10273, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10274, 10315, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10316, 10359, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36349, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37863, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37864, 37915, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37916, 38003, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38004, 38055, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38056, 38249, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38305, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38306, 38445, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38446, 38451, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38452, 38591, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38592, 38593, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38594, 38649, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38711, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38712, 38738, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38739, 38851, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38852, 38878, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38879, 39063, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39064, 39203, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39204, 39412, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39413, 39419, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39420, 39552, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39553, 39559, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39560, 39649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39666, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39667, 39822, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39823, 39854, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39855, 39962, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39963, 39994, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39995, 40238, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40239, 40378, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40379, 40503, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40504, 40555, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40556, 40643, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40644, 40695, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40696, 40949, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40950, 41089, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41090, 41184, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41185, 41256, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41257, 41324, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41325, 41396, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41397, 41589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41677, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41678, 41717, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41718, 41817, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41818, 41866, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41867, 42006, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42007, 42258, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42259, 42389, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42390, 42398, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42399, 42529, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42530, 42567, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42568, 42707, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42708, 42939, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42940, 43079, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43080, 43100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43101, 43240, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43241, 43268, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43269, 43408, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43409, 43589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55250, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55251, 55390, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55391, 55418, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55419, 55558, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55559, 55770, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55771, 55910, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55911, 55962, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55963, 56102, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56103, 56119, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56120, 56259, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56260, 56451, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56452, 56591, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56592, 56674, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56675, 56739, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66521, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66522, 66614, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66615, 66754, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66755, 66995, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66996, 67062, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67063, 67135, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67136, 67202, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67203, 67326, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67327, 67335, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68616, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68617, 68654, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68655, 68750, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68751, 68794, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68795, 68890, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68891, 68935, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {3, 0, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {6, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {4, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {14, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 423700, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423701, 425560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425561, 428360, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428361, 433180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433181, 433980, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 391120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391121, 393660, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393661, 393920, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393921, 396460, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396461, 397100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397101, 397980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 363080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363081, 365880, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365881, 366400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366401, 368640, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 368641, 369200, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369201, 371440, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 371441, 375980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 175680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175681, 178480, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178481, 178780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 525180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525181, 527980, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527981, 529880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 529881, 531320, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531321, 532680, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 532681, 534120, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534121, 538000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186420, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186421, 189300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189301, 191980, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 148440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148441, 149200, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 151200, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 152800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 152801, 153580, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 172180, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172181, 175000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 162060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162061, 164180, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 391120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391121, 393660, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393661, 393920, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393921, 396460, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396461, 397100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397101, 398980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 172180, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172181, 175680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175681, 178480, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178481, 178800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 152800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 152801, 155140, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155141, 155600, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155601, 157940, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157941, 160580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 143720, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143721, 145580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 471060, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471061, 471980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 516260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 516261, 517300, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517301, 519060, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 519061, 520100, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 520101, 523980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 377100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377101, 379900, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 379901, 380020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380021, 382820, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382821, 382860, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382861, 384000, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 461220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461221, 461760, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461761, 464020, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464021, 464560, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464561, 468260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468261, 471060, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471061, 475240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475241, 475380, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475381, 478040, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478041, 478180, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478181, 480000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 499520, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499521, 502640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502641, 503280, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 503281, 505440, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505441, 506080, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506081, 510960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 510961, 513760, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 513761, 516260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 516261, 517300, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517301, 519060, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 519061, 520100, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 520101, 525180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525181, 527980, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527981, 529880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 529881, 531320, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531321, 532680, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 532681, 534120, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534121, 537980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 636727, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636728, 637667, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637668, 637847, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637848, 638787, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638788, 640187, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640188, 641127, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641128, 641467, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641468, 642407, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642408, 642527, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642528, 643447, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643448, 644727, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644728, 645667, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645668, 646227, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646228, 646666, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 423700, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423701, 425560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425561, 428360, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428361, 433180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433181, 434520, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 434521, 435980, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435981, 437320, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437321, 439800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 439801, 439980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124000, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124001, 124760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124761, 126680, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126681, 127560, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127561, 129480, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129481, 130380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620080, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620081, 622040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622041, 622500, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622501, 622960, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622961, 623440, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623441, 623820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623821, 624760, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624761, 626580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626581, 627240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627241, 627500, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627501, 628180, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628181, 628500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628501, 629440, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629441, 631120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631121, 631980, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631981, 632040, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632041, 632920, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632921, 633180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633181, 634100, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634101, 635660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635661, 636580, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636581, 636720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636721, 637660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637661, 637840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637841, 638780, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638781, 640200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640201, 641120, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641121, 641480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641481, 642400, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642401, 642520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642521, 643460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643461, 644740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644741, 645660, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645661, 646220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646221, 647160, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647161, 647200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647201, 648120, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648121, 649280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649281, 650200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650201, 650960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650961, 651860, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651861, 651900, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651901, 652800, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652801, 653820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653821, 654740, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654741, 655700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655701, 656540, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656541, 656640, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656641, 657480, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657481, 658360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658361, 659300, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659301, 660460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660461, 661220, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661221, 661380, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661381, 662140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662141, 662900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662901, 663840, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663841, 665200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665201, 665880, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665881, 666120, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666121, 666820, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666821, 667440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667441, 668380, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668381, 669940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669941, 670560, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670561, 670880, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670881, 671500, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671501, 671980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671981, 672920, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672921, 674680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674681, 675240, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675241, 675620, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675621, 676160, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676161, 676520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676521, 677460, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677461, 679420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679421, 679900, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679901, 680000, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620080, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620081, 622040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622041, 622500, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622501, 622960, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622961, 623440, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623441, 623820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623821, 624760, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624761, 626580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626581, 627240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627241, 627500, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627501, 628180, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628181, 628500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628501, 629440, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629441, 631120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631121, 631980, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631981, 632040, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632041, 632920, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632921, 633180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633181, 634100, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634101, 635660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635661, 636580, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636581, 636720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636721, 637660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637661, 637840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637841, 638780, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638781, 640200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640201, 641120, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641121, 641480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641481, 642400, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642401, 642520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642521, 643460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643461, 644740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644741, 645660, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645661, 646220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646221, 647160, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647161, 647200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647201, 648120, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648121, 649280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649281, 650200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650201, 650960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650961, 651860, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651861, 651900, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651901, 652800, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652801, 653333, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693654, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693655, 693934, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693935, 694594, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694595, 694694, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694695, 694854, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694855, 695614, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695615, 698414, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698415, 698594, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698595, 699234, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699235, 699334, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699335, 699534, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699535, 700154, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700155, 703154, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703155, 703274, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703275, 703774, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703775, 704074, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704075, 704194, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704195, 704694, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704695, 707894, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707895, 707934, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707935, 708314, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708315, 708834, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708835, 708874, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708875, 709234, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709235, 712614, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712615, 712634, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712635, 712854, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712855, 713554, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713555, 713574, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713575, 713774, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713775, 717294, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717295, 717374, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717375, 717394, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717395, 718214, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718215, 718314, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718315, 721934, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721935, 721954, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721955, 722134, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722135, 722874, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722875, 722894, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722895, 723054, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723055, 726474, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726475, 726634, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726635, 726874, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726875, 727414, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727415, 727574, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727575, 727794, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727795, 731014, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731015, 731314, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731315, 731614, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731615, 731954, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731955, 732234, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732235, 732554, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732555, 733333, {0, 0, 0} }, +}; + +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) + }, +}; + +/*************************************/ +/* ========== SET C =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_C_1356_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_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_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_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[] = { + { MIPI_C_1356_REG_ARRAY, ARRAY_SIZE(MIPI_C_1356_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[] = { + { MIPI_C_1331_REG_ARRAY, ARRAY_SIZE(MIPI_C_1331_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[] = { + { MIPI_C_1382_REG_ARRAY, ARRAY_SIZE(MIPI_C_1382_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[] = { + { MIPI_C_1414_REG_ARRAY, ARRAY_SIZE(MIPI_C_1414_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 Msps", 1356, + sensor_imx564_setfile_C_1356, ARRAY_SIZE(sensor_imx564_setfile_C_1356) }, + { "1331 Msps", 1331, + sensor_imx564_setfile_C_1331, ARRAY_SIZE(sensor_imx564_setfile_C_1331) }, + { "1382 Msps", 1382, + sensor_imx564_setfile_C_1382, ARRAY_SIZE(sensor_imx564_setfile_C_1382) }, + { "1414 Msps", 1414, + sensor_imx564_setfile_C_1414, ARRAY_SIZE(sensor_imx564_setfile_C_1414) }, +}; + +static const struct cam_mipi_cell_ratings sensor_imx564_setfile_C_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {7, 14, 7, 14} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 7, 14, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {9, 6, 9, 3} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {0, 6, 0, 6} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10567, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10568, 10572, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10573, 10582, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10583, 10625, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10626, 10642, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10643, 10652, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10653, 10662, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10663, 10695, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10696, 10732, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10733, 10741, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10742, 10787, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10788, 10811, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10812, 10826, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10827, 10838, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9674, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9675, 9702, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9703, 9726, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9727, 9731, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9732, 9744, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9745, 9790, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9791, 9801, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9802, 9817, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9818, 9839, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9840, 9860, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9861, 9887, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9888, 9899, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9900, 9909, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9910, 9938, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1182, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1183, 1193, {3, 3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1194, 1205, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1206, 1211, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1212, 1252, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1253, 1281, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1282, 1296, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1297, 1305, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1306, 1350, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1351, 1351, {3, 3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1352, 1366, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1367, 1375, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1376, 1420, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1421, 1440, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1441, 1458, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1459, 1470, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1471, 1510, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1511, 1513, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1542, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1543, 1547, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1548, 1557, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1558, 1600, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1601, 1617, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1618, 1627, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1628, 1637, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1638, 1670, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1671, 1707, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1708, 1716, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1717, 1738, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4396, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4397, 4402, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4403, 4408, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4409, 4412, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4413, 4458, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4396, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4397, 4402, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4403, 4408, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4409, 4412, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4413, 4413, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2243, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2244, 2255, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2256, 2293, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2294, 2313, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2314, 2325, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2326, 2334, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2335, 2392, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2393, 2401, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2402, 2404, {2, 40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2405, 2420, {0, 40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2421, 2462, {0, 40, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2463, 2471, {0, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2472, 2490, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2491, 2496, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2497, 2560, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2561, 2563, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2942, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2943, 2949, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2950, 2979, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2980, 3019, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3020, 3037, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3038, 3049, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3050, 3088, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 721, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 722, 727, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 728, 733, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 734, 737, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 738, 763, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 35, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 36, 45, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 46, 65, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 66, 151, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 152, 185, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 186, 205, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 206, 224, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 225, 291, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 292, 364, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 365, 382, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 383, 474, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 475, 522, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 523, 553, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 554, 599, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 612, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 613, 649, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 650, 704, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 705, 752, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 753, 762, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 763, 789, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 790, 881, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 882, 902, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 903, 935, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 936, 978, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 979, 1021, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1022, 1075, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1076, 1098, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1099, 1118, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1119, 1197, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1198, 1199, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1265, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1266, 1286, {3, 3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1287, 1310, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1311, 1322, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1323, 1405, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1406, 1463, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1464, 1493, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1494, 1511, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1512, 1601, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1602, 1603, {3, 3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1604, 1633, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1634, 1651, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1652, 1741, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1742, 1780, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1781, 1816, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1817, 1841, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1842, 1920, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1921, 1938, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1939, 1949, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1985, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1986, 1995, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1996, 2015, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2016, 2101, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2102, 2135, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2136, 2155, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2156, 2174, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2175, 2241, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2242, 2314, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2315, 2332, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2333, 2399, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2502, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2503, 2514, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2515, 2526, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2527, 2535, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2536, 2649, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2786, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2787, 2787, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2788, 2811, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2812, 2887, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2888, 2927, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2928, 2951, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2952, 2969, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2970, 3084, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3085, 3103, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3104, 3109, {2, 40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3110, 3140, {0, 40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3141, 3224, {0, 40, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3225, 3243, {0, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3244, 3280, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3281, 3292, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3293, 3420, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3421, 3432, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3433, 3449, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3461, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3462, 3485, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3486, 3498, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3499, 3559, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3560, 3638, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3639, 3675, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3676, 3699, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3700, 3778, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3779, 3799, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5031, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5032, 5058, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5059, 5079, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5080, 5080, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5081, 5179, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5198, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5199, 5220, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5221, 5256, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5257, 5279, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5340, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5341, 5375, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5376, 5376, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5377, 5379, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5749, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5750, 5750, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5751, 5849, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5877, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5878, 5902, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5903, 5935, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5936, 5999, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6042, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6043, 6054, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6055, 6066, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6067, 6075, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6076, 6149, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6209, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6210, 6233, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6234, 6246, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6247, 6252, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6253, 6386, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6387, 6392, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6393, 6398, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6399, 6410, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6411, 6449, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6457, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6458, 6561, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6562, 6575, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6576, 6599, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8052, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8053, 8089, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8090, 8144, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8145, 8192, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8193, 8202, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8203, 8229, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8230, 8321, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8322, 8342, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8343, 8375, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8376, 8418, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8419, 8461, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8462, 8515, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8516, 8538, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8539, 8558, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8559, 8637, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8638, 8678, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8679, 8689, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8727, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8728, 8752, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8753, 8785, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8786, 8892, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8893, 8904, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8905, 8916, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8917, 8925, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8926, 9039, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9270, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9271, 9305, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9306, 9306, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9307, 9313, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9314, 9445, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9446, 9453, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9454, 9459, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9460, 9483, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9484, 9599, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9600, 9623, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9624, 9636, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9637, 9642, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9643, 9659, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9661, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9662, 9667, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9668, 9709, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9710, 9769, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9773, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9774, 9782, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9783, 9794, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9795, 9869, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9950, {3, 3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9951, 9952, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9953, 10007, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10008, 10049, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10050, 10141, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10142, 10147, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10148, 10190, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10191, 10226, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10227, 10281, {3, 3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10282, 10287, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10288, 10330, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10331, 10359, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36235, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36236, 36247, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36248, 36314, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36315, 36349, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37793, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37794, 37823, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37824, 37910, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37911, 37963, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37964, 37970, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37971, 37982, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37983, 38050, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38051, 38110, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38111, 38122, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38123, 38146, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38147, 38247, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38248, 38249, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38256, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38257, 38281, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38282, 38378, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38379, 38397, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38398, 38439, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38440, 38470, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38471, 38537, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38538, 38575, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38576, 38579, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38580, 38610, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38611, 38649, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38656, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38657, 38717, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38718, 38759, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38760, 38816, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38817, 38839, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38840, 38857, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38858, 38949, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38950, 38956, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38957, 38979, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38980, 39034, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39035, 39089, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39090, 39153, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39154, 39162, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39163, 39174, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39175, 39278, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39279, 39293, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39294, 39302, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39303, 39351, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39352, 39418, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39419, 39485, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39486, 39490, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39491, 39491, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39492, 39607, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39608, 39625, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39626, 39630, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39631, 39649, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39659, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39660, 39680, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39681, 39774, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39775, 39799, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39800, 39817, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39818, 39877, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39878, 39957, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39958, 39963, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39964, 39976, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39977, 40017, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40018, 40103, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40104, 40116, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40117, 40140, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40141, 40213, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40214, 40280, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40281, 40293, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40294, 40353, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40354, 40433, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40434, 40463, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40464, 40550, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40551, 40603, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40604, 40610, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40611, 40622, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40623, 40690, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40691, 40750, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40751, 40762, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40763, 40786, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40787, 40887, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40888, 40926, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40927, 40927, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40928, 40951, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40952, 41027, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41028, 41067, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41068, 41091, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41092, 41109, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41110, 41224, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41225, 41243, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41244, 41249, {2, 40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41250, 41280, {0, 40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41281, 41364, {0, 40, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41365, 41383, {0, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41384, 41420, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41421, 41432, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41433, 41560, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41561, 41572, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41573, 41589, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41672, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41673, 41750, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41751, 41763, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41764, 41869, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41870, 41890, {2, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41891, 41903, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41904, 42009, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42010, 42067, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42068, 42080, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42081, 42086, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42087, 42206, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42207, 42207, {2, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42208, 42220, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42221, 42226, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42227, 42346, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42347, 42384, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42385, 42409, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42410, 42524, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42525, 42543, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42544, 42549, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42550, 42683, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42684, 42701, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42702, 42732, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42733, 42738, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42739, 42841, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42842, 42872, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42873, 42878, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42879, 42880, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42881, 43018, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43019, 43020, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43021, 43055, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43056, 43067, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43068, 43158, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43159, 43195, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43196, 43207, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43208, 43216, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43217, 43335, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43336, 43356, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43357, 43378, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43379, 43396, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43397, 43475, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43476, 43518, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43519, 43536, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43537, 43553, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43554, 43589, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55308, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55309, 55345, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55346, 55357, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55358, 55366, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55367, 55485, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55486, 55506, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55507, 55528, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55529, 55546, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55547, 55625, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55626, 55668, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55669, 55686, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55687, 55703, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55704, 55802, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55803, 55843, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55844, 55851, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55852, 55875, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55876, 55942, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55943, 55991, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55992, 56015, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56016, 56040, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56041, 56119, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56120, 56174, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56175, 56180, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56181, 56204, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56205, 56259, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56260, 56314, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56315, 56344, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56345, 56377, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56378, 56436, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56437, 56497, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56498, 56517, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56518, 56534, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56535, 56576, {2, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56577, 56637, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56638, 56674, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56675, 56713, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56714, 56739, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66471, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66472, 66481, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66482, 66501, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66502, 66587, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66588, 66621, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66622, 66641, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66642, 66660, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66661, 66727, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66728, 66800, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66801, 66818, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66819, 66910, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66911, 66958, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66959, 66989, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66990, 67050, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67051, 67129, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67130, 67135, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67136, 67155, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67156, 67233, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67234, 67275, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67276, 67295, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67296, 67318, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67319, 67335, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68599, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68600, 68623, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68624, 68685, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68686, 68739, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68740, 68744, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68745, 68806, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68807, 68825, {7, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68826, 68884, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68885, 68928, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68929, 68935, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {6, 3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {6, 3, 9, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {3, 3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 6, 9, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {2, 2, 4, 4} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {6, 3, 3, 6} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {14, 7, 7, 14} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {0, 9, 0, 6} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {7, 14, 14, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 422700, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422701, 422900, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422901, 423300, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423301, 425020, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425021, 425700, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425701, 426100, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426101, 426480, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426481, 427820, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427821, 429280, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429281, 429640, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429641, 431480, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 431481, 432440, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432441, 433060, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433061, 433980, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 386240, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386241, 386980, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386981, 388080, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388081, 389040, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389041, 389240, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389241, 389780, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389781, 391620, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391621, 392040, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392041, 392700, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 392701, 393560, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393561, 394420, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 394421, 395500, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395501, 395960, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395961, 396360, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396361, 397940, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397941, 397980, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 362300, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362301, 362720, {3, 3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362721, 363200, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363201, 363440, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363441, 365100, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365101, 366260, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366261, 366860, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366861, 367220, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367221, 369020, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369021, 369060, {3, 3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369061, 369660, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369661, 370020, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370021, 371820, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 371821, 372600, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372601, 373320, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373321, 373820, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373821, 375400, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 375401, 375760, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 375761, 375980, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 175840, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175841, 176080, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176081, 176320, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176321, 176500, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176501, 178780, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 524720, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524721, 524740, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524741, 525220, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525221, 526740, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 526741, 527540, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527541, 528020, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528021, 528380, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528381, 530680, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530681, 531060, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531061, 531180, {2, 40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531181, 531800, {0, 40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531801, 533480, {0, 40, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533481, 533860, {0, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533861, 534600, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534601, 534840, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534841, 537400, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537401, 537640, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537641, 538000, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 185220, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185221, 185700, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185701, 185960, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185961, 187180, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187181, 188760, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 188761, 189500, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189501, 189980, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189981, 191560, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191561, 191980, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146220, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146221, 146760, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146761, 147180, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147181, 147200, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 147201, 149200, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 149560, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149561, 150000, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150001, 150720, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 150721, 151200, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 152800, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 152801, 153500, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153501, 153520, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 153521, 153580, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 172540, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172541, 173040, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173041, 173700, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173701, 175000, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 159380, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159381, 159860, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159861, 160120, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160121, 160240, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160241, 162920, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162921, 163040, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163041, 163160, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163161, 163400, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 163401, 164180, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 386240, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386241, 386980, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386981, 388080, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388081, 389040, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389041, 389240, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389241, 389780, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389781, 391620, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391621, 392040, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392041, 392700, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 392701, 393560, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393561, 394420, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 394421, 395500, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395501, 395960, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395961, 396360, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396361, 397940, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397941, 398760, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 398761, 398980, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 172540, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172541, 173040, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173041, 173700, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173701, 175840, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175841, 176080, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176081, 176320, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176321, 176500, {0, 7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176501, 178800, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 152800, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 152801, 153500, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153501, 153520, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153521, 153660, {0, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153661, 156300, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156301, 156460, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156461, 156580, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156581, 157060, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157061, 159380, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159381, 159860, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159861, 160120, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160121, 160240, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160241, 160580, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 143420, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143421, 143540, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143541, 144380, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 144381, 145580, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 470060, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470061, 470240, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470241, 470480, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470481, 471980, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 514860, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514861, 515460, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515461, 517200, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517201, 518260, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518261, 518400, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518401, 518640, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518641, 520000, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 520001, 521200, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 521201, 521440, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 521441, 521920, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 521921, 523940, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 523941, 523980, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 376120, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376121, 376620, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376621, 378560, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378561, 378940, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378941, 379780, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 379781, 380400, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380401, 381740, {3, 3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 381741, 382500, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382501, 382580, {3, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382581, 383200, {0, 0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 383201, 384000, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 460120, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460121, 461340, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461341, 462180, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 462181, 463320, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463321, 463780, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 463781, 464140, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464141, 465980, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465981, 466120, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466121, 466580, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 466581, 467680, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467681, 468780, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468781, 470060, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 470061, 470240, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 470241, 470480, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 470481, 472560, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 472561, 472860, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 472861, 473040, {2, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 473041, 474020, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 474021, 475360, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475361, 476700, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476701, 476800, {2, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476801, 476820, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 476821, 479140, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479141, 479500, {2, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479501, 479600, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 479601, 480000, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 499380, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499381, 499800, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499801, 501680, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501681, 502180, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502181, 502540, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502541, 503740, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 503741, 505340, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505341, 505460, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505461, 505720, {0, 0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505721, 506540, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506541, 508260, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 508261, 508520, {0, 2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 508521, 509000, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509001, 510460, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 510461, 511800, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511801, 512060, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512061, 513260, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 513261, 514860, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514861, 515460, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515461, 517200, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517201, 518260, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518261, 518400, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518401, 518640, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518641, 520000, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 520001, 521200, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 521201, 521440, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 521441, 521920, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 521921, 523940, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 523941, 524720, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524721, 524740, {0, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524741, 525220, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525221, 526740, {0, 2, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 526741, 527540, {0, 2, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527541, 528020, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528021, 528380, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528381, 530680, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530681, 531060, {2, 0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531061, 531180, {2, 40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531181, 531800, {0, 40, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531801, 533480, {0, 40, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533481, 533860, {0, 40, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533861, 534600, {0, 0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534601, 534840, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534841, 537400, {2, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537401, 537640, {2, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537641, 537980, {0, 2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 637107, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637108, 637367, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637368, 637447, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637448, 637507, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637508, 638287, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638288, 638427, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638428, 638587, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638588, 638707, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638708, 639227, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639228, 639507, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639508, 639627, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639628, 639747, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639748, 640407, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640408, 640687, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640688, 640727, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640728, 640887, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640888, 641347, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641348, 641667, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641668, 641827, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641828, 641987, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641988, 642527, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642528, 642887, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642888, 642927, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642928, 643087, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643088, 643447, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643448, 643827, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643828, 644027, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644028, 644247, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644248, 644627, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644628, 645047, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645048, 645167, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645168, 645287, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645288, 645567, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645568, 645967, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645968, 646227, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646228, 646487, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646488, 646666, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 422700, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422701, 422900, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422901, 423300, {0, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423301, 425020, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425021, 425700, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425701, 426100, {3, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426101, 426480, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426481, 427820, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427821, 429280, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429281, 429640, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429641, 431480, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 431481, 432440, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432441, 433060, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433061, 434280, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 434281, 435860, {0, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435861, 435980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435981, 436380, {0, 3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 436381, 437940, {0, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437941, 438780, {3, 3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438781, 439180, {3, 0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 439181, 439640, {3, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 439641, 439980, {3, 0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 123660, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123661, 124140, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124141, 125380, {0, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125381, 126460, {0, 7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126461, 126560, {0, 7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126561, 127800, {0, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127801, 128180, {7, 7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128181, 129360, {7, 0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129361, 130240, {7, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 130241, 130380, {7, 0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620120, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620121, 620220, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620221, 620480, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620481, 621140, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621141, 621340, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621341, 621400, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621401, 621780, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621781, 622080, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622081, 622280, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622281, 622320, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622321, 622720, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622721, 623340, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623341, 623500, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623501, 624040, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624041, 624280, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624281, 624440, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624441, 624960, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624961, 625540, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625541, 625620, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625621, 625660, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625661, 626280, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626281, 626460, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626461, 626540, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626541, 626580, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626581, 627200, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627201, 627720, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627721, 627820, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627821, 628520, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628521, 628660, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628661, 628740, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628741, 629460, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629461, 629840, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629841, 629920, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629921, 629960, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629961, 630760, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630761, 630780, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630781, 630860, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630861, 630900, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630901, 631700, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631701, 631960, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631961, 632120, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632121, 632880, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632881, 633020, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633021, 633060, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633061, 633940, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633941, 634060, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634061, 634280, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634281, 634320, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634321, 635000, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635001, 635200, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635201, 635240, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635241, 635260, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635261, 636180, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636181, 636420, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636421, 636500, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636501, 637120, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637121, 637360, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637361, 637440, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637441, 637500, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637501, 638300, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638301, 638440, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638441, 638580, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638581, 638700, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638701, 639220, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639221, 639520, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639521, 639640, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639641, 639740, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639741, 640400, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640401, 640680, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640681, 640740, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640741, 640900, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640901, 641340, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641341, 641660, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641661, 641820, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641821, 642000, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642001, 642520, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642521, 642880, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642881, 642920, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642921, 643080, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643081, 643460, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643461, 643820, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643821, 644020, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644021, 644240, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644241, 644640, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644641, 645040, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645041, 645180, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645181, 645280, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645281, 645560, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645561, 645980, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645981, 646220, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646221, 646480, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646481, 646740, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646741, 647200, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647201, 647420, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647421, 647480, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647481, 647680, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647681, 648120, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648121, 648420, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648421, 648720, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648721, 648860, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648861, 649340, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649341, 649660, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649661, 649680, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649681, 649800, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649801, 650280, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650281, 650600, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650601, 650980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650981, 651500, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651501, 651860, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651861, 651900, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651901, 652440, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652441, 652800, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652801, 653080, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653081, 653220, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653221, 653660, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653661, 654020, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654021, 654060, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654061, 654160, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654161, 654580, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654581, 655000, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655001, 655200, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655201, 655460, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655461, 655800, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655801, 656140, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656141, 656260, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656261, 656400, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656401, 656740, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656741, 657180, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657181, 657320, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657321, 657700, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657701, 657960, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657961, 658240, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658241, 658440, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658441, 658640, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658641, 658900, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658901, 659380, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659381, 659420, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659421, 659960, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659961, 660120, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660121, 660360, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660361, 660640, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660641, 660880, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660881, 661040, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661041, 661540, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661541, 661580, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661581, 662200, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662201, 662260, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662261, 662480, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662481, 662840, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662841, 663140, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663141, 663200, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663201, 663660, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663661, 663780, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663781, 664420, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664421, 664440, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664441, 664580, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664581, 665040, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665041, 665360, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665361, 665380, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665381, 665760, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665761, 665960, {0, 20, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665961, 666580, {0, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666581, 666680, {1, 20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666681, 666700, {1, 20, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666701, 667220, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667221, 667500, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667501, 667620, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667621, 667880, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667881, 668160, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668161, 668720, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668721, 668800, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668801, 668940, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668941, 669420, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669421, 669660, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669661, 669860, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669861, 669980, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669981, 670360, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670361, 670880, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670881, 670920, {20, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670921, 671180, {20, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671181, 671620, {20, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671621, 671820, {20, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671821, 672100, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672101, 672120, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672121, 672540, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672541, 673040, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673041, 673420, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673421, 673800, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673801, 673980, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673981, 674220, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674221, 674360, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674361, 674740, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674741, 675140, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675141, 675200, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675201, 675660, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675661, 676000, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676001, 676120, {1, 0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676121, 676320, {0, 0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676321, 676600, {0, 1, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676601, 676940, {0, 1, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676941, 677260, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677261, 677340, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677341, 677920, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677921, 678200, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678201, 678280, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678281, 678440, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678441, 678840, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678841, 679140, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679141, 679380, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679381, 679500, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679501, 680000, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620120, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620121, 620220, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620221, 620480, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620481, 621140, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621141, 621340, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621341, 621400, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621401, 621780, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621781, 622080, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622081, 622280, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622281, 622320, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622321, 622720, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622721, 623340, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623341, 623500, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623501, 624040, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624041, 624280, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624281, 624440, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624441, 624960, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624961, 625540, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625541, 625620, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625621, 625660, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625661, 626280, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626281, 626460, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626461, 626540, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626541, 626580, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626581, 627200, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627201, 627720, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627721, 627820, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627821, 628520, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628521, 628660, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628661, 628740, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628741, 629460, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629461, 629840, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629841, 629920, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629921, 629960, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629961, 630760, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630761, 630780, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630781, 630860, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630861, 630900, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630901, 631700, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631701, 631960, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631961, 632120, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632121, 632880, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632881, 633020, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633021, 633060, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633061, 633940, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633941, 634060, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634061, 634280, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634281, 634320, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634321, 635000, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635001, 635200, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635201, 635240, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635241, 635260, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635261, 636180, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636181, 636420, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636421, 636500, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636501, 637120, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637121, 637360, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637361, 637440, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637441, 637500, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637501, 638300, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638301, 638440, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638441, 638580, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638581, 638700, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638701, 639220, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639221, 639520, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639521, 639640, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639641, 639740, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639741, 640400, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640401, 640680, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640681, 640740, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640741, 640900, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640901, 641340, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641341, 641660, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641661, 641820, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641821, 642000, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642001, 642520, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642521, 642880, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642881, 642920, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642921, 643080, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643081, 643460, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643461, 643820, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643821, 644020, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644021, 644240, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644241, 644640, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644641, 645040, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645041, 645180, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645181, 645280, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645281, 645560, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645561, 645980, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645981, 646220, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646221, 646480, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646481, 646740, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646741, 647200, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647201, 647420, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647421, 647480, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647481, 647680, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647681, 648120, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648121, 648420, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648421, 648720, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648721, 648860, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648861, 649340, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649341, 649660, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649661, 649680, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649681, 649800, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649801, 650280, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650281, 650600, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650601, 650980, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650981, 651500, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651501, 651860, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651861, 651900, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651901, 652440, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652441, 652800, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652801, 653080, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 653081, 653220, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 653221, 653333, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693354, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693355, 693554, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693555, 693634, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693635, 694174, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694175, 694494, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694495, 694554, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694555, 694574, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694575, 695354, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695355, 695514, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695515, 695754, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695755, 695874, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695875, 696274, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696275, 696694, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696695, 696734, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696735, 696814, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696815, 697454, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697455, 697654, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697655, 697954, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697955, 698114, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698115, 698394, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698395, 698874, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698875, 699054, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699055, 699574, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699575, 699814, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699815, 700134, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700135, 700374, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700375, 700514, {0, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700515, 701034, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701035, 701074, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701075, 701294, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701295, 701694, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701695, 701974, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701975, 702334, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702335, 702614, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702615, 703194, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703195, 703274, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703275, 703534, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703535, 703794, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703795, 704114, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704115, 704534, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704535, 704734, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704735, 704854, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704855, 705334, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705335, 705454, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705455, 705794, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705795, 705914, {1, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705915, 706274, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706275, 706734, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706735, 706854, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706855, 707094, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707095, 707494, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707495, 707654, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707655, 708034, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708035, 708434, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708435, 708914, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708915, 708954, {0, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708955, 709354, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709355, 709654, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709655, 709854, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709855, 710134, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710135, 710274, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710275, 710574, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710575, 711074, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711075, 711114, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711115, 711594, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711595, 711794, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711795, 712054, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712055, 712254, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712255, 712514, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712515, 712734, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712735, 713174, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713175, 713314, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713315, 713834, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713835, 713954, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713955, 714234, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714235, 714354, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714355, 714774, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714775, 714894, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714895, 715294, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715295, 715494, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715495, 716074, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716075, 716114, {0, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716115, 716434, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716435, 716474, {1, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716475, 717014, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717015, 717034, {1, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717035, 717414, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717415, 717694, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717695, 718274, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718275, 718334, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718335, 718594, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718595, 718634, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718635, 719194, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719195, 719254, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719255, 719514, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719515, 719894, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719895, 720414, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720415, 720574, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720575, 720694, {1, 0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720695, 720814, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720815, 721354, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721355, 721494, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721495, 721634, {0, 1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721635, 722094, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722095, 722574, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722575, 722814, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722815, 723014, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723015, 723514, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723515, 723754, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723755, 724274, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724275, 724734, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724735, 724934, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724935, 725054, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725055, 725214, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725215, 725654, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725655, 725854, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725855, 725994, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725995, 726474, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726475, 726874, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726875, 727034, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727035, 727314, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727315, 727414, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727415, 727814, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727815, 727974, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727975, 728234, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728235, 728674, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728675, 729034, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729035, 729154, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729155, 729554, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729555, 729594, {1, 1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729595, 729974, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729975, 730094, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730095, 730494, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730495, 730854, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730855, 731194, {0, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731195, 731274, {1, 0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731275, 731794, {1, 1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731795, 732114, {1, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732115, 732194, {0, 1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732195, 732734, {0, 0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732735, 733054, {0, 0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733055, 733333, {0, 0, 1, 0} }, +}; + +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) + }, +}; + + +/*************************************/ +/* ========== SET D =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_D_3379_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_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[] = { + { MIPI_D_3379_REG_ARRAY, ARRAY_SIZE(MIPI_D_3379_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[] = { + { MIPI_D_3331_REG_ARRAY, ARRAY_SIZE(MIPI_D_3331_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 Msps", 3379, + sensor_imx564_setfile_D_3379, ARRAY_SIZE(sensor_imx564_setfile_D_3379) }, + { "3331 Msps", 3331, + sensor_imx564_setfile_D_3331, ARRAY_SIZE(sensor_imx564_setfile_D_3331) }, +}; + +static const struct cam_mipi_cell_ratings sensor_imx564_setfile_D_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10672, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10673, 10742, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10743, 10826, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10827, 10838, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9689, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9690, 9879, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9880, 9938, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1211, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1212, 1281, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1282, 1342, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1343, 1412, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1413, 1513, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1647, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1648, 1717, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1718, 1738, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4390, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4391, 4397, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4398, 4458, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4390, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4391, 4397, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4398, 4413, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2246, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2247, 2365, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2366, 2435, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2436, 2563, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 3023, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3024, 3088, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 715, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 716, 722, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 723, 763, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 244, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 245, 384, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 385, 553, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 554, 599, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 679, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 680, 1058, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1059, 1198, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1199, 1199, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1322, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1323, 1462, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1463, 1585, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1586, 1725, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1726, 1949, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2194, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2195, 2334, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2335, 2399, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2490, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2491, 2504, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2505, 2630, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2631, 2649, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2793, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2794, 3030, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3031, 3170, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3171, 3446, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3447, 3449, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3647, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3648, 3784, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3785, 3787, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3788, 3799, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5031, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5032, 5179, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5279, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5379, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5849, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5904, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5905, 5999, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6030, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6031, 6044, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6045, 6149, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6215, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6216, 6241, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6242, 6355, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6356, 6449, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6490, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6491, 6599, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8119, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8120, 8498, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8499, 8638, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8639, 8689, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8754, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8755, 8880, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8881, 8894, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8895, 9020, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9021, 9039, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9491, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9492, 9605, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9606, 9631, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9632, 9659, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9661, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9662, 9698, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9699, 9769, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9869, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9952, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9953, 10359, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36284, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36285, 36349, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37866, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37867, 38153, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38154, 38249, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38415, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38416, 38555, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38556, 38649, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38721, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38722, 38912, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38913, 39052, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39053, 39374, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39375, 39514, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39515, 39649, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39701, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39702, 40000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40001, 40140, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40141, 40366, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40367, 40506, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40507, 40793, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40794, 40933, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40934, 41170, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41171, 41310, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41311, 41586, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41587, 41589, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41625, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41626, 41765, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41766, 42116, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42117, 42256, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42257, 42418, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42419, 42558, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42559, 42921, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42922, 43061, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43062, 43211, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43212, 43351, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43352, 43589, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55361, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55362, 55501, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55502, 55875, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55876, 56015, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56016, 56154, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56155, 56294, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56295, 56680, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56681, 56739, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66680, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66681, 66820, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66821, 66989, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66990, 67129, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67130, 67335, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68691, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68692, 68782, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68783, 68831, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68832, 68922, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68923, 68935, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {0, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {2, 2} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {0, 14} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 426880, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 426881, 429680, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429681, 433060, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433061, 433980, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 387580, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 387581, 395160, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395161, 397960, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397961, 397980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 363440, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363441, 366240, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366241, 368700, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 368701, 371500, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 371501, 375980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 175600, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175601, 175880, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175881, 178400, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178401, 178780, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 524860, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524861, 529600, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 529601, 532400, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 532401, 537920, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 537921, 538000, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 188940, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 188941, 191680, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191681, 191740, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191741, 191980, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 146220, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 146221, 149200, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 151200, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 153580, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 173080, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173081, 175000, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 159500, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159501, 160020, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160021, 162300, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162301, 164180, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 387580, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 387581, 395160, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395161, 397960, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397961, 398980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 173080, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173081, 175600, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175601, 175880, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175881, 178400, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178401, 178800, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 157220, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157221, 159500, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159501, 160020, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160021, 160580, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 143420, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143421, 144160, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 144161, 145580, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 471980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 516320, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 516321, 522060, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 522061, 523980, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 379300, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 379301, 382100, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382101, 384000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 461420, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461421, 465240, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465241, 468040, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468041, 474480, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 474481, 477280, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477281, 480000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 500220, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 500221, 506200, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506201, 509000, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509001, 513520, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 513521, 516320, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 516321, 522060, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 522061, 524860, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524861, 529600, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 529601, 532400, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 532401, 537920, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 537921, 537980, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 637467, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637468, 638407, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638408, 640887, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640888, 641827, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641828, 642747, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642748, 643687, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643688, 646267, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646268, 646666, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 426880, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 426881, 429680, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429681, 433060, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433061, 435860, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435861, 439980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 125500, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125501, 127320, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127321, 128300, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 128301, 130120, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 130121, 130380, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620380, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620381, 621600, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621601, 622540, {0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622541, 624800, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624801, 625740, {20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625741, 626900, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626901, 627820, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627821, 630160, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630161, 631100, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631101, 632180, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632181, 633120, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633121, 635540, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635541, 636460, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636461, 637460, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637461, 638400, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638401, 640900, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640901, 641820, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641821, 642760, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642761, 643680, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643681, 646260, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646261, 647200, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647201, 648040, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648041, 648980, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648981, 651620, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651621, 652560, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652561, 653320, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653321, 654260, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654261, 656980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656981, 657920, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657921, 658620, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658621, 659540, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659541, 662360, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662361, 663280, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663281, 663900, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663901, 664840, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664841, 667720, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667721, 668640, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668641, 669200, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669201, 670120, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670121, 673080, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673081, 674020, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674021, 674480, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674481, 675420, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675421, 678440, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678441, 679380, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679381, 679760, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679761, 680000, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620380, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620381, 621600, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621601, 622540, {0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622541, 624800, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624801, 625740, {20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625741, 626900, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626901, 627820, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627821, 630160, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630161, 631100, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631101, 632180, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632181, 633120, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633121, 635540, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635541, 636460, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636461, 637460, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637461, 638400, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638401, 640900, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640901, 641820, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641821, 642760, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642761, 643680, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643681, 646260, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646261, 647200, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647201, 648040, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648041, 648980, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648981, 651620, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651621, 652560, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652561, 653333, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 694534, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694535, 695474, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695475, 695634, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695635, 696554, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696555, 699894, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699895, 700834, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700835, 700914, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700915, 701854, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701855, 705254, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705255, 706194, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706195, 706214, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706215, 707134, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707135, 710634, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710635, 711494, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711495, 711554, {1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711555, 712434, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712435, 715994, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715995, 716774, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716775, 716914, {1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716915, 717714, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717715, 721354, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721355, 722074, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722075, 722294, {1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722295, 722994, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722995, 726714, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726715, 727354, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727355, 727654, {1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727655, 728294, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728295, 732074, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732075, 732654, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732655, 733014, {1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733015, 733333, {0, 1} }, +}; + +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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_wide.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_wide.h new file mode 100644 index 0000000000..a4baceadb8 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_wide.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_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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_wide_2_0.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_wide_2_0.h new file mode 100644 index 0000000000..caaaacaa8d --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_adaptive_mipi_wide_2_0.h @@ -0,0 +1,1834 @@ +/* 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; + +/* +WideCAM_Adaptive_MIPI_2.0_HP2_231026.xlsx +SET A : no-bin (10bit) (3712) +SET B : 8k (10bit) & SSM 4x4 & 2x2 (10bit) (2988.8 / 2944 / 2860.8) +SET C : 4x4 (10/12bit) & 2x2 (10bit) (3712 / 3686.4) +SET D : Fast AE / SM 4x4 & 2x2 (10bit) (1862.4 / 1849.6 / 1811.2) +*/ + +/*************************************/ +/* ========== SET A =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_HP2_A_3712_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_A_3712[] = { + { MIPI_HP2_A_3712_REG_ARRAY, ARRAY_SIZE(MIPI_HP2_A_3712_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", 3712, + sensor_s5khp2_setfile_A_3712, ARRAY_SIZE(sensor_s5khp2_setfile_A_3712) }, +}; + +static const struct cam_mipi_cell_ratings sensor_s5khp2_setfile_A_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {0} }, +}; + +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) + }, +}; + +/*************************************/ +/* ========== SET B =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_HP2_B_2988_REG_ARRAY[] = { + {0x0310, 0x01D3, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, + {0x030E, 0x0003, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_HP2_B_2944_REG_ARRAY[] = { + {0x0310, 0x01CC, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, + {0x030E, 0x0003, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_HP2_B_2860_REG_ARRAY[] = { + {0x0310, 0x01BF, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, + {0x030E, 0x0003, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_s5khp2_setfile_B_2988[] = { + { MIPI_HP2_B_2988_REG_ARRAY, ARRAY_SIZE(MIPI_HP2_B_2988_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 } +}; + +static const struct cam_sensor_i2c_reg_setting sensor_s5khp2_setfile_B_2944[] = { + { MIPI_HP2_B_2944_REG_ARRAY, ARRAY_SIZE(MIPI_HP2_B_2944_REG_ARRAY), + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, 0 } +}; + +static const struct cam_sensor_i2c_reg_setting sensor_s5khp2_setfile_B_2860[] = { + { MIPI_HP2_B_2860_REG_ARRAY, ARRAY_SIZE(MIPI_HP2_B_2860_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[] = { + { "2988 Msps", 2988, + sensor_s5khp2_setfile_B_2988, ARRAY_SIZE(sensor_s5khp2_setfile_B_2988) }, + { "2944 Msps", 2944, + sensor_s5khp2_setfile_B_2944, ARRAY_SIZE(sensor_s5khp2_setfile_B_2944) }, + { "2860 Msps", 2860, + sensor_s5khp2_setfile_B_2860, ARRAY_SIZE(sensor_s5khp2_setfile_B_2860) }, +}; + +static const struct cam_mipi_cell_ratings sensor_s5khp2_setfile_B_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10592, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10593, 10639, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10640, 10709, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10710, 10829, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10830, 10838, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9778, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9779, 9841, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9842, 9848, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9849, 9911, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9912, 9927, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9928, 9938, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1202, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1203, 1272, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1273, 1285, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1286, 1341, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1342, 1355, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1356, 1411, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1412, 1513, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1567, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1568, 1614, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1615, 1684, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1685, 1738, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4392, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4393, 4458, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4392, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4393, 4413, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2254, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2255, 2324, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2325, 2372, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2373, 2408, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2409, 2442, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2443, 2478, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2479, 2563, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2960, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2961, 3032, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3033, 3088, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 717, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 718, 763, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 85, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 86, 178, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 179, 318, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 319, 559, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 560, 599, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 856, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 857, 983, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 984, 996, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 997, 1123, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1124, 1155, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1156, 1199, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1304, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1305, 1444, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1445, 1470, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1471, 1582, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1583, 1610, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1611, 1722, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1723, 1949, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2035, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2036, 2128, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2129, 2268, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2269, 2399, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2494, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2495, 2634, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2635, 2649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2809, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2810, 2949, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2950, 3044, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3045, 3116, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3117, 3184, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3185, 3256, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3257, 3449, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3521, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3522, 3665, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3666, 3799, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5142, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5143, 5179, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5279, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5341, 5379, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5812, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5813, 5849, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5859, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5860, 5999, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6034, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6035, 6149, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6343, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6344, 6449, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6504, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6505, 6546, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6547, 6599, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8296, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8297, 8423, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8424, 8436, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8437, 8563, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8564, 8595, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8596, 8689, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8709, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8710, 8884, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8885, 9024, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9025, 9039, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9270, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9271, 9387, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9388, 9410, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9411, 9527, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9528, 9659, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9676, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9677, 9769, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9823, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9824, 9869, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10049, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10050, 10189, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10190, 10273, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10274, 10315, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10316, 10359, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36349, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37863, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37864, 37915, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37916, 38003, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38004, 38055, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38056, 38249, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38305, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38306, 38445, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38446, 38451, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38452, 38591, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38592, 38593, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38594, 38649, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38711, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38712, 38738, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38739, 38851, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38852, 38878, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38879, 39063, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39064, 39203, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39204, 39412, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39413, 39419, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39420, 39552, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39553, 39559, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39560, 39649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39666, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39667, 39822, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39823, 39854, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39855, 39962, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39963, 39994, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39995, 40238, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40239, 40378, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40379, 40503, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40504, 40555, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40556, 40643, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40644, 40695, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40696, 40949, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40950, 41089, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41090, 41184, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41185, 41256, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41257, 41324, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41325, 41396, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41397, 41589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41677, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41678, 41717, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41718, 41817, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41818, 41866, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41867, 42006, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42007, 42258, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42259, 42389, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42390, 42398, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42399, 42529, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42530, 42567, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42568, 42707, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42708, 42939, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42940, 43079, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43080, 43100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43101, 43240, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43241, 43268, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43269, 43408, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43409, 43589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55250, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55251, 55390, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55391, 55418, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55419, 55558, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55559, 55770, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55771, 55910, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55911, 55962, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55963, 56102, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56103, 56119, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56120, 56259, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56260, 56451, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56452, 56591, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56592, 56674, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56675, 56739, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66521, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66522, 66614, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66615, 66754, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66755, 66995, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66996, 67062, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67063, 67135, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67136, 67202, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67203, 67326, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67327, 67335, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68616, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68617, 68654, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68655, 68750, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68751, 68794, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68795, 68890, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68891, 68935, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {3, 0, 6} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {6, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {4, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {14, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 423700, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 423701, 425560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425561, 428360, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 428361, 433180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433181, 433980, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 391120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391121, 393660, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393661, 393920, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 393921, 396460, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 396461, 397100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397101, 397980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 363080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363081, 365880, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365881, 366400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 366401, 368640, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 368641, 369200, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369201, 371440, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 371441, 375980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 175680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175681, 178480, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178481, 178780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 525180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525181, 527980, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527981, 529880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 529881, 531320, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531321, 532680, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 532681, 534120, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 534121, 538000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186420, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186421, 189300, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 189301, 191980, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 148440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148441, 149200, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 151200, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 152800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 152801, 153580, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 172180, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172181, 175000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 162060, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162061, 164180, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 391120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391121, 393660, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393661, 393920, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 393921, 396460, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 396461, 397100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397101, 398980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 172180, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 172181, 175680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175681, 178480, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178481, 178800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 152800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 152801, 155140, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155141, 155600, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 155601, 157940, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157941, 160580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 143720, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143721, 145580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 471060, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471061, 471980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 516260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 516261, 517300, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 517301, 519060, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 519061, 520100, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 520101, 523980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 377100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377101, 379900, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 379901, 380020, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380021, 382820, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382821, 382860, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382861, 384000, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 461220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461221, 461760, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 461761, 464020, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464021, 464560, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464561, 468260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468261, 471060, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471061, 475240, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475241, 475380, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475381, 478040, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478041, 478180, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478181, 480000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 499520, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499521, 502640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 502641, 503280, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 503281, 505440, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 505441, 506080, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506081, 510960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 510961, 513760, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 513761, 516260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 516261, 517300, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 517301, 519060, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 519061, 520100, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 520101, 525180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525181, 527980, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527981, 529880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 529881, 531320, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531321, 532680, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 532681, 534120, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 534121, 537980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 636727, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636728, 637667, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637668, 637847, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637848, 638787, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638788, 640187, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640188, 641127, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641128, 641467, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641468, 642407, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642408, 642527, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642528, 643447, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643448, 644727, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644728, 645667, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645668, 646227, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646228, 646666, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 423700, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 423701, 425560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425561, 428360, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 428361, 433180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433181, 434520, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 434521, 435980, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435981, 437320, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437321, 439800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 439801, 439980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124000, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124001, 124760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124761, 126680, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 126681, 127560, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127561, 129480, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 129481, 130380, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620080, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620081, 622040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622041, 622500, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622501, 622960, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622961, 623440, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623441, 623820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623821, 624760, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624761, 626580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626581, 627240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627241, 627500, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627501, 628180, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628181, 628500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628501, 629440, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629441, 631120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631121, 631980, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631981, 632040, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632041, 632920, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632921, 633180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633181, 634100, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634101, 635660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635661, 636580, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636581, 636720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636721, 637660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637661, 637840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637841, 638780, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638781, 640200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640201, 641120, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641121, 641480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641481, 642400, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642401, 642520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642521, 643460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643461, 644740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644741, 645660, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645661, 646220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646221, 647160, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647161, 647200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647201, 648120, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648121, 649280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649281, 650200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650201, 650960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650961, 651860, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651861, 651900, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651901, 652800, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652801, 653820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653821, 654740, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654741, 655700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655701, 656540, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656541, 656640, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656641, 657480, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657481, 658360, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658361, 659300, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659301, 660460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660461, 661220, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661221, 661380, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661381, 662140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662141, 662900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662901, 663840, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663841, 665200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665201, 665880, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665881, 666120, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666121, 666820, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666821, 667440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667441, 668380, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668381, 669940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669941, 670560, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670561, 670880, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670881, 671500, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671501, 671980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671981, 672920, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672921, 674680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674681, 675240, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675241, 675620, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675621, 676160, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676161, 676520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676521, 677460, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677461, 679420, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679421, 679900, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679901, 680000, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620080, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620081, 622040, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622041, 622500, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622501, 622960, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622961, 623440, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623441, 623820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623821, 624760, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624761, 626580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626581, 627240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627241, 627500, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627501, 628180, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628181, 628500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628501, 629440, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629441, 631120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631121, 631980, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631981, 632040, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632041, 632920, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632921, 633180, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633181, 634100, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634101, 635660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635661, 636580, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636581, 636720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636721, 637660, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637661, 637840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637841, 638780, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638781, 640200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640201, 641120, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641121, 641480, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641481, 642400, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642401, 642520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642521, 643460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643461, 644740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644741, 645660, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645661, 646220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646221, 647160, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647161, 647200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647201, 648120, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648121, 649280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649281, 650200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650201, 650960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650961, 651860, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651861, 651900, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651901, 652800, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652801, 653333, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693654, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693655, 693934, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693935, 694594, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694595, 694694, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694695, 694854, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694855, 695614, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695615, 698414, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698415, 698594, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698595, 699234, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699235, 699334, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699335, 699534, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699535, 700154, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700155, 703154, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703155, 703274, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703275, 703774, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703775, 704074, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704075, 704194, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704195, 704694, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704695, 707894, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707895, 707934, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707935, 708314, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708315, 708834, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708835, 708874, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708875, 709234, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709235, 712614, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712615, 712634, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712635, 712854, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712855, 713554, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713555, 713574, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713575, 713774, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713775, 717294, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717295, 717374, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717375, 717394, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717395, 718214, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718215, 718314, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718315, 721934, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721935, 721954, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721955, 722134, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722135, 722874, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722875, 722894, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722895, 723054, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723055, 726474, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726475, 726634, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726635, 726874, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726875, 727414, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727415, 727574, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727575, 727794, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727795, 731014, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731015, 731314, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731315, 731614, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731615, 731954, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731955, 732234, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732235, 732554, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732555, 733333, {0, 0, 0} }, +}; + +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) + }, +}; + +/*************************************/ +/* ========== SET C =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_HP2_C_3712_REG_ARRAY[] = { + {0x0310, 0x0122, 0x00, 0x00}, + {0x0312, 0x0000, 0x00, 0x00}, + {0x030E, 0x0003, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_HP2_C_3686_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_C_3712[] = { + { MIPI_HP2_C_3712_REG_ARRAY, ARRAY_SIZE(MIPI_HP2_C_3712_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_3686[] = { + { MIPI_HP2_C_3686_REG_ARRAY, ARRAY_SIZE(MIPI_HP2_C_3686_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[] = { + { "3712 Msps", 3712, + sensor_s5khp2_setfile_C_3712, ARRAY_SIZE(sensor_s5khp2_setfile_C_3712) }, + { "3686 Msps", 3686, + sensor_s5khp2_setfile_C_3686, ARRAY_SIZE(sensor_s5khp2_setfile_C_3686) }, +}; + +static const struct cam_mipi_cell_ratings sensor_s5khp2_setfile_C_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10567, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10568, 10570, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10571, 10640, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10641, 10838, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9686, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9687, 9689, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9690, 9756, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9757, 9938, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1305, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1306, 1369, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1370, 1375, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1376, 1439, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1440, 1513, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1542, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1543, 1545, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1546, 1615, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1616, 1738, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4384, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4385, 4423, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4424, 4454, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4455, 4458, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4413, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2255, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2256, 2325, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2326, 2347, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2348, 2417, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2418, 2563, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 3088, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 748, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 749, 763, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 35, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 36, 41, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 42, 181, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 182, 599, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 673, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 674, 679, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 680, 813, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 814, 1199, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1511, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1512, 1639, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1640, 1651, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1652, 1779, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1780, 1949, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 1985, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1986, 1991, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1992, 2131, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2132, 2399, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2417, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2418, 2478, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2479, 2557, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2558, 2618, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2619, 2649, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2811, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2812, 2951, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2952, 2994, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2995, 3134, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3135, 3449, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3784, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3785, 3799, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5179, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5279, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5379, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5849, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5957, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5958, 5999, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6018, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6019, 6097, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6098, 6149, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6209, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6210, 6264, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6265, 6449, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6482, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6483, 6585, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6586, 6599, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8113, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8114, 8119, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8120, 8253, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8254, 8689, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8807, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8808, 8868, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8869, 8947, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8948, 9008, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9009, 9039, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9459, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9460, 9514, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9515, 9599, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9600, 9654, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9655, 9659, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9769, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9869, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 10251, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10252, 10354, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10355, 10359, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36217, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36218, 36349, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37750, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37751, 38249, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38649, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38699, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38700, 39278, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39279, 39418, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39419, 39442, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39443, 39582, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39583, 39649, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 40073, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40074, 40213, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40214, 40250, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40251, 40390, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40391, 40951, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40952, 41091, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41092, 41134, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41135, 41274, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41275, 41589, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41750, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41751, 41890, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41891, 41988, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41989, 42128, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42129, 42628, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42629, 42768, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42769, 42872, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42873, 43012, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43013, 43506, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43507, 43589, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55656, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55657, 55796, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55797, 55906, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55907, 56046, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56047, 56534, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56535, 56674, {0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56675, 56739, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66471, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66472, 66477, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66478, 66617, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66618, 67208, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67209, 67335, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68629, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68630, 68672, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68673, 68935, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 422700, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422701, 422820, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422821, 425620, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 425621, 433980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 387460, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 387461, 387580, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 387581, 390260, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 390261, 397980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 367220, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 367221, 369780, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369781, 370020, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 370021, 372580, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372581, 375980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 174140, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 174141, 175360, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175361, 176940, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 176941, 178160, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178161, 178780, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 525220, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 525221, 528020, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528021, 528880, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 528881, 531680, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 531681, 538000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 191680, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191681, 191980, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 149200, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 151200, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 153580, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 174140, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 174141, 175000, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 159380, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159381, 160480, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 160481, 164180, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 387460, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 387461, 387580, {3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 387581, 390260, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 390261, 398980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 174140, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 174141, 175360, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175361, 176940, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 176941, 178160, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178161, 178800, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 156580, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156581, 157680, {0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157681, 159380, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159381, 160480, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 160481, 160580, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 145580, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 471980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 514000, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514001, 523980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 384000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 460980, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460981, 472560, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 472561, 475360, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475361, 475840, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475841, 478640, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 478641, 480000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 507660, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507661, 510460, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 510461, 511200, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 511201, 514000, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 514001, 525220, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 525221, 528020, {0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528021, 528880, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 528881, 531680, {2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 531681, 537980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 639427, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639428, 640367, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640368, 641107, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641108, 642027, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642028, 645287, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645288, 646207, {0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646208, 646666, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 422700, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422701, 422820, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422821, 425620, {3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 425621, 437440, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 437441, 439980, {0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124260, {7, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124261, 125120, {7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125121, 130380, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 621880, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621881, 622820, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622821, 623420, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623421, 624360, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624361, 627720, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627721, 628660, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628661, 629320, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629321, 630240, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630241, 633580, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633581, 634520, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634521, 635200, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635201, 636140, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636141, 639440, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639441, 640360, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640361, 641100, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641101, 642040, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642041, 645280, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645281, 646220, {0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646221, 647000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647001, 647920, {20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647921, 651140, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651141, 652060, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652061, 652880, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652881, 653820, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653821, 656980, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656981, 657920, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657921, 658780, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658781, 659700, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659701, 662840, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662841, 663780, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663781, 664660, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664661, 665600, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665601, 668680, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668681, 669620, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669621, 670560, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670561, 671500, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671501, 674540, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674541, 675480, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675481, 676460, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676461, 677380, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677381, 680000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 621880, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621881, 622820, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622821, 623420, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623421, 624360, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624361, 627720, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627721, 628660, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628661, 629320, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629321, 630240, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630241, 633580, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633581, 634520, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634521, 635200, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635201, 636140, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636141, 639440, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639441, 640360, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640361, 641100, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641101, 642040, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642041, 645280, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645281, 646220, {0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646221, 647000, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647001, 647920, {20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647921, 651140, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651141, 652060, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652061, 652880, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652881, 653333, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 694134, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694135, 695054, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695055, 697954, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 697955, 698874, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698875, 700014, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700015, 700954, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 700955, 703794, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 703795, 704734, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704735, 705914, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705915, 706854, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706855, 709654, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709655, 710574, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710575, 711794, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711795, 712734, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712735, 715494, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715495, 716434, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716435, 717694, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717695, 718634, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718635, 721354, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721355, 722294, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722295, 723594, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723595, 724514, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724515, 727214, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727215, 728134, {0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728135, 729474, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729475, 730414, {1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730415, 733054, {0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733055, 733333, {0, 1} }, +}; + +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) + }, +}; + + +/*************************************/ +/* ========== SET D =============== */ +/*************************************/ +struct cam_sensor_i2c_reg_array MIPI_HP2_D_1862_REG_ARRAY[] = { + {0x0310, 0x0123, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, + {0x030E, 0x0003, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_HP2_D_1849_REG_ARRAY[] = { + {0x0310, 0x0121, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, + {0x030E, 0x0003, 0x00, 0x00}, +}; + +struct cam_sensor_i2c_reg_array MIPI_HP2_D_1811_REG_ARRAY[] = { + {0x0310, 0x011B, 0x00, 0x00}, + {0x0312, 0x0001, 0x00, 0x00}, + {0x030E, 0x0003, 0x00, 0x00}, +}; + +static const struct cam_sensor_i2c_reg_setting sensor_s5khp2_setfile_D_1862[] = { + { MIPI_HP2_D_1862_REG_ARRAY, ARRAY_SIZE(MIPI_HP2_D_1862_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[] = { + { MIPI_HP2_D_1849_REG_ARRAY, ARRAY_SIZE(MIPI_HP2_D_1849_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_1811[] = { + { MIPI_HP2_D_1811_REG_ARRAY, ARRAY_SIZE(MIPI_HP2_D_1811_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[] = { + { "1862 Msps", 1862, + sensor_s5khp2_setfile_D_1862, ARRAY_SIZE(sensor_s5khp2_setfile_D_1862) }, + { "1849 Msps", 1849, + sensor_s5khp2_setfile_D_1849, ARRAY_SIZE(sensor_s5khp2_setfile_D_1849) }, + { "1811 Msps", 1811, + sensor_s5khp2_setfile_D_1811, ARRAY_SIZE(sensor_s5khp2_setfile_D_1811) }, +}; + +static const struct cam_mipi_cell_ratings sensor_s5khp2_setfile_D_channel[] = { + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_001_GSM_GSM850), 0, 0, {14, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_002_GSM_EGSM900), 0, 0, {7, 7, 7} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_003_GSM_DCS1800), 0, 0, {0, 3, 63} }, + { CAM_RAT_BAND(CAM_RAT_1_GSM, CAM_BAND_004_GSM_PCS1900), 0, 0, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10562, 10600, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10601, 10604, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10605, 10607, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10608, 10677, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10678, 10745, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10746, 10754, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10755, 10815, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10816, 10824, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10825, 10828, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_011_WCDMA_WB01), 10829, 10838, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9662, 9667, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9668, 9720, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9721, 9723, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9724, 9737, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9738, 9790, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9791, 9873, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9874, 9883, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_012_WCDMA_WB02), 9884, 9938, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1162, 1180, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1181, 1187, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1188, 1215, {3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1216, 1250, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1251, 1337, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1338, 1361, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1362, 1401, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1402, 1407, {60, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1408, 1431, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1432, 1471, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_013_WCDMA_WB03), 1472, 1513, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1537, 1575, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1576, 1579, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1580, 1582, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1583, 1652, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1653, 1720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1721, 1729, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_014_WCDMA_WB04), 1730, 1738, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4357, 4368, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4369, 4399, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4400, 4438, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_015_WCDMA_WB05), 4439, 4458, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4387, 4399, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_016_WCDMA_WB06), 4400, 4413, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2237, 2241, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2242, 2242, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2243, 2301, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2302, 2312, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2313, 2371, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2372, 2392, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2393, 2458, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2459, 2462, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2463, 2521, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2522, 2528, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_017_WCDMA_WB07), 2529, 2563, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2937, 2958, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2959, 2990, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 2991, 3008, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3009, 3078, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_018_WCDMA_WB08), 3079, 3088, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 712, 724, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_2_WCDMA, CAM_BAND_029_WCDMA_WB19), 725, 763, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 0, 100, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 101, 108, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 109, 114, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 115, 254, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 255, 391, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 392, 408, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 409, 531, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 532, 548, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 549, 557, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_091_LTE_LB01), 558, 599, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 600, 606, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 607, 635, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 636, 740, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 741, 746, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 747, 775, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 776, 880, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 881, 1047, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1048, 1066, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1067, 1184, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1185, 1187, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_092_LTE_LB02), 1188, 1199, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1200, 1260, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1261, 1275, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1276, 1331, {3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1332, 1400, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1401, 1575, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1576, 1623, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1624, 1703, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1704, 1715, {60, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1716, 1763, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1764, 1843, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_093_LTE_LB03), 1844, 1949, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 1950, 2050, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2051, 2058, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2059, 2064, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2065, 2204, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2205, 2341, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2342, 2358, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_094_LTE_LB04), 2359, 2399, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2400, 2404, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2405, 2447, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2448, 2508, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2509, 2587, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2588, 2648, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_095_LTE_LB05), 2649, 2649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2750, 2782, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2783, 2785, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2786, 2902, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2903, 2925, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 2926, 3042, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3043, 3085, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3086, 3216, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3217, 3225, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3226, 3343, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3344, 3356, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_097_LTE_LB07), 3357, 3449, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3450, 3517, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3518, 3581, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3582, 3617, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3618, 3757, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_098_LTE_LB08), 3758, 3799, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5010, 5121, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5122, 5136, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_102_LTE_LB12), 5137, 5179, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5180, 5188, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5189, 5276, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_103_LTE_LB13), 5277, 5279, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5280, 5308, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_104_LTE_LB14), 5309, 5379, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5730, 5791, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5792, 5806, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_107_LTE_LB17), 5807, 5849, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5850, 5944, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5945, 5987, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_108_LTE_LB18), 5988, 5999, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6000, 6048, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6049, 6127, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_109_LTE_LB19), 6128, 6149, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6150, 6151, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6152, 6236, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6237, 6291, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6292, 6363, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_110_LTE_LB20), 6364, 6449, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6450, 6497, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6498, 6514, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6515, 6533, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_111_LTE_LB21), 6534, 6599, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8040, 8046, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8047, 8075, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8076, 8180, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8181, 8186, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8187, 8215, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8216, 8320, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8321, 8487, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8488, 8506, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8507, 8624, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8625, 8627, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8628, 8646, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_115_LTE_LB25), 8647, 8689, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8690, 8794, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8795, 8837, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8838, 8898, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8899, 8977, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 8978, 9038, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_116_LTE_LB26), 9039, 9039, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9210, 9238, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9239, 9322, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9323, 9462, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9463, 9486, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9487, 9541, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9542, 9626, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_118_LTE_LB28), 9627, 9659, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9660, 9751, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_119_LTE_LB29), 9752, 9769, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9770, 9841, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_120_LTE_LB30), 9842, 9869, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9920, 9963, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9964, 9992, {3, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 9993, 10002, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10003, 10103, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10104, 10132, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10133, 10302, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_122_LTE_LB32), 10303, 10359, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36200, 36287, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36288, 36298, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_124_LTE_LB34), 36299, 36349, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37750, 37838, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37839, 37854, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37855, 37962, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37963, 37994, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 37995, 38102, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38103, 38142, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_128_LTE_LB38), 38143, 38249, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38250, 38316, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38317, 38354, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38355, 38447, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38448, 38456, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38457, 38494, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38495, 38587, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_129_LTE_LB39), 38588, 38649, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38650, 38778, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38779, 38866, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38867, 38920, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 38921, 39006, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39007, 39060, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39061, 39081, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39082, 39221, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39222, 39298, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39299, 39360, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39361, 39438, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39439, 39500, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39501, 39525, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_130_LTE_LB40), 39526, 39649, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39650, 39721, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39722, 39771, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39772, 39861, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39862, 39895, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 39896, 40035, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40036, 40063, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40064, 40162, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40163, 40203, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40204, 40302, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40303, 40338, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40339, 40478, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40479, 40494, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40495, 40602, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40603, 40634, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40635, 40742, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40743, 40782, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40783, 40922, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40923, 40925, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 40926, 41042, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41043, 41065, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41066, 41182, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41183, 41225, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41226, 41356, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41357, 41365, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41366, 41483, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41484, 41496, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_131_LTE_LB41), 41497, 41589, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41590, 41664, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41665, 41727, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41728, 41804, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41805, 41869, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 41870, 42009, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42010, 42019, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42020, 42107, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42108, 42159, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42160, 42247, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42248, 42310, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42311, 42450, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42451, 42550, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42551, 42590, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42591, 42690, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42691, 42750, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42751, 42881, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42882, 42890, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42891, 42994, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 42995, 43021, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43022, 43134, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43135, 43190, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43191, 43312, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43313, 43330, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43331, 43437, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43438, 43452, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43453, 43577, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_132_LTE_LB42), 43578, 43589, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55240, 55284, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55285, 55340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55341, 55462, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55463, 55480, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55481, 55587, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55588, 55602, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55603, 55727, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55728, 55781, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55782, 55894, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55895, 55921, {0, 2, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 55922, 56031, {0, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56032, 56034, {2, 0, 40} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56035, 56171, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56172, 56221, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56222, 56325, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56326, 56361, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56362, 56465, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56466, 56474, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56475, 56614, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56615, 56662, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_138_LTE_LB48), 56663, 56739, {0, 40, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66436, 66536, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66537, 66544, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66545, 66550, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66551, 66690, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66691, 66827, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66828, 66844, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66845, 66967, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66968, 66984, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66985, 66993, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 66994, 67133, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67134, 67259, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67260, 67285, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_156_LTE_LB66), 67286, 67335, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68586, 68651, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68652, 68693, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68694, 68814, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_3_LTE, CAM_BAND_161_LTE_LB71), 68815, 68935, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_051_TDSCDMA_TD1), 0, 0, {6, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_052_TDSCDMA_TD2), 0, 0, {3, 63, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_053_TDSCDMA_TD3), 0, 0, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_054_TDSCDMA_TD4), 0, 0, {6, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_055_TDSCDMA_TD5), 0, 0, {6, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_4_TDSCDMA, CAM_BAND_056_TDSCDMA_TD6), 0, 0, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_061_CDMA_BC0), 0, 0, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_062_CDMA_BC1), 0, 0, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_5_CDMA, CAM_BAND_071_CDMA_BC10), 0, 0, {0, 0, 14} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 422000, 424000, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 424001, 424160, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 424161, 424280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 424281, 427080, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 427081, 429820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 429821, 430160, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 430161, 432620, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432621, 432960, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 432961, 433140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_256_NR5G_N001), 433141, 433980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386000, 386120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386121, 386700, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 386701, 388800, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388801, 388920, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 388921, 389500, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 389501, 391600, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 391601, 394940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 394941, 395320, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 395321, 397680, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397681, 397740, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_257_NR5G_N002), 397741, 397980, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 361000, 362200, {0, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362201, 362500, {3, 3, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 362501, 363620, {3, 0, 60} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 363621, 365000, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 365001, 368500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 368501, 369460, {0, 60, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 369461, 371060, {0, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 371061, 371300, {60, 60, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 371301, 372260, {60, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 372261, 373860, {60, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_258_NR5G_N003), 373861, 375980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173800, 173880, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 173881, 174740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 174741, 175960, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 175961, 177540, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 177541, 178760, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_260_NR5G_N005), 178761, 178780, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524000, 524640, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524641, 524700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 524701, 527040, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527041, 527500, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 527501, 529840, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 529841, 530700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 530701, 533320, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533321, 533500, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 533501, 535860, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 535861, 536120, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_262_NR5G_N007), 536121, 538000, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 185000, 186340, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 186341, 187620, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 187621, 188340, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 188341, 191140, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_263_NR5G_N008), 191141, 191980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 145800, 148020, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148021, 148320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_267_NR5G_N012), 148321, 149200, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149200, 149360, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 149361, 151120, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_268_NR5G_N013), 151121, 151200, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 151600, 152160, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_269_NR5G_N014), 152161, 153580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 172000, 173880, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 173881, 174740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_273_NR5G_N018), 174741, 175000, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158200, 158220, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 158221, 159920, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 159921, 161020, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 161021, 162460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_275_NR5G_N020), 162461, 164180, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386000, 386120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386121, 386700, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 386701, 388800, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388801, 388920, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 388921, 389500, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 389501, 391600, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 391601, 394940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 394941, 395320, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 395321, 397680, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397681, 397740, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 397741, 398120, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_280_NR5G_N025), 398121, 398980, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 171800, 173880, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 173881, 174740, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 174741, 175960, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 175961, 177540, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 177541, 178760, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_281_NR5G_N026), 178761, 178800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 151600, 152160, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 152161, 153840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 153841, 156640, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 156641, 157120, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 157121, 158220, {0, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 158221, 159920, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_283_NR5G_N028), 159921, 160580, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 143400, 145220, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_284_NR5G_N029), 145221, 145580, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 470000, 471420, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_285_NR5G_N030), 471421, 471980, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 514000, 515760, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 515761, 516080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 516081, 518240, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518241, 518880, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 518881, 521040, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 521041, 521840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_293_NR5G_N038), 521841, 523980, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 376000, 377320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 377321, 378080, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 378081, 379940, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 379941, 380120, {3, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380121, 380880, {3, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 380881, 382740, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_294_NR5G_N039), 382741, 384000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 460000, 462560, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 462561, 464320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 464321, 465400, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 465401, 467120, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 467121, 468200, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468201, 468620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 468621, 471420, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 471421, 472960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 472961, 474200, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 474201, 475760, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 475761, 477000, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477001, 477500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_295_NR5G_N040), 477501, 480000, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 499200, 500620, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 500621, 501620, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 501621, 503420, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 503421, 504100, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 504101, 506900, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 506901, 507460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 507461, 509440, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 509441, 510260, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 510261, 512240, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512241, 512960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 512961, 515760, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 515761, 516080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 516081, 518240, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518241, 518880, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 518881, 521040, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 521041, 521840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 521841, 524640, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524641, 524700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 524701, 527040, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527041, 527500, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 527501, 529840, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 529841, 530700, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 530701, 533320, {2, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533321, 533500, {2, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 533501, 535860, {0, 0, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 535861, 536120, {0, 2, 2} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_296_NR5G_N041), 536121, 537980, {0, 2, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636667, 636947, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 636948, 637327, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 637328, 638147, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638148, 638267, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638268, 638967, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 638968, 639067, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639068, 639907, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 639908, 640267, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 640268, 641027, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641028, 641207, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641208, 641927, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641928, 641947, {1, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 641948, 642867, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 642868, 643207, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643208, 643887, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 643888, 644127, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644128, 644827, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644828, 644887, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 644888, 645827, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 645828, 646147, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_303_NR5G_N048), 646148, 646666, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 422000, 424000, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 424001, 424160, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 424161, 424280, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 424281, 427080, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 427081, 429820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 429821, 430160, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 430161, 432620, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432621, 432960, {0, 3, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 432961, 433140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 433141, 435940, {3, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 435941, 438460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438461, 438980, {0, 0, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_321_NR5G_N066), 438981, 439980, {0, 3, 3} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 123400, 124700, {7, 7, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 124701, 125540, {7, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 125541, 127960, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_326_NR5G_N071), 127961, 130380, {0, 0, 7} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620000, 620640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620641, 620900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 620901, 621240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621241, 621820, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 621821, 622180, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622181, 622640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 622641, 623580, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623581, 623760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 623761, 624200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624201, 624700, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 624701, 625120, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625121, 625580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 625581, 626520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626521, 626640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 626641, 627160, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627161, 627580, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 627581, 628080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628081, 628520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 628521, 629460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629461, 629520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 629521, 630100, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630101, 630460, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 630461, 631040, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631041, 631460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 631461, 632400, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 632401, 633060, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633061, 633320, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 633321, 634000, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634001, 634400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 634401, 635260, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635261, 635320, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 635321, 636020, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636021, 636200, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636201, 636960, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 636961, 637320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 637321, 638140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638141, 638260, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638261, 638980, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 638981, 639080, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639081, 639900, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 639901, 640260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 640261, 641020, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641021, 641200, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641201, 641940, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 641941, 642860, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 642861, 643200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643201, 643900, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 643901, 644140, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644141, 644820, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644821, 644880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 644881, 645820, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 645821, 646140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646141, 646760, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 646761, 647060, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647061, 647700, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647701, 647840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 647841, 648780, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 648781, 649080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649081, 649640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 649641, 650000, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650001, 650580, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650581, 650800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 650801, 651740, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 651741, 652000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652001, 652520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652521, 652940, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 652941, 653440, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653441, 653760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 653761, 654680, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654681, 654940, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 654941, 655400, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655401, 655880, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 655881, 656320, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656321, 656720, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 656721, 657640, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657641, 657880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 657881, 658260, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658261, 658820, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 658821, 659200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659201, 659660, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 659661, 660600, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660601, 660820, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 660821, 661140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661141, 661740, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 661741, 662080, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662081, 662620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 662621, 663560, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663561, 663760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 663761, 664020, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664021, 664680, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664681, 664940, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 664941, 665580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 665581, 666520, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666521, 666680, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666681, 666900, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 666901, 667620, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667621, 667820, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 667821, 668540, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 668541, 669460, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669461, 669620, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669621, 669760, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 669761, 670560, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670561, 670700, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 670701, 671500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 671501, 672420, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672421, 672560, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672561, 672640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 672641, 673500, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673501, 673580, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 673581, 674440, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 674441, 675380, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675381, 675500, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675501, 675520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 675521, 676420, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676421, 676440, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 676441, 677400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 677401, 678340, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678341, 678400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678401, 678440, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 678441, 679320, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679321, 679360, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_332_NR5G_N077), 679361, 680000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620000, 620640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620641, 620900, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 620901, 621240, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621241, 621820, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 621821, 622180, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622181, 622640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 622641, 623580, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623581, 623760, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 623761, 624200, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624201, 624700, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 624701, 625120, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625121, 625580, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 625581, 626520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626521, 626640, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 626641, 627160, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627161, 627580, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 627581, 628080, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628081, 628520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 628521, 629460, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629461, 629520, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 629521, 630100, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630101, 630460, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 630461, 631040, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631041, 631460, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 631461, 632400, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 632401, 633060, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633061, 633320, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 633321, 634000, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634001, 634400, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 634401, 635260, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635261, 635320, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 635321, 636020, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636021, 636200, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636201, 636960, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 636961, 637320, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 637321, 638140, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638141, 638260, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638261, 638980, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 638981, 639080, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639081, 639900, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 639901, 640260, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 640261, 641020, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641021, 641200, {0, 1, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641201, 641940, {0, 0, 20} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 641941, 642860, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 642861, 643200, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643201, 643900, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 643901, 644140, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644141, 644820, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644821, 644880, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 644881, 645820, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 645821, 646140, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646141, 646760, {0, 20, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 646761, 647060, {0, 20, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647061, 647700, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647701, 647840, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 647841, 648780, {20, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 648781, 649080, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649081, 649640, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 649641, 650000, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650001, 650580, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650581, 650800, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 650801, 651740, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 651741, 652000, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652001, 652520, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652521, 652940, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_333_NR5G_N078), 652941, 653333, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693334, 693694, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 693695, 694054, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 694055, 695134, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695135, 695634, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 695635, 696054, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696055, 696074, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696075, 696574, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696575, 696974, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 696975, 698094, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698095, 698514, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698515, 698974, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 698975, 699034, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699035, 699454, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699455, 699914, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 699915, 701054, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701055, 701394, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701395, 701914, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701915, 701994, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 701995, 702314, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702315, 702854, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 702855, 704014, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704015, 704274, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704275, 704854, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704855, 704954, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 704955, 705194, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705195, 705794, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 705795, 706974, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 706975, 707134, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707135, 707794, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707795, 707894, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 707895, 708074, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708075, 708714, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 708715, 709934, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 709935, 710014, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710015, 710734, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710735, 710854, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710855, 710954, {0, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 710955, 711654, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 711655, 712874, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712875, 712894, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 712895, 713654, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713655, 713814, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 713815, 714594, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 714595, 715774, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715775, 715834, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 715835, 716594, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716595, 716694, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716695, 716774, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 716775, 717534, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 717535, 718634, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718635, 718794, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 718795, 719534, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719535, 719574, {1, 1, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719575, 719734, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 719735, 720474, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 720475, 721514, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721515, 721754, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 721755, 722454, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722455, 722474, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722475, 722674, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 722675, 723394, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 723395, 724394, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724395, 724714, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 724715, 725314, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725315, 725414, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725415, 725634, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 725635, 726334, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 726335, 727274, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727275, 727654, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 727655, 728194, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728195, 728334, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728335, 728594, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 728595, 729274, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 729275, 730134, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730135, 730614, {0, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 730615, 731074, {1, 0, 1} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731075, 731274, {1, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731275, 731554, {1, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 731555, 732214, {0, 1, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 732215, 733014, {0, 0, 0} }, + { CAM_RAT_BAND(CAM_RAT_7_NR5G, CAM_BAND_334_NR5G_N079), 733015, 733333, {0, 0, 1} }, +}; + +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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_bpc.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_bpc.h new file mode 100644 index 0000000000..0852206f39 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_bpc.h @@ -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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_core.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_core.c index 247ae8c301..fddc66849f 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_core.c +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_core.c @@ -13,9 +13,509 @@ #include "cam_common_util.h" #include "cam_packet_util.h" #include "cam_req_mgr_dev.h" +#include "cam_hw_bigdata.h" #define CAM_SENSOR_PIPELINE_DELAY_MASK 0xFF #define CAM_SENSOR_MODESWITCH_DELAY_SHIFT 8 +#define CAM_SENSOR_WAIT_STREAMON_TIMES (20) // 20 * 5 = 100 ms + +#if defined(CONFIG_SAMSUNG_SENSOR_TEMP) +#define S5KHP2_SENSOR_ID 0x1B72 +#define IMX564_SENSOR_ID 0x0564 +#endif + +#if defined(CONFIG_CAMERA_CDR_TEST) +#include "cam_clock_data_recovery.h" +#endif + +#if defined(CONFIG_CAMERA_ADAPTIVE_MIPI) +#include "cam_sensor_mipi.h" + +static int disable_adaptive_mipi; +module_param(disable_adaptive_mipi, int, 0644); +#endif + +#if defined(CONFIG_CAMERA_FRAME_CNT_DBG) +static int frame_cnt_dbg; +module_param(frame_cnt_dbg, int, 0644); + +#include "cam_sensor_thread.h" +#include +#endif + +#if defined(CONFIG_SAMSUNG_READ_BPC_FROM_OTP) +#include "cam_sensor_bpc.h" +#endif + +#if defined(CONFIG_SENSOR_RETENTION) +#include "cam_sensor_retention.h" + +static int disable_sensor_retention; +module_param(disable_sensor_retention, int, 0644); +#endif + +#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_I2C) +static int i2c_debug_cnt; +module_param(i2c_debug_cnt, int, 0644); +#if defined(CONFIG_SAMSUNG_SENSOR_TEMP) +static int i2c_debug_type; +module_param(i2c_debug_type, int, 0644); +#endif +/* +adb shell "echo s5khp2 > /sys/module/camera/parameters/debug_sensor_name" +adb shell "echo 10 > /sys/module/camera/parameters/i2c_debug_cnt" +*/ +#if defined(CONFIG_SAMSUNG_SENSOR_TEMP) +//adb shell "echo 1 > /sys/module/camera/parameters/i2c_debug_type" +#endif + +extern int to_dump_when_sof_freeze__sen_id; + +void cam_sensor_dbg_regdump(struct cam_sensor_ctrl_t* s_ctrl); +void cam_sensor_dbg_regdump_stream_on_fail(struct cam_sensor_ctrl_t* s_ctrl); +void cam_sensor_parse_reg( + struct cam_sensor_ctrl_t* s_ctrl, + struct i2c_settings_list* i2c_list, + int32_t *debug_sen_id, + e_sensor_reg_upd_event_type *sen_update_type); +void cam_sensor_dbg_print_vc(struct cam_sensor_ctrl_t* s_ctrl); +void cam_sensor_dbg_print_by_upd_type(struct cam_sensor_ctrl_t* , int32_t); +void cam_sensor_i2c_dump_util( + struct cam_sensor_ctrl_t* s_ctrl, + struct i2c_settings_list* i2c_list, + int i2c_debug_cnt); +void cam_sensor_handle_aeb_bubble(struct cam_sensor_ctrl_t* s_ctrl); +#endif + +#if defined(CONFIG_USE_CAMERA_HW_BIG_DATA) +//#define HWB_FILE_OPERATION 1 +uint32_t sec_sensor_position; +uint32_t sec_sensor_clk_size; +#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) +{ + int32_t rc = 0; + uint32_t i = 0, size = 0; + struct cam_sensor_i2c_reg_setting reg_setting; + + for (i = 0; i < settings_size; i++) { + if (size < settings[i].size) + size = settings[i].size; + } + + reg_setting.reg_setting = kmalloc(sizeof(struct cam_sensor_i2c_reg_array) * size, GFP_KERNEL); + if (reg_setting.reg_setting != NULL) { + for (i = 0; i < settings_size; i++) { + size = settings[i].size; + memcpy(reg_setting.reg_setting, + settings[i].reg_setting, + sizeof(struct cam_sensor_i2c_reg_array) * size); + reg_setting.size = size; + reg_setting.addr_type = settings[i].addr_type; + reg_setting.data_type = settings[i].data_type; + reg_setting.delay = settings[i].delay; + + +#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_I2C) + if (i2c_debug_cnt > 0) { + int32_t k; + + for (k = 0; k < reg_setting.size && k < i2c_debug_cnt; k++) { + if (k == 0) { + CAM_INFO(CAM_SENSOR, + "[I2C_DBG] ====== size : %d ======", + reg_setting.size); + } + CAM_INFO(CAM_SENSOR, + "[I2C_DBG] [%d] addr : 0x%04X, data : 0x%04X", k, + reg_setting.reg_setting[k].reg_addr, + reg_setting.reg_setting[k].reg_data); + } + } +#endif + + rc = camera_io_dev_write(io_master_info, + ®_setting); + if (rc < 0) + CAM_ERR(CAM_SENSOR, + "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; + } + } + else { + CAM_ERR(CAM_SENSOR,"out of memory"); + } + + return rc; +} +#endif + +#if defined(CONFIG_CAMERA_ADAPTIVE_MIPI) +int32_t cam_check_stream_on( + struct cam_sensor_ctrl_t *s_ctrl) +{ + int32_t ret = 0; + uint16_t sensor_id = 0; + + if (disable_adaptive_mipi) { + CAM_INFO(CAM_SENSOR, "Disabled Adaptive MIPI"); + return ret; + } + + sensor_id = s_ctrl->sensordata->slave_info.sensor_id; + switch (sensor_id) { + case SENSOR_ID_IMX374: + case SENSOR_ID_IMX754: + case SENSOR_ID_S5K3K1: + case SENSOR_ID_S5KGN3: + case SENSOR_ID_S5K3LU: + case SENSOR_ID_IMX564: + case SENSOR_ID_S5KHP2: + case SENSOR_ID_IMX258: + case SENSOR_ID_IMX471: + case SENSOR_ID_S5K2LD: + case SENSOR_ID_S5K3J1: + case SENSOR_ID_IMX854: + case SENSOR_ID_IMX596: + ret = 1; + break; + default: + ret =0; + break; + } + + return ret; +} + +int cam_sensor_apply_adaptive_mipi_settings(struct cam_sensor_ctrl_t *s_ctrl) +{ + int rc = 0; + const struct cam_mipi_sensor_mode *cur_mipi_sensor_mode; + struct i2c_settings_list mipi_i2c_list; + uint16_t sensor_id = 0; + + sensor_id = s_ctrl->sensordata->slave_info.sensor_id; + + if (cam_check_stream_on(s_ctrl)) + { + cam_mipi_init_setting(s_ctrl); + cam_mipi_update_info(s_ctrl); + cam_mipi_get_clock_string(s_ctrl); + } + + if (cam_check_stream_on(s_ctrl) + && s_ctrl->mipi_clock_index_new != INVALID_MIPI_INDEX + && s_ctrl->i2c_data.streamon_settings.is_settings_valid) { + CAM_DBG(CAM_SENSOR, "[AM_DBG] Write MIPI setting before Stream On setting. mipi_index : %d", + s_ctrl->mipi_clock_index_new); + + cur_mipi_sensor_mode = &(s_ctrl->mipi_info[0]); + memset(&mipi_i2c_list, 0, sizeof(mipi_i2c_list)); + + memcpy(&mipi_i2c_list.i2c_settings, + cur_mipi_sensor_mode->mipi_setting[s_ctrl->mipi_clock_index_new].clk_setting, + sizeof(struct cam_sensor_i2c_reg_setting)); + + CAM_DBG(CAM_SENSOR, "[AM_DBG] Picked MIPI clock : %s", + cur_mipi_sensor_mode->mipi_setting[s_ctrl->mipi_clock_index_new].str_mipi_clk); + + if (mipi_i2c_list.i2c_settings.size > 0) + rc = camera_io_dev_write(&s_ctrl->io_master_info, + &(mipi_i2c_list.i2c_settings)); + } + + return rc; +} +#endif + +#if defined(CONFIG_CAMERA_FRAME_CNT_CHECK) +#if defined(CONFIG_SOF_FREEZE_FRAME_CNT_READ) +int cam_sensor_read_frame_count( + struct cam_sensor_ctrl_t *s_ctrl, + uint32_t* frame_cnt) +{ + int rc = 0; + uint32_t FRAME_COUNT_REG_ADDR = 0x0005; + + rc = camera_io_dev_read(&s_ctrl->io_master_info, FRAME_COUNT_REG_ADDR, + frame_cnt, CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, false); + if (rc < 0) + CAM_ERR(CAM_SENSOR, "[CNT_DBG] Failed to read frame_cnt"); + + return rc; +} +#endif + +int cam_sensor_wait_stream_onoff( + struct cam_sensor_ctrl_t *s_ctrl, + bool onoff) +{ + int rc = 0, i = 0; + uint32_t reg_data = 0; + uint32_t retries = 100; + uint32_t FRAME_COUNT_REG_ADDR = 0x0005; + + if (s_ctrl->sensordata->slave_info.sensor_id == SENSOR_ID_HI847_HI1337) + FRAME_COUNT_REG_ADDR = 0x0732; + + CAM_DBG(CAM_SENSOR, "E"); + + for (i = 0; i < retries; i++) { + rc = camera_io_dev_read(&s_ctrl->io_master_info, FRAME_COUNT_REG_ADDR, ®_data, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, false); + if (rc < 0) + break; + + if ((onoff == false) && (s_ctrl->sensordata->slave_info.sensor_id == SENSOR_ID_HI847_HI1337) && + ((reg_data & 0x01) == 0x00)) { + CAM_INFO(CAM_SENSOR, "[CNT_DBG] sensor 0x%x : Stream off, Last frame_cnt 0x%x", + s_ctrl->sensordata->slave_info.sensor_id, reg_data); + rc = 0; + break; + } + + if (((onoff == true) && (reg_data != 0xff)) || + ((onoff == false) && (reg_data == 0xff))) { + rc = 0; + break; + } + usleep_range(1000, 1010); + } + if (rc < 0) + CAM_ERR(CAM_SENSOR, "[CNT_DBG] Fail to wait stream %s, rc %d", + (onoff ? "on" : "off"), rc); + + CAM_DBG(CAM_SENSOR, "X"); + + return rc; +} +#endif + +#if defined(CONFIG_SAMSUNG_READ_BPC_FROM_OTP) +static int32_t cam_sensor_is_need_to_read_otp(struct cam_sensor_ctrl_t *s_ctrl, uint32_t * sensor_revision) +{ + char read_otp_reset[5] = "BEEF"; + uint32_t read_value = 0xBEEF; + int32_t rc = 0; + + rc = camera_io_dev_read(&s_ctrl->io_master_info, SENSOR_REVISION_ADDR, &read_value, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, false); + if (rc < 0) + CAM_ERR(CAM_SENSOR, "Failed to read SENSOR_REVISION_ADDR"); + + CAM_INFO(CAM_SENSOR, "[BPC] Revision read_value = 0x%x", read_value); + *sensor_revision = read_value; + + if (read_value < S5KHP2_SENSOR_REVISION_EVT1) { + CAM_INFO(CAM_SENSOR, "[BPC] Sensor revision is not EVT1 = 0x%x", read_value); + return 0; + } + + if (memcmp(otp_data, read_otp_reset, sizeof(read_otp_reset)) != 0) { + CAM_INFO(CAM_SENSOR, "[BPC] Sensor is Same"); + return 0; + } + return 1; +} + +int cam_sensor_wait_otp_mode(struct cam_sensor_ctrl_t *s_ctrl) +{ + int rc = -1; + uint32_t wait_ms = 50; + + CAM_INFO(CAM_SENSOR, "[BPC] cam_sensor_wait_otp_mode"); + + rc = camera_io_dev_poll(&s_ctrl->io_master_info, + BPC_OTP_READ_STATUS_ADDR, BPC_OTP_READ_STATUS_OK, 0, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_WORD, + wait_ms); + + /* If rc is 1 then read is successful but poll is failure */ + if ((rc < 0) || (rc == 1)) { + CAM_ERR(CAM_SENSOR, "[BPC] Fail cam-sensor_wait_otp_mode %d", rc); + rc = (rc == 1) ? -1 : rc; + } + + return rc; +} + +static int cam_bpc_match_crc(void) +{ + uint32_t calculated_crc = 0x0; + uint32_t check_sum_crc = 0x0; + uint32_t cur_otp = 0x0; + uint32_t i = 0x0; + CAM_INFO(CAM_SENSOR, "[BPC] cam_bpc_match_crc E"); + + for (i = 0 ; i < (BPC_OTP_SIZE_MAX - 4) ; i += 4) + { + cur_otp = (otp_data[i] << 24) | (otp_data[i + 1] << 16) | (otp_data[i + 2] << 8) | (otp_data[i + 3]); + if (i == 0) + { + calculated_crc = cur_otp; + } + else + { + calculated_crc = ~(calculated_crc ^ cur_otp); + } + if (cur_otp == BPC_OTP_TERMINATE_CODE_FOR_CRC) + { + CAM_INFO(CAM_SENSOR, "[BPC] Meet Terminate code for CRC index = %u cur_otp = 0x%x",i, cur_otp); + break; + } + } + + check_sum_crc = (otp_data[BPC_OTP_SIZE_MAX - 4] << 24) | + (otp_data[BPC_OTP_SIZE_MAX - 3] << 16) | + (otp_data[BPC_OTP_SIZE_MAX - 2] << 8) | + (otp_data[BPC_OTP_SIZE_MAX - 1]); + + CAM_INFO(CAM_SENSOR, "[BPC] previous_crc = 0x%x", calculated_crc); + CAM_INFO(CAM_SENSOR, "[BPC] check_sum_crc = 0x%x", check_sum_crc); + + + if (calculated_crc != check_sum_crc) + { + CAM_ERR(CAM_SENSOR, "[BPC] Crc mismatched = calculated crc 0x%x check_sum_crc 0x%x", calculated_crc, check_sum_crc); + return -EINVAL; + } + + CAM_INFO(CAM_SENSOR, "[BPC] cam_bpc_match_crc X"); + return 0; +} + +int cam_sensor_read_bpc_from_otp(struct cam_sensor_ctrl_t *s_ctrl, uint32_t sensor_revision) +{ + int32_t rc = 0; + uint32_t addr = 0, size = 0, read_size = 0; + uint8_t *memptr; + uint32_t otp_index = 0; + char read_opt_reset[5] = "BEEF"; + + memptr = otp_data; + CAM_INFO(CAM_SENSOR, "[BPC] E sensor_revision = 0x%x", sensor_revision); + + rc = cam_sensor_write_settings(&s_ctrl->io_master_info, + read_otp_setttings, ARRAY_SIZE(read_otp_setttings)); + + if (rc < 0) { + CAM_ERR(CAM_SENSOR, "[BPC] Failed update register to read otp rc = %d", rc); + return rc; + } + + if (cam_sensor_wait_otp_mode(s_ctrl) == 0){ + rc = cam_sensor_write_settings(&s_ctrl->io_master_info, + bpc_end_sequence_setttings, ARRAY_SIZE(bpc_end_sequence_setttings)); + if (rc < 0) { + CAM_ERR(CAM_SENSOR, "[BPC] Failed to write bpc_configure_dram rc = %d", rc); + return rc; + } + + size = BPC_OTP_SIZE_MAX; + addr = 0; + + while(size > 0) { + read_size = size; + if (size > PAGE_SIZE) { + read_size = PAGE_SIZE; + } + + rc = camera_io_dev_read_seq(&s_ctrl->io_master_info, + addr, memptr, + CAMERA_SENSOR_I2C_TYPE_WORD, + CAMERA_SENSOR_I2C_TYPE_BYTE, + read_size); + if (rc < 0) { + CAM_ERR(CAM_EEPROM, "read failed rc %d", + rc); + return rc; + } + size -= read_size; + addr += read_size; + otp_index += PAGE_SIZE; + memptr = otp_data + otp_index; + } + } + else{ + CAM_ERR(CAM_SENSOR, "[BPC] Failed to cam_sensor_wait_otp_mode rc = %d", rc); + } + + if (sensor_revision >= S5KHP2_SENSOR_SUPPORT_BPC_CRC_SENSOR_REVISION) + { + if (cam_bpc_match_crc() < 0) + { + CAM_ERR(CAM_SENSOR, "[BPC] CRC error"); + // Need to enable after getting module that is writted CRC checksum + memcpy(otp_data, read_opt_reset, sizeof(read_opt_reset)); + } + } + + CAM_INFO(CAM_SENSOR, "[BPC] X"); + + return rc; +} +#endif + +int cam_sensor_pre_apply_settings( + struct cam_sensor_ctrl_t *s_ctrl, + enum cam_sensor_packet_opcodes opcode) +{ + int rc = 0; + switch (opcode) { + case CAM_SENSOR_PACKET_OPCODE_SENSOR_STREAMOFF: { +#if defined(CONFIG_CAMERA_FRAME_CNT_CHECK) + cam_sensor_wait_stream_onoff(s_ctrl, true); +#endif + break; + } + case CAM_SENSOR_PACKET_OPCODE_SENSOR_STREAMON: { +#if defined(CONFIG_CAMERA_ADAPTIVE_MIPI) + rc = cam_sensor_apply_adaptive_mipi_settings(s_ctrl); +#endif + break; + } + case CAM_SENSOR_PACKET_OPCODE_SENSOR_INITIAL_CONFIG: + case CAM_SENSOR_PACKET_OPCODE_SENSOR_CONFIG: + case CAM_SENSOR_PACKET_OPCODE_SENSOR_UPDATE: + case CAM_SENSOR_PACKET_OPCODE_SENSOR_PROBE: + default: + return 0; + } + return rc; +} + +int cam_sensor_post_apply_settings( + struct cam_sensor_ctrl_t *s_ctrl, + enum cam_sensor_packet_opcodes opcode) +{ + int rc = 0; + + switch (opcode) { + case CAM_SENSOR_PACKET_OPCODE_SENSOR_STREAMOFF: { +#if defined(CONFIG_CAMERA_FRAME_CNT_CHECK) + cam_sensor_wait_stream_onoff(s_ctrl, false); +#endif + break; + } + case CAM_SENSOR_PACKET_OPCODE_SENSOR_STREAMON: + case CAM_SENSOR_PACKET_OPCODE_SENSOR_INITIAL_CONFIG: + case CAM_SENSOR_PACKET_OPCODE_SENSOR_CONFIG: + case CAM_SENSOR_PACKET_OPCODE_SENSOR_UPDATE: + case CAM_SENSOR_PACKET_OPCODE_SENSOR_PROBE: + default: + return 0; + } + return rc; +} extern struct completion *cam_sensor_get_i3c_completion(uint32_t index); @@ -163,7 +663,7 @@ static int cam_sensor_handle_res_info(struct cam_sensor_res_info *res_info, struct cam_sensor_ctrl_t *s_ctrl) { int rc = 0; - uint32_t idx = 0; + uint32_t idx = s_ctrl->last_updated_req % MAX_PER_FRAME_ARRAY; if (!s_ctrl || !res_info) { CAM_ERR(CAM_SENSOR, "Invalid params: res_info: %s, s_ctrl: %s", @@ -201,6 +701,31 @@ static int cam_sensor_handle_res_info(struct cam_sensor_res_info *res_info, s_ctrl->sensor_res[idx].width, s_ctrl->sensor_res[idx].height, s_ctrl->sensor_res[idx].caps, s_ctrl->sensor_res[idx].fps); +#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_TIMING) + { + static uint32_t old_shoot_md = 0; + static uint16_t old_res_idx = 0; + struct timespec64 curr_ts = { 0, }; + + CAM_GET_BOOT_TIMESTAMP(curr_ts); + + s_ctrl->camera_shooting_mode = res_info->shooting_mode; + if ((s_ctrl->camera_shooting_mode != old_shoot_md) || + (s_ctrl->sensor_res[idx].res_index != old_res_idx)) { + CAM_INFO(CAM_SENSOR, "[SEN_DBG]%s SHOOTING_MODE_%s res_id(%u) %d*%d fps(%d) reqId %lld ts(%llu.%llu)", + s_ctrl->sensor_name, + res_info->shooting_mode_name, + s_ctrl->sensor_res[idx].res_index, + s_ctrl->sensor_res[idx].width, s_ctrl->sensor_res[idx].height, + s_ctrl->sensor_res[idx].fps, + s_ctrl->sensor_res[idx].request_id, + curr_ts.tv_sec, curr_ts.tv_nsec / NSEC_PER_USEC); + old_shoot_md = s_ctrl->camera_shooting_mode; + old_res_idx = s_ctrl->sensor_res[idx].res_index; + } + } +#endif + return rc; } @@ -358,6 +883,13 @@ static int32_t cam_sensor_pkt_parse(struct cam_sensor_ctrl_t *s_ctrl, i2c_reg_settings->is_settings_valid = 1; break; } + case CAM_SENSOR_PACKET_OPCODE_SENSOR_MODE: { +#if defined(CONFIG_CAMERA_ADAPTIVE_MIPI) + CAM_DBG(CAM_SENSOR, "[AM_DBG] SENSOR_MODE : %d", csl_packet->header.request_id); + s_ctrl->sensor_mode = csl_packet->header.request_id; +#endif + break; + } case CAM_SENSOR_PACKET_OPCODE_SENSOR_READ: { i2c_reg_settings = &(i2c_data->read_settings); i2c_reg_settings->request_id = 0; @@ -572,6 +1104,31 @@ static int32_t cam_sensor_i2c_modes_util( uint32_t i, size; if (i2c_list->op_code == CAM_SENSOR_I2C_WRITE_RANDOM) { +#if defined(CONFIG_SAMSUNG_CAMERA) + struct cam_sensor_i2c_reg_array *reg_setting; + uint32_t i2c_size = 0, org_size = 0, offset = 0; + + if (i2c_list->i2c_settings.size > CCI_I2C_MAX_WRITE) { + reg_setting = i2c_list->i2c_settings.reg_setting; + org_size = i2c_list->i2c_settings.size; + + while(offset < org_size) { + i2c_list->i2c_settings.reg_setting = reg_setting + offset; + i2c_size = org_size - offset; + if (i2c_size > CCI_I2C_MAX_WRITE) + i2c_size = CCI_I2C_MAX_WRITE - 1; + i2c_list->i2c_settings.size = i2c_size; + rc = camera_io_dev_write(io_master_info, + &(i2c_list->i2c_settings)); + if (rc < 0) + break; + offset += i2c_size; + } + i2c_list->i2c_settings.reg_setting = reg_setting; + i2c_list->i2c_settings.size = org_size; + } + else +#endif rc = camera_io_dev_write(io_master_info, &(i2c_list->i2c_settings)); if (rc < 0) { @@ -592,6 +1149,18 @@ static int32_t cam_sensor_i2c_modes_util( return rc; } } else if (i2c_list->op_code == CAM_SENSOR_I2C_WRITE_BURST) { +#if defined(CONFIG_SAMSUNG_CAMERA) + if(io_master_info->master_type == CCI_MASTER && + i2c_list->i2c_settings.size > CHUNK_SIZE){ + rc = camera_io_dev_write_continuous_split(i2c_list,io_master_info); + if (rc < 0) { + CAM_ERR(CAM_SENSOR, + "Failed to CCI burst write split I2C settings: %d", + rc); + } + } + else { +#endif rc = camera_io_dev_write_continuous( io_master_info, &(i2c_list->i2c_settings), @@ -602,6 +1171,9 @@ static int32_t cam_sensor_i2c_modes_util( rc); return rc; } +#if defined(CONFIG_SAMSUNG_CAMERA) + } +#endif } else if (i2c_list->op_code == CAM_SENSOR_I2C_POLL) { size = i2c_list->i2c_settings.size; for (i = 0; i < size; i++) { @@ -762,12 +1334,36 @@ int32_t cam_handle_cmd_buffers_for_probe(void *cmd_buf, } } break; - +#if defined(CONFIG_SENSOR_RETENTION) case 2: { struct i2c_settings_array *i2c_reg_settings = NULL; struct i2c_data_settings *i2c_data = NULL; struct cam_buf_io_cfg *io_cfg = NULL; + CAM_DBG(CAM_SENSOR, "[RET_DBG] Receive Init Setting for booting"); + i2c_data = &(s_ctrl->i2c_data); + i2c_reg_settings = &i2c_data->init_settings; + i2c_reg_settings->request_id = 0; + i2c_reg_settings->is_settings_valid = 1; + rc = cam_sensor_i2c_command_parser(&s_ctrl->io_master_info, + i2c_reg_settings, cmd_desc, 1, io_cfg); + if (rc < 0) { + CAM_ERR(CAM_SENSOR, + "Failed in updating Init Setting for booting"); + return rc; + } + } + break; +#endif +#if defined(CONFIG_SENSOR_RETENTION) + case 3: { +#else + case 2: { +#endif + struct i2c_settings_array *i2c_reg_settings = NULL; + struct i2c_data_settings *i2c_data = NULL; + struct cam_buf_io_cfg *io_cfg = NULL; + CAM_DBG(CAM_SENSOR, "reg_bank unlock settings"); i2c_data = &(s_ctrl->i2c_data); i2c_reg_settings = &i2c_data->reg_bank_unlock_settings; @@ -781,7 +1377,11 @@ int32_t cam_handle_cmd_buffers_for_probe(void *cmd_buf, } } break; +#if defined(CONFIG_SENSOR_RETENTION) + case 4: { +#else case 3: { +#endif struct i2c_settings_array *i2c_reg_settings = NULL; struct i2c_data_settings *i2c_data = NULL; struct cam_buf_io_cfg *io_cfg = NULL; @@ -949,15 +1549,57 @@ void cam_sensor_shutdown(struct cam_sensor_ctrl_t *s_ctrl) &s_ctrl->sensordata->power_info; int rc = 0; +#if defined(CONFIG_CAMERA_FRAME_CNT_DBG) + cam_sensor_thread_destroy(s_ctrl); +#endif + if ((s_ctrl->sensor_state == CAM_SENSOR_INIT) && (s_ctrl->is_probe_succeed == 0)) return; + if(s_ctrl->sensor_state == CAM_SENSOR_START) { + CAM_INFO(CAM_SENSOR,"STREAM OFF and RETENTION state check before Powerdown to keep sensor in right state"); +#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_I2C) + if (to_dump_when_sof_freeze__sen_id == s_ctrl->sensordata->slave_info.sensor_id) { + cam_sensor_dbg_regdump(s_ctrl); + to_dump_when_sof_freeze__sen_id = 0; + } +#endif + +// Stream OFF start + if (s_ctrl->i2c_data.streamoff_settings.is_settings_valid && + (s_ctrl->i2c_data.streamoff_settings.request_id == 0)) { + rc = cam_sensor_apply_settings(s_ctrl, 0, + CAM_SENSOR_PACKET_OPCODE_SENSOR_STREAMOFF); + if (rc < 0) { + CAM_ERR(CAM_SENSOR, + "cannot apply streamoff settings for %s", + s_ctrl->sensor_name); + } + + CAM_INFO(CAM_SENSOR, "Applied stream off settings"); + } +//Stream OFF end + } + cam_sensor_release_stream_rsc(s_ctrl); cam_sensor_release_per_frame_resource(s_ctrl); +#if defined(CONFIG_SENSOR_RETENTION) + if (s_ctrl->retention_info.retention_support) + cam_sensor_util_retention_power_down(power_info, + &(s_ctrl->soc_info)); +#endif + if (s_ctrl->sensor_state != CAM_SENSOR_INIT) +#if defined(CONFIG_SENSOR_RETENTION) + { + s_ctrl->retention_info.retention_enter(s_ctrl); cam_sensor_power_down(s_ctrl); + } +#else + cam_sensor_power_down(s_ctrl); +#endif if (s_ctrl->bridge_intf.device_hdl != -1) { rc = cam_destroy_device_hdl(s_ctrl->bridge_intf.device_hdl); @@ -1060,6 +1702,125 @@ end: return rc; } +#if defined(CONFIG_SAMSUNG_SENSOR_TEMP) +void func0(struct cam_sensor_ctrl_t *s_ctrl) +{ + int rc = 0; + uint32_t v_i2c_num; + uint32_t v_addr; + uint32_t v_data; + enum camera_sensor_i2c_type v_addr_type; + enum camera_sensor_i2c_type v_data_type; + uint32_t v_i = 0, j; + + v_i2c_num = 2; + v_addr = 0x0; + v_data = 0x0; + v_addr_type = CAMERA_SENSOR_I2C_TYPE_WORD; + v_data_type = CAMERA_SENSOR_I2C_TYPE_WORD; + + for (v_i = 0; v_i < v_i2c_num; v_i++) + { + if (0 == v_i) + { + v_addr = 0x602C; + v_data = 0x4000; + CAM_ERR(CAM_SENSOR, "[TEMP_DBG] %d, %x, %x", v_i, v_addr, v_data); + } + else if (1 == v_i) + { + v_addr = 0x602E; + v_data = 0x0020; + CAM_ERR(CAM_SENSOR, "[TEMP_DBG] %d, %x, %x", v_i, v_addr, v_data); + } + else + { + v_addr_type = CAMERA_SENSOR_I2C_TYPE_INVALID; + CAM_ERR(CAM_SENSOR, "[TEMP_DBG] Never come here!!"); + } + + if (CAMERA_SENSOR_I2C_TYPE_INVALID != v_addr_type) + { + struct cam_sensor_i2c_reg_setting v_write_setting; + + CAM_ERR(CAM_SENSOR, "[TEMP_DBG] addr = 0x%x, data = 0x%x, addr_type = %d, data_type = %d", + v_addr, v_data, v_addr_type, v_data_type); + + v_write_setting.reg_setting = kmalloc(sizeof(struct cam_sensor_i2c_reg_array), GFP_KERNEL); + if (v_write_setting.reg_setting) { + memset(v_write_setting.reg_setting, 0, sizeof(struct cam_sensor_i2c_reg_array)); + + v_write_setting.addr_type = v_addr_type; + v_write_setting.data_type = v_data_type; + v_write_setting.delay = 0; + + v_write_setting.size = 1; + v_write_setting.reg_setting[0].reg_addr = v_addr; + v_write_setting.reg_setting[0].reg_data = v_data; + v_write_setting.reg_setting[0].delay = 0; + +#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_I2C) + if (debug_sensor_name[0]!='\0') { + + struct i2c_settings_list v_i2c_list; + + for (j = 0; j < v_write_setting.size; j++) { + v_i2c_list.i2c_settings.size = v_write_setting.size; + v_i2c_list.i2c_settings.addr_type = v_write_setting.addr_type; + v_i2c_list.i2c_settings.data_type = v_write_setting.data_type; + v_i2c_list.i2c_settings.delay = v_write_setting.delay; + v_i2c_list.i2c_settings.read_buff = NULL; + v_i2c_list.i2c_settings.read_buff_len = 0; + v_i2c_list.i2c_settings.reg_setting = v_write_setting.reg_setting; + } + cam_sensor_i2c_dump_util(s_ctrl, &v_i2c_list, i2c_debug_cnt); + } + //cam_sensor_dbg_detect_vc_change(s_ctrl, i2c_list); +#endif + rc = camera_io_dev_write(&s_ctrl->io_master_info, &v_write_setting); + if (rc < 0) { + CAM_ERR(CAM_SENSOR, "i2c byte write failed addr : 0x%x data : 0x%x", v_addr, v_data); + } + else { + CAM_DBG(CAM_SENSOR, "addr = 0x%x data: 0x%x", v_addr, v_data); + } + + kfree(v_write_setting.reg_setting); + } + } + } +} + + +void read_sensor_temperature(struct cam_sensor_ctrl_t *s_ctrl) +{ + int rc = 0; + uint8_t read_buff = 0; + uint32_t buff_length = 0; + uint32_t read_length = 0; + + enum camera_sensor_i2c_type v_addr_type = CAMERA_SENSOR_I2C_TYPE_WORD; + enum camera_sensor_i2c_type v_data_type = CAMERA_SENSOR_I2C_TYPE_BYTE; + + buff_length = 1; + read_length = 1; + + rc = camera_io_dev_read_seq( + &(s_ctrl->io_master_info), + 0x013a, + &read_buff, + v_addr_type, + v_data_type, + 1); + if (rc < 0) { + CAM_ERR(CAM_SENSOR, "failed: seq read I2C settings: %d", rc); + return; + } + + CAM_ERR(CAM_SENSOR, "IMX564 sensor temperature is %d", read_buff); +} +#endif + int32_t cam_sensor_driver_cmd(struct cam_sensor_ctrl_t *s_ctrl, void *arg) { @@ -1068,6 +1829,12 @@ int32_t cam_sensor_driver_cmd(struct cam_sensor_ctrl_t *s_ctrl, struct cam_sensor_power_ctrl_t *power_info = NULL; struct timespec64 ts; uint64_t ms, sec, min, hrs; +#if defined(CONFIG_SAMSUNG_READ_BPC_FROM_OTP) + uint32_t sensor_revision = 0; +#endif +#if defined(CONFIG_SAMSUNG_CAMERA) + int i = 0, retry = 3; +#endif if (!s_ctrl || !arg) { CAM_ERR(CAM_SENSOR, "s_ctrl is NULL"); @@ -1084,6 +1851,10 @@ int32_t cam_sensor_driver_cmd(struct cam_sensor_ctrl_t *s_ctrl, } } +#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_I2C) + s_ctrl->is_bubble_packet = false; +#endif + mutex_lock(&(s_ctrl->cam_sensor_mutex)); switch (cmd->op_code) { case CAM_SENSOR_PROBE_CMD: { @@ -1094,6 +1865,10 @@ int32_t cam_sensor_driver_cmd(struct cam_sensor_ctrl_t *s_ctrl, break; } +#if defined(CONFIG_USE_CAMERA_HW_BIG_DATA) + sec_sensor_position = s_ctrl->id; +#endif + if (cmd->handle_type == CAM_HANDLE_MEM_HANDLE) { rc = cam_handle_mem_ptr(cmd->handle, cmd->op_code, @@ -1144,6 +1919,10 @@ int32_t cam_sensor_driver_cmd(struct cam_sensor_ctrl_t *s_ctrl, ); goto free_power_settings; } +#if defined(CONFIG_SENSOR_RETENTION) + cam_sensor_util_retention_power_up(power_info, + &(s_ctrl->soc_info)); +#endif if (s_ctrl->i2c_data.reg_bank_unlock_settings.is_settings_valid) { rc = cam_sensor_apply_settings(s_ctrl, 0, @@ -1164,6 +1943,29 @@ int32_t cam_sensor_driver_cmd(struct cam_sensor_ctrl_t *s_ctrl, /* Match sensor ID */ rc = cam_sensor_match_id(s_ctrl); + +#if defined(CONFIG_SAMSUNG_READ_BPC_FROM_OTP) + if ((s_ctrl->sensordata->slave_info.sensor_id == S5KHP2_SENSOR_ID) && + cam_sensor_is_need_to_read_otp(s_ctrl, &sensor_revision)) + cam_sensor_read_bpc_from_otp(s_ctrl, sensor_revision); +#endif + +#if defined(CONFIG_SENSOR_RETENTION) + cam_sensor_get_retention_info(s_ctrl); + s_ctrl->retention_info.retention_init(s_ctrl); + if (s_ctrl->i2c_data.init_settings.is_settings_valid && + (s_ctrl->i2c_data.init_settings.request_id == 0)) { + rc = delete_request(&s_ctrl->i2c_data.init_settings); + if (rc < 0) { + CAM_ERR(CAM_SENSOR, + "%s: Fail in deleting the Init settings", + s_ctrl->sensor_name); + } + } + s_ctrl->retention_stream_on = false; +#endif + +#ifndef CONFIG_SAMSUNG_CAMERA if (rc < 0) { CAM_INFO(CAM_SENSOR, "Probe failed for %s slot:%d, slave_addr:0x%x, sensor_id:0x%x", @@ -1174,6 +1976,7 @@ int32_t cam_sensor_driver_cmd(struct cam_sensor_ctrl_t *s_ctrl, cam_sensor_power_down(s_ctrl); goto free_power_settings; } +#endif if (s_ctrl->i2c_data.reg_bank_lock_settings.is_settings_valid) { rc = cam_sensor_apply_settings(s_ctrl, 0, @@ -1192,6 +1995,16 @@ int32_t cam_sensor_driver_cmd(struct cam_sensor_ctrl_t *s_ctrl, } } +#if defined(CONFIG_USE_CAMERA_HW_BIG_DATA) + if (rc < 0) { + CAM_ERR(CAM_UTIL, "[HWB]failed rc %d\n", rc); + if (s_ctrl != NULL) { + hw_bigdata_i2c_from_sensor(s_ctrl); + } + } + hw_bigdata_update_cam_entrance_cnt(s_ctrl); +#endif + rc = cam_sensor_power_down(s_ctrl); if (rc < 0) { CAM_ERR(CAM_SENSOR, "Fail in %s sensor Power Down", @@ -1260,6 +2073,13 @@ int32_t cam_sensor_driver_cmd(struct cam_sensor_ctrl_t *s_ctrl, s_ctrl->bridge_intf.device_hdl = sensor_acq_dev.device_handle; s_ctrl->bridge_intf.session_hdl = sensor_acq_dev.session_handle; +#if defined(CONFIG_USE_CAMERA_HW_BIG_DATA) + if (MAX_CAMERAS > s_ctrl->id) { + sec_sensor_position = s_ctrl->id; + CAM_DBG(CAM_UTIL, "[HWB]sensor_position: %d", sec_sensor_position); + } +#endif + CAM_DBG(CAM_SENSOR, "%s Device Handle: %d", s_ctrl->sensor_name, sensor_acq_dev.device_handle); if (copy_to_user(u64_to_user_ptr(cmd->handle), @@ -1270,16 +2090,43 @@ int32_t cam_sensor_driver_cmd(struct cam_sensor_ctrl_t *s_ctrl, goto release_mutex; } - rc = cam_sensor_power_up(s_ctrl); - if (rc < 0) { - CAM_ERR(CAM_SENSOR, - "Sensor Power up failed for %s sensor_id:0x%x, slave_addr:0x%x", - s_ctrl->sensor_name, - s_ctrl->sensordata->slave_info.sensor_id, - s_ctrl->sensordata->slave_info.sensor_slave_addr - ); - goto release_mutex; +#if defined(CONFIG_SAMSUNG_CAMERA) + for (i = 0; i < retry; i++) { +#endif + rc = cam_sensor_power_up(s_ctrl); + if (rc < 0) { + CAM_ERR(CAM_SENSOR, + "Sensor Power up failed for %s sensor_id:0x%x, slave_addr:0x%x", + s_ctrl->sensor_name, + s_ctrl->sensordata->slave_info.sensor_id, + s_ctrl->sensordata->slave_info.sensor_slave_addr + ); + goto release_mutex; + } +#if defined(CONFIG_SAMSUNG_CAMERA) + /* Match sensor ID */ + rc = cam_sensor_match_id(s_ctrl); + if (rc == 0) + break; + else { + cam_sensor_power_down(s_ctrl); + msleep(20); + if (i < (retry - 1)) + continue; + s_ctrl->bridge_intf.device_hdl = -1; + s_ctrl->bridge_intf.link_hdl = -1; + s_ctrl->bridge_intf.session_hdl = -1; + goto release_mutex; + } } +#endif + + +#if defined(CONFIG_CAMERA_CDR_TEST) + if (cam_clock_data_recovery_is_requested()) { + cam_clock_data_recovery_get_timestamp(CDR_START_TS); + } +#endif s_ctrl->sensor_state = CAM_SENSOR_ACQUIRE; s_ctrl->last_flush_req = 0; @@ -1293,6 +2140,11 @@ int32_t cam_sensor_driver_cmd(struct cam_sensor_ctrl_t *s_ctrl, s_ctrl->sensor_name, s_ctrl->sensordata->slave_info.sensor_id, s_ctrl->sensordata->slave_info.sensor_slave_addr); + +#if defined(CONFIG_SENSOR_RETENTION) + s_ctrl->retention_info.retention_exit(s_ctrl); + s_ctrl->retention_stream_on = false; +#endif } break; case CAM_RELEASE_DEV: { @@ -1315,6 +2167,17 @@ int32_t cam_sensor_driver_cmd(struct cam_sensor_ctrl_t *s_ctrl, goto release_mutex; } +#if defined(CONFIG_USE_CAMERA_HW_BIG_DATA) + hw_bigdata_debug_info(); +#if defined(CONFIG_SAMSUNG_ACTUATOR_READ_HALL_VALUE) + hw_bigdata_hall_from_actuator(s_ctrl); +#endif +#endif + +#if defined(CONFIG_SENSOR_RETENTION) + s_ctrl->retention_info.retention_enter(s_ctrl); +#endif + rc = cam_sensor_power_down(s_ctrl); if (rc < 0) { CAM_ERR(CAM_SENSOR, @@ -1382,6 +2245,26 @@ int32_t cam_sensor_driver_cmd(struct cam_sensor_ctrl_t *s_ctrl, goto release_mutex; } +#if defined(CONFIG_CAMERA_FRAME_CNT_DBG) + // To print frame count, + // echo 1 > /sys/module/camera/parameters/frame_cnt_dbg + if (frame_cnt_dbg > 0) + { + rc = cam_sensor_thread_create(s_ctrl); + if (rc < 0) { + CAM_ERR(CAM_SENSOR, "Failed create sensor thread"); + goto release_mutex; + } + } +#endif + +#if defined(CONFIG_SAMSUNG_SENSOR_TEMP) + if (IMX564_SENSOR_ID == s_ctrl->sensordata->slave_info.sensor_id) + { + read_sensor_temperature(s_ctrl); + } +#endif + if (s_ctrl->i2c_data.streamon_settings.is_settings_valid && (s_ctrl->i2c_data.streamon_settings.request_id == 0)) { rc = cam_sensor_apply_settings(s_ctrl, 0, @@ -1392,6 +2275,9 @@ int32_t cam_sensor_driver_cmd(struct cam_sensor_ctrl_t *s_ctrl, s_ctrl->sensor_name); goto release_mutex; } +#if defined(CONFIG_SENSOR_RETENTION) + s_ctrl->retention_stream_on = true; +#endif } s_ctrl->sensor_state = CAM_SENSOR_START; @@ -1431,6 +2317,10 @@ int32_t cam_sensor_driver_cmd(struct cam_sensor_ctrl_t *s_ctrl, goto release_mutex; } +#if defined(CONFIG_CAMERA_FRAME_CNT_DBG) + cam_sensor_thread_destroy(s_ctrl); +#endif + rc = cam_sensor_stream_off(s_ctrl); if (rc) goto release_mutex; @@ -1454,6 +2344,25 @@ int32_t cam_sensor_driver_cmd(struct cam_sensor_ctrl_t *s_ctrl, pkt_opcode = CAM_SENSOR_PACKET_OPCODE_SENSOR_INITIAL_CONFIG; +#if defined(CONFIG_SENSOR_RETENTION) + if (disable_sensor_retention == false && + s_ctrl->retention_info.retention_support) { + if (s_ctrl->retention_checksum == true) + CAM_INFO(CAM_SENSOR, "[RET_DBG] Retention checksum pass, Skip write init"); + else { + CAM_INFO(CAM_SENSOR, "[RET_DBG] Retention checksum fail. Full reset."); + cam_sensor_util_retention_power_down(power_info, + &(s_ctrl->soc_info)); + cam_sensor_power_down(s_ctrl); + cam_sensor_power_up(s_ctrl); + cam_sensor_util_retention_power_up(power_info, + &(s_ctrl->soc_info)); + s_ctrl->retention_info.retention_init(s_ctrl); + s_ctrl->retention_info.retention_exit(s_ctrl); + } + } + else +#endif rc = cam_sensor_apply_settings(s_ctrl, 0, pkt_opcode); @@ -1471,6 +2380,16 @@ int32_t cam_sensor_driver_cmd(struct cam_sensor_ctrl_t *s_ctrl, } s_ctrl->i2c_data.init_settings.request_id = -1; +#if defined(CONFIG_USE_CAMERA_HW_BIG_DATA) + if (rc < 0) { + CAM_ERR(CAM_UTIL, "[HWB]failed rc %d\n", rc); + if (s_ctrl != NULL) { + hw_bigdata_i2c_from_sensor(s_ctrl); + } + } + hw_bigdata_update_eeprom_error_cnt(s_ctrl); + hw_bigdata_update_cam_entrance_cnt(s_ctrl); +#endif if (rc < 0) { CAM_ERR(CAM_SENSOR, "%s: cannot apply init settings rc= %d", @@ -1497,6 +2416,10 @@ int32_t cam_sensor_driver_cmd(struct cam_sensor_ctrl_t *s_ctrl, goto release_mutex; } +#if defined(CONFIG_SENSOR_RETENTION) + s_ctrl->retention_stream_on = false; +#endif + rc = cam_sensor_apply_settings(s_ctrl, 0, CAM_SENSOR_PACKET_OPCODE_SENSOR_CONFIG); @@ -1521,6 +2444,13 @@ int32_t cam_sensor_driver_cmd(struct cam_sensor_ctrl_t *s_ctrl, } if (s_ctrl->i2c_data.read_settings.is_settings_valid) { +#if defined(CONFIG_SAMSUNG_SENSOR_TEMP) + if (S5KHP2_SENSOR_ID == s_ctrl->sensordata->slave_info.sensor_id) + { + CAM_ERR(CAM_SENSOR, "type0"); + func0(s_ctrl); + } +#endif if (!s_ctrl->hw_no_ops) rc = cam_sensor_i2c_read_data( &s_ctrl->i2c_data.read_settings, @@ -1658,6 +2588,11 @@ int cam_sensor_power_up(struct cam_sensor_ctrl_t *s_ctrl) return -EINVAL; } +#if defined(CONFIG_USE_CAMERA_HW_BIG_DATA) + if (s_ctrl != NULL) { + hw_bigdata_init_mipi_param_sensor(s_ctrl); + } +#endif if (s_ctrl->hw_no_ops) return rc; @@ -1725,6 +2660,11 @@ int cam_sensor_power_down(struct cam_sensor_ctrl_t *s_ctrl) return -EINVAL; } +#if defined(CONFIG_USE_CAMERA_HW_BIG_DATA) + if (s_ctrl != NULL) { + hw_bigdata_deinit_mipi_param_sensor(s_ctrl); + } +#endif if (s_ctrl->hw_no_ops) return rc; @@ -1781,6 +2721,10 @@ int cam_sensor_apply_settings(struct cam_sensor_ctrl_t *s_ctrl, uint64_t top = 0, del_req_id = 0; struct i2c_settings_array *i2c_set = NULL; struct i2c_settings_list *i2c_list; +#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_I2C) + int32_t to_dbg_sen_id = -1; + e_sensor_reg_upd_event_type sen_upd_evt_type = e_sensor_upd_event_invalid; +#endif if (req_id == 0) { switch (opcode) { @@ -1816,8 +2760,17 @@ int cam_sensor_apply_settings(struct cam_sensor_ctrl_t *s_ctrl, return 0; } if (i2c_set->is_settings_valid == 1) { + cam_sensor_pre_apply_settings(s_ctrl, opcode); list_for_each_entry(i2c_list, &(i2c_set->list_head), list) { +#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_I2C) + if (debug_sensor_name[0]!='\0') { + cam_sensor_i2c_dump_util(s_ctrl, i2c_list, i2c_debug_cnt); + } + cam_sensor_parse_reg(s_ctrl, i2c_list, + &to_dbg_sen_id, + &sen_upd_evt_type); +#endif if (!s_ctrl->hw_no_ops) rc = cam_sensor_i2c_modes_util( &(s_ctrl->io_master_info), @@ -1829,6 +2782,10 @@ int cam_sensor_apply_settings(struct cam_sensor_ctrl_t *s_ctrl, return rc; } } + +#if defined(CONFIG_SAMSUNG_CAMERA) + cam_sensor_post_apply_settings(s_ctrl, opcode); +#endif } } else if (req_id > 0) { offset = req_id % MAX_PER_FRAME_ARRAY; @@ -1836,6 +2793,9 @@ int cam_sensor_apply_settings(struct cam_sensor_ctrl_t *s_ctrl, if (opcode == CAM_SENSOR_PACKET_OPCODE_SENSOR_FRAME_SKIP_UPDATE) i2c_set = s_ctrl->i2c_data.frame_skip; else if (opcode == CAM_SENSOR_PACKET_OPCODE_SENSOR_BUBBLE_UPDATE) { +#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_I2C) + s_ctrl->is_bubble_packet = true; +#endif i2c_set = s_ctrl->i2c_data.bubble_update; /* * If bubble update isn't valid, then we just use @@ -1849,8 +2809,20 @@ int cam_sensor_apply_settings(struct cam_sensor_ctrl_t *s_ctrl, if (i2c_set[offset].is_settings_valid == 1 && i2c_set[offset].request_id == req_id) { + if (opcode == CAM_SENSOR_PACKET_OPCODE_SENSOR_BUBBLE_UPDATE && + s_ctrl->sensordata->slave_info.sensor_id == 0x30a1) { + CAM_INFO(CAM_SENSOR, "Skip bubble request apply: %lld", req_id); + } else { list_for_each_entry(i2c_list, &(i2c_set[offset].list_head), list) { +#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_I2C) + if (debug_sensor_name[0] != '\0') { + cam_sensor_i2c_dump_util(s_ctrl, i2c_list, i2c_debug_cnt); + } + cam_sensor_parse_reg(s_ctrl, i2c_list, + &to_dbg_sen_id, + &sen_upd_evt_type); +#endif if (!s_ctrl->hw_no_ops) rc = cam_sensor_i2c_modes_util( &(s_ctrl->io_master_info), @@ -1863,6 +2835,7 @@ int cam_sensor_apply_settings(struct cam_sensor_ctrl_t *s_ctrl, } } CAM_DBG(CAM_SENSOR, "applied req_id: %llu", req_id); + } } else { CAM_DBG(CAM_SENSOR, "Invalid/NOP request to apply: %lld", req_id); @@ -1944,6 +2917,12 @@ int cam_sensor_apply_settings(struct cam_sensor_ctrl_t *s_ctrl, } } +#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_I2C) + if ((to_dbg_sen_id == s_ctrl->sensordata->slave_info.sensor_id) && + (sen_upd_evt_type != e_sensor_upd_event_invalid)) + cam_sensor_dbg_print_by_upd_type(s_ctrl, sen_upd_evt_type); +#endif + return rc; } @@ -2132,6 +3111,9 @@ int cam_sensor_process_evt(struct cam_req_mgr_link_evt_data *evt_data) { int rc = 0; struct cam_sensor_ctrl_t *s_ctrl = NULL; +#if defined(CONFIG_SOF_FREEZE_FRAME_CNT_READ) + uint32_t frame_cnt = 0; +#endif if (!evt_data) return -EINVAL; @@ -2172,6 +3154,25 @@ int cam_sensor_process_evt(struct cam_req_mgr_link_evt_data *evt_data) s_ctrl->sensor_name, CAM_BOOL_TO_YESNO(s_ctrl->stream_off_after_eof)); break; +#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_I2C) + case CAM_REQ_MGR_LINK_EVT_SOF_FREEZE: + case CAM_REQ_MGR_LINK_EVT_ERR: +#if defined(CONFIG_SOF_FREEZE_FRAME_CNT_READ) + rc = cam_sensor_read_frame_count(s_ctrl, &frame_cnt); + if (rc >= 0) + CAM_INFO(CAM_SENSOR, "[CNT_DBG][%s]: frame_cnt 0x%x",s_ctrl->sensor_name, frame_cnt); +#endif + CAM_INFO(CAM_SENSOR, "[FREEZE_DBG][%s] sof freeze proc_evt %d", s_ctrl->sensor_name, + evt_data->evt_type); + + if ((evt_data->u.error == CRM_KMD_ERR_BUBBLE) || + (evt_data->u.error == CRM_KMD_WARN_INTERNAL_RECOVERY)) { + CAM_INFO(CAM_SENSOR, "[FREEZE_DBG] calling cam_sensor_handle_aeb_bubble"); + cam_sensor_handle_aeb_bubble(s_ctrl); + } + to_dump_when_sof_freeze__sen_id = s_ctrl->sensordata->slave_info.sensor_id; + break; +#endif default: /* No handling */ break; @@ -2181,3 +3182,17 @@ int cam_sensor_process_evt(struct cam_req_mgr_link_evt_data *evt_data) return rc; } + +#if defined(CONFIG_USE_CAMERA_HW_BIG_DATA) +int msm_is_sec_get_sensor_position(uint32_t *cam_position) +{ + *cam_position = sec_sensor_position; + return 0; +} + +int msm_is_sec_get_sensor_comp_mode(uint32_t **sensor_clk_size) +{ + *sensor_clk_size = &sec_sensor_clk_size; + return 0; +} +#endif diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_core.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_core.h index 3553ce1002..0527e65d29 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_core.h +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_core.h @@ -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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_dev.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_dev.c index b02ef855e7..bbde2805ec 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_dev.c +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_dev.c @@ -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: diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_dev.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_dev.h index 1a09049bac..aa9b448e84 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_dev.h +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_dev.h @@ -25,6 +25,9 @@ #include #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 }; /** diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_imx854.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_imx854.c new file mode 100644 index 0000000000..b20936e6f5 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_imx854.c @@ -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 +#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, +}; diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_mipi.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_mipi.c new file mode 100644 index 0000000000..d3790badbb --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_mipi.c @@ -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 +#include +#include +#include +#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 diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_mipi.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_mipi.h new file mode 100644 index 0000000000..120eee151e --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_mipi.h @@ -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 */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_retention.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_retention.c new file mode 100644 index 0000000000..676f95bd62 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_retention.c @@ -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 +#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 +}; diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_retention.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_retention.h new file mode 100644 index 0000000000..9162ad69cd --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_retention.h @@ -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_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_s5kgn3.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_s5kgn3.c new file mode 100644 index 0000000000..86f2c8a54c --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_s5kgn3.c @@ -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 +#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, +}; diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_s5khp2.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_s5khp2.c new file mode 100644 index 0000000000..edacfccd81 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_s5khp2.c @@ -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 +#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, +}; diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_soc.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_soc.c index 4b8fe3762b..7b3077fb0d 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_soc.c +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_soc.c @@ -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; diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_thread.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_thread.c new file mode 100644 index 0000000000..73ded376db --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_thread.c @@ -0,0 +1,137 @@ +/* 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 +#include +#include +#include "cam_sensor_thread.h" +#include "cam_sensor_soc.h" +#include "cam_sensor_core.h" +#include "cam_sensor_util.h" +#include "cam_debug_util.h" + +/** + * cam_sensor_thread_func - create thread + * @data: ctrl structure + * + * Returns success or failure + */ +static int cam_sensor_thread_func(void *data) +{ + int rc = 0; + struct cam_sensor_ctrl_t *s_ctrl = NULL; + uint32_t frame_cnt = 0; + + if (!data) { + CAM_ERR(CAM_SENSOR, "Invalid Args"); + return -EINVAL; + } + + CAM_INFO(CAM_SENSOR, "E"); + + s_ctrl = (struct cam_sensor_ctrl_t *)data; + s_ctrl->is_thread_started = true; + + while (true) { + if (!s_ctrl->is_thread_started) { + CAM_INFO(CAM_SENSOR, "Thread is stopped"); + break; + } + + rc = camera_io_dev_read(&s_ctrl->io_master_info, 0x0005, + &frame_cnt, CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE, false); + if (rc < 0) { + CAM_ERR(CAM_SENSOR, "[CNT_DBG] sensor_id 0x%x Failed to read frame_cnt", + s_ctrl->sensordata->slave_info.sensor_id); + } + else { + CAM_INFO(CAM_SENSOR, "[CNT_DBG] sensor_id 0x%x frame_cnt 0x%x", + s_ctrl->sensordata->slave_info.sensor_id, frame_cnt); + } + msleep(33); + } + + CAM_INFO(CAM_SENSOR, "X"); + + return rc; +} + +/** + * cam_sensor_thread_create - create thread + * @s_ctrl: ctrl structure + * + * Returns success or failure + */ +int cam_sensor_thread_create(struct cam_sensor_ctrl_t *s_ctrl) +{ + int retries = 30; + + CAM_INFO(CAM_SENSOR, "E"); + + if (!s_ctrl) { + CAM_ERR(CAM_SENSOR, "Invalid Args"); + return -EINVAL; + } + + if (s_ctrl->is_thread_started) { + CAM_ERR(CAM_SENSOR, "Already started"); + return -EBUSY; + } + + s_ctrl->is_thread_started = false; + s_ctrl->sensor_thread = kthread_run(cam_sensor_thread_func, (void *)s_ctrl, "CAM_SENSOR"); + if (IS_ERR(s_ctrl->sensor_thread)) + return -EINVAL; + + while (s_ctrl->is_thread_started == false) { + usleep_range(2000, 3000); + if (retries < 0) { + CAM_ERR(CAM_SENSOR, "Fail to start thread"); + break; + } + retries--; + } + + CAM_INFO(CAM_SENSOR, "X"); + return 0; +} + +/** + * cam_sensor_thread_destroy - destroy thread + * @s_ctrl: ctrl structure + * + * Returns success or failure + */ +int cam_sensor_thread_destroy(struct cam_sensor_ctrl_t *s_ctrl) +{ + if (!s_ctrl) { + CAM_ERR(CAM_SENSOR, "Invalid Args"); + return -EINVAL; + } + + if (!s_ctrl->is_thread_started) { + CAM_DBG(CAM_SENSOR, "Thread is not started"); + return 0; + } + + CAM_INFO(CAM_SENSOR, "E"); + + s_ctrl->is_thread_started = false; + if (s_ctrl->sensor_thread) { + kthread_stop(s_ctrl->sensor_thread); + s_ctrl->sensor_thread = NULL; + } + + CAM_INFO(CAM_SENSOR, "X"); + + return 0; +} diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_thread.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_thread.h new file mode 100644 index 0000000000..e6f75f202d --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor/cam_sensor_thread.h @@ -0,0 +1,21 @@ +/* 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_THREAD_H_ +#define _CAM_SENSOR_THREAD_H_ + +#include "cam_sensor_dev.h" + +int cam_sensor_thread_create(struct cam_sensor_ctrl_t *o_ctrl); +int cam_sensor_thread_destroy(struct cam_sensor_ctrl_t *o_ctrl); + +#endif +/* _CAM_SENSOR_THREAD_H_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_io/cam_sensor_io.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_io/cam_sensor_io.c index ae4587ddf8..bec14c8b8f 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_io/cam_sensor_io.c +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_io/cam_sensor_io.c @@ -8,6 +8,30 @@ #include "cam_sensor_i2c.h" #include "cam_sensor_i3c.h" #include +#if defined(CONFIG_CAMERA_ADAPTIVE_MIPI) && defined(CONFIG_CAMERA_RF_MIPI) +#include "cam_sensor_mipi.h" +#endif +#if IS_ENABLED(CONFIG_SEC_ABC) +#include +#if defined(CONFIG_CAMERA_CDR_TEST) +#include "cam_clock_data_recovery.h" +#endif +#if defined(CONFIG_CAMERA_HW_ERROR_DETECT) && defined(CONFIG_CAMERA_ADAPTIVE_MIPI) && defined(CONFIG_CAMERA_RF_MIPI) +extern char rear_i2c_rfinfo[30]; +static void camera_io_rear_i2c_rfinfo(void) +{ + 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); + sprintf(rear_i2c_rfinfo, "%d,%d,%d\n", cell_infos.cell_list[0].rat, cell_infos.cell_list[0].band, cell_infos.cell_list[0].channel); +} +#endif +#endif int32_t camera_io_dev_poll(struct camera_io_master *io_master_info, uint32_t addr, uint16_t data, uint32_t data_mask, @@ -16,6 +40,7 @@ int32_t camera_io_dev_poll(struct camera_io_master *io_master_info, uint32_t delay_ms) { int16_t mask = data_mask & 0xFF; + int32_t rc = 0; if (!io_master_info) { CAM_ERR(CAM_SENSOR, "Invalid Args"); @@ -24,24 +49,46 @@ int32_t camera_io_dev_poll(struct camera_io_master *io_master_info, switch (io_master_info->master_type) { case CCI_MASTER: - return cam_cci_i2c_poll(io_master_info->cci_client, + rc = cam_cci_i2c_poll(io_master_info->cci_client, addr, data, mask, data_type, addr_type, delay_ms); + break; + case I2C_MASTER: - return cam_qup_i2c_poll(io_master_info->client, + rc = cam_qup_i2c_poll(io_master_info->client, addr, data, data_mask, addr_type, data_type, delay_ms); + break; + case I3C_MASTER: - return cam_qup_i3c_poll(io_master_info->i3c_client, + rc = cam_qup_i3c_poll(io_master_info->i3c_client, addr, data, data_mask, addr_type, data_type, delay_ms); + break; + default: + rc = -EINVAL; CAM_ERR(CAM_SENSOR, "Invalid Master Type: %d", io_master_info->master_type); + break; } - return -EINVAL; +#if IS_ENABLED(CONFIG_SEC_ABC) + if (rc < 0) { +#if defined(CONFIG_CAMERA_HW_ERROR_DETECT) && defined(CONFIG_CAMERA_ADAPTIVE_MIPI) && defined(CONFIG_CAMERA_RF_MIPI) + camera_io_rear_i2c_rfinfo(); +#endif + sec_abc_send_event("MODULE=camera@WARN=i2c_fail"); +#if defined(CONFIG_CAMERA_CDR_TEST) + cam_clock_data_recovery_set_result(CDR_ERROR_I2C); +#endif + } +#endif + + return rc; } int32_t camera_io_dev_erase(struct camera_io_master *io_master_info, uint32_t addr, uint32_t size) { + int32_t rc = 0; + if (!io_master_info) { CAM_ERR(CAM_SENSOR, "Invalid Args"); return -EINVAL; @@ -53,18 +100,36 @@ int32_t camera_io_dev_erase(struct camera_io_master *io_master_info, switch (io_master_info->master_type) { case SPI_MASTER: CAM_DBG(CAM_SENSOR, "Calling SPI Erase"); - return cam_spi_erase(io_master_info, addr, CAMERA_SENSOR_I2C_TYPE_WORD, size); + rc = cam_spi_erase(io_master_info, addr, CAMERA_SENSOR_I2C_TYPE_WORD, size); + break; + case I2C_MASTER: case CCI_MASTER: case I3C_MASTER: CAM_ERR(CAM_SENSOR, "Erase not supported on Master Type: %d", io_master_info->master_type); - return -EINVAL; + rc = -EINVAL; + break; + default: + rc = -EINVAL; CAM_ERR(CAM_SENSOR, "Invalid Master Type: %d", io_master_info->master_type); + break; } - return -EINVAL; +#if IS_ENABLED(CONFIG_SEC_ABC) + if (rc < 0) { +#if defined(CONFIG_CAMERA_HW_ERROR_DETECT) && defined(CONFIG_CAMERA_ADAPTIVE_MIPI) && defined(CONFIG_CAMERA_RF_MIPI) + camera_io_rear_i2c_rfinfo(); +#endif + sec_abc_send_event("MODULE=camera@WARN=i2c_fail"); +#if defined(CONFIG_CAMERA_CDR_TEST) + cam_clock_data_recovery_set_result(CDR_ERROR_I2C); +#endif + } +#endif + + return rc; } int32_t camera_io_dev_read(struct camera_io_master *io_master_info, @@ -73,6 +138,8 @@ int32_t camera_io_dev_read(struct camera_io_master *io_master_info, enum camera_sensor_i2c_type data_type, bool is_probing) { + int32_t rc = 0; + if (!io_master_info) { CAM_ERR(CAM_SENSOR, "Invalid Args"); return -EINVAL; @@ -80,21 +147,43 @@ int32_t camera_io_dev_read(struct camera_io_master *io_master_info, switch (io_master_info->master_type) { case SPI_MASTER: - return cam_spi_read(io_master_info, addr, data, addr_type, data_type); + rc = cam_spi_read(io_master_info, addr, data, addr_type, data_type); + break; + case I2C_MASTER: - return cam_qup_i2c_read(io_master_info->client, + rc = cam_qup_i2c_read(io_master_info->client, addr, data, addr_type, data_type); + break; + case CCI_MASTER: - return cam_cci_i2c_read(io_master_info->cci_client, + rc = cam_cci_i2c_read(io_master_info->cci_client, addr, data, addr_type, data_type, is_probing); + break; + case I3C_MASTER: - return cam_qup_i3c_read(io_master_info->i3c_client, + rc = cam_qup_i3c_read(io_master_info->i3c_client, addr, data, addr_type, data_type); + break; + default: + rc = -EINVAL; CAM_ERR(CAM_SENSOR, "Invalid Master Type: %d", io_master_info->master_type); + break; } - return -EINVAL; +#if IS_ENABLED(CONFIG_SEC_ABC) + if (rc < 0) { +#if defined(CONFIG_CAMERA_HW_ERROR_DETECT) && defined(CONFIG_CAMERA_ADAPTIVE_MIPI) && defined(CONFIG_CAMERA_RF_MIPI) + camera_io_rear_i2c_rfinfo(); +#endif + sec_abc_send_event("MODULE=camera@WARN=i2c_fail"); +#if defined(CONFIG_CAMERA_CDR_TEST) + cam_clock_data_recovery_set_result(CDR_ERROR_I2C); +#endif + } +#endif + + return rc; } int32_t camera_io_dev_read_seq(struct camera_io_master *io_master_info, @@ -102,28 +191,54 @@ int32_t camera_io_dev_read_seq(struct camera_io_master *io_master_info, enum camera_sensor_i2c_type addr_type, enum camera_sensor_i2c_type data_type, int32_t num_bytes) { + int32_t rc = 0; + switch (io_master_info->master_type) { case CCI_MASTER: - return cam_camera_cci_i2c_read_seq(io_master_info->cci_client, + rc = cam_camera_cci_i2c_read_seq(io_master_info->cci_client, addr, data, addr_type, data_type, num_bytes); + break; + case I2C_MASTER: - return cam_qup_i2c_read_seq(io_master_info->client, + rc = cam_qup_i2c_read_seq(io_master_info->client, addr, data, addr_type, num_bytes); + break; + case SPI_MASTER: - return cam_spi_read_seq(io_master_info, addr, data, addr_type, num_bytes); + rc = cam_spi_read_seq(io_master_info, addr, data, addr_type, num_bytes); + break; + case I3C_MASTER: - return cam_qup_i3c_read_seq(io_master_info->i3c_client, + rc = cam_qup_i3c_read_seq(io_master_info->i3c_client, addr, data, addr_type, num_bytes); + break; + default: + rc = -EINVAL; CAM_ERR(CAM_SENSOR, "Invalid Master Type: %d", io_master_info->master_type); + break; } - return -EINVAL; +#if IS_ENABLED(CONFIG_SEC_ABC) + if (rc < 0) { +#if defined(CONFIG_CAMERA_HW_ERROR_DETECT) && defined(CONFIG_CAMERA_ADAPTIVE_MIPI) && defined(CONFIG_CAMERA_RF_MIPI) + camera_io_rear_i2c_rfinfo(); +#endif + sec_abc_send_event("MODULE=camera@WARN=i2c_fail"); +#if defined(CONFIG_CAMERA_CDR_TEST) + cam_clock_data_recovery_set_result(CDR_ERROR_I2C); +#endif + } +#endif + + return rc; } int32_t camera_io_dev_write(struct camera_io_master *io_master_info, struct cam_sensor_i2c_reg_setting *write_setting) { + int32_t rc = 0; + if (!write_setting || !io_master_info) { CAM_ERR(CAM_SENSOR, "Input parameters not valid ws: %pK ioinfo: %pK", @@ -138,24 +253,48 @@ int32_t camera_io_dev_write(struct camera_io_master *io_master_info, switch (io_master_info->master_type) { case CCI_MASTER: - return cam_cci_i2c_write_table(io_master_info, write_setting); + rc = cam_cci_i2c_write_table(io_master_info, write_setting); + break; + case I2C_MASTER: - return cam_qup_i2c_write_table(io_master_info, write_setting); + rc = cam_qup_i2c_write_table(io_master_info, write_setting); + break; + case SPI_MASTER: - return cam_spi_write_table(io_master_info, write_setting); + rc = cam_spi_write_table(io_master_info, write_setting); + break; + case I3C_MASTER: - return cam_qup_i3c_write_table(io_master_info, write_setting); + rc = cam_qup_i3c_write_table(io_master_info, write_setting); + break; + default: + rc = -EINVAL; CAM_ERR(CAM_SENSOR, "Invalid Master Type:%d", io_master_info->master_type); + break; } - return -EINVAL; +#if IS_ENABLED(CONFIG_SEC_ABC) + if (rc < 0) { +#if defined(CONFIG_CAMERA_HW_ERROR_DETECT) && defined(CONFIG_CAMERA_ADAPTIVE_MIPI) && defined(CONFIG_CAMERA_RF_MIPI) + camera_io_rear_i2c_rfinfo(); +#endif + sec_abc_send_event("MODULE=camera@WARN=i2c_fail"); +#if defined(CONFIG_CAMERA_CDR_TEST) + cam_clock_data_recovery_set_result(CDR_ERROR_I2C); +#endif + } +#endif + + return rc; } int32_t camera_io_dev_write_continuous(struct camera_io_master *io_master_info, struct cam_sensor_i2c_reg_setting *write_setting, uint8_t cam_sensor_i2c_write_flag) { + int32_t rc = 0; + if (!write_setting || !io_master_info) { CAM_ERR(CAM_SENSOR, "Input parameters not valid ws: %pK ioinfo: %pK", @@ -170,21 +309,43 @@ int32_t camera_io_dev_write_continuous(struct camera_io_master *io_master_info, switch (io_master_info->master_type) { case CCI_MASTER: - return cam_cci_i2c_write_continuous_table(io_master_info, + rc = cam_cci_i2c_write_continuous_table(io_master_info, write_setting, cam_sensor_i2c_write_flag); + break; + case I2C_MASTER: - return cam_qup_i2c_write_continuous_table(io_master_info, + rc = cam_qup_i2c_write_continuous_table(io_master_info, write_setting, cam_sensor_i2c_write_flag); + break; + case SPI_MASTER: - return cam_spi_write_table(io_master_info, write_setting); + rc = cam_spi_write_table(io_master_info, write_setting); + break; + case I3C_MASTER: - return cam_qup_i3c_write_continuous_table(io_master_info, + rc = cam_qup_i3c_write_continuous_table(io_master_info, write_setting, cam_sensor_i2c_write_flag); + break; + default: + rc = -EINVAL; CAM_ERR(CAM_SENSOR, "Invalid Master Type:%d", io_master_info->master_type); + break; } - return -EINVAL; +#if IS_ENABLED(CONFIG_SEC_ABC) + if (rc < 0) { +#if defined(CONFIG_CAMERA_HW_ERROR_DETECT) && defined(CONFIG_CAMERA_ADAPTIVE_MIPI) && defined(CONFIG_CAMERA_RF_MIPI) + camera_io_rear_i2c_rfinfo(); +#endif + sec_abc_send_event("MODULE=camera@WARN=i2c_fail"); +#if defined(CONFIG_CAMERA_CDR_TEST) + cam_clock_data_recovery_set_result(CDR_ERROR_I2C); +#endif + } +#endif + + return rc; } int32_t camera_io_init(struct camera_io_master *io_master_info) @@ -200,7 +361,9 @@ int32_t camera_io_init(struct camera_io_master *io_master_info) case CCI_MASTER: io_master_info->cci_client->cci_subdev = cam_cci_get_subdev( io_master_info->cci_client->cci_device); - return cam_sensor_cci_i2c_util(io_master_info->cci_client, MSM_CCI_INIT); + rc = cam_sensor_cci_i2c_util(io_master_info->cci_client, MSM_CCI_INIT); + break; + case I2C_MASTER: case I3C_MASTER: if ((io_master_info->client != NULL) && @@ -213,17 +376,38 @@ int32_t camera_io_init(struct camera_io_master *io_master_info) return -EINVAL; } } - return 0; + rc = 0; + break; + case SPI_MASTER: return 0; + rc = 0; + break; + default: + rc = -EINVAL; CAM_ERR(CAM_SENSOR, "Invalid Master Type:%d", io_master_info->master_type); + break; } - return -EINVAL; +#if IS_ENABLED(CONFIG_SEC_ABC) + if (rc < 0) { +#if defined(CONFIG_CAMERA_HW_ERROR_DETECT) && defined(CONFIG_CAMERA_ADAPTIVE_MIPI) && defined(CONFIG_CAMERA_RF_MIPI) + camera_io_rear_i2c_rfinfo(); +#endif + sec_abc_send_event("MODULE=camera@WARN=i2c_fail"); +#if defined(CONFIG_CAMERA_CDR_TEST) + cam_clock_data_recovery_set_result(CDR_ERROR_I2C); +#endif + } +#endif + + return rc; } int32_t camera_io_release(struct camera_io_master *io_master_info) { + int32_t rc = 0; + if (!io_master_info) { CAM_ERR(CAM_SENSOR, "Invalid Args"); return -EINVAL; @@ -231,7 +415,9 @@ int32_t camera_io_release(struct camera_io_master *io_master_info) switch (io_master_info->master_type) { case CCI_MASTER: - return cam_sensor_cci_i2c_util(io_master_info->cci_client, MSM_CCI_RELEASE); + rc = cam_sensor_cci_i2c_util(io_master_info->cci_client, MSM_CCI_RELEASE); + break; + case I2C_MASTER: case I3C_MASTER: if ((io_master_info->client != NULL) && @@ -240,11 +426,109 @@ int32_t camera_io_release(struct camera_io_master *io_master_info) __func__, __LINE__); pm_runtime_put_sync(io_master_info->client->adapter->dev.parent); } - return 0; + rc = 0; + break; + case SPI_MASTER: return 0; + rc = 0; + break; + default: + rc = -EINVAL; CAM_ERR(CAM_SENSOR, "Invalid Master Type:%d", io_master_info->master_type); + break; } - return -EINVAL; +#if IS_ENABLED(CONFIG_SEC_ABC) + if (rc < 0) { +#if defined(CONFIG_CAMERA_HW_ERROR_DETECT) && defined(CONFIG_CAMERA_ADAPTIVE_MIPI) && defined(CONFIG_CAMERA_RF_MIPI) + camera_io_rear_i2c_rfinfo(); +#endif + sec_abc_send_event("MODULE=camera@WARN=i2c_fail"); +#if defined(CONFIG_CAMERA_CDR_TEST) + cam_clock_data_recovery_set_result(CDR_ERROR_I2C); +#endif + } +#endif + + return rc; } + +#if defined(CONFIG_SAMSUNG_CAMERA) +#define INDIRECT_ADDR_INVALID 0xFFFF +#define INDIRECT_ADDR_LSI 0x6F12 +int camera_io_get_indirect_address(struct cam_sensor_ctrl_t *s_ctrl) +{ + int sensor_id = s_ctrl->sensordata->slave_info.sensor_id; + uint32_t indirect_addr = INDIRECT_ADDR_INVALID; + + CAM_DBG(CAM_SENSOR, "sensor id %d", sensor_id); + switch (sensor_id) { + case SENSOR_ID_IMX258: + case SENSOR_ID_IMX374: + case SENSOR_ID_IMX471: + case SENSOR_ID_IMX564: + case SENSOR_ID_IMX754: + case SENSOR_ID_IMX854: + case SENSOR_ID_IMX596: + break; + case SENSOR_ID_S5K2LD: + case SENSOR_ID_S5K3J1: + case SENSOR_ID_S5K3K1: + case SENSOR_ID_S5K3LU: + case SENSOR_ID_S5KGN3: + case SENSOR_ID_S5KHP2: + indirect_addr = INDIRECT_ADDR_LSI; + break; + default: + CAM_ERR(CAM_SENSOR,"Invaild Sensor id : %d",sensor_id); + break; + } + return indirect_addr; +} + +int camera_io_dev_write_continuous_split(struct i2c_settings_list *i2c_list, + struct camera_io_master *io_master_info) +{ + int rc = 0,i , k , chunk_num,start_addr; + struct i2c_settings_list *i2c_list_chunk; + struct i2c_settings_list chunk; + struct cam_sensor_ctrl_t *s_ctrl = container_of(io_master_info, struct cam_sensor_ctrl_t, io_master_info); + uint32_t indirect_addr = camera_io_get_indirect_address(s_ctrl); + + i2c_list_chunk = &chunk; + memcpy(i2c_list_chunk, i2c_list,sizeof(struct i2c_settings_list)); + chunk_num = (i2c_list->i2c_settings.size + CHUNK_SIZE - 1) / CHUNK_SIZE; + start_addr = i2c_list->i2c_settings.reg_setting->reg_addr; + for(i = 0; i < chunk_num; i++) { + i2c_list_chunk->i2c_settings.reg_setting = + &i2c_list->i2c_settings.reg_setting[i * CHUNK_SIZE]; + i2c_list_chunk->i2c_settings.size = CHUNK_SIZE; + if(i == (i2c_list->i2c_settings.size / CHUNK_SIZE)) + i2c_list_chunk->i2c_settings.size = i2c_list->i2c_settings.size % CHUNK_SIZE; + + if((indirect_addr == INDIRECT_ADDR_INVALID) || // Sensor doesn't support indirect mode + (indirect_addr != start_addr)) { // Use direct mode even if sensor supports indirect mode + i2c_list_chunk->i2c_settings.reg_setting->reg_addr = start_addr + (CHUNK_SIZE * i); + for(k = 1; k < i2c_list_chunk->i2c_settings.size; k++) + i2c_list_chunk->i2c_settings.reg_setting[k].reg_addr = i2c_list_chunk->i2c_settings.reg_setting[0].reg_addr; + } + CAM_DBG(CAM_SENSOR, "Split start addr : 0x%04X , data : 0x%04X ,size : %d", + i2c_list_chunk->i2c_settings.reg_setting->reg_addr, + i2c_list_chunk->i2c_settings.reg_setting->reg_data, + i2c_list_chunk->i2c_settings.size); + rc = camera_io_dev_write_continuous( + io_master_info, + &(i2c_list_chunk->i2c_settings), + CAM_SENSOR_I2C_WRITE_BURST); + if (rc < 0) { + CAM_ERR(CAM_SENSOR, + "Failed to burst write I2C settings: %d", + rc); + return rc; + } + + } + return rc; +} +#endif diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_io/cam_sensor_io.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_io/cam_sensor_io.h index ab7b6159ec..739c000fea 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_io/cam_sensor_io.h +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_io/cam_sensor_io.h @@ -121,4 +121,9 @@ int32_t camera_io_dev_poll(struct camera_io_master *io_master_info, #include "cam_sensor_spi.h" #include "cam_sensor_i3c.h" +#if defined(CONFIG_SAMSUNG_CAMERA) +#define CHUNK_SIZE 200 +int camera_io_dev_write_continuous_split(struct i2c_settings_list *i2c_list, + struct camera_io_master *io_master_info); +#endif #endif /* _CAM_SENSOR_IO_H_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_clock_data_recovery.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_clock_data_recovery.c new file mode 100644 index 0000000000..31314f2007 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_clock_data_recovery.c @@ -0,0 +1,153 @@ +// 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_clock_data_recovery.h" + +struct cam_clock_data_recovery_info cdr_info; + +int cam_clock_data_recovery_write_register(void __iomem *csiphybase) +{ + int i, j, k; + int str_idx; + int len = 0; + int count[10] = { 0, }; + int count_idx = 0; + int cdr_num[10][10] = { 0, }; + int final_num[10] = { 0, }; + int dphy_delay_addr[4] = { 0x000, 0x400, 0x800, 0xc00 }; + + len = strlen(cdr_info.value); + + CAM_INFO(CAM_UTIL, "[CDR_DBG] input: %s", cdr_info.value); + sprintf(cdr_info.result, "%s\n", ""); + + for (str_idx = 0; str_idx < len - 1; str_idx++) + { + if (count_idx > 9) + { + CAM_ERR(CAM_UTIL, "[CDR_DBG] input value overflow"); + return 0; + } + + if (cdr_info.value[str_idx] != ',') + { + if (count[count_idx] > 9) + { + CAM_ERR(CAM_UTIL, "[CDR_DBG] input value overflow"); + return 0; + } + + if (cdr_info.value[str_idx] >= 'a' && cdr_info.value[str_idx] <= 'f') + { + cdr_num[count_idx][count[count_idx]] = cdr_info.value[str_idx] - 'W'; + count[count_idx]++; + } + else if (cdr_info.value[str_idx] >= 'A' && cdr_info.value[str_idx] <= 'F') + { + cdr_num[count_idx][count[count_idx]] = cdr_info.value[str_idx] - '7'; + count[count_idx]++; + } + else if (cdr_info.value[str_idx] >= '0' && cdr_info.value[str_idx] <= '9') + { + cdr_num[count_idx][count[count_idx]] = cdr_info.value[str_idx] - '0'; + count[count_idx]++; + } + else + { + CAM_ERR(CAM_UTIL, "[CDR_DBG] invalid input value"); + return 0; + } + } + else + { + count_idx++; + } + } + + for (i = 0; i <= count_idx; i++) + { + for (j = 0; j < count[i]; j++) + { + int temp = 1; + for (k = count[i] - 1; k > j; k--) + temp = temp * 16; + final_num[i] += temp * cdr_num[i][j]; + } + } + + for (i = 0; i < 9; i += 3) { + cam_io_w_mb(final_num[i+1], + csiphybase + final_num[i]); + + if (final_num[i+2]) + usleep_range(final_num[i+2], final_num[i+2] + 5); + + CAM_INFO(CAM_UTIL, "[CDR_DBG] Offset: 0x%x, Val: 0x%x Delay(us): %u", + final_num[i], + cam_io_r_mb(csiphybase + final_num[i]), + final_num[i+2]); + } + + for (i = 0; i < 4; i++) { + cam_io_w_mb(final_num[1], + csiphybase + dphy_delay_addr[i]); + + if (final_num[2]) + usleep_range(final_num[2], final_num[2] + 5); + + CAM_INFO(CAM_UTIL, "[CDR_DBG] DPHY Offset: 0x%x, Val: 0x%x Delay(us): %u", + dphy_delay_addr[i], + cam_io_r_mb(csiphybase + dphy_delay_addr[i]), + final_num[2]); + } + + return 1; +} + +void cam_clock_data_recovery_set_value(const char* buf) +{ + cdr_info.is_requested = 1; + scnprintf(cdr_info.value, sizeof(cdr_info.value), "%s", buf); +} + +char* cam_clock_data_recovery_get_value(void) +{ + return cdr_info.value; +} + +void cam_clock_data_recovery_set_result(enum cam_clock_data_recovery_error error_type) +{ + cam_clock_data_recovery_get_timestamp(CDR_END_TS); + sprintf(cdr_info.result, "%d,%lld\n", error_type, cdr_info.timestamp[CDR_END_TS]-cdr_info.timestamp[CDR_START_TS]); + CAM_INFO(CAM_UTIL, "[CDR_DBG] %s, time(ms): %llu", + ((error_type == 0) ? "mipi_overflow" : "i2c_fail"), cdr_info.timestamp[CDR_END_TS]-cdr_info.timestamp[CDR_START_TS]); +} + +char* cam_clock_data_recovery_get_result(void) +{ + return cdr_info.result; +} + +void cam_clock_data_recovery_reset_result(const char* buf) +{ + scnprintf(cdr_info.result, sizeof(cdr_info.result), "%s", buf); +} + +int cam_clock_data_recovery_is_requested(void) +{ + return cdr_info.is_requested; +} + +void cam_clock_data_recovery_reset_request(void) +{ + cdr_info.is_requested = 0; +} + +void cam_clock_data_recovery_get_timestamp(enum cam_clock_data_recovery_timestamp type) +{ + cdr_info.timestamp[type] = ktime_get(); + cdr_info.timestamp[type] = cdr_info.timestamp[type] / 1000 / 1000; +} diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_clock_data_recovery.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_clock_data_recovery.h new file mode 100644 index 0000000000..78159c94c7 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_clock_data_recovery.h @@ -0,0 +1,46 @@ +/* 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. + */ + +#include "cam_sensor_dev.h" +#include + +#ifndef _CAM_CDR_TEST_UTIL_H_ +#define _CAM_CDR_TEST_UTIL_H_ + +struct cam_clock_data_recovery_info { + int is_requested; + uint64_t timestamp[2]; + char value[50]; + char result[40]; +}; + +enum cam_clock_data_recovery_error { + CDR_ERROR_MIPI = 0, + CDR_ERROR_I2C, + MAX_CDR_ERROR, +}; + +enum cam_clock_data_recovery_timestamp { + CDR_START_TS = 0, + CDR_END_TS, + MAX_CDR_TS, +}; + +int cam_clock_data_recovery_write_register(void __iomem *csiphybase); + +void cam_clock_data_recovery_set_value(const char* buf); +char* cam_clock_data_recovery_get_value(void); + +void cam_clock_data_recovery_set_result(enum cam_clock_data_recovery_error error_type); +char* cam_clock_data_recovery_get_result(void); +void cam_clock_data_recovery_reset_result(const char* buf); + +int cam_clock_data_recovery_is_requested(void); +void cam_clock_data_recovery_reset_request(void); +void cam_clock_data_recovery_get_timestamp(enum cam_clock_data_recovery_timestamp type); + + +#endif /* _CAM_CDR_TEST_UTIL_H_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_hw_bigdata.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_hw_bigdata.c new file mode 100644 index 0000000000..a390b795dc --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_hw_bigdata.c @@ -0,0 +1,654 @@ +// 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_hw_bigdata.h" + +#define REAR_OIS_X_Y_ERR_REG 0x0600 +#define REAR3_OIS_X_Y_ERR_REG 0x1800 +#define REAR4_OIS_X_Y_ERR_REG 0x6000 + +static struct hw_param_collector hwparam_collector; +static struct hw_param_collector hwparam_collector_static; + +#if defined(CONFIG_SAMSUNG_ACTUATOR_READ_HALL_VALUE) +extern char hall_info[INDEX_MAX][30]; +#endif +extern char wifi_info[128]; +char af_info_value[30] = { 0, }; + +char hwparam_str[MAX_HW_PARAM_ID][MAX_HW_PARAM_INFO][MAX_HW_PARAM_STR_LEN] = + {{ "CAMIR_ID", "I2CR_AF", "I2CR_OIS", "I2CR_SEN", "MIPIR_SEN", "MIPIR_INFO", "I2CR_EEP", "CRCR_EEP", "CAMR_CNT", "WIFIR_INFO", "AFR_FAIL", "AFR_INFO"}, + { "CAMIR2_ID", "I2CR2_AF", "I2CR2_OIS", "I2CR2_SEN", "MIPIR2_SEN", "MIPIR2_INFO", "I2CR2_EEP", "CRCR2_EEP", "CAMR2_CNT", "WIFIR2_INFO", "AFR2_FAIL", "AFR2_INFO"}, + { "CAMIR3_ID", "I2CR3_AF", "I2CR3_OIS", "I2CR3_SEN", "MIPIR3_SEN", "MIPIR3_INFO", "I2CR3_EEP", "CRCR3_EEP", "CAMR3_CNT", "WIFIR3_INFO", "AFR3_FAIL", "AFR3_INFO"}, + { "CAMIR4_ID", "I2CR4_AF", "I2CR4_OIS", "I2CR4_SEN", "MIPIR4_SEN", "MIPIR4_INFO", "I2CR4_EEP", "CRCR4_EEP", "CAMR4_CNT", "WIFIR4_INFO", "AFR4_FAIL", "AFR4_INFO"}, + { "CAMIF_ID", "I2CF_AF", "I2CF_OIS", "I2CF_SEN", "MIPIF_SEN", "MIPIF_INFO", "I2CF_EEP", "CRCF_EEP", "CAMF_CNT", "WIFIF_INFO", "AFF_FAIL", "AFF_INFO"}, + { "CAMIF2_ID", "I2CF2_AF", "I2CF2_OIS", "I2CF2_SEN", "MIPIF2_SEN", "MIPIF2_INFO", "I2CF2_EEP", "CRCF2_EEP", "CAMF2_CNT", "WIFIF2_INFO", "AFF2_FAIL", "AFF2_INFO"}, + { "CAMIF2_ID", "I2CF2_AF", "I2CF2_OIS", "I2CF2_SEN", "MIPIF2_SEN", "MIPIF2_INFO", "I2CF2_EEP", "CRCF2_EEP", "CAMF2_CNT", "WIFIF2_INFO", "AFF2_FAIL", "AFF2_INFO"},}; + +int hw_bigdata_get_hw_param_id(uint32_t camera_id) +{ + uint32_t hw_param_id = MAX_HW_PARAM_ID; + + switch (camera_id) { + case SEC_WIDE_SENSOR: + hw_param_id = HW_PARAM_REAR; + scnprintf(hwparam_collector.camera_info, sizeof(hwparam_collector.camera_info), "%s", "Rear"); + break; +#if defined(CONFIG_SAMSUNG_REAR_DUAL) || defined(CONFIG_SAMSUNG_REAR_TRIPLE) + case SEC_ULTRA_WIDE_SENSOR: + hw_param_id = HW_PARAM_REAR2; + scnprintf(hwparam_collector.camera_info, sizeof(hwparam_collector.camera_info), "%s", "Rear2"); + break; +#endif +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) + case SEC_TELE_SENSOR: + hw_param_id = HW_PARAM_REAR3; + scnprintf(hwparam_collector.camera_info, sizeof(hwparam_collector.camera_info), "%s", "Rear3"); + break; +#endif +#if defined(CONFIG_SAMSUNG_REAR_QUADRA) + case SEC_TELE2_SENSOR: + hw_param_id = HW_PARAM_REAR4; + scnprintf(hwparam_collector.camera_info, sizeof(hwparam_collector.camera_info), "%s", "Rear4"); + break; +#endif + case SEC_FRONT_SENSOR: + case SEC_FRONT_FULL_SENSOR: + hw_param_id = HW_PARAM_FRONT; + scnprintf(hwparam_collector.camera_info, sizeof(hwparam_collector.camera_info), "%s", "Front"); + break; + case SEC_FRONT_TOP_SENSOR: + case SEC_FRONT_TOP_FULL_SENSOR: + hw_param_id = HW_PARAM_FRONT2; + scnprintf(hwparam_collector.camera_info, sizeof(hwparam_collector.camera_info), "%s", "Front2"); + break; + default: + break; + } + + return hw_param_id; +} + +int hw_bigdata_get_hw_param(struct cam_hw_param **hw_param, uint32_t hw_param_id) +{ + *hw_param = &hwparam_collector.hwparam[hw_param_id]; + return 0; +} + +int hw_bigdata_get_hw_param_static(struct cam_hw_param **hw_param, uint32_t hw_param_id) +{ + *hw_param = &hwparam_collector_static.hwparam[hw_param_id]; + return 0; +} + +void hw_bigdata_update_err_cnt(struct cam_hw_param *hw_param, uint32_t modules) +{ + hw_param->err_cnt[modules]++; + hw_param->need_update_to_file = TRUE; +} + +void hw_bigdata_init_mipi_param(struct cam_hw_param *hw_param) +{ + hw_param->mipi_chk = FALSE; + hw_param->need_update_to_file = FALSE; +} + +void hw_bigdata_init_mipi_param_sensor(struct cam_sensor_ctrl_t *s_ctrl) +{ + struct cam_hw_param *hw_param = NULL; + uint32_t hw_param_id; + + hw_param_id = hw_bigdata_get_hw_param_id(s_ctrl->id); + + if (!hw_bigdata_get_hw_param(&hw_param, hw_param_id)) + { + if (hw_param != NULL) { + CAM_DBG(CAM_UTIL, "[%s][INIT] Init\n", hwparam_collector.camera_info); + hw_bigdata_init_mipi_param(hw_param); + } + } +} + +void hw_bigdata_deinit_mipi_param_sensor(struct cam_sensor_ctrl_t *s_ctrl) +{ + struct cam_hw_param *hw_param = NULL; + uint32_t hw_param_id; + + hw_param_id = hw_bigdata_get_hw_param_id(s_ctrl->id); + + if (!hw_bigdata_get_hw_param(&hw_param, hw_param_id)) + { + if (hw_param != NULL) { + if (hw_param->need_update_to_file) { + CAM_DBG(CAM_UTIL, "[%s][DEINIT] Update\n", hwparam_collector.camera_info); + hw_bigdata_copy_err_cnt_to_file(); + } + hw_bigdata_init_mipi_param(hw_param); + } + } +} + +void hw_bigdata_i2c_from_sensor(struct cam_sensor_ctrl_t *s_ctrl) +{ + struct cam_hw_param *hw_param = NULL; + uint32_t hw_param_id; + + hw_param_id = hw_bigdata_get_hw_param_id(s_ctrl->id); + + if (!hw_bigdata_get_hw_param(&hw_param, hw_param_id)) + { + if (hw_param != NULL) { + CAM_ERR(CAM_UTIL, "[HWB][%s][I2C] Err\n", hwparam_collector.camera_info); + hw_bigdata_update_err_cnt(hw_param, I2C_SENSOR_ERROR); +#if defined(CONFIG_CAMERA_ADAPTIVE_MIPI) && defined(CONFIG_CAMERA_RF_MIPI) + hw_bigdata_get_rfinfo(hw_param); +#endif + } + } +} + +void hw_bigdata_mipi_from_ife_csid_ver1(uint32_t hw_cam_position) +{ + struct cam_hw_param *hw_param = NULL; + uint32_t hw_param_id; + + hw_param_id = hw_bigdata_get_hw_param_id(hw_cam_position); + + if (!hw_bigdata_get_hw_param(&hw_param, hw_param_id)) + { + if (hw_param != NULL && (hw_param->mipi_chk == FALSE)) { + CAM_ERR(CAM_UTIL, "[HWB][%s][MIPI_S] Err\n", hwparam_collector.camera_info); + hw_bigdata_update_err_cnt(hw_param, MIPI_SENSOR_ERROR); + hw_param->mipi_chk = TRUE; +#if defined(CONFIG_CAMERA_ADAPTIVE_MIPI) && defined(CONFIG_CAMERA_RF_MIPI) + hw_bigdata_get_rfinfo(hw_param); +#endif + } + } +} + +void hw_bigdata_i2c_from_actuator(struct cam_actuator_ctrl_t *a_ctrl) +{ + struct cam_hw_param *hw_param = NULL; + uint32_t hw_param_id; + + hw_param_id = hw_bigdata_get_hw_param_id(a_ctrl->soc_info.index); + + if (!hw_bigdata_get_hw_param(&hw_param, hw_param_id)) + { + if (hw_param != NULL) { + CAM_ERR(CAM_UTIL, "[HWB][%s][AF] Err\n", hwparam_collector.camera_info); + hw_bigdata_update_err_cnt(hw_param, I2C_AF_ERROR); +#if defined(CONFIG_CAMERA_ADAPTIVE_MIPI) && defined(CONFIG_CAMERA_RF_MIPI) + hw_bigdata_get_rfinfo(hw_param); +#endif + } + } +} + +void hw_bigdata_i2c_from_ois_status_reg(uint32_t hw_cam_position) +{ + struct cam_hw_param *hw_param = NULL; + uint32_t hw_param_id; + + hw_param_id = hw_bigdata_get_hw_param_id(hw_cam_position); + + if (!hw_bigdata_get_hw_param(&hw_param, hw_param_id)) + { + if (hw_param != NULL) { + CAM_ERR(CAM_UTIL, "[HWB][%s][OIS] Err\n", hwparam_collector.camera_info); + hw_bigdata_update_err_cnt(hw_param, I2C_OIS_ERROR); +#if defined(CONFIG_CAMERA_ADAPTIVE_MIPI) && defined(CONFIG_CAMERA_RF_MIPI) + hw_bigdata_get_rfinfo(hw_param); +#endif + } + } +} + +void hw_bigdata_i2c_from_ois_error_reg(uint32_t err_reg) +{ + struct cam_hw_param *hw_param = NULL; + + if ((err_reg & REAR_OIS_X_Y_ERR_REG) != 0) { + if (!hw_bigdata_get_hw_param(&hw_param, HW_PARAM_REAR)) { + if (hw_param != NULL) { + CAM_ERR(CAM_UTIL, "[HWB][R][OIS] Err\n"); + hw_bigdata_update_err_cnt(hw_param, I2C_OIS_ERROR); +#if defined(CONFIG_CAMERA_ADAPTIVE_MIPI) && defined(CONFIG_CAMERA_RF_MIPI) + hw_bigdata_get_rfinfo(hw_param); +#endif + } + } + } +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) + if ((err_reg & REAR3_OIS_X_Y_ERR_REG) != 0) { + if (!hw_bigdata_get_hw_param(&hw_param, HW_PARAM_REAR3)) { + if (hw_param != NULL) { + CAM_ERR(CAM_UTIL, "[HWB][R3][OIS] Err\n"); + hw_bigdata_update_err_cnt(hw_param, I2C_OIS_ERROR); +#if defined(CONFIG_CAMERA_ADAPTIVE_MIPI) && defined(CONFIG_CAMERA_RF_MIPI) + hw_bigdata_get_rfinfo(hw_param); +#endif + + } + } + } +#endif +#if defined(CONFIG_SAMSUNG_REAR_QUADRA) + if ((err_reg & REAR4_OIS_X_Y_ERR_REG) != 0) { + if (!hw_bigdata_get_hw_param(&hw_param, HW_PARAM_REAR4)) { + if (hw_param != NULL) { + CAM_ERR(CAM_UTIL, "[HWB][R4][OIS] Err\n"); + hw_bigdata_update_err_cnt(hw_param, I2C_OIS_ERROR); + CAM_ERR(CAM_UTIL, "[HWB][R4][AF] Err\n"); + hw_param->err_cnt[I2C_AF_ERROR]++; +#if defined(CONFIG_CAMERA_ADAPTIVE_MIPI) && defined(CONFIG_CAMERA_RF_MIPI) + hw_bigdata_get_rfinfo(hw_param); +#endif + } + } + } +#endif +} + +int get_camera_id(int csiphy_num) { + int cameraid = -1; + + switch (csiphy_num) { + case WIDE_CAM: + cameraid = SEC_WIDE_SENSOR; + break; + case UW_CAM: + cameraid = SEC_ULTRA_WIDE_SENSOR; + break; + case TELE1_CAM: + cameraid = SEC_TELE_SENSOR; + break; + case TELE2_CAM: + cameraid = SEC_TELE2_SENSOR; + break; + case FRONT_CAM: + cameraid = SEC_FRONT_SENSOR; + break; + case COVER_CAM: + cameraid = SEC_FRONT_TOP_SENSOR; + break; + case FRONT_AUX: + cameraid = SEC_FRONT_AUX1_SENSOR; + break; + default: + CAM_INFO(CAM_ISP, "[HWB] No cameraId found (csiphy %d)", csiphy_num); + break; + } + + return cameraid; +} + +void hw_bigdata_mipi_from_ife_csid_ver2(int csiphy_num) +{ + struct cam_hw_param *hw_param = NULL; + uint32_t hw_param_id; + + hw_param_id = hw_bigdata_get_hw_param_id(get_camera_id(csiphy_num)); + + if (!hw_bigdata_get_hw_param(&hw_param, hw_param_id)) + { + if (hw_param != NULL && (hw_param->mipi_chk == FALSE)) { + CAM_ERR(CAM_UTIL, "[HWB][%s][MIPI_S] Err\n", hwparam_collector.camera_info); + hw_bigdata_update_err_cnt(hw_param, MIPI_SENSOR_ERROR); + hw_param->mipi_chk = TRUE; +#if defined(CONFIG_CAMERA_ADAPTIVE_MIPI) && defined(CONFIG_CAMERA_RF_MIPI) + hw_bigdata_get_rfinfo(hw_param); +#endif + } + } +} + + +#if defined(CONFIG_CAMERA_ADAPTIVE_MIPI) && defined(CONFIG_CAMERA_RF_MIPI) +void hw_bigdata_get_rfinfo(struct cam_hw_param *hw_param) +{ + struct cam_cp_noti_cell_infos cell_infos; + + get_rf_info(&cell_infos); + CAM_DBG(CAM_UTIL, + "[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); + hw_param->rf_rat = cell_infos.cell_list[0].rat; + hw_param->rf_band = cell_infos.cell_list[0].band; + hw_param->rf_channel = cell_infos.cell_list[0].channel; +} +#endif + +void hw_bigdata_i2c_from_eeprom(struct cam_eeprom_ctrl_t *e_ctrl) +{ + struct cam_hw_param *hw_param = NULL; + struct cam_hw_param *hw_param_eeprom = NULL; + uint32_t hw_param_id; + + hw_param_id = hw_bigdata_get_hw_param_id(e_ctrl->soc_info.index); + + if (!hw_bigdata_get_hw_param(&hw_param, hw_param_id) && + !hw_bigdata_get_hw_param_static(&hw_param_eeprom, hw_param_id)) + { + if (hw_param != NULL) { + CAM_ERR(CAM_UTIL, "[HWB][%s][EEP] Err\n", hwparam_collector.camera_info); + hw_bigdata_update_err_cnt(hw_param, I2C_EEPROM_ERROR); + hw_param_eeprom->eeprom_i2c_chk = 1; + } + } +} + +void hw_bigdata_crc_from_eeprom(struct cam_eeprom_ctrl_t *e_ctrl) +{ + struct cam_hw_param *hw_param = NULL; + struct cam_hw_param *hw_param_eeprom = NULL; + uint32_t hw_param_id; + + hw_param_id = hw_bigdata_get_hw_param_id(e_ctrl->soc_info.index); + + if (!hw_bigdata_get_hw_param(&hw_param, hw_param_id) && + !hw_bigdata_get_hw_param_static(&hw_param_eeprom, hw_param_id)) + { + if (hw_param != NULL) { + CAM_ERR(CAM_UTIL, "[HWB][%s][EEP] Err\n", hwparam_collector.camera_info); + hw_bigdata_update_err_cnt(hw_param, CRC_EEPROM_ERROR); + hw_param_eeprom->eeprom_crc_chk = 1; + } + } +} + +#if defined(CONFIG_SAMSUNG_ACTUATOR_READ_HALL_VALUE) +char* get_af_hall_error_info(char *af_hall_info, struct cam_hw_param *ec_param) +{ + int count_idx = 0; + int pos = 0; + int start_idx = 2; + int break_cnt = sizeof(af_info_value); + + memset(af_info_value, 0, sizeof(af_info_value)); + + if (af_hall_info != NULL) + { + if (af_hall_info[0] == 'F') + { + while (af_hall_info[start_idx+pos] != '|') + { + af_info_value[count_idx] = af_hall_info[start_idx+pos]; + count_idx++; + pos++; + + if (start_idx+pos == break_cnt) + break; + } + scnprintf(ec_param->af_info_value_prev, sizeof(ec_param->af_info_value_prev), "%s", af_info_value); + } + else + { + if (ec_param->err_cnt[AF_HALL_ERROR] == 0) + { + scnprintf(af_info_value, sizeof(af_info_value), "%s", "0,0"); + } + else + { + return ec_param->af_info_value_prev; + } + } + } + return af_info_value; +} + +void hw_bigdata_hall_from_actuator(struct cam_sensor_ctrl_t *s_ctrl) +{ + struct cam_hw_param *hw_param = NULL; + uint32_t hw_param_id; + + hw_param_id = hw_bigdata_get_hw_param_id(s_ctrl->id); + + if(MAX_HW_PARAM_ID !=hw_param_id) + { + if (!hw_bigdata_get_hw_param(&hw_param, hw_param_id)) + { + if (hall_info[hw_param_id][0] == 'F') + { + hw_bigdata_update_err_cnt(hw_param, AF_HALL_ERROR); + CAM_ERR(CAM_UTIL, "[HWB][%s][HALL] Err\n", hwparam_collector.camera_info); + } + get_af_hall_error_info(hall_info[hw_param_id], hw_param); + } + } + else + { + CAM_ERR(CAM_UTIL, "[HWB][%s][HALL] Invalid camera %u Err\n", hwparam_collector.camera_info,hw_param_id); + } +} + +void hw_bigdata_init_af_hall_info(void) +{ + sprintf(hall_info[INDEX_REAR], "%s", "N,0,0|0"); + sprintf(hall_info[INDEX_REAR2], "%s", "N,0,0|0"); + sprintf(hall_info[INDEX_REAR3], "%s", "N,0,0|0"); + sprintf(hall_info[INDEX_FRONT], "%s", "N,0,0|0"); +} +#endif + +void hw_bigdata_init_all_cnt(void) +{ + CAM_INFO(CAM_UTIL, "All_Init_Cnt\n"); + memset(&hwparam_collector, 0, sizeof(struct hw_param_collector)); +} + +void hw_bigdata_init_err_cnt_file(struct cam_hw_param *hw_param) +{ + if (hw_param != NULL) { + CAM_INFO(CAM_UTIL, "Init_Cnt\n"); + + memset(hw_param, 0, sizeof(struct cam_hw_param)); + sprintf(wifi_info, "%s", "0"); +#if defined(CONFIG_SAMSUNG_ACTUATOR_READ_HALL_VALUE) + hw_bigdata_init_af_hall_info(); +#endif + hw_bigdata_copy_err_cnt_to_file(); + } else { + CAM_INFO(CAM_UTIL, "NULL\n"); + } +} + +void hw_bigdata_copy_err_cnt_to_file(void) +{ +#if defined(HWB_FILE_OPERATION) + struct file *fp = NULL; + mm_segment_t old_fs; + long nwrite = 0; + int old_mask = 0; + + CAM_INFO(CAM_UTIL, "To_F\n"); + + old_fs = get_fs(); + set_fs(KERNEL_DS); + old_mask = sys_umask(0); + + fp = filp_open(CAM_HW_ERR_CNT_FILE_PATH, O_WRONLY | O_CREAT | O_TRUNC | O_SYNC, 0660); + if (IS_ERR_OR_NULL(fp)) { + CAM_ERR(CAM_UTIL, "[HWB][To_F] Err\n"); + sys_umask(old_mask); + set_fs(old_fs); + return; + } + + nwrite = vfs_write(fp, (char *)&hwparam_collector, sizeof(struct hw_param_collector), &fp->f_pos); + + filp_close(fp, NULL); + fp = NULL; + sys_umask(old_mask); + set_fs(old_fs); +#endif +} + +void hw_bigdata_copy_err_cnt_from_file(void) +{ +#if defined(HWB_FILE_OPERATION) + struct file *fp = NULL; + mm_segment_t old_fs; + long nread = 0; + int ret = 0; + + ret = hw_bigdata_file_exist(CAM_HW_ERR_CNT_FILE_PATH, HW_PARAMS_NOT_CREATED); + if (ret == 1) { + CAM_INFO(CAM_UTIL, "From_F\n"); + old_fs = get_fs(); + set_fs(KERNEL_DS); + + fp = filp_open(CAM_HW_ERR_CNT_FILE_PATH, O_RDONLY, 0660); + if (IS_ERR_OR_NULL(fp)) { + CAM_ERR(CAM_UTIL, "[HWB][From_F] Err\n"); + set_fs(old_fs); + return; + } + + nread = vfs_read(fp, (char *)&hwparam_collector, sizeof(struct hw_param_collector), &fp->f_pos); + + filp_close(fp, NULL); + fp = NULL; + set_fs(old_fs); + } else { + CAM_INFO(CAM_UTIL, "NoEx_F\n"); + } +#endif +} + +int hw_bigdata_file_exist(char *filename, hw_params_check_type chktype) +{ + int ret = 0; +#if defined(HWB_FILE_OPERATION) + struct file *fp = NULL; + mm_segment_t old_fs; + long nwrite = 0; + int old_mask = 0; + + old_fs = get_fs(); + set_fs(KERNEL_DS); + + if (sys_access(filename, 0) == 0) { + CAM_INFO(CAM_UTIL, "Ex_F\n"); + ret = 1; + } else { + switch (chktype) { + case HW_PARAMS_CREATED: + CAM_INFO(CAM_UTIL, "Ex_Cr\n"); + hw_bigdata_init_all_cnt(); + + old_mask = sys_umask(0); + + fp = filp_open(CAM_HW_ERR_CNT_FILE_PATH, O_WRONLY | O_CREAT | O_TRUNC | O_SYNC, 0660); + if (IS_ERR_OR_NULL(fp)) { + CAM_ERR(CAM_UTIL, "[HWB][Ex_F] ERROR\n"); + ret = 0; + } else { + nwrite = vfs_write(fp, (char *)&hwparam_collector, sizeof(struct hw_param_collector), &fp->f_pos); + + filp_close(fp, current->files); + fp = NULL; + ret = 2; + } + sys_umask(old_mask); + break; + + case HW_PARAMS_NOT_CREATED: + CAM_INFO(CAM_UTIL, "Ex_NoCr\n"); + ret = 0; + break; + + default: + CAM_INFO(CAM_UTIL, "Ex_Err\n"); + ret = 0; + break; + } + } + + set_fs(old_fs); +#endif + + return ret; +} + +uint32_t hw_bigdata_get_error_cnt(struct cam_hw_param *hw_param, uint32_t modules) +{ + return hw_param->err_cnt[modules]; +} + +void hw_bigdata_update_eeprom_error_cnt(struct cam_sensor_ctrl_t *s_ctrl) +{ + struct cam_hw_param *hw_param = NULL; + struct cam_hw_param *hw_param_eeprom = NULL; + uint32_t hw_param_id; + + hw_param_id = hw_bigdata_get_hw_param_id(s_ctrl->id); + + if (!hw_bigdata_get_hw_param(&hw_param, hw_param_id) && + !hw_bigdata_get_hw_param_static(&hw_param_eeprom, hw_param_id)) + { + if (hw_param_eeprom->eeprom_i2c_chk) { + hw_bigdata_update_err_cnt(hw_param, I2C_EEPROM_ERROR); + } + if (hw_param_eeprom->eeprom_crc_chk) { + hw_bigdata_update_err_cnt(hw_param, CRC_EEPROM_ERROR); + } + } +} + +void hw_bigdata_update_cam_entrance_cnt(struct cam_sensor_ctrl_t *s_ctrl) +{ + struct cam_hw_param *hw_param = NULL; + uint32_t hw_param_id; + + hw_param_id = hw_bigdata_get_hw_param_id(s_ctrl->id); + + if (!hw_bigdata_get_hw_param(&hw_param, hw_param_id)) + { + hw_param->cam_entrance_cnt++; + } +#if defined(CONFIG_SAMSUNG_ACTUATOR_READ_HALL_VALUE) + hw_bigdata_init_af_hall_info(); +#endif +} + +void hw_bigdata_debug_info(void) +{ + uint32_t err_cnt[MAX_HW_PARAM_ID][MAX_HW_PARAM_ERROR]; + uint8_t is_avail_cam[MAX_HW_PARAM_ID]; + int i; + + struct cam_hw_param *hw_param = NULL; + + for (i = 0; i < 6; i++) { + hw_bigdata_get_hw_param(&hw_param, i); + err_cnt[i][I2C_AF_ERROR] = hw_param->err_cnt[I2C_AF_ERROR]; + err_cnt[i][I2C_OIS_ERROR] = hw_param->err_cnt[I2C_OIS_ERROR]; + err_cnt[i][I2C_SENSOR_ERROR] = hw_param->err_cnt[I2C_SENSOR_ERROR]; + err_cnt[i][MIPI_SENSOR_ERROR] = hw_param->err_cnt[MIPI_SENSOR_ERROR]; + err_cnt[i][I2C_EEPROM_ERROR] = hw_param->err_cnt[I2C_EEPROM_ERROR]; + err_cnt[i][CRC_EEPROM_ERROR] = hw_param->err_cnt[CRC_EEPROM_ERROR]; + + hw_bigdata_get_hw_param_static(&hw_param, i); + is_avail_cam[i] = hw_param->cam_available; + } + + CAM_INFO(CAM_UTIL, "[R1:%c,%x,%x,%x,%x,%x,%x] [R2:%c,%x,%x,%x,%x,%x,%x] [R3:%c,%x,%x,%x,%x,%x,%x] " + "[R4:%c,%x,%x,%x,%x,%x,%x] [F1:%c,%x,%x,%x,%x,%x,%x] [F2:%c,%x,%x,%x,%x,%x,%x]", + (is_avail_cam[HW_PARAM_REAR] ? 'Y':'N'), err_cnt[HW_PARAM_REAR][I2C_AF_ERROR], err_cnt[HW_PARAM_REAR][I2C_OIS_ERROR], err_cnt[HW_PARAM_REAR][I2C_SENSOR_ERROR], + err_cnt[HW_PARAM_REAR][MIPI_SENSOR_ERROR], err_cnt[HW_PARAM_REAR][I2C_EEPROM_ERROR], err_cnt[HW_PARAM_REAR][CRC_EEPROM_ERROR], + (is_avail_cam[HW_PARAM_REAR2] ? 'Y':'N'), err_cnt[HW_PARAM_REAR2][I2C_AF_ERROR], err_cnt[HW_PARAM_REAR2][I2C_OIS_ERROR], err_cnt[HW_PARAM_REAR2][I2C_SENSOR_ERROR], + err_cnt[HW_PARAM_REAR2][MIPI_SENSOR_ERROR], err_cnt[HW_PARAM_REAR2][I2C_EEPROM_ERROR], err_cnt[HW_PARAM_REAR2][CRC_EEPROM_ERROR], + (is_avail_cam[HW_PARAM_REAR3] ? 'Y':'N'), err_cnt[HW_PARAM_REAR3][I2C_AF_ERROR], err_cnt[HW_PARAM_REAR3][I2C_OIS_ERROR], err_cnt[HW_PARAM_REAR3][I2C_SENSOR_ERROR], + err_cnt[HW_PARAM_REAR3][MIPI_SENSOR_ERROR], err_cnt[HW_PARAM_REAR3][I2C_EEPROM_ERROR], err_cnt[HW_PARAM_REAR3][CRC_EEPROM_ERROR], + (is_avail_cam[HW_PARAM_REAR4] ? 'Y':'N'), err_cnt[HW_PARAM_REAR4][I2C_AF_ERROR], err_cnt[HW_PARAM_REAR4][I2C_OIS_ERROR], err_cnt[HW_PARAM_REAR4][I2C_SENSOR_ERROR], + err_cnt[HW_PARAM_REAR4][MIPI_SENSOR_ERROR], err_cnt[HW_PARAM_REAR4][I2C_EEPROM_ERROR], err_cnt[HW_PARAM_REAR4][CRC_EEPROM_ERROR], + (is_avail_cam[HW_PARAM_FRONT] ? 'Y':'N'), err_cnt[HW_PARAM_FRONT][I2C_AF_ERROR], err_cnt[HW_PARAM_FRONT][I2C_OIS_ERROR], err_cnt[HW_PARAM_FRONT][I2C_SENSOR_ERROR], + err_cnt[HW_PARAM_FRONT][MIPI_SENSOR_ERROR], err_cnt[HW_PARAM_FRONT][I2C_EEPROM_ERROR], err_cnt[HW_PARAM_FRONT][CRC_EEPROM_ERROR], + (is_avail_cam[HW_PARAM_FRONT2] ? 'Y':'N'), err_cnt[HW_PARAM_FRONT2][I2C_AF_ERROR], err_cnt[HW_PARAM_FRONT2][I2C_OIS_ERROR], err_cnt[HW_PARAM_FRONT2][I2C_SENSOR_ERROR], + err_cnt[HW_PARAM_FRONT2][MIPI_SENSOR_ERROR], err_cnt[HW_PARAM_FRONT2][I2C_EEPROM_ERROR], err_cnt[HW_PARAM_FRONT2][CRC_EEPROM_ERROR]); +} diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_hw_bigdata.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_hw_bigdata.h new file mode 100644 index 0000000000..e8cce42b99 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_hw_bigdata.h @@ -0,0 +1,135 @@ +/* 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_HW_BIGDATA_H_ +#define _CAM_HW_BIGDATA_H_ + +#include "cam_sensor_dev.h" +#include "cam_actuator_dev.h" +#include "cam_ois_dev.h" +#include "cam_eeprom_dev.h" +#if defined(CONFIG_CAMERA_ADAPTIVE_MIPI) && defined(CONFIG_CAMERA_RF_MIPI) +#include "cam_sensor_mipi.h" +#endif + +#ifndef TRUE +#define TRUE 1 +#endif + +#ifndef FALSE +#define FALSE 0 +#endif + +#define MODULE_ID_INVALID 0 +#define MODULE_ID_VALID 1 +#define MODULE_ID_ERR_CHAR -1 +#define MODULE_ID_ERR_CNT_MAX -2 + +#define MAX_HW_PARAM_STR_LEN 15 + +#define CAM_HW_ERR_CNT_FILE_PATH "/data/camera/camera_hw_err_cnt.dat" + +typedef enum { + HW_PARAMS_CREATED = 0, + HW_PARAMS_NOT_CREATED, +} hw_params_check_type; + +enum hw_param_id_type { + HW_PARAM_REAR = 0, + HW_PARAM_REAR2, + HW_PARAM_REAR3, + HW_PARAM_REAR4, + HW_PARAM_FRONT, + HW_PARAM_FRONT2, + HW_PARAM_FRONT3, + MAX_HW_PARAM_ID, +}; + +enum hw_param_error_type { + I2C_SENSOR_ERROR = 0, + I2C_COMP_ERROR, + I2C_OIS_ERROR, + I2C_AF_ERROR, + MIPI_SENSOR_ERROR, + I2C_EEPROM_ERROR, + CRC_EEPROM_ERROR, + AF_HALL_ERROR, + MAX_HW_PARAM_ERROR, +}; + +enum hw_param_info_type +{ + CAMI_ID, + I2C_AF, + I2C_OIS, + I2C_SEN, + MIPI_SEN, + MIPI_INFO, + I2C_EEPROM, + CRC_EEPROM, + CAM_USE_CNT, + WIFI_INFO, + AF_HALL, + AF_INFO, + MAX_HW_PARAM_INFO, +}; + +struct cam_hw_param { + u32 err_cnt[MAX_HW_PARAM_ERROR]; + u16 mipi_chk; + u16 need_update_to_file; + u8 rf_rat; + u32 rf_band; + u32 rf_channel; + u8 eeprom_i2c_chk; + u8 eeprom_crc_chk; + u32 cam_entrance_cnt; + u8 cam_available; + char af_info_value_prev[30]; +} __attribute__((__packed__)); + +struct hw_param_collector { + struct cam_hw_param hwparam[MAX_HW_PARAM_ID + 1]; + char camera_info[10]; +} __attribute__((__packed__)); + +void hw_bigdata_update_err_cnt(struct cam_hw_param *hw_param, uint32_t modules); +void hw_bigdata_update_eeprom_error_cnt(struct cam_sensor_ctrl_t *s_ctrl); +void hw_bigdata_update_cam_entrance_cnt(struct cam_sensor_ctrl_t *s_ctrl); + +int hw_bigdata_get_hw_param_id(uint32_t camera_id); +int hw_bigdata_get_hw_param(struct cam_hw_param **hw_param, uint32_t hw_param_id); +int hw_bigdata_get_hw_param_static(struct cam_hw_param **hw_param, uint32_t hw_param_id); + +void hw_bigdata_init_mipi_param(struct cam_hw_param *hw_param); +void hw_bigdata_init_mipi_param_sensor(struct cam_sensor_ctrl_t *s_ctrl); +void hw_bigdata_deinit_mipi_param_sensor(struct cam_sensor_ctrl_t *s_ctrl); +void hw_bigdata_i2c_from_sensor(struct cam_sensor_ctrl_t *s_ctrl); +void hw_bigdata_mipi_from_ife_csid_ver1(uint32_t hw_cam_position); +void hw_bigdata_mipi_from_ife_csid_ver2(int csiphy_num); +void hw_bigdata_i2c_from_actuator(struct cam_actuator_ctrl_t *a_ctrl); +void hw_bigdata_i2c_from_ois_status_reg(uint32_t hw_cam_position); +void hw_bigdata_i2c_from_ois_error_reg(uint32_t err_reg); +void hw_bigdata_i2c_from_eeprom(struct cam_eeprom_ctrl_t *a_ctrl); +void hw_bigdata_crc_from_eeprom(struct cam_eeprom_ctrl_t *a_ctrl); + +void hw_bigdata_init_all_cnt(void); +void hw_bigdata_init_err_cnt_file(struct cam_hw_param *hw_param); +void hw_bigdata_copy_err_cnt_from_file(void); +void hw_bigdata_copy_err_cnt_to_file(void); +int hw_bigdata_file_exist(char *filename, hw_params_check_type chktype); + +#if defined(CONFIG_CAMERA_ADAPTIVE_MIPI) && defined(CONFIG_CAMERA_RF_MIPI) +void hw_bigdata_get_rfinfo(struct cam_hw_param *hw_param); +#endif +uint32_t hw_bigdata_get_error_cnt(struct cam_hw_param *hw_param, uint32_t modules); +void hw_bigdata_debug_info(void); +#if defined(CONFIG_SAMSUNG_ACTUATOR_READ_HALL_VALUE) +void hw_bigdata_hall_from_actuator(struct cam_sensor_ctrl_t *s_ctrl); +char* get_af_hall_error_info(char *af_hall_info, struct cam_hw_param *ec_param); +#endif + +#endif /* _CAM_HW_BIGDATA_H_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_sensor_cmn_header.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_sensor_cmn_header.h index dfb7ea6a1d..2f42f30b58 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_sensor_cmn_header.h +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_sensor_cmn_header.h @@ -21,7 +21,7 @@ #include #define MAX_POWER_CONFIG 12 -#define MAX_PER_FRAME_ARRAY 32 +#define MAX_PER_FRAME_ARRAY 64 #define BATCH_SIZE_MAX 16 #define CAM_I3C_DEV_PROBE_TIMEOUT_MS 10 #define CAM_I3C_DEV_PROBE_TIMEOUT_US (CAM_I3C_DEV_PROBE_TIMEOUT_MS * 1000) @@ -40,6 +40,11 @@ #define CAM_PKT_NOP_OPCODE 127 +#if defined(CONFIG_USE_CAMERA_HW_BIG_DATA) +int msm_is_sec_get_sensor_position(uint32_t *sensor_position); +int msm_is_sec_get_sensor_comp_mode(uint32_t **sensor_comp_mode); +#endif + enum camera_flash_opcode { CAMERA_SENSOR_FLASH_OP_INVALID, CAMERA_SENSOR_FLASH_OP_OFF, @@ -100,17 +105,21 @@ enum sensor_sub_module { enum msm_camera_power_seq_type { SENSOR_MCLK, SENSOR_VANA, + SENSOR_VANA1, SENSOR_VDIG, SENSOR_VIO, SENSOR_VAF, SENSOR_VAF_PWDM, SENSOR_CUSTOM_REG1, SENSOR_CUSTOM_REG2, + SENSOR_CUSTOM_REG3, + SENSOR_CUSTOM_REG4, SENSOR_RESET, SENSOR_STANDBY, SENSOR_CUSTOM_GPIO1, SENSOR_CUSTOM_GPIO2, - SENSOR_VANA1, + SENSOR_CUSTOM_GPIO3, + SENSOR_CUSTOM_GPIO4, SENSOR_SEQ_TYPE_MAX, }; @@ -269,6 +278,9 @@ struct cam_sensor_power_ctrl_t { struct msm_camera_gpio_num_info *gpio_num_info; struct msm_pinctrl_info pinctrl_info; uint8_t cam_pinctrl_status; +#if defined(CONFIG_SENSOR_RETENTION) + uint8_t is_retention_power_up[SENSOR_SEQ_TYPE_MAX]; +#endif }; struct cam_camera_slave_info { @@ -283,6 +295,26 @@ struct msm_sensor_init_params { unsigned int sensor_mount_angle; }; +enum msm_sensor_sec_camera_id_t { + SEC_DEFAULT_SENSOR = 0, + SEC_WIDE_SENSOR = SEC_DEFAULT_SENSOR, + SEC_FRONT_SENSOR = 1, + SEC_ULTRA_WIDE_SENSOR = 2, + SEC_TELE_SENSOR = 3, + SEC_REAR_TOF_SENSOR = 4, + SEC_FRONT_TOF_SENSOR = 5, + SEC_TELE2_SENSOR = 6, + SEC_RESERVE2_SENSOR = 7, + SEC_FRONT_AUX1_SENSOR = 8, + SEC_RESERVE3_SENSOR = 9, + SEC_RESERVE4_SENSOR = 10, + SEC_FRONT_TOP_SENSOR = 11, + SEC_FRONT_FULL_SENSOR = 12, + SEC_FRONT_TOP_FULL_SENSOR = 13, + SEC_TELE_BINNING_SENSOR = 14, + SEC_SENSOR_ID_MAX +}; + enum msm_sensor_camera_id_t { CAMERA_0, CAMERA_1, @@ -300,6 +332,7 @@ enum msm_sensor_camera_id_t { CAMERA_13, CAMERA_14, CAMERA_15, + CAMERA_16, MAX_CAMERAS, }; @@ -342,9 +375,12 @@ enum msm_camera_vreg_name_t { CAM_VDIG, CAM_VIO, CAM_VANA, + CAM_VANA1, CAM_VAF, CAM_V_CUSTOM1, CAM_V_CUSTOM2, + CAM_V_CUSTOM3, + CAM_V_CUSTOM4, CAM_VREG_MAX, }; diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_sensor_util.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_sensor_util.c index f1f481d1c1..961183753b 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_sensor_util.c +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_sensor_util.c @@ -9,6 +9,9 @@ #include "cam_sensor_util.h" #include "cam_mem_mgr.h" #include "cam_res_mgr_api.h" +#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_I2C) +#include "cam_sensor_dev.h" +#endif #define CAM_SENSOR_PINCTRL_STATE_SLEEP "cam_suspend" #define CAM_SENSOR_PINCTRL_STATE_DEFAULT "cam_default" @@ -16,6 +19,12 @@ #define VALIDATE_VOLTAGE(min, max, config_val) ((config_val) && \ (config_val >= min) && (config_val <= max)) +#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_I2C) +int to_do_print_vc__sen_id = 0; +int to_dump_when_sof_freeze__sen_id = 0; +bool cam_sensor_check_aeb_on(struct cam_sensor_ctrl_t* s_ctrl); +#endif + int cam_sensor_count_elems_i3c_device_id(struct device_node *dev, int *num_entries, char *sensor_id_table_str) { @@ -119,6 +128,14 @@ static struct i2c_settings_list* { struct i2c_settings_list *tmp; + if (i2c_reg_settings == NULL) { + CAM_ERR(CAM_SENSOR_UTIL, "Failed in i2c list: %p", i2c_reg_settings); + return NULL; + } else if (i2c_reg_settings->list_head.next == NULL) { + CAM_ERR(CAM_SENSOR_UTIL, "Failed in i2c list_head: %p", i2c_reg_settings->list_head.next); + return NULL; + } + tmp = kzalloc(sizeof(struct i2c_settings_list), GFP_KERNEL); if (tmp != NULL) @@ -1095,10 +1112,12 @@ int32_t msm_camera_fill_vreg_params( num_vreg = soc_info->num_rgltr; +#if !defined(CONFIG_SEC_GPIO_ENABLED_VREG) if ((num_vreg <= 0) || (num_vreg > CAM_SOC_MAX_REGULATOR)) { CAM_ERR(CAM_SENSOR_UTIL, "failed: num_vreg %d", num_vreg); return -EINVAL; } +#endif for (i = 0; i < power_setting_size; i++) { @@ -1267,6 +1286,51 @@ int32_t msm_camera_fill_vreg_params( if (j == num_vreg) power_setting[i].seq_val = INVALID_VREG; break; + + case SENSOR_CUSTOM_REG3: + for (j = 0; j < num_vreg; j++) { + + if (!strcmp(soc_info->rgltr_name[j], + "cam_v_custom3")) { + CAM_DBG(CAM_SENSOR_UTIL, + "i:%d j:%d cam_vcustom3", i, j); + power_setting[i].seq_val = j; + + if (VALIDATE_VOLTAGE( + soc_info->rgltr_min_volt[j], + soc_info->rgltr_max_volt[j], + power_setting[i].config_val)) + power_setting[i].valid_config = true; + + break; + } + } + if (j == num_vreg) + power_setting[i].seq_val = INVALID_VREG; + break; + + case SENSOR_CUSTOM_REG4: + for (j = 0; j < num_vreg; j++) { + + if (!strcmp(soc_info->rgltr_name[j], + "cam_v_custom4")) { + CAM_DBG(CAM_SENSOR_UTIL, + "i:%d j:%d cam_vcustom4", i, j); + power_setting[i].seq_val = j; + + if (VALIDATE_VOLTAGE( + soc_info->rgltr_min_volt[j], + soc_info->rgltr_max_volt[j], + power_setting[i].config_val)) + power_setting[i].valid_config = true; + + break; + } + } + if (j == num_vreg) + power_setting[i].seq_val = INVALID_VREG; + break; + default: break; } @@ -1275,6 +1339,10 @@ int32_t msm_camera_fill_vreg_params( return rc; } +#if defined(CONFIG_SEC_E3Q_PROJECT) && defined(CONFIG_SENSOR_RETENTION) +const char* ret_io_label = "TELE5X_IO_LDO_EN"; +int ret_io_cnt = 0; +#endif int cam_sensor_util_request_gpio_table( struct cam_hw_soc_info *soc_info, int gpio_en) { @@ -1311,6 +1379,17 @@ int cam_sensor_util_request_gpio_table( if (gpio_en) { for (i = 0; i < size; i++) { +#if defined(CONFIG_SEC_E3Q_PROJECT) && defined(CONFIG_SENSOR_RETENTION) + if (!strncmp(gpio_tbl[i].label, ret_io_label, 16)) { + if (ret_io_cnt != 0){ + CAM_INFO(CAM_SENSOR_UTIL, + "[RET_DBG] gpio %d request skip for sensor retention", + gpio_tbl[i].gpio); + continue; + } + ret_io_cnt++; + } +#endif rc = cam_res_mgr_gpio_request(soc_info->dev, gpio_tbl[i].gpio, gpio_tbl[i].flags, gpio_tbl[i].label); @@ -1673,6 +1752,28 @@ int cam_get_dt_power_setting_data(struct device_node *of_node, ps[i].seq_type = SENSOR_VANA; } else if (!strcmp(seq_name, "cam_vana1")) { ps[i].seq_type = SENSOR_VANA1; + } else if (!strcmp(seq_name, "cam_vaf")) { + ps[i].seq_type = SENSOR_VAF; + } else if (!strcmp(seq_name, "cam_vdig")) { + ps[i].seq_type = SENSOR_VDIG; + } else if (!strcmp(seq_name, "cam_v_custom1")) { + ps[i].seq_type = SENSOR_CUSTOM_REG1; + } else if (!strcmp(seq_name, "cam_v_custom2")) { + ps[i].seq_type = SENSOR_CUSTOM_REG2; + } else if (!strcmp(seq_name, "cam_v_custom3")) { + ps[i].seq_type = SENSOR_CUSTOM_REG3; + } else if (!strcmp(seq_name, "cam_v_custom4")) { + ps[i].seq_type = SENSOR_CUSTOM_REG4; + } else if (!strcmp(seq_name, "cam_gpio_custom1")) { + ps[i].seq_type = SENSOR_CUSTOM_GPIO1; + } else if (!strcmp(seq_name, "cam_gpio_custom2")) { + ps[i].seq_type = SENSOR_CUSTOM_GPIO2; + } else if (!strcmp(seq_name, "cam_gpio_custom3")) { + ps[i].seq_type = SENSOR_CUSTOM_GPIO3; + } else if (!strcmp(seq_name, "cam_gpio_custom4")) { + ps[i].seq_type = SENSOR_CUSTOM_GPIO4; + } else if (!strcmp(seq_name, "cam_reset")) { + ps[i].seq_type = SENSOR_RESET; } else if (!strcmp(seq_name, "cam_clk")) { ps[i].seq_type = SENSOR_MCLK; } else { @@ -1731,6 +1832,9 @@ int cam_get_dt_power_setting_data(struct device_node *of_node, for (c = 0; c < count; c++) { power_info->power_down_setting[c] = ps[end]; +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) || defined(CONFIG_SAMSUNG_ACTUATOR_PREVENT_SHAKING) + power_info->power_down_setting[c].config_val = 0; +#endif end--; } return rc; @@ -1967,6 +2071,48 @@ int cam_sensor_util_init_gpio_pin_tbl( rc = 0; } + rc = of_property_read_u32(of_node, "gpio-custom3", &val); + if (rc != -EINVAL) { + if (rc < 0) { + CAM_ERR(CAM_SENSOR_UTIL, + "read gpio-custom3 failed rc %d", rc); + goto free_gpio_info; + } else if (val >= gpio_array_size) { + CAM_ERR(CAM_SENSOR_UTIL, "gpio-custom3 invalid %d", val); + rc = -EINVAL; + goto free_gpio_info; + } + gpio_num_info->gpio_num[SENSOR_CUSTOM_GPIO3] = + gconf->cam_gpio_common_tbl[val].gpio; + gpio_num_info->valid[SENSOR_CUSTOM_GPIO3] = 1; + + CAM_DBG(CAM_SENSOR_UTIL, "gpio-custom3 %d", + gpio_num_info->gpio_num[SENSOR_CUSTOM_GPIO3]); + } else { + rc = 0; + } + + rc = of_property_read_u32(of_node, "gpio-custom4", &val); + if (rc != -EINVAL) { + if (rc < 0) { + CAM_ERR(CAM_SENSOR_UTIL, + "read gpio-custom4 failed rc %d", rc); + goto free_gpio_info; + } else if (val >= gpio_array_size) { + CAM_ERR(CAM_SENSOR_UTIL, "gpio-custom4 invalid %d", val); + rc = -EINVAL; + goto free_gpio_info; + } + gpio_num_info->gpio_num[SENSOR_CUSTOM_GPIO4] = + gconf->cam_gpio_common_tbl[val].gpio; + gpio_num_info->valid[SENSOR_CUSTOM_GPIO4] = 1; + + CAM_DBG(CAM_SENSOR_UTIL, "gpio-custom4 %d", + gpio_num_info->gpio_num[SENSOR_CUSTOM_GPIO4]); + } else { + rc = 0; + } + return rc; free_gpio_info: @@ -2115,10 +2261,12 @@ int cam_sensor_core_power_up(struct cam_sensor_power_ctrl_t *ctrl, gpio_num_info = ctrl->gpio_num_info; num_vreg = soc_info->num_rgltr; +#if !defined(CONFIG_SEC_GPIO_ENABLED_VREG) if ((num_vreg <= 0) || (num_vreg > CAM_SOC_MAX_REGULATOR)) { CAM_ERR(CAM_SENSOR_UTIL, "failed: num_vreg %d", num_vreg); return -EINVAL; } +#endif ret = msm_camera_pinctrl_init(&(ctrl->pinctrl_info), ctrl->dev); if (ret < 0) { @@ -2179,6 +2327,7 @@ int cam_sensor_core_power_up(struct cam_sensor_power_ctrl_t *ctrl, "vreg %s %d", soc_info->rgltr_name[j], rc); + soc_info->rgltr[j] = NULL; goto power_up_failed; } @@ -2221,6 +2370,8 @@ int cam_sensor_core_power_up(struct cam_sensor_power_ctrl_t *ctrl, case SENSOR_STANDBY: case SENSOR_CUSTOM_GPIO1: case SENSOR_CUSTOM_GPIO2: + case SENSOR_CUSTOM_GPIO3: + case SENSOR_CUSTOM_GPIO4: if (no_gpio) { CAM_ERR(CAM_SENSOR_UTIL, "request gpio failed"); goto power_up_failed; @@ -2251,6 +2402,8 @@ int cam_sensor_core_power_up(struct cam_sensor_power_ctrl_t *ctrl, case SENSOR_VAF_PWDM: case SENSOR_CUSTOM_REG1: case SENSOR_CUSTOM_REG2: + case SENSOR_CUSTOM_REG3: + case SENSOR_CUSTOM_REG4: if (power_setting->seq_val == INVALID_VREG) break; @@ -2258,7 +2411,9 @@ int cam_sensor_core_power_up(struct cam_sensor_power_ctrl_t *ctrl, CAM_ERR(CAM_SENSOR_UTIL, "vreg index %d >= max %d", power_setting->seq_val, CAM_VREG_MAX); +#if !defined(CONFIG_SEC_Q6Q_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT) goto power_up_failed; +#endif } if (power_setting->seq_val < num_vreg) { CAM_DBG(CAM_SENSOR_UTIL, "Enable Regulator"); @@ -2273,7 +2428,10 @@ int cam_sensor_core_power_up(struct cam_sensor_power_ctrl_t *ctrl, soc_info->rgltr_name[vreg_idx], rc); + soc_info->rgltr[vreg_idx] = NULL; +#if !defined(CONFIG_SEC_Q6Q_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT) goto power_up_failed; +#endif } if (power_setting->valid_config) { @@ -2295,7 +2453,9 @@ int cam_sensor_core_power_up(struct cam_sensor_power_ctrl_t *ctrl, CAM_ERR(CAM_SENSOR_UTIL, "Reg Enable failed for %s", soc_info->rgltr_name[vreg_idx]); +#if !defined(CONFIG_SEC_Q6Q_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT) goto power_up_failed; +#endif } power_setting->data[0] = soc_info->rgltr[vreg_idx]; @@ -2322,7 +2482,7 @@ int cam_sensor_core_power_up(struct cam_sensor_power_ctrl_t *ctrl, msleep(power_setting->delay); else if (power_setting->delay) usleep_range(power_setting->delay * 1000, - (power_setting->delay * 1000) + 5); + (power_setting->delay * 1000) + 1000); } if (i3c_probe_status) { @@ -2360,6 +2520,8 @@ power_up_failed: case SENSOR_STANDBY: case SENSOR_CUSTOM_GPIO1: case SENSOR_CUSTOM_GPIO2: + case SENSOR_CUSTOM_GPIO3: + case SENSOR_CUSTOM_GPIO4: if (!gpio_num_info) continue; if (!gpio_num_info->valid @@ -2377,6 +2539,8 @@ power_up_failed: case SENSOR_VAF_PWDM: case SENSOR_CUSTOM_REG1: case SENSOR_CUSTOM_REG2: + case SENSOR_CUSTOM_REG3: + case SENSOR_CUSTOM_REG4: if (power_setting->seq_val < num_vreg) { CAM_DBG(CAM_SENSOR_UTIL, "Disable Regulator"); vreg_idx = power_setting->seq_val; @@ -2421,7 +2585,7 @@ power_up_failed: msleep(power_setting->delay); } else if (power_setting->delay) { usleep_range(power_setting->delay * 1000, - (power_setting->delay * 1000) + 5); + (power_setting->delay * 1000) + 1000); } } @@ -2478,10 +2642,12 @@ int cam_sensor_util_power_down(struct cam_sensor_power_ctrl_t *ctrl, gpio_num_info = ctrl->gpio_num_info; num_vreg = soc_info->num_rgltr; +#if !defined(CONFIG_SEC_GPIO_ENABLED_VREG) if ((num_vreg <= 0) || (num_vreg > CAM_SOC_MAX_REGULATOR)) { CAM_ERR(CAM_SENSOR_UTIL, "failed: num_vreg %d", num_vreg); return -EINVAL; } +#endif if (ctrl->power_down_setting_size > MAX_POWER_CONFIG) { CAM_ERR(CAM_SENSOR_UTIL, "Invalid: power setting size %d", @@ -2502,6 +2668,8 @@ int cam_sensor_util_power_down(struct cam_sensor_power_ctrl_t *ctrl, CAM_DBG(CAM_SENSOR_UTIL, "seq_type %d", pd->seq_type); switch (pd->seq_type) { case SENSOR_MCLK: + usleep_range(1000, 1100); + for (i = soc_info->num_clk - 1; i >= 0; i--) { cam_soc_util_clk_disable(soc_info, CAM_CLK_SW_CLIENT_IDX, false, i); } @@ -2517,10 +2685,20 @@ int cam_sensor_util_power_down(struct cam_sensor_power_ctrl_t *ctrl, case SENSOR_STANDBY: case SENSOR_CUSTOM_GPIO1: case SENSOR_CUSTOM_GPIO2: + case SENSOR_CUSTOM_GPIO3: + case SENSOR_CUSTOM_GPIO4: if (!gpio_num_info->valid[pd->seq_type]) continue; + if (pd->seq_type == SENSOR_RESET) { +#if defined(CONFIG_SAMSUNG_CAMERA) + usleep_range(1000, 1010); +#else + msleep(1); +#endif + } + cam_res_mgr_gpio_set_value( gpio_num_info->gpio_num [pd->seq_type], @@ -2535,6 +2713,8 @@ int cam_sensor_util_power_down(struct cam_sensor_power_ctrl_t *ctrl, case SENSOR_VAF_PWDM: case SENSOR_CUSTOM_REG1: case SENSOR_CUSTOM_REG2: + case SENSOR_CUSTOM_REG3: + case SENSOR_CUSTOM_REG4: if (pd->seq_val == INVALID_VREG) break; @@ -2543,6 +2723,19 @@ int cam_sensor_util_power_down(struct cam_sensor_power_ctrl_t *ctrl, pd->seq_val); if (ps) { if (pd->seq_val < num_vreg) { +#if defined(CONFIG_SENSOR_RETENTION) + if (pd->config_val > 0) { + if (soc_info->rgltr[ps->seq_val] != NULL) + { + ret = regulator_set_voltage( + soc_info->rgltr[ps->seq_val], pd->config_val, soc_info->rgltr_max_volt[ps->seq_val]); + if (ret) { + CAM_ERR(CAM_UTIL, "%s set voltage failed", + soc_info->rgltr_name[ps->seq_val]); + } + } + } +#endif CAM_DBG(CAM_SENSOR_UTIL, "Disable Regulator"); ret = cam_soc_util_regulator_disable( @@ -2591,7 +2784,7 @@ int cam_sensor_util_power_down(struct cam_sensor_power_ctrl_t *ctrl, msleep(pd->delay); else if (pd->delay) usleep_range(pd->delay * 1000, - (pd->delay * 1000) + 5); + (pd->delay * 1000) + 1000); } if (ctrl->cam_pinctrl_status) { @@ -2609,3 +2802,1599 @@ int cam_sensor_util_power_down(struct cam_sensor_power_ctrl_t *ctrl, return 0; } + +#if defined(CONFIG_SENSOR_RETENTION) +int cam_sensor_util_retention_power_up(struct cam_sensor_power_ctrl_t *ctrl, + struct cam_hw_soc_info *soc_info) +{ + int rc = 0, index = 0, num_vreg; + int32_t vreg_idx = -1; + struct cam_sensor_power_setting *power_setting = NULL; + struct msm_camera_gpio_num_info *gpio_num_info = NULL; + uint32_t seq_min_volt = 0; + uint32_t seq_max_volt = 0; + uint8_t is_retention_power[SENSOR_SEQ_TYPE_MAX] = { 0, }; + + CAM_DBG(CAM_SENSOR_UTIL, "Enter"); + if (!ctrl) { + CAM_ERR(CAM_SENSOR_UTIL, "Invalid ctrl handle"); + return -EINVAL; + } + + // Find retention powers + for (index = 0; index < ctrl->power_down_setting_size; index++) { + power_setting = &ctrl->power_down_setting[index]; + if ((power_setting->seq_type < SENSOR_SEQ_TYPE_MAX) && + (power_setting->config_val > 0)) + is_retention_power[power_setting->seq_type] = 1; + } + + gpio_num_info = ctrl->gpio_num_info; + num_vreg = soc_info->num_rgltr; + + if ((num_vreg <= 0) || (num_vreg > CAM_SOC_MAX_REGULATOR)) { + CAM_ERR(CAM_SENSOR_UTIL, "failed: num_vreg %d", num_vreg); + return -EINVAL; + } + + CAM_DBG(CAM_SENSOR_UTIL, "power setting size: %d", ctrl->power_setting_size); + + for (index = 0; index < ctrl->power_setting_size; index++) { + CAM_DBG(CAM_SENSOR_UTIL, "index: %d", index); + power_setting = &ctrl->power_setting[index]; + if (!power_setting) { + CAM_ERR(CAM_SENSOR_UTIL, + "Invalid power up settings for index %d", + index); + return -EINVAL; + } + + if (!is_retention_power[power_setting->seq_type]) + continue; + + CAM_DBG(CAM_SENSOR_UTIL, "seq_type %d", power_setting->seq_type); + + switch (power_setting->seq_type) { + case SENSOR_MCLK: + CAM_WARN(CAM_SENSOR_UTIL, "retention power up doesn't support MCLK"); + break; + case SENSOR_RESET: + case SENSOR_STANDBY: + case SENSOR_CUSTOM_GPIO1: + case SENSOR_CUSTOM_GPIO2: + case SENSOR_CUSTOM_GPIO3: + case SENSOR_CUSTOM_GPIO4: + if (!gpio_num_info) { + CAM_ERR(CAM_SENSOR_UTIL, "Invalid gpio_num_info"); + break; + } + + if (!ctrl->is_retention_power_up[power_setting->seq_type]) { + CAM_DBG(CAM_SENSOR_UTIL, "gpio set val %d", + gpio_num_info->gpio_num + [power_setting->seq_type]); + + rc = msm_cam_sensor_handle_reg_gpio( + power_setting->seq_type, + gpio_num_info, + (int) power_setting->config_val); + if (rc < 0) { + CAM_ERR(CAM_SENSOR_UTIL, + "Error in handling VREG GPIO"); + break; + } + ctrl->is_retention_power_up[power_setting->seq_type] = 1; + CAM_INFO(CAM_SENSOR_UTIL, + "[RET_DBG] GPIO %d for retention power up", + gpio_num_info->gpio_num[power_setting->seq_type]); + } + break; + case SENSOR_VANA: + case SENSOR_VANA1: + case SENSOR_VDIG: + case SENSOR_VIO: + case SENSOR_VAF: + case SENSOR_VAF_PWDM: + case SENSOR_CUSTOM_REG1: + case SENSOR_CUSTOM_REG2: + case SENSOR_CUSTOM_REG3: + case SENSOR_CUSTOM_REG4: + if (power_setting->seq_val == INVALID_VREG) + break; + + if (power_setting->seq_val >= CAM_VREG_MAX) { + CAM_ERR(CAM_SENSOR_UTIL, "vreg index %d >= max %d", + power_setting->seq_val, + CAM_VREG_MAX); + break; + } + if (!ctrl->is_retention_power_up[power_setting->seq_type]) { + if (power_setting->seq_val < num_vreg) { + CAM_DBG(CAM_SENSOR_UTIL, "Enable Regulator"); + vreg_idx = power_setting->seq_val; + + if (IS_ERR_OR_NULL( + soc_info->rgltr[vreg_idx])) { + rc = PTR_ERR(soc_info->rgltr[vreg_idx]); + rc = rc ? rc : -EINVAL; + + CAM_ERR(CAM_SENSOR_UTIL, "%s get failed %d", + soc_info->rgltr_name[vreg_idx], + rc); + + soc_info->rgltr[vreg_idx] = NULL; + break; + } + + if (power_setting->valid_config) { + seq_min_volt = power_setting->config_val; + seq_max_volt = power_setting->config_val; + } else { + seq_min_volt = soc_info->rgltr_min_volt[vreg_idx]; + seq_max_volt = soc_info->rgltr_max_volt[vreg_idx]; + } + + rc = cam_soc_util_regulator_enable( + soc_info->rgltr[vreg_idx], + soc_info->rgltr_name[vreg_idx], + seq_min_volt, + seq_max_volt, + soc_info->rgltr_op_mode[vreg_idx], + soc_info->rgltr_delay[vreg_idx]); + if (rc) { + CAM_ERR(CAM_SENSOR_UTIL, + "Reg Enable failed for %s", + soc_info->rgltr_name[vreg_idx]); + break; + } + power_setting->data[0] = + soc_info->rgltr[vreg_idx]; + ctrl->is_retention_power_up[power_setting->seq_type] = 1; + CAM_INFO(CAM_SENSOR_UTIL, + "[RET_DBG] %s for retention power up", + soc_info->rgltr_name[vreg_idx]); + } else { + CAM_ERR(CAM_SENSOR_UTIL, "usr_idx:%d dts_idx:%d", + power_setting->seq_val, num_vreg); + } + } + break; + default: + CAM_ERR(CAM_SENSOR_UTIL, "error power seq type %d", + power_setting->seq_type); + break; + } + } + + return 0; +} + +int cam_sensor_util_retention_power_down(struct cam_sensor_power_ctrl_t *ctrl, + struct cam_hw_soc_info *soc_info) +{ + int index = 0, ret = 0, num_vreg = 0; + struct cam_sensor_power_setting *pd = NULL; + struct cam_sensor_power_setting *ps = NULL; + struct msm_camera_gpio_num_info *gpio_num_info = NULL; + uint8_t is_retention_power[SENSOR_SEQ_TYPE_MAX] = { 0, }; + + CAM_DBG(CAM_SENSOR_UTIL, "Enter"); + if (!ctrl || !soc_info) { + CAM_ERR(CAM_SENSOR_UTIL, "failed ctrl %pK", ctrl); + return -EINVAL; + } + + // Find retention power + for (index = 0; index < ctrl->power_down_setting_size; index++) { + pd = &ctrl->power_down_setting[index]; + if ((pd->seq_type < SENSOR_SEQ_TYPE_MAX) && + (pd->config_val > 0)) + is_retention_power[pd->seq_type] = 1; + } + + gpio_num_info = ctrl->gpio_num_info; + num_vreg = soc_info->num_rgltr; + + if ((num_vreg <= 0) || (num_vreg > CAM_SOC_MAX_REGULATOR)) { + CAM_ERR(CAM_SENSOR_UTIL, "failed: num_vreg %d", num_vreg); + return -EINVAL; + } + + if (ctrl->power_down_setting_size > MAX_POWER_CONFIG) { + CAM_ERR(CAM_SENSOR_UTIL, "Invalid: power setting size %d", + ctrl->power_setting_size); + return -EINVAL; + } + + for (index = 0; index < ctrl->power_down_setting_size; index++) { + CAM_DBG(CAM_SENSOR_UTIL, "power_down_index %d", index); + pd = &ctrl->power_down_setting[index]; + if (!pd) { + CAM_ERR(CAM_SENSOR_UTIL, + "Invalid power down settings for index %d", + index); + return -EINVAL; + } + + if (!is_retention_power[pd->seq_type]) + continue; + + CAM_DBG(CAM_SENSOR_UTIL, "seq_type %d", pd->seq_type); + switch (pd->seq_type) { + case SENSOR_MCLK: + CAM_WARN(CAM_SENSOR_UTIL, "retention power up doesn't support MCLK"); + break; + case SENSOR_RESET: + case SENSOR_STANDBY: + case SENSOR_CUSTOM_GPIO1: + case SENSOR_CUSTOM_GPIO2: + case SENSOR_CUSTOM_GPIO3: + case SENSOR_CUSTOM_GPIO4: + + if (!gpio_num_info->valid[pd->seq_type]) + continue; + + if (pd->seq_type == SENSOR_RESET) { + usleep_range(1000, 1010); + } + + if (ctrl->is_retention_power_up[pd->seq_type]) { + cam_res_mgr_gpio_set_value( + gpio_num_info->gpio_num + [pd->seq_type], + 0); + ctrl->is_retention_power_up[pd->seq_type] = 0; + CAM_INFO(CAM_SENSOR_UTIL, + "[RET_DBG] GPIO %d for retention power down", + gpio_num_info->gpio_num[pd->seq_type]); + } + + break; + case SENSOR_VANA: + case SENSOR_VANA1: + case SENSOR_VDIG: + case SENSOR_VIO: + case SENSOR_VAF: + case SENSOR_VAF_PWDM: + case SENSOR_CUSTOM_REG1: + case SENSOR_CUSTOM_REG2: + case SENSOR_CUSTOM_REG3: + case SENSOR_CUSTOM_REG4: + if (pd->seq_val == INVALID_VREG) + break; + + if(ctrl->is_retention_power_up[pd->seq_type]) { + ps = msm_camera_get_power_settings( + ctrl, pd->seq_type, + pd->seq_val); + + if (ps) { + if (pd->seq_val < num_vreg) { + CAM_DBG(CAM_SENSOR_UTIL, + "Disable Regulator"); + ret = cam_soc_util_regulator_disable( + soc_info->rgltr[ps->seq_val], + soc_info->rgltr_name[ps->seq_val], + soc_info->rgltr_min_volt[ps->seq_val], + soc_info->rgltr_max_volt[ps->seq_val], + soc_info->rgltr_op_mode[ps->seq_val], + soc_info->rgltr_delay[ps->seq_val]); + if (ret) { + CAM_ERR(CAM_SENSOR_UTIL, + "Reg: %s disable failed", + soc_info->rgltr_name[ + ps->seq_val]); + msm_cam_sensor_handle_reg_gpio( + pd->seq_type, + gpio_num_info, + GPIOF_OUT_INIT_LOW); + continue; + } + ps->data[0] = + soc_info->rgltr[ps->seq_val]; + ctrl->is_retention_power_up[pd->seq_type] = 0; + CAM_INFO(CAM_SENSOR_UTIL, + "[RET_DBG] %s for retention power down", + soc_info->rgltr_name[ps->seq_val]); + } else { + CAM_ERR(CAM_SENSOR_UTIL, + "seq_val:%d > num_vreg: %d", + pd->seq_val, + num_vreg); + } + } else + CAM_ERR(CAM_SENSOR_UTIL, + "error in power up/down seq"); + } + break; + default: + CAM_ERR(CAM_SENSOR_UTIL, "error power seq type %d", + pd->seq_type); + break; + } + } + + return 0; +} +#endif + +#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_I2C) +enum { + e_vc_addr_260_264, + e_vc_addr_110_264, + e_vc_addr_110_30b0, + e_vc_addr_110_30a4, + e_vc_addr_invalid, + e_vc_addr_max = e_vc_addr_invalid, +}; + +struct st_vc_addr { + uint32_t img_addr; + uint32_t pd_addr; + enum camera_sensor_i2c_type data_sz; +} vc_addr_info[e_vc_addr_max] = { + [e_vc_addr_260_264] = { 0x0260, 0x0264, CAMERA_SENSOR_I2C_TYPE_BYTE }, + [e_vc_addr_110_264] = { 0x0110, 0x0264, CAMERA_SENSOR_I2C_TYPE_WORD }, + [e_vc_addr_110_30b0] = { 0x0110, 0x30B0, CAMERA_SENSOR_I2C_TYPE_BYTE }, + [e_vc_addr_110_30a4] = { 0x0110, 0x30A4, CAMERA_SENSOR_I2C_TYPE_BYTE } +}; + +struct st_sensordbg_addr { + uint32_t cit; + uint32_t aeb_cit_l; + uint32_t aeb_cit_s; + uint32_t fll; + uint32_t aeb_fll_l; + uint32_t aeb_fll_s; + enum camera_sensor_i2c_type data_sz; // other than aeb_vc + uint32_t aeb_vc_l; + uint32_t aeb_vc_s; + enum camera_sensor_i2c_type aeb_vc_sz; // only about aeb_vc + uint32_t aeb_pd_vc_l; + uint32_t aeb_pd_vc_s; +} sensordbg_addr_info[e_seq_sensor_idn_max_invalid] = { + [e_seq_sensor_idn_s5khp2] = { + .cit = 0x0202, + .aeb_cit_l = 0x0e10, + .aeb_cit_s = 0x0e2a, + .fll = 0x0340, + .aeb_fll_l = 0x0e16, + .aeb_fll_s = 0x0e30, + .data_sz = CAMERA_SENSOR_I2C_TYPE_WORD, + .aeb_vc_l = 0x0e18, + .aeb_vc_s = 0x0e32, + .aeb_vc_sz = CAMERA_SENSOR_I2C_TYPE_WORD, + .aeb_pd_vc_l = 0x0e21, + .aeb_pd_vc_s = 0x0e3b, + }, + [e_seq_sensor_idn_s5kgn3] = { + .cit = 0x0202, + .aeb_cit_l = 0x0e10, + .aeb_cit_s = 0x0e1e, + .fll = 0x0340, + .aeb_fll_l = 0x0e16, + .aeb_fll_s = 0x0e24, + .data_sz = CAMERA_SENSOR_I2C_TYPE_WORD, + .aeb_vc_l = 0x0e18, + .aeb_vc_s = 0x0e26, + .aeb_vc_sz = CAMERA_SENSOR_I2C_TYPE_BYTE, + .aeb_pd_vc_l = 0x0e1a, + .aeb_pd_vc_s = 0x0e28, + }, + [e_seq_sensor_idn_s5k3lu] = { + .cit = 0x0202, + .aeb_cit_l = 0x0e10, + .aeb_cit_s = 0x0e20, + .fll = 0x0340, + .aeb_fll_l = 0x0e16, + .aeb_fll_s = 0x0e26, + .data_sz = CAMERA_SENSOR_I2C_TYPE_WORD, + .aeb_vc_l = 0x0e18, + .aeb_vc_s = 0x0e28, + .aeb_vc_sz = CAMERA_SENSOR_I2C_TYPE_BYTE, + .aeb_pd_vc_l = 0x0e1c, + .aeb_pd_vc_s = 0x0e2c, + }, + [e_seq_sensor_idn_imx564] = { + .cit = 0x0202, + .aeb_cit_l = 0x0e20, + .aeb_cit_s = 0x0e50, + .fll = 0x0340, + .aeb_fll_l = 0x0e2e, + .aeb_fll_s = 0x0e5e, + .data_sz = CAMERA_SENSOR_I2C_TYPE_WORD, + .aeb_vc_l = 0x0e30, + .aeb_vc_s = 0x0e60, + .aeb_vc_sz = CAMERA_SENSOR_I2C_TYPE_BYTE, + .aeb_pd_vc_l = 0x0e36, + .aeb_pd_vc_s = 0x0e66, + }, + [e_seq_sensor_idn_imx754] = { + .cit = 0x0202, + .aeb_cit_l = 0x0e20, + .aeb_cit_s = 0x0e40, + .fll = 0x0340, + .aeb_fll_l = 0x0e2e, + .aeb_fll_s = 0x0e4e, + .data_sz = CAMERA_SENSOR_I2C_TYPE_WORD, + .aeb_vc_l = 0x0e30, + .aeb_vc_s = 0x0e50, + .aeb_vc_sz = CAMERA_SENSOR_I2C_TYPE_BYTE, + .aeb_pd_vc_l = 0x0e33, + .aeb_pd_vc_s = 0x0e53, + }, + [e_seq_sensor_idn_imx854] = { + .cit = 0x0202, + .aeb_cit_l = 0x0e10, + .aeb_cit_s = 0x0e2a, + .fll = 0x0340, + .aeb_fll_l = 0x0e1e, + .aeb_fll_s = 0x0e4e, + .data_sz = CAMERA_SENSOR_I2C_TYPE_WORD, + .aeb_vc_l = 0x0e20, + .aeb_vc_s = 0x0e50, + .aeb_vc_sz = CAMERA_SENSOR_I2C_TYPE_BYTE, + .aeb_pd_vc_l = 0x0e26, + .aeb_pd_vc_s = 0x0e56, + }, + [e_seq_sensor_idn_s5k3k1] = {0,}, +}; + +const uint32_t reg_addr_aeb_on = 0xe00; +const uint32_t fcm_idx_addr = 0x0B30; + +inline e_seq_sensor_idnum get_seq_sen_id(uint32_t sensor_id) +{ + e_seq_sensor_idnum ret; + switch (sensor_id) + { + case SENSOR_ID_S5KHP2: + ret = e_seq_sensor_idn_s5khp2; + break; + case SENSOR_ID_S5KGN3: + ret = e_seq_sensor_idn_s5kgn3; + break; + case SENSOR_ID_S5K3LU: + ret = e_seq_sensor_idn_s5k3lu; + break; + case SENSOR_ID_IMX564: + ret = e_seq_sensor_idn_imx564; + break; + case SENSOR_ID_IMX754: + ret = e_seq_sensor_idn_imx754; + break; + case SENSOR_ID_S5K3K1: + ret = e_seq_sensor_idn_s5k3k1; + break; + case SENSOR_ID_IMX854: + ret = e_seq_sensor_idn_imx854; + break; + default: + ret = e_seq_sensor_idn_max_invalid; + break; + } + return ret; +} + + +inline int32_t get_vc_pick_idx(uint32_t sensor_id) +{ + switch (sensor_id) + { + case SENSOR_ID_S5KGN3: + case SENSOR_ID_S5K3LU: + return e_vc_addr_260_264; + case SENSOR_ID_S5KHP2: + return e_vc_addr_110_264; + case SENSOR_ID_IMX564: + case SENSOR_ID_IMX754: + return e_vc_addr_110_30b0; + case SENSOR_ID_IMX854: + return e_vc_addr_110_30a4; + } + return e_vc_addr_invalid; +} + + +int cam_sensor_i2c_write(struct cam_sensor_ctrl_t *s_ctrl, + uint32_t addr, uint32_t data, + enum camera_sensor_i2c_type addr_type, + enum camera_sensor_i2c_type data_type) +{ + int rc = 0; + struct cam_sensor_i2c_reg_setting write_setting; + + write_setting.reg_setting = kmalloc(sizeof(struct cam_sensor_i2c_reg_array), GFP_KERNEL); + if (!write_setting.reg_setting) { + return -ENOMEM; + } + memset(write_setting.reg_setting, 0, sizeof(struct cam_sensor_i2c_reg_array)); + + write_setting.addr_type = addr_type; + write_setting.data_type = data_type; + write_setting.delay = 0; + + write_setting.size = 1; + write_setting.reg_setting[0].reg_addr = addr; + write_setting.reg_setting[0].reg_data = data; + write_setting.reg_setting[0].delay = 0; + + rc = camera_io_dev_write(&s_ctrl->io_master_info, &write_setting); + + if (rc < 0) { + CAM_ERR(CAM_SENSOR_UTIL, "i2c byte write failed addr : 0x%x data : 0x%x", addr, data); + goto free_reg_setting; + } + + CAM_DBG(CAM_SENSOR_UTIL, "addr = 0x%x data: 0x%x", addr, data); + +free_reg_setting: + if (write_setting.reg_setting) + kfree(write_setting.reg_setting); + return rc; +} + + +void cam_sensor_handle_aeb_bubble(struct cam_sensor_ctrl_t* s_ctrl) +{ + // When AEB is ON, sensor is HP2 or GN3 (meaning AEB60fpsFLL W/A is needed) + // if it's detected that L FLL mismatching to S FLL, + int rc = 0; + bool is_aeb_wa_required = false; + uint32_t seq_sen_id = e_seq_sensor_idn_max_invalid; + + if (s_ctrl == NULL) + return; + CAM_INFO(CAM_SENSOR, "enter"); + seq_sen_id = get_seq_sen_id(s_ctrl->sensordata->slave_info.sensor_id); + is_aeb_wa_required = ((seq_sen_id == e_seq_sensor_idn_s5khp2) || + (seq_sen_id == e_seq_sensor_idn_s5kgn3)); + + if ((true == cam_sensor_check_aeb_on(s_ctrl)) && + (true == is_aeb_wa_required)) { + + uint32_t val_aeb_fll_l = 0, val_aeb_fll_s = 0; + + CAM_INFO(CAM_SENSOR, "e"); + + rc = camera_io_dev_read( + &(s_ctrl->io_master_info), + sensordbg_addr_info[seq_sen_id].aeb_fll_l, + &val_aeb_fll_l, CAMERA_SENSOR_I2C_TYPE_WORD, + sensordbg_addr_info[seq_sen_id].data_sz, false); + if (rc < 0) { + CAM_ERR(CAM_SENSOR_UTIL, "Failed to read 0x%x", sensordbg_addr_info[seq_sen_id].aeb_fll_l); + } + rc = camera_io_dev_read( + &(s_ctrl->io_master_info), + sensordbg_addr_info[seq_sen_id].aeb_fll_s, + &val_aeb_fll_s, CAMERA_SENSOR_I2C_TYPE_WORD, + sensordbg_addr_info[seq_sen_id].data_sz, false); + if (rc < 0) { + CAM_ERR(CAM_SENSOR_UTIL, "Failed to read 0x%x", sensordbg_addr_info[seq_sen_id].aeb_fll_s); + } + + // if L FLL differs from S, forcibly set same 60fps FLL to L + if (val_aeb_fll_l != val_aeb_fll_s) { + CAM_INFO(CAM_SENSOR_UTIL, "[SEN_DBG] %s recover AEB L fll 0x%x", s_ctrl->sensor_name, val_aeb_fll_s); + cam_sensor_i2c_write(s_ctrl, + sensordbg_addr_info[seq_sen_id].aeb_fll_l, + val_aeb_fll_s, + CAMERA_SENSOR_I2C_TYPE_WORD, + sensordbg_addr_info[seq_sen_id].data_sz + ); + } + } +} + + +void cam_sensor_parse_reg( + struct cam_sensor_ctrl_t* s_ctrl, + struct i2c_settings_list* i2c_list, + int32_t *dbg_sen_id, + int32_t *update_type + ) +{ + uint32_t i; + int32_t vc_pick_idx = e_vc_addr_invalid; + bool need_to_check_exp_ctl_violation = false; + uint32_t seq_sen_id = e_seq_sensor_idn_max_invalid; + + if (s_ctrl == NULL || i2c_list == NULL) { + return; + } + + vc_pick_idx = get_vc_pick_idx(s_ctrl->sensordata->slave_info.sensor_id); + if (vc_pick_idx == e_vc_addr_invalid) { + CAM_DBG(CAM_SENSOR_UTIL, "invalid vc_pick_idx"); + return; + } + seq_sen_id = get_seq_sen_id(s_ctrl->sensordata->slave_info.sensor_id); + + if ((seq_sen_id == e_seq_sensor_idn_s5khp2) || + (seq_sen_id == e_seq_sensor_idn_s5kgn3)) { + need_to_check_exp_ctl_violation = true; + } + + if (i2c_list->op_code == CAM_SENSOR_I2C_WRITE_RANDOM) { + for (i = 0; i < i2c_list->i2c_settings.size; i++) { + if (i2c_list->i2c_settings.reg_setting[i].reg_addr == reg_addr_aeb_on) { + *dbg_sen_id = s_ctrl->sensordata->slave_info.sensor_id;// AEB ctrl change results in vc change + *update_type |= e_sensor_upd_event_vc; + } + else if ((i2c_list->i2c_settings.reg_setting[i].reg_addr == vc_addr_info[vc_pick_idx].img_addr) || + (i2c_list->i2c_settings.reg_setting[i].reg_addr == vc_addr_info[vc_pick_idx].pd_addr)) { + *dbg_sen_id = s_ctrl->sensordata->slave_info.sensor_id; + *update_type |= e_sensor_upd_event_vc; + } + if (need_to_check_exp_ctl_violation) { + if ((i2c_list->i2c_settings.reg_setting[i].reg_addr == sensordbg_addr_info[seq_sen_id].cit) || + (i2c_list->i2c_settings.reg_setting[i].reg_addr == sensordbg_addr_info[seq_sen_id].aeb_cit_l) || + (i2c_list->i2c_settings.reg_setting[i].reg_addr == sensordbg_addr_info[seq_sen_id].aeb_cit_s)) { + *update_type |= e_sensor_upd_event_exposure; + } + if ((i2c_list->i2c_settings.reg_setting[i].reg_addr == sensordbg_addr_info[seq_sen_id].aeb_pd_vc_l) || + (i2c_list->i2c_settings.reg_setting[i].reg_addr == sensordbg_addr_info[seq_sen_id].aeb_pd_vc_s)) { + *update_type |= e_sensor_upd_event_dual_pd_vc; + } + } + } + } +} + + +bool cam_sensor_check_aeb_on(struct cam_sensor_ctrl_t* s_ctrl) +{ + int rc = 0; + const uint32_t reg_addr_aeb_ctrl = 0xe00; + bool is_aeb_activated = false; + uint32_t val_aeb_ctrl = 0; + struct cam_camera_slave_info* slave_info; + + slave_info = &(s_ctrl->sensordata->slave_info); + + if (!slave_info) { + CAM_ERR(CAM_SENSOR_UTIL, " failed: %pK", + slave_info); + return false; + } + + rc = camera_io_dev_read( + &(s_ctrl->io_master_info), + reg_addr_aeb_ctrl, + &val_aeb_ctrl, CAMERA_SENSOR_I2C_TYPE_WORD, + CAMERA_SENSOR_I2C_TYPE_WORD, false); + if (rc < 0) { + CAM_ERR(CAM_SENSOR_UTIL, "Failed to read 0x%x", reg_addr_aeb_ctrl); + } + + switch (s_ctrl->sensordata->slave_info.sensor_id) + { + case SENSOR_ID_S5KHP2: + is_aeb_activated = ((val_aeb_ctrl & 0xf) == 0x3) ? true : false; + break; + case SENSOR_ID_S5KGN3: + case SENSOR_ID_S5K3LU: + is_aeb_activated = ((val_aeb_ctrl & 0x0f00) == 0x200) ? true : false; + break; + case SENSOR_ID_IMX564: + case SENSOR_ID_IMX754: + is_aeb_activated = ((val_aeb_ctrl & 0x0f00) == 0x200) ? true : false; + break; + case SENSOR_ID_S5K3K1: + is_aeb_activated = ((val_aeb_ctrl & 0x0f00) == 0x200) ? true : false; + break; + case SENSOR_ID_IMX854: + is_aeb_activated = ((val_aeb_ctrl & 0x0f00) == 0x200) ? true : false; + break; + default: + break; + } + CAM_DBG(CAM_SENSOR, "[AEB_DBG][%s] read addr 0x%x data 0x%x", + s_ctrl->sensor_name, + reg_addr_aeb_ctrl, + val_aeb_ctrl + ); + return is_aeb_activated; +} + + +void cam_sensor_dbg_print_vc(struct cam_sensor_ctrl_t* s_ctrl) +{ + int rc = 0; + uint32_t vc_img = 0, vc_pd_h = 0, vc_pd_v = 0; + uint32_t vc_pick_idx = e_vc_addr_invalid; + bool is_aeb_activated = false; + bool is_fcm_debugging = false; + uint32_t fcm_idx = 0; + uint32_t seq_sen_id = get_seq_sen_id(s_ctrl->sensordata->slave_info.sensor_id); + + struct cam_camera_slave_info* slave_info; + + slave_info = &(s_ctrl->sensordata->slave_info); + + if (!slave_info) { + CAM_ERR(CAM_SENSOR_UTIL, " failed: %pK", + slave_info); + return; + } + + if (seq_sen_id == e_seq_sensor_idn_max_invalid) { + return; + } + + switch (s_ctrl->sensordata->slave_info.sensor_id) + { + case SENSOR_ID_S5KHP2: + vc_pick_idx = e_vc_addr_110_264; + is_fcm_debugging = true; + break; + case SENSOR_ID_S5KGN3: + case SENSOR_ID_S5K3LU: + vc_pick_idx = e_vc_addr_260_264; + break; + case SENSOR_ID_IMX564: + case SENSOR_ID_IMX754: + vc_pick_idx = e_vc_addr_110_30b0; + break; + case SENSOR_ID_IMX854: + vc_pick_idx = e_vc_addr_110_30a4; + break; + case SENSOR_ID_S5K3K1: + vc_pick_idx = e_vc_addr_invalid; + break; + default: + return; + } + + is_aeb_activated = cam_sensor_check_aeb_on(s_ctrl); + + if (is_aeb_activated) + { + uint32_t vc_l = 0, vc_s = 0; + + if (sensordbg_addr_info[seq_sen_id].aeb_vc_sz != CAMERA_SENSOR_I2C_TYPE_INVALID) { + rc = camera_io_dev_read( + &(s_ctrl->io_master_info), + sensordbg_addr_info[seq_sen_id].aeb_vc_l, + &vc_l, CAMERA_SENSOR_I2C_TYPE_WORD, + sensordbg_addr_info[seq_sen_id].aeb_vc_sz, false); + if (rc < 0) { + CAM_ERR(CAM_SENSOR_UTIL, "Failed to read 0x%x", sensordbg_addr_info[seq_sen_id].aeb_vc_l); + } + rc = camera_io_dev_read( + &(s_ctrl->io_master_info), + sensordbg_addr_info[seq_sen_id].aeb_vc_s, + &vc_s, CAMERA_SENSOR_I2C_TYPE_WORD, + sensordbg_addr_info[seq_sen_id].aeb_vc_sz, false); + if (rc < 0) { + CAM_ERR(CAM_SENSOR_UTIL, "Failed to read 0x%x", sensordbg_addr_info[seq_sen_id].aeb_vc_s); + } + + CAM_INFO(CAM_SENSOR_UTIL, "[AEB_DBG]%s[%s] AEB switched on : VC img_l(0x%x) 0x%x img_s(0x%x) 0x%x, reqId %lld", + s_ctrl->is_bubble_packet == true ? "[BUBBLE]" : "", + s_ctrl->sensor_name, + sensordbg_addr_info[seq_sen_id].aeb_vc_l, vc_l, + sensordbg_addr_info[seq_sen_id].aeb_vc_s, vc_s, s_ctrl->last_applied_req); + } else { + CAM_INFO(CAM_SENSOR_UTIL, "[AEB_DBG]%s[%s] AEB switched on : odd vc, reqId %lld", + s_ctrl->is_bubble_packet == true ? "[BUBBLE]" : "", + s_ctrl->sensor_name, s_ctrl->last_applied_req); + } + } else { + if (vc_pick_idx == e_vc_addr_invalid) { + CAM_INFO(CAM_SENSOR_UTIL, "[AEB_DBG]%s[%s] AEB off, reqId %lld", + s_ctrl->is_bubble_packet == true ? "[BUBBLE]" : "", + s_ctrl->sensor_name, s_ctrl->last_applied_req); + } else { + rc = camera_io_dev_read( + &(s_ctrl->io_master_info), + vc_addr_info[vc_pick_idx].img_addr, + &vc_img, CAMERA_SENSOR_I2C_TYPE_WORD, + vc_addr_info[vc_pick_idx].data_sz, false); + if (rc < 0) { + CAM_ERR(CAM_SENSOR_UTIL, "Failed to read 0x%x", vc_addr_info[vc_pick_idx].img_addr); + } + + rc = camera_io_dev_read( + &(s_ctrl->io_master_info), + vc_addr_info[vc_pick_idx].pd_addr, + &vc_pd_h, CAMERA_SENSOR_I2C_TYPE_WORD, + vc_addr_info[vc_pick_idx].data_sz, false); + if (rc < 0) { + CAM_ERR(CAM_SENSOR_UTIL, "Failed to read 0x%x", vc_addr_info[vc_pick_idx].pd_addr); + } + + if (is_fcm_debugging == true) { + rc = camera_io_dev_read( + &(s_ctrl->io_master_info), + fcm_idx_addr, + &fcm_idx, CAMERA_SENSOR_I2C_TYPE_WORD, + CAMERA_SENSOR_I2C_TYPE_WORD, false); + if (rc < 0) { + CAM_ERR(CAM_SENSOR_UTIL, "Failed to read 0x%x", fcm_idx_addr); + } + } + + if (s_ctrl->sensordata->slave_info.sensor_id == SENSOR_ID_S5KHP2) { + vc_img = (vc_img & 0xf00) >> 8; + vc_pd_v = (vc_pd_h & 0xf); + vc_pd_h = (vc_pd_h & 0xf00) >> 8; + } + + CAM_INFO(CAM_SENSOR_UTIL, "[AEB_DBG]%s[%s] AEB off, VC img 0x%x, hpd 0x%x, vpd 0x%x (%dByte) fcm_idx 0x%x, reqId %lld", + s_ctrl->is_bubble_packet == true ? "[BUBBLE]" : "", + s_ctrl->sensor_name, + vc_img, vc_pd_h, vc_pd_v, vc_addr_info[vc_pick_idx].data_sz, fcm_idx, s_ctrl->last_applied_req); + } + } +} + + +void cam_sensor_dbg_print_dual_pd_vc(struct cam_sensor_ctrl_t* s_ctrl) +{ + int rc = 0; + uint32_t aeb_pd_vc_l = 0, aeb_pd_vc_s = 0; + uint32_t seq_sen_id = get_seq_sen_id(s_ctrl->sensordata->slave_info.sensor_id); + + struct cam_camera_slave_info* slave_info; + + slave_info = &(s_ctrl->sensordata->slave_info); + + if (!slave_info) { + CAM_ERR(CAM_SENSOR_UTIL, " failed: %pK", + slave_info); + return; + } + + if (seq_sen_id == e_seq_sensor_idn_max_invalid) { + return; + } + + rc = camera_io_dev_read( + &(s_ctrl->io_master_info), + sensordbg_addr_info[seq_sen_id].aeb_pd_vc_l, + &aeb_pd_vc_l, CAMERA_SENSOR_I2C_TYPE_WORD, + CAMERA_SENSOR_I2C_TYPE_BYTE, false); + if (rc < 0) { + CAM_ERR(CAM_SENSOR_UTIL, "Failed to read 0x%x", sensordbg_addr_info[seq_sen_id].aeb_pd_vc_l); + } + + rc = camera_io_dev_read( + &(s_ctrl->io_master_info), + sensordbg_addr_info[seq_sen_id].aeb_pd_vc_s, + &aeb_pd_vc_s, CAMERA_SENSOR_I2C_TYPE_WORD, + CAMERA_SENSOR_I2C_TYPE_BYTE, false); + if (rc < 0) { + CAM_ERR(CAM_SENSOR_UTIL, "Failed to read 0x%x", sensordbg_addr_info[seq_sen_id].aeb_pd_vc_s); + } + + CAM_INFO(CAM_SENSOR_UTIL, "[AEB_DBG][%s] pdaf vc l 0x%x, s 0x%x, reqId %lld", + s_ctrl->sensor_name, + aeb_pd_vc_l, aeb_pd_vc_s, s_ctrl->last_applied_req); +} + + +void cam_sensor_dbg_exp_violation(struct cam_sensor_ctrl_t* s_ctrl) +{ + int rc = 0; + bool is_aeb_activated = false; + uint32_t seq_sen_id = get_seq_sen_id(s_ctrl->sensordata->slave_info.sensor_id); + + struct cam_camera_slave_info* slave_info; + + slave_info = &(s_ctrl->sensordata->slave_info); + + if (!slave_info) { + CAM_ERR(CAM_SENSOR_UTIL, " failed: %pK", + slave_info); + return; + } + + // 1. if sony sesor, return + if ((seq_sen_id != e_seq_sensor_idn_s5khp2) && + (seq_sen_id != e_seq_sensor_idn_s5kgn3)) { + return; + } + + is_aeb_activated = cam_sensor_check_aeb_on(s_ctrl); + + // 2. if AEB on + if (is_aeb_activated) { + // compare AEB L/S cit and AEB FLL + uint32_t val_aeb_cit_l = 0, val_aeb_cit_s = 0; + uint32_t val_aeb_fll_l = 0, val_aeb_fll_s = 0; + bool long_cit_violation = false, short_cit_violation = false; + + rc = camera_io_dev_read( + &(s_ctrl->io_master_info), + sensordbg_addr_info[seq_sen_id].aeb_cit_l, + &val_aeb_cit_l, CAMERA_SENSOR_I2C_TYPE_WORD, + sensordbg_addr_info[seq_sen_id].data_sz, false); + if (rc < 0) { + CAM_ERR(CAM_SENSOR_UTIL, "Failed to read 0x%x", sensordbg_addr_info[seq_sen_id].aeb_cit_l); + } + rc = camera_io_dev_read( + &(s_ctrl->io_master_info), + sensordbg_addr_info[seq_sen_id].aeb_fll_l, + &val_aeb_fll_l, CAMERA_SENSOR_I2C_TYPE_WORD, + sensordbg_addr_info[seq_sen_id].data_sz, false); + if (rc < 0) { + CAM_ERR(CAM_SENSOR_UTIL, "Failed to read 0x%x", sensordbg_addr_info[seq_sen_id].aeb_fll_l); + } + rc = camera_io_dev_read( + &(s_ctrl->io_master_info), + sensordbg_addr_info[seq_sen_id].aeb_cit_s, + &val_aeb_cit_s, CAMERA_SENSOR_I2C_TYPE_WORD, + sensordbg_addr_info[seq_sen_id].data_sz, false); + if (rc < 0) { + CAM_ERR(CAM_SENSOR_UTIL, "Failed to read 0x%x", sensordbg_addr_info[seq_sen_id].aeb_cit_s); + } + rc = camera_io_dev_read( + &(s_ctrl->io_master_info), + sensordbg_addr_info[seq_sen_id].aeb_fll_s, + &val_aeb_fll_s, CAMERA_SENSOR_I2C_TYPE_WORD, + sensordbg_addr_info[seq_sen_id].data_sz, false); + if (rc < 0) { + CAM_ERR(CAM_SENSOR_UTIL, "Failed to read 0x%x", sensordbg_addr_info[seq_sen_id].aeb_fll_s); + } + long_cit_violation = (val_aeb_cit_l > val_aeb_fll_l) ? true : false; + short_cit_violation = (val_aeb_cit_s > val_aeb_fll_s) ? true : false; + + if (long_cit_violation || short_cit_violation) + CAM_ERR(CAM_SENSOR_UTIL, "[SEN_DBG] %s %s (l: 0x%x 0x%x, s: 0x%x 0x%x)", + long_cit_violation ? "LONG_CIT_VIOLATION" : "", + short_cit_violation ? "SHORT_CIT_VIOLATION" : "", + val_aeb_cit_l, val_aeb_fll_l, + val_aeb_cit_s, val_aeb_fll_s); + } + // 3. if AEB off + else { + uint32_t val_cit = 0; + uint32_t val_fll = 0; + bool cit_violation = false; + + rc = camera_io_dev_read( + &(s_ctrl->io_master_info), + sensordbg_addr_info[seq_sen_id].cit, + &val_cit, CAMERA_SENSOR_I2C_TYPE_WORD, + sensordbg_addr_info[seq_sen_id].data_sz, false); + if (rc < 0) { + CAM_ERR(CAM_SENSOR_UTIL, "Failed to read 0x%x", sensordbg_addr_info[seq_sen_id].cit); + } + rc = camera_io_dev_read( + &(s_ctrl->io_master_info), + sensordbg_addr_info[seq_sen_id].fll, + &val_fll, CAMERA_SENSOR_I2C_TYPE_WORD, + sensordbg_addr_info[seq_sen_id].data_sz, false); + if (rc < 0) { + CAM_ERR(CAM_SENSOR_UTIL, "Failed to read 0x%x", sensordbg_addr_info[seq_sen_id].fll); + } + // compare cit and FLL + cit_violation = (val_cit > val_fll) ? true : false; + if (cit_violation) + CAM_ERR(CAM_SENSOR_UTIL, "[SEN_DBG] CIT_VIOLATION (0x%x 0x%x)", + val_cit, val_fll); + } +} + + +void cam_sensor_dbg_print_by_upd_type(struct cam_sensor_ctrl_t* s_ctrl, int32_t sen_update_type) +{ + if ((sen_update_type & e_sensor_upd_event_vc) == e_sensor_upd_event_vc) + cam_sensor_dbg_print_vc(s_ctrl); + + if ((sen_update_type & e_sensor_upd_event_exposure) == e_sensor_upd_event_exposure) + cam_sensor_dbg_exp_violation(s_ctrl); + + if ((sen_update_type & e_sensor_upd_event_dual_pd_vc) == e_sensor_upd_event_dual_pd_vc) + cam_sensor_dbg_print_dual_pd_vc(s_ctrl); +} + +void cam_sensor_i2c_dump_util( + struct cam_sensor_ctrl_t *s_ctrl, + struct i2c_settings_list *i2c_list, + int i2c_debug_cnt) +{ + uint32_t size=0, i; + + if (s_ctrl == NULL || i2c_list == NULL) { + return; + } + + size = i2c_list->i2c_settings.size; + if (strstr(debug_sensor_name, s_ctrl->sensor_name) != NULL) { + CAM_INFO(CAM_SENSOR_UTIL, "sensor_name:%s sz %d", s_ctrl->sensor_name, size); + for (i = 0; i < size; i++) { + if (i2c_debug_cnt == 0) { + const char* str_i2c_cmd[CAM_SENSOR_I2C_POLL + 1] = { + "[W]", "[WBur]", "[WSeq]", "[R]", "[RSeq]", "[P]" }; + + CAM_INFO(CAM_SENSOR_UTIL, "%s%s addr:0x%4x data:0x%4x", + str_i2c_cmd[i2c_list->op_code], + s_ctrl->is_bubble_packet ? "[BUBBLE]" : "", + i2c_list->i2c_settings.reg_setting[i].reg_addr, + i2c_list->i2c_settings.reg_setting[i].reg_data); + } else if (i2c_debug_cnt > 0) { + if (i == 0) { + CAM_INFO(CAM_SENSOR_UTIL, + "[I2C_DBG] ====== op_code : %d, size : %d ======", + i2c_list->op_code, i2c_list->i2c_settings.size); + } + CAM_INFO(CAM_SENSOR_UTIL, + "[I2C_DBG] [%d] addr : 0x%04X, data : 0x%04X", i, + i2c_list->i2c_settings.reg_setting[i].reg_addr, + i2c_list->i2c_settings.reg_setting[i].reg_data); + if (i >= i2c_debug_cnt) + break; + } + } + } +} + + +struct cam_sensor_i2c_reg_array page_4000_reg_array[] = { + {0xFCFC, 0x4000, 0, 0}, +}; + +struct cam_sensor_i2c_reg_array page_1001_reg_array[] = { + {0xFCFC, 0x1001, 0, 0}, +}; + +struct cam_sensor_i2c_reg_array page_1000_reg_array[] = { + {0xFCFC, 0x1000, 0, 0}, +}; + +struct cam_sensor_i2c_reg_array page_1003_reg_array[] = { + {0xFCFC, 0x1003, 0, 0}, +}; + +const uint32_t dump_addr_page4000[] = { + 0x001E, 0x0B30, 0x0B32, 0x0C50, + 0x112, 0x030E, 0x312, 0x310, + 0x342, 0x340, 0xC340, 0x118, + 0x110, 0x264, 0x0B10, 0x0B12, + 0x344, 0x346, 0x348, 0x034A, + 0x034C, 0x034E, 0x350, 0x352, + 0x380, 0x382, 0x384, 0x386, + 0x900, 0x040C, 0x404, 0x408, + 0x040A, 0x400, 0x0D02, 0x0D06, + 0x0D08, 0x55FE, 0x0E00, 0x0E04, + 0x0E10, 0x0E12, 0x0E14, 0x0E16, + 0x0E18, 0x0E1A, 0x0E1C, 0x0E1E, + 0x0E20, 0x0E22, 0x0E24, 0x0E26, + 0x0E28, 0x0E2A, 0x0E2C, 0x0E2E, + 0x0E30, 0x0E32, 0x0E34, 0x0E36, + 0x0E38, 0x0E3A, 0x0E3C, 0x0E3E, + 0x0E40, 0x0E42, 0x0104 +}; + +const uint32_t dump_addr_page1001[] = { + 0xA200, 0xA204, 0xA20A, 0x720, + 0x072A, 0x0540, 0x0542, 0x0544, + 0x0546, 0x0548, 0x054A, 0x054C, + 0x054E, 0x550, 0x552, 0x554, + 0x556, 0x558, 0x055A, 0x055C, + 0x055E, 0x560, 0x562, 0x564, + 0x566, 0x568, 0x056A, 0x056C, + 0x056E, 0x570, 0x572, 0x574, + 0x576, 0x578, 0x057A, 0x057C, + 0x057E, 0x580, 0x582, 0x584, + 0x586, 0x588, 0x058A, 0x058C, + 0x058E, 0x590, 0x592, 0x594, + 0x596, 0x598, 0x059A, 0x059C, + 0x059E, 0x05A0, 0x05A2, 0x05A4, + 0x05A6, 0x05A8, 0x05AA, 0x05AC, + 0x05AE, 0x05B0, 0x05B2, 0x05B4, + 0x05B6, 0x05B8, 0x05BA, 0x05BC, + 0x05BE, 0x05C0, 0x05C2, 0x05C4, + 0x05C6, 0x05C8, 0x05CA, 0x05CC, + 0x05CE, 0x05D0, 0x05D2, 0x05D4, + 0x05D6, 0x05D8, 0x05DA, 0x05DC, + 0xA26E, 0xA202, 0xA206 +}; + +const uint32_t dump_addr_page1000[] = +{ + 0x2FC0, 0x2FC2, 0x35DC, 0xD05A, + 0xC88A, 0xEB30, 0xE800, 0x33DE, + 0x33E2, 0x33E6, 0x33EA, 0x33EE, + 0x33F2, 0x33F6, 0x33FA, 0x33FE, + 0x3402, 0x3406, 0x340A, 0x340E, + 0x3412, 0x3416, 0x341A, 0x341E, + 0x3422, 0x3426, 0x342A, 0x342E, + 0x3432, 0x3436, 0x343A, 0x343E, + 0x3442, 0x3446, 0x344A, 0x344E, + 0x3452, 0x3456 +}; + +struct st_sensor_reg_dump_addr { + uint32_t addr; + enum camera_sensor_i2c_type data_sz; + const char* addr_name; +}; + +struct st_sensor_reg_dump_addr hp2_dump_addr_arr[] = { + { 0x0202, CAMERA_SENSOR_I2C_TYPE_WORD, "CIT"}, + { 0x0342, CAMERA_SENSOR_I2C_TYPE_WORD, "LLK"}, + { 0x0340, CAMERA_SENSOR_I2C_TYPE_WORD, "FLL"}, + { 0x0e00, CAMERA_SENSOR_I2C_TYPE_WORD, "AEB ctl"}, + { 0x0b30, CAMERA_SENSOR_I2C_TYPE_WORD, "FCM idx"}, +}; + + +struct st_sensor_reg_dump_addr gn3_dump_addr_arr[] = { + { 0x034c, CAMERA_SENSOR_I2C_TYPE_WORD, "width" }, + { 0x034e, CAMERA_SENSOR_I2C_TYPE_WORD, "height" }, + { 0x0e16, CAMERA_SENSOR_I2C_TYPE_WORD, "AEB long fll" }, + { 0x0e24, CAMERA_SENSOR_I2C_TYPE_WORD, "AEB short fll" }, +}; + + +struct st_sensor_reg_dump_addr imx564_dump_addr_arr[] = { + { 0x0005, CAMERA_SENSOR_I2C_TYPE_BYTE, "FRAME COUNTER" }, + { 0x0100, CAMERA_SENSOR_I2C_TYPE_WORD, "STREAM ON" }, + { 0x0342, CAMERA_SENSOR_I2C_TYPE_WORD, "LINE LENGTH PCK" }, + { 0x0114, CAMERA_SENSOR_I2C_TYPE_WORD, "CSI_LANE_MODE" }, + { 0x0112, CAMERA_SENSOR_I2C_TYPE_WORD, "CSI_DT_FMT" }, + { 0x0830, CAMERA_SENSOR_I2C_TYPE_BYTE, "SCAL_PERIOD_EN" }, + { 0x0832, CAMERA_SENSOR_I2C_TYPE_BYTE, "SCAL_INIT_EN" }, + { 0x3323, CAMERA_SENSOR_I2C_TYPE_BYTE, "SCAL_TSKEWCAL_UNIT" }, + { 0x3329, CAMERA_SENSOR_I2C_TYPE_BYTE, "SCAL_TSKEWCAL_INIT_1" }, + { 0x332A, CAMERA_SENSOR_I2C_TYPE_WORD, "SCAL_TSKEWCAL_INIT_2" }, + { 0x332D, CAMERA_SENSOR_I2C_TYPE_BYTE, "SCAL_TSKEWCAL_PERIOD_1" }, + { 0x332E, CAMERA_SENSOR_I2C_TYPE_WORD, "SCAL_TSKEWCAL_PERIOD_2" }, + { 0x0808, CAMERA_SENSOR_I2C_TYPE_BYTE, "PHY_CTRL" }, + { 0x0820, CAMERA_SENSOR_I2C_TYPE_BYTE, "REQ_LINK_BIT_RATE_MBPS" }, + { 0x0843, CAMERA_SENSOR_I2C_TYPE_BYTE, "TGR_PPRG_SEQ" }, + { 0x084E, CAMERA_SENSOR_I2C_TYPE_WORD, "T3PREPARE" }, + { 0x0850, CAMERA_SENSOR_I2C_TYPE_WORD, "T3LPX" }, + { 0x0852, CAMERA_SENSOR_I2C_TYPE_WORD, "T3HSEXIT" }, + { 0x0854, CAMERA_SENSOR_I2C_TYPE_WORD, "T3PREBEGIN" }, + { 0x0856, CAMERA_SENSOR_I2C_TYPE_BYTE, "T3PROGSEQ_EN" }, + { 0x0858, CAMERA_SENSOR_I2C_TYPE_WORD, "T3POST" }, + { 0x030E, CAMERA_SENSOR_I2C_TYPE_WORD, "MIPI RATE" }, + { 0x0E20, CAMERA_SENSOR_I2C_TYPE_WORD, "AEB long CIT" }, + { 0x0E2E, CAMERA_SENSOR_I2C_TYPE_WORD, "AEB long FLL" }, + { 0xE50, CAMERA_SENSOR_I2C_TYPE_WORD, "AEB short CIT" }, + { 0x0E5E, CAMERA_SENSOR_I2C_TYPE_WORD, "AEB short FLL" }, +}; + + +struct st_sensor_reg_dump_addr imx754_dump_addr_arr[] = { + { 0x0005, CAMERA_SENSOR_I2C_TYPE_BYTE, "FRAME COUNTER" }, + { 0x0100, CAMERA_SENSOR_I2C_TYPE_WORD, "STREAM ON" }, + { 0x0342, CAMERA_SENSOR_I2C_TYPE_WORD, "LINE LENGTH PCK" }, + { 0x0114, CAMERA_SENSOR_I2C_TYPE_WORD, "CSI_LANE_MODE" }, + { 0x0112, CAMERA_SENSOR_I2C_TYPE_WORD, "CSI_DT_FMT" }, + { 0x0830, CAMERA_SENSOR_I2C_TYPE_BYTE, "SCAL_PERIOD_EN" }, + { 0x0832, CAMERA_SENSOR_I2C_TYPE_BYTE, "SCAL_INIT_EN" }, + { 0x3323, CAMERA_SENSOR_I2C_TYPE_BYTE, "SCAL_TSKEWCAL_UNIT" }, + { 0x3329, CAMERA_SENSOR_I2C_TYPE_BYTE, "SCAL_TSKEWCAL_INIT_1" }, + { 0x332A, CAMERA_SENSOR_I2C_TYPE_WORD, "SCAL_TSKEWCAL_INIT_2" }, + { 0x332D, CAMERA_SENSOR_I2C_TYPE_BYTE, "SCAL_TSKEWCAL_PERIOD_1" }, + { 0x332E, CAMERA_SENSOR_I2C_TYPE_WORD, "SCAL_TSKEWCAL_PERIOD_2" }, + { 0x0808, CAMERA_SENSOR_I2C_TYPE_BYTE, "PHY_CTRL" }, + { 0x0820, CAMERA_SENSOR_I2C_TYPE_BYTE, "REQ_LINK_BIT_RATE_MBPS" }, + { 0x0843, CAMERA_SENSOR_I2C_TYPE_BYTE, "TGR_PPRG_SEQ" }, + { 0x084E, CAMERA_SENSOR_I2C_TYPE_WORD, "T3PREPARE" }, + { 0x0850, CAMERA_SENSOR_I2C_TYPE_WORD, "T3LPX" }, + { 0x0852, CAMERA_SENSOR_I2C_TYPE_WORD, "T3HSEXIT" }, + { 0x0854, CAMERA_SENSOR_I2C_TYPE_WORD, "T3PREBEGIN" }, + { 0x0856, CAMERA_SENSOR_I2C_TYPE_BYTE, "T3PROGSEQ_EN" }, + { 0x0858, CAMERA_SENSOR_I2C_TYPE_WORD, "T3POST" }, + { 0x030E, CAMERA_SENSOR_I2C_TYPE_WORD, "MIPI RATE" }, + { 0x0E20, CAMERA_SENSOR_I2C_TYPE_WORD, "AEB long CIT" }, + { 0x0E2E, CAMERA_SENSOR_I2C_TYPE_WORD, "AEB long FLL" }, + { 0xE40, CAMERA_SENSOR_I2C_TYPE_WORD, "AEB short CIT" }, + { 0x0E4E, CAMERA_SENSOR_I2C_TYPE_WORD, "AEB short FLL" }, +}; + +const uint32_t dump_addr_page1003[] = { 0x9262 }; + + +void cam_sensor_dbg_regdump_imx564(struct cam_sensor_ctrl_t* s_ctrl) +{ + uint32_t i; + + int rc = 0; + int val = 0; + + for (i = 0; i < sizeof(imx564_dump_addr_arr) / sizeof(struct st_sensor_reg_dump_addr); i++) + { + rc = camera_io_dev_read( + &(s_ctrl->io_master_info), + imx564_dump_addr_arr[i].addr, + &val, CAMERA_SENSOR_I2C_TYPE_WORD, + imx564_dump_addr_arr[i].data_sz, false); + + if (rc < 0) + CAM_ERR(CAM_SENSOR_UTIL, "[SEN_DBG] read fail"); + else { + CAM_INFO(CAM_SENSOR_UTIL, "[SEN_DBG] addr:0x%4x val:0x%4x //%s(%dB)", + imx564_dump_addr_arr[i].addr, val, + imx564_dump_addr_arr[i].addr_name, + imx564_dump_addr_arr[i].data_sz); + } + } +} + +void cam_sensor_dbg_regdump_imx754(struct cam_sensor_ctrl_t* s_ctrl) +{ + uint32_t i; + + int rc = 0; + int val = 0; + + for (i = 0; i < sizeof(imx754_dump_addr_arr) / sizeof(struct st_sensor_reg_dump_addr); i++) + { + rc = camera_io_dev_read( + &(s_ctrl->io_master_info), + imx754_dump_addr_arr[i].addr, + &val, CAMERA_SENSOR_I2C_TYPE_WORD, + imx754_dump_addr_arr[i].data_sz, false); + + if (rc < 0) + CAM_ERR(CAM_SENSOR_UTIL, "[SEN_DBG] read fail"); + else { + CAM_INFO(CAM_SENSOR_UTIL, "[SEN_DBG] addr:0x%4x val:0x%4x //%s(%dB)", + imx754_dump_addr_arr[i].addr, val, + imx754_dump_addr_arr[i].addr_name, + imx754_dump_addr_arr[i].data_sz); + } + } +} + +void cam_sensor_dbg_regdump_gn3(struct cam_sensor_ctrl_t* s_ctrl) +{ + uint32_t i; + + int rc = 0; + int val = 0; + + for (i = 0; i < sizeof(gn3_dump_addr_arr) / sizeof(struct st_sensor_reg_dump_addr); i++) + { + rc = camera_io_dev_read( + &(s_ctrl->io_master_info), + gn3_dump_addr_arr[i].addr, + &val, CAMERA_SENSOR_I2C_TYPE_WORD, + gn3_dump_addr_arr[i].data_sz, false); + + if (rc < 0) + CAM_ERR(CAM_SENSOR_UTIL, "[SEN_DBG] read fail"); + else { + CAM_INFO(CAM_SENSOR_UTIL, "[SEN_DBG] addr:0x%4x val:0x%4x //%s(%dB)", + gn3_dump_addr_arr[i].addr, val, + gn3_dump_addr_arr[i].addr_name, + gn3_dump_addr_arr[i].data_sz); + } + } +} + +void cam_sensor_dbg_regdump_hp2(struct cam_sensor_ctrl_t* s_ctrl) +{ + struct cam_sensor_i2c_reg_setting dbg_reg_setting_p4000; + struct cam_sensor_i2c_reg_setting dbg_reg_setting_p1001; + struct cam_sensor_i2c_reg_setting dbg_reg_setting_p1000; + struct cam_sensor_i2c_reg_setting dbg_reg_setting_p1003; + + uint32_t i; + + int rc = 0; + int val = 0; + int size = 0; + + size = ARRAY_SIZE(page_4000_reg_array); + dbg_reg_setting_p4000.reg_setting = kmalloc(sizeof(struct cam_sensor_i2c_reg_array) * size, GFP_KERNEL); + if (dbg_reg_setting_p4000.reg_setting != NULL) { + dbg_reg_setting_p4000.size = size; + dbg_reg_setting_p4000.addr_type = CAMERA_SENSOR_I2C_TYPE_WORD; + dbg_reg_setting_p4000.data_type = CAMERA_SENSOR_I2C_TYPE_WORD; + dbg_reg_setting_p4000.delay = 0; + memcpy(dbg_reg_setting_p4000.reg_setting, &page_4000_reg_array, sizeof(struct cam_sensor_i2c_reg_array) * size); + } + + size = ARRAY_SIZE(page_1001_reg_array); + dbg_reg_setting_p1001.reg_setting = kmalloc(sizeof(struct cam_sensor_i2c_reg_array) * size, GFP_KERNEL); + if (dbg_reg_setting_p1001.reg_setting != NULL) { + dbg_reg_setting_p1001.size = size; + dbg_reg_setting_p1001.addr_type = CAMERA_SENSOR_I2C_TYPE_WORD; + dbg_reg_setting_p1001.data_type = CAMERA_SENSOR_I2C_TYPE_WORD; + dbg_reg_setting_p1001.delay = 0; + memcpy(dbg_reg_setting_p1001.reg_setting, &page_1001_reg_array, sizeof(struct cam_sensor_i2c_reg_array) * size); + } + + size = ARRAY_SIZE(page_1000_reg_array); + dbg_reg_setting_p1000.reg_setting = kmalloc(sizeof(struct cam_sensor_i2c_reg_array) * size, GFP_KERNEL); + if (dbg_reg_setting_p1000.reg_setting != NULL) { + dbg_reg_setting_p1000.size = size; + dbg_reg_setting_p1000.addr_type = CAMERA_SENSOR_I2C_TYPE_WORD; + dbg_reg_setting_p1000.data_type = CAMERA_SENSOR_I2C_TYPE_WORD; + dbg_reg_setting_p1000.delay = 0; + memcpy(dbg_reg_setting_p1000.reg_setting, &page_1000_reg_array, sizeof(struct cam_sensor_i2c_reg_array) * size); + } + + size = ARRAY_SIZE(page_1003_reg_array); + dbg_reg_setting_p1003.reg_setting = kmalloc(sizeof(struct cam_sensor_i2c_reg_array) * size, GFP_KERNEL); + if (dbg_reg_setting_p1003.reg_setting != NULL) { + dbg_reg_setting_p1003.size = size; + dbg_reg_setting_p1003.addr_type = CAMERA_SENSOR_I2C_TYPE_WORD; + dbg_reg_setting_p1003.data_type = CAMERA_SENSOR_I2C_TYPE_WORD; + dbg_reg_setting_p1003.delay = 0; + memcpy(dbg_reg_setting_p1003.reg_setting, &page_1003_reg_array, sizeof(struct cam_sensor_i2c_reg_array) * size); + } + + /* + * page 4000 + */ + rc = camera_io_dev_write(&s_ctrl->io_master_info, &dbg_reg_setting_p4000); + if (rc < 0) + CAM_ERR(CAM_SENSOR_UTIL, "[SEN_DBG] Failed to write dbg_write_setting_4000 %d", rc); + + for (i = 0; i < sizeof(hp2_dump_addr_arr) / sizeof(struct st_sensor_reg_dump_addr); i++) + { + rc = camera_io_dev_read( + &(s_ctrl->io_master_info), + hp2_dump_addr_arr[i].addr, + &val, CAMERA_SENSOR_I2C_TYPE_WORD, + hp2_dump_addr_arr[i].data_sz, false); + + if (rc < 0) + CAM_ERR(CAM_SENSOR_UTIL, "[SEN_DBG] read fail"); + else { + CAM_INFO(CAM_SENSOR_UTIL, "[SEN_DBG] addr: 0x%4x val: 0x%4x //%s", + hp2_dump_addr_arr[i].addr, val, hp2_dump_addr_arr[i].addr_name); + } + } + + + for (i = 0; i < sizeof(dump_addr_page4000) / sizeof(uint32_t); i++) + { + rc = camera_io_dev_read( + &(s_ctrl->io_master_info), + dump_addr_page4000[i], + &val, CAMERA_SENSOR_I2C_TYPE_WORD, + CAMERA_SENSOR_I2C_TYPE_WORD, false); + + if (rc < 0) + CAM_ERR(CAM_SENSOR_UTIL, "[SEN_DBG] read fail"); + else { + CAM_INFO(CAM_SENSOR_UTIL, "[SEN_DBG] PAGE_4000 addr:0x%4x val:0x%4x", + dump_addr_page4000[i], val); + } + } + + + /* + * page 1001 + */ + rc = camera_io_dev_write(&s_ctrl->io_master_info, &dbg_reg_setting_p1001); + if (rc < 0) + CAM_ERR(CAM_SENSOR_UTIL, "[SEN_DBG] Failed to write dbg_write_setting_1001 %d", rc); + + for (i = 0; i < sizeof(dump_addr_page1001) / sizeof(uint32_t); i++) + { + rc = camera_io_dev_read( + &(s_ctrl->io_master_info), + dump_addr_page1001[i], + &val, CAMERA_SENSOR_I2C_TYPE_WORD, + CAMERA_SENSOR_I2C_TYPE_WORD, false); + + if (rc < 0) + CAM_ERR(CAM_SENSOR_UTIL, "[SEN_DBG] read fail"); + else { + CAM_INFO(CAM_SENSOR_UTIL, "[SEN_DBG] PAGE_1001 addr:0x%4x val:0x%4x", + dump_addr_page1001[i], val); + } + } + + /* + * page 1000 + */ + rc = camera_io_dev_write(&s_ctrl->io_master_info, &dbg_reg_setting_p1000); + if (rc < 0) + CAM_ERR(CAM_SENSOR_UTIL, "[SEN_DBG] Failed to write dbg_write_setting_1000 %d", rc); + + for (i = 0; i < sizeof(dump_addr_page1000) / sizeof(uint32_t); i++) + { + rc = camera_io_dev_read( + &(s_ctrl->io_master_info), + dump_addr_page1000[i], + &val, CAMERA_SENSOR_I2C_TYPE_WORD, + CAMERA_SENSOR_I2C_TYPE_WORD, false); + + if (rc < 0) + CAM_ERR(CAM_SENSOR_UTIL, "[SEN_DBG] read fail"); + else { + CAM_INFO(CAM_SENSOR_UTIL, "[SEN_DBG] PAGE_1000 addr:0x%4x val:0x%4x", + dump_addr_page1000[i], val); + } + } + + /* + * page 1003 + */ + rc = camera_io_dev_write(&s_ctrl->io_master_info, &dbg_reg_setting_p1003); + if (rc < 0) + CAM_ERR(CAM_SENSOR_UTIL, "[SEN_DBG] Failed to write dbg_write_setting_1003 %d", rc); + + for (i = 0; i < sizeof(dump_addr_page1003) / sizeof(uint32_t); i++) + { + rc = camera_io_dev_read( + &(s_ctrl->io_master_info), + dump_addr_page1003[i], + &val, CAMERA_SENSOR_I2C_TYPE_WORD, + CAMERA_SENSOR_I2C_TYPE_WORD, false); + + if (rc < 0) + CAM_ERR(CAM_SENSOR_UTIL, "[SEN_DBG] read fail"); + else { + CAM_INFO(CAM_SENSOR_UTIL, "[SEN_DBG] PAGE_1003 addr:0x%4x val:0x%4x", + dump_addr_page1003[i], val); + } + } + + if (dbg_reg_setting_p4000.reg_setting != NULL) { + kfree(dbg_reg_setting_p4000.reg_setting); + dbg_reg_setting_p4000.reg_setting = NULL; + } + if (dbg_reg_setting_p1001.reg_setting != NULL) { + kfree(dbg_reg_setting_p1001.reg_setting); + dbg_reg_setting_p1001.reg_setting = NULL; + } + if (dbg_reg_setting_p1000.reg_setting != NULL) { + kfree(dbg_reg_setting_p1000.reg_setting); + dbg_reg_setting_p1000.reg_setting = NULL; + } + if (dbg_reg_setting_p1003.reg_setting != NULL) { + kfree(dbg_reg_setting_p1003.reg_setting); + dbg_reg_setting_p1003.reg_setting = NULL; + } +} + + +void cam_sensor_dbg_regdump(struct cam_sensor_ctrl_t* s_ctrl) +{ + cam_sensor_dbg_print_vc(s_ctrl); + + switch (s_ctrl->sensordata->slave_info.sensor_id) + { + case SENSOR_ID_S5KHP2: + cam_sensor_dbg_regdump_hp2(s_ctrl); + break; + case SENSOR_ID_S5KGN3: + cam_sensor_dbg_regdump_gn3(s_ctrl); + break; + case SENSOR_ID_IMX564: + cam_sensor_dbg_regdump_imx564(s_ctrl); + break; + case SENSOR_ID_IMX754: + cam_sensor_dbg_regdump_imx754(s_ctrl); + break; + default: + CAM_ERR(CAM_SENSOR_UTIL, "[SEN_DBG] not supported %d", s_ctrl->sensordata->slave_info.sensor_id); + break; + } +} + + +const uint32_t dump_addr_when_stream_on_fail_hp2[] = { + 0xA200, 0xA202, 0xA204, 0xA206, 0xA20A, +}; + +void cam_sensor_dbg_regdump_stream_on_fail_hp2(struct cam_sensor_ctrl_t* s_ctrl) +{ + struct cam_sensor_i2c_reg_setting dbg_reg_page4000; + struct cam_sensor_i2c_reg_setting dbg_reg_page1001; + uint32_t i; + + int32_t rc = 0; + uint32_t val = 0; + uint32_t size = 0; + + size = ARRAY_SIZE(page_4000_reg_array); + dbg_reg_page4000.reg_setting = kmalloc(sizeof(struct cam_sensor_i2c_reg_array) * size, GFP_KERNEL); + if (dbg_reg_page4000.reg_setting != NULL) { + dbg_reg_page4000.size = size; + dbg_reg_page4000.addr_type = CAMERA_SENSOR_I2C_TYPE_WORD; + dbg_reg_page4000.data_type = CAMERA_SENSOR_I2C_TYPE_WORD; + dbg_reg_page4000.delay = 0; + memcpy(dbg_reg_page4000.reg_setting, &page_4000_reg_array, sizeof(struct cam_sensor_i2c_reg_array) * size); + } + + size = ARRAY_SIZE(page_1001_reg_array); + dbg_reg_page1001.reg_setting = kmalloc(sizeof(struct cam_sensor_i2c_reg_array) * size, GFP_KERNEL); + if (dbg_reg_page1001.reg_setting != NULL) { + dbg_reg_page1001.size = size; + dbg_reg_page1001.addr_type = CAMERA_SENSOR_I2C_TYPE_WORD; + dbg_reg_page1001.data_type = CAMERA_SENSOR_I2C_TYPE_WORD; + dbg_reg_page1001.delay = 0; + memcpy(dbg_reg_page1001.reg_setting, &page_1001_reg_array, sizeof(struct cam_sensor_i2c_reg_array) * size); + } + + // page 1001 + rc = camera_io_dev_write(&s_ctrl->io_master_info, &dbg_reg_page1001); + if (rc < 0) + CAM_ERR(CAM_SENSOR_UTIL, "[SEN_DBG] Failed to write dbg_write_setting_1001 %d", rc); + + for (i = 0; i < sizeof(dump_addr_when_stream_on_fail_hp2) / sizeof(uint32_t); i++) + { + rc = camera_io_dev_read( + &(s_ctrl->io_master_info), + dump_addr_when_stream_on_fail_hp2[i], + &val, CAMERA_SENSOR_I2C_TYPE_WORD, + CAMERA_SENSOR_I2C_TYPE_WORD, false); + + if (rc < 0) + CAM_ERR(CAM_SENSOR_UTIL, "[SEN_DBG] read fail"); + else { + CAM_INFO(CAM_SENSOR_UTIL, "[SEN_DBG] addr:0x%4x val:0x%4x", + dump_addr_when_stream_on_fail_hp2[i], val); + } + } + + // page 4000 + rc = camera_io_dev_write(&s_ctrl->io_master_info, &dbg_reg_page4000); + if (rc < 0) + CAM_ERR(CAM_SENSOR_UTIL, "[SEN_DBG] Failed to write dbg_write_setting_4000 %d", rc); + + if (dbg_reg_page4000.reg_setting != NULL) { + kfree(dbg_reg_page4000.reg_setting); + dbg_reg_page4000.reg_setting = NULL; + } + if (dbg_reg_page1001.reg_setting != NULL) { + kfree(dbg_reg_page1001.reg_setting); + dbg_reg_page1001.reg_setting = NULL; + } +} + + +void cam_sensor_dbg_regdump_stream_on_fail(struct cam_sensor_ctrl_t* s_ctrl) +{ + switch (s_ctrl->sensordata->slave_info.sensor_id) + { + case SENSOR_ID_S5KHP2: + cam_sensor_dbg_regdump_stream_on_fail_hp2(s_ctrl); + break; + default: + CAM_DBG(CAM_SENSOR_UTIL, "[SEN_DBG] not supported 0x%x", s_ctrl->sensordata->slave_info.sensor_id); + return; + } +} + + +int cam_sensor_process_evt_for_sensor_using_i2c(struct cam_req_mgr_link_evt_data* evt_data) +{ + int rc = 0; + struct cam_sensor_ctrl_t* s_ctrl = NULL; + + if (!evt_data) + return -EINVAL; + + s_ctrl = (struct cam_sensor_ctrl_t*) + cam_get_device_priv(evt_data->dev_hdl); + if (!s_ctrl) { + CAM_ERR(CAM_SENSOR_UTIL, "Device data is NULL"); + return -EINVAL; + } + + CAM_DBG(CAM_SENSOR_UTIL, "Received evt:%d", evt_data->evt_type); + + mutex_lock(&(s_ctrl->cam_sensor_mutex)); + + switch (evt_data->evt_type) { + case CAM_REQ_MGR_LINK_EVT_SOF_FREEZE: + case CAM_REQ_MGR_LINK_EVT_ERR: + CAM_INFO(CAM_SENSOR_UTIL, "[FREEZE_DBG][%s] sof freeze proc_evt %d", s_ctrl->sensor_name, + evt_data->evt_type); + to_dump_when_sof_freeze__sen_id = s_ctrl->sensordata->slave_info.sensor_id; + break; + default: + /* No handling */ + break; + } + + mutex_unlock(&(s_ctrl->cam_sensor_mutex)); + return rc; +} +#endif diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_sensor_util.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_sensor_util.h index a4017ef60d..08b75765fa 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_sensor_util.h +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_sensor_util.h @@ -34,6 +34,46 @@ #define QTIMER_MUL_FACTOR 10000 #define QTIMER_DIV_FACTOR 192 +#if defined(CONFIG_SAMSUNG_CAMERA) +#define SENSOR_ID_S5KGN3 0x08E3 +#define SENSOR_ID_S5K3K1 0x30B1 +#define SENSOR_ID_IMX754 0x0754 +#define SENSOR_ID_S5K3LU 0x34CB +#define SENSOR_ID_IMX564 0x0564 +#define SENSOR_ID_S5KHP2 0x1B72 +#define SENSOR_ID_IMX258 0x0258 +#define SENSOR_ID_IMX471 0x0471 +#define SENSOR_ID_IMX596 0x0596 +#define SENSOR_ID_IMX374 0x0374 +#define SENSOR_ID_S5K2LD 0x20CD +#define SENSOR_ID_S5K3J1 0x30A1 +#define SENSOR_ID_IMX854 0x0854 +#define SENSOR_ID_HI847_HI1337 0x2000 // HI847 and HI1337 have same sensor id. +#define INVALID_MIPI_INDEX -1 +#endif + +#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_I2C) +extern int to_dump_when_sof_freeze__sen_id; + +typedef enum { + e_seq_sensor_idn_s5khp2, + e_seq_sensor_idn_s5kgn3, + e_seq_sensor_idn_s5k3lu, + e_seq_sensor_idn_imx564, + e_seq_sensor_idn_imx754, + e_seq_sensor_idn_imx854, + e_seq_sensor_idn_s5k3k1, + e_seq_sensor_idn_max_invalid, +} e_seq_sensor_idnum; + +typedef enum { + e_sensor_upd_event_invalid = 0x0, + e_sensor_upd_event_vc = 0x1, + e_sensor_upd_event_exposure = 0x2, + e_sensor_upd_event_dual_pd_vc = 0x3, +} e_sensor_reg_upd_event_type; +#endif + int cam_sensor_count_elems_i3c_device_id(struct device_node *dev, int *num_entries, char *sensor_id_table_str); @@ -142,4 +182,12 @@ static inline int cam_sensor_util_aon_registration(uint32_t phy_idx, uint32_t ao return cam_csiphy_util_update_aon_registration(phy_idx, aon_camera_id); } +#if defined(CONFIG_SENSOR_RETENTION) +int cam_sensor_util_retention_power_up(struct cam_sensor_power_ctrl_t *ctrl, + struct cam_hw_soc_info *soc_info); + +int cam_sensor_util_retention_power_down(struct cam_sensor_power_ctrl_t *ctrl, + struct cam_hw_soc_info *soc_info); +#endif + #endif /* _CAM_SENSOR_UTIL_H_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_sysfs_init.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_sysfs_init.c new file mode 100644 index 0000000000..846922de78 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_sysfs_init.c @@ -0,0 +1,2705 @@ +/* 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. + */ +#include +#include +#include +#include "cam_sysfs_init.h" +#include "cam_ois_core.h" +#include "cam_eeprom_dev.h" +#include "cam_actuator_core.h" +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) +#include "cam_ois_mcu_stm32g.h" +#include "cam_sysfs_ois_mcu.h" +#endif +#if defined(CONFIG_SAMSUNG_OIS_RUMBA_S4) +#include "cam_ois_rumba_s4.h" +#include "cam_sysfs_ois_mcu.h" +#endif + +#if defined(CONFIG_USE_CAMERA_HW_BIG_DATA) || defined(CONFIG_SAMSUNG_OIS_MCU_STM32) +#include "cam_sensor_cmn_header.h" +#include "cam_debug_util.h" +#include "cam_hw_bigdata.h" +#endif +#if IS_REACHABLE(CONFIG_LEDS_S2MPB02) +#include +#endif +#if defined(CONFIG_LEDS_KTD2692) +#include +#endif +#if defined(CONFIG_SAMSUNG_PMIC_FLASH) +#include "cam_flash_core.h" +#endif + +#if defined(CONFIG_SAMSUNG_ACTUATOR_READ_HALL_VALUE) +#include "cam_sec_actuator_core.h" +#endif + +#if defined(CONFIG_CAMERA_CDR_TEST) +#include "cam_clock_data_recovery.h" +#endif +#ifdef CONFIG_SEC_KUNIT +#include "camera_kunit_main.h" +#endif +#if defined(CONFIG_SEC_Q6AQ_PROJECT) +#include "cam_sensor_core.h" +#endif +// Must match with enum sysfs_index. +const char sysfs_identifier[INDEX_MAX][16] = { + "rear", + "rear2", + "rear3", + "rear4", + "front", + "front2", + "front3", +}; + +const char svc_sensor_identifier[INDEX_MAX][16] = { + "rear_sensor", + "rear_sensor2", + "rear_sensor3", + "rear_sensor4", + "front_sensor", + "front_sensor2", + "front_sensor3", +}; + +const char svc_module_identifier[INDEX_MAX][16] = { + "rear_module", + "rear_module2", + "rear_module3", + "rear_module4", + "front_module", +#if defined(CONFIG_SAMSUNG_FRONT_DUAL) + "front_module2", +#endif +#if defined(CONFIG_SAMSUNG_FRONT_TOP) + "upper_module", +#endif +}; + +int find_sysfs_index(struct device_attribute *attr) +{ + int i = 0; + + if (strstr(attr->attr.name, "SVC_") != NULL) { + for (i = INDEX_MAX - 1; i >= 0; i--) + { + CAM_DBG(CAM_SENSOR_UTIL, "svc_sensor_identifier[%d] %s", + i, svc_sensor_identifier[i]); + if (strlen(svc_sensor_identifier[i]) && + strstr(attr->attr.name, svc_sensor_identifier[i])) { + CAM_INFO(CAM_SENSOR_UTIL, "%s find index %d", + attr->attr.name, i); + return i; + } + + CAM_DBG(CAM_SENSOR_UTIL, "svc_module_identifier[%d] %s", + i, svc_module_identifier[i]); + if (strlen(svc_module_identifier[i]) && + strstr(attr->attr.name, svc_module_identifier[i])) { + CAM_INFO(CAM_SENSOR_UTIL, "%s find index %d", + attr->attr.name, i); + return i; + } + } + } else { + for (i = INDEX_MAX - 1; i >= 0; i--) + { + if (strlen(sysfs_identifier[i]) && + strstr(attr->attr.name, sysfs_identifier[i])) { + CAM_INFO(CAM_SENSOR_UTIL, "%s find index %d", + attr->attr.name, i); + + return i; + } + } + } + + CAM_ERR(CAM_SENSOR_UTIL, "%s fail to find index", attr->attr.name); + return -1; +} + +int map_sysfs_index_to_sensor_id(int sysfs_index) +{ + int sensor_id = -1; + + switch (sysfs_index) { + case INDEX_REAR: + sensor_id = SEC_WIDE_SENSOR; + break; + case INDEX_REAR2: + sensor_id = SEC_ULTRA_WIDE_SENSOR; + break; + case INDEX_REAR3: + sensor_id = SEC_TELE_SENSOR; + break; + case INDEX_REAR4: + sensor_id = SEC_TELE2_SENSOR; + break; + case INDEX_FRONT: + sensor_id = SEC_FRONT_SENSOR; + break; + case INDEX_FRONT2: +#if defined(CONFIG_SAMSUNG_FRONT_DUAL) + sensor_id = SEC_FRONT_AUX1_SENSOR; +#endif +#if defined(CONFIG_SAMSUNG_FRONT_TOP) && !defined(CONFIG_SAMSUNG_FRONT_DUAL) + sensor_id = SEC_FRONT_TOP_SENSOR; +#endif + break; + case INDEX_FRONT3: +#if defined(CONFIG_SAMSUNG_FRONT_TOP) && defined(CONFIG_SAMSUNG_FRONT_DUAL) + sensor_id = SEC_FRONT_SENSOR; +#endif + break; + default: + break; + } + + if (sensor_id < 0) + CAM_ERR(CAM_SENSOR_UTIL, "mapping sysfs index %d to sensor id fail", + sysfs_index); + + return sensor_id; +} + +int map_sysfs_index_to_hw_param_id(int sysfs_index) +{ + int id = -1; + + switch (sysfs_index) { + case INDEX_REAR: + id = HW_PARAM_REAR; + break; + case INDEX_REAR2: + id = HW_PARAM_REAR2; + break; + case INDEX_REAR3: + id = HW_PARAM_REAR3; + break; + case INDEX_REAR4: + id = HW_PARAM_REAR4; + break; + case INDEX_FRONT: + id = HW_PARAM_FRONT; + break; + case INDEX_FRONT2: + id = HW_PARAM_FRONT2; + break; + case INDEX_FRONT3: + id = HW_PARAM_FRONT3; + break; + default: + break; + } + + if (id < 0) + CAM_ERR(CAM_SENSOR_UTIL, "mapping sysfs index %d to hw param id fail", + sysfs_index); + + return id; +} + +#if defined(CONFIG_CAMERA_SSM_I2C_ENV) +extern void cam_sensor_ssm_i2c_read(uint32_t addr, uint32_t *data, + enum camera_sensor_i2c_type addr_type, + enum camera_sensor_i2c_type data_type); +extern void cam_sensor_ssm_i2c_write(uint32_t addr, uint32_t data, + enum camera_sensor_i2c_type addr_type, + enum camera_sensor_i2c_type data_type); +#endif + +#if defined(CONFIG_CAMERA_ADAPTIVE_MIPI) +extern void cam_mipi_register_ril_notifier(void); +#endif +#if defined(CONFIG_SAMSUNG_PMIC_FLASH) +extern ssize_t flash_power_store(struct device *dev, struct device_attribute *attr, + const char *buf, size_t size); +#endif +extern struct device *is_dev; + +struct class *camera_class; + +#define SYSFS_FW_VER_SIZE 40 +#define SYSFS_MODULE_INFO_SIZE 96 +/* #define FORCE_CAL_LOAD */ +#define SYSFS_MAX_READ_SIZE 4096 + +#if defined(CONFIG_SAMSUNG_READ_BPC_FROM_OTP) +#define BPC_OTP_DATA_MAX_SIZE 0x9000 +uint8_t *otp_data = NULL; +#endif + +#if defined(CONFIG_CAMERA_SSM_I2C_ENV) +static ssize_t rear_ssm_frame_id_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + uint32_t read_data = -1; + int rc = 0; + + cam_sensor_ssm_i2c_read(0x000A, &read_data, CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + + rc = scnprintf(buf, PAGE_SIZE, "%x\n", read_data); + if (rc) + return rc; + return 0; +} + +static ssize_t rear_ssm_frame_id_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + int value = -1; + + if (buf == NULL || kstrtouint(buf, 10, &value)) + return -1; + + return size; +} + +static ssize_t rear_ssm_gmc_state_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + uint32_t read_data = -1; + int rc = 0; + + cam_sensor_ssm_i2c_read(0x9C6A, &read_data, CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + + rc = scnprintf(buf, PAGE_SIZE, "%x\n", read_data); + if (rc) + return rc; + return 0; +} + +static ssize_t rear_ssm_gmc_state_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + int value = -1; + + if (buf == NULL || kstrtouint(buf, 10, &value)) + return -1; + + return size; +} + +static ssize_t rear_ssm_flicker_state_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + uint32_t read_data = -1; + int rc = 0; + + cam_sensor_ssm_i2c_read(0x9C6B, &read_data, CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); + + rc = scnprintf(buf, PAGE_SIZE, "%x\n", read_data); + if (rc) + return rc; + return 0; +} + +static ssize_t rear_ssm_flicker_state_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + int value = -1; + + if (buf == NULL || kstrtouint(buf, 10, &value)) + return -1; + + return size; +} +#endif + +#if defined(CONFIG_CAMERA_CDR_TEST) +static ssize_t rear_cam_cdr_value_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + + rc = scnprintf(buf, PAGE_SIZE, "%s", cam_clock_data_recovery_get_value()); + if (rc) + return rc; + return 0; +} + +static ssize_t rear_cam_cdr_value_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + cam_clock_data_recovery_set_value(buf); + + return size; +} + +static ssize_t rear_cam_cdr_result_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + + rc = scnprintf(buf, PAGE_SIZE, "%s", cam_clock_data_recovery_get_result()); + if (rc) + return rc; + return 0; +} + +static ssize_t rear_cam_cdr_result_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + cam_clock_data_recovery_reset_result(buf); + + return size; +} + +char cdr_fastaec[5] = ""; +static ssize_t rear_cam_cdr_fastaec_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + + rc = scnprintf(buf, PAGE_SIZE, "%s", cdr_fastaec); + if (rc) + return rc; + return 0; +} + +static ssize_t rear_cam_cdr_fastaec_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + scnprintf(cdr_fastaec, sizeof(cdr_fastaec), "%s", buf); + + return size; +} +#endif + +#if defined(CONFIG_CAMERA_HW_ERROR_DETECT) +char rear_i2c_rfinfo[30] = "\n"; +static ssize_t rear_i2c_rfinfo_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + + rc = scnprintf(buf, PAGE_SIZE, "%s", rear_i2c_rfinfo); + if (rc) + return rc; + return 0; +} + +char retry_cnt[INDEX_MAX][5] = { [0 ... INDEX_MAX - 1] = "\n" }; +static ssize_t camera_eeprom_retry_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0, index = -1; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + + rc = scnprintf(buf, PAGE_SIZE, "%s", retry_cnt[index]); + if (rc) + return rc; + return 0; +} +#endif + +#ifdef CONFIG_SEC_KUNIT +static ssize_t cam_kunit_test_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + if (!strncmp(buf, "hwb", 3)) { + cam_kunit_hw_bigdata_test(); + } + + if (!strncmp(buf, "eeprom", 6)) { + cam_kunit_eeprom_test(); + } + + if (!strncmp(buf, "cdr", 3)) { + cam_kunit_clock_data_recovery_test(); + } + + return size; +} +#endif + +static ssize_t camera_type_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0, index = -1; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + + switch (index) + { + case INDEX_REAR: +#if defined(CONFIG_SEC_E3Q_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT) + rc = scnprintf(buf, PAGE_SIZE, "%s", "SLSI_S5KHP2\n"); +#elif defined(CONFIG_SEC_E1Q_PROJECT) || defined(CONFIG_SEC_E2Q_PROJECT) || defined(CONFIG_SEC_Q6Q_PROJECT)\ + || defined(CONFIG_SEC_B6Q_PROJECT) + rc = scnprintf(buf, PAGE_SIZE, "%s", "SLSI_S5KGN3\n"); +#elif defined(CONFIG_SEC_GTS10P_PROJECT) || defined(CONFIG_SEC_GTS10U_PROJECT) + rc = scnprintf(buf, PAGE_SIZE, "%s", "HYNIX_HI1337\n"); +#else + rc = scnprintf(buf, PAGE_SIZE, "%s", "SONY_IMX555\n"); +#endif + break; + case INDEX_REAR2: +#if defined(CONFIG_SEC_GTS10P_PROJECT) || defined(CONFIG_SEC_GTS10U_PROJECT) + rc = scnprintf(buf, PAGE_SIZE, "%s", "HYNIX_HI847\n"); +#elif defined(CONFIG_SEC_Q6Q_PROJECT) || defined(CONFIG_SEC_B6Q_PROJECT) + rc = scnprintf(buf, PAGE_SIZE, "%s", "SLSI_S5K3LU\n"); +#else + rc = scnprintf(buf, PAGE_SIZE, "%s", "SONY_IMX564\n"); +#endif + break; + case INDEX_REAR3: +#if defined(CONFIG_SEC_E3Q_PROJECT) + rc = scnprintf(buf, PAGE_SIZE, "%s", "SONY_IMX754\n"); +#elif defined(CONFIG_SEC_E1Q_PROJECT) || defined(CONFIG_SEC_E2Q_PROJECT) || defined(CONFIG_SEC_Q6Q_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT) + rc = scnprintf(buf, PAGE_SIZE, "%s", "SLSI_S5K3K1\n"); +#else + rc = scnprintf(buf, PAGE_SIZE, "%s", "SLSI_S5KGW2\n"); +#endif + break; + case INDEX_REAR4: + rc = scnprintf(buf, PAGE_SIZE, "%s", "SONY_IMX854\n"); + break; + case INDEX_FRONT: +#if defined(CONFIG_SEC_E1Q_PROJECT) || defined(CONFIG_SEC_E2Q_PROJECT) || defined(CONFIG_SEC_E3Q_PROJECT) + rc = scnprintf(buf, PAGE_SIZE, "%s", "SLSI_S5K3LU\n"); +#elif defined(CONFIG_SEC_Q6Q_PROJECT) + rc = scnprintf(buf, PAGE_SIZE, "%s", "SONY_IMX471\n"); +#elif defined(CONFIG_SEC_B6Q_PROJECT) + rc = scnprintf(buf, PAGE_SIZE, "%s", "SLSI_S5K3J1\n"); +#elif defined(CONFIG_SEC_GTS10P_PROJECT) || defined(CONFIG_SEC_GTS10U_PROJECT) + rc = scnprintf(buf, PAGE_SIZE, "%s", "HYNIX_HI1337\n"); +#elif defined(CONFIG_SEC_Q6AQ_PROJECT) + rc = scnprintf(buf, PAGE_SIZE, "%s", "SONY_IMX596\n"); +#endif + break; + case INDEX_FRONT2: +#if defined(CONFIG_SEC_GTS10U_PROJECT) + rc = scnprintf(buf, PAGE_SIZE, "%s", "HYNIX_HI1337\n"); +#elif defined(CONFIG_SEC_Q6AQ_PROJECT) + rc = scnprintf(buf, PAGE_SIZE, "%s", "SLSI_S5K3LU\n"); +#else + rc = scnprintf(buf, PAGE_SIZE, "%s", "SONY_IMX374\n"); +#endif + break; + case INDEX_FRONT3: + rc = scnprintf(buf, PAGE_SIZE, "%s", "SONY_IMX374\n"); + break; + default: + break; + } + + if (rc) + return rc; + return 0; +} + +char fw_ver[INDEX_MAX][SYSFS_FW_VER_SIZE] = { [0 ... INDEX_MAX - 1] = "NULL NULL\n" }; +static ssize_t camera_firmware_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0, index = -1; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + +#if !defined(CONFIG_SAMSUNG_FRONT_EEPROM) + if (index == INDEX_FRONT) + scnprintf(fw_ver[index], SYSFS_FW_VER_SIZE, "%s", "IMX374 N\n"); + if (index == INDEX_FRONT2) + scnprintf(fw_ver[index], SYSFS_FW_VER_SIZE, "%s", "S5K4HA N\n"); + if (index == INDEX_FRONT3) + scnprintf(fw_ver[index], SYSFS_FW_VER_SIZE, "%s", "IMX374 N\n"); +#endif + + CAM_INFO(CAM_SENSOR_UTIL, "[FW_DBG] %s fw_ver : %s\n", + attr->attr.name, fw_ver[index]); + + rc = scnprintf(buf, PAGE_SIZE, "%s", fw_ver[index]); + if (rc) + return rc; + return 0; +} + +static ssize_t camera_firmware_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + int index = -1; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] %s buf : %s\n", + attr->attr.name, buf); + scnprintf(fw_ver[index], sizeof(fw_ver[index]), "%s", buf); + + return size; +} + +char fw_user_ver[INDEX_MAX][SYSFS_FW_VER_SIZE] = { [0 ... INDEX_MAX - 1] = "NULL\n" }; +static ssize_t camera_firmware_user_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0, index = -1; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + +#if !defined(CONFIG_SAMSUNG_FRONT_EEPROM) + if (index == INDEX_FRONT || + index == INDEX_FRONT2 || + index == INDEX_FRONT3) + scnprintf(fw_ver[index], SYSFS_FW_VER_SIZE, "%s", "OK\n"); +#endif + + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] %s fw_user_ver : %s\n", + attr->attr.name, fw_user_ver[index]); + rc = scnprintf(buf, PAGE_SIZE, "%s", fw_user_ver[index]); + if (rc) + return rc; + return 0; +} + +static ssize_t camera_firmware_user_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + int index = -1; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] %s buf : %s\n", + attr->attr.name, buf); + scnprintf(fw_user_ver[index], sizeof(fw_user_ver[index]), "%s", buf); + + return size; +} + +char fw_factory_ver[INDEX_MAX][SYSFS_FW_VER_SIZE] = { [0 ... INDEX_MAX - 1] = "NULL\n" }; +static ssize_t camera_firmware_factory_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0, index = -1; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + +#if !defined(CONFIG_SAMSUNG_FRONT_EEPROM) + if (index == INDEX_FRONT || + index == INDEX_FRONT2 || + index == INDEX_FRONT3) + scnprintf(fw_factory_ver[index], SYSFS_FW_VER_SIZE, "%s", "OK\n"); +#endif + + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] %s fw_factory_ver : %s\n", + attr->attr.name, fw_factory_ver[index]); + rc = scnprintf(buf, PAGE_SIZE, "%s", fw_factory_ver[index]); + if (rc) + return rc; + return 0; +} + +static ssize_t camera_firmware_factory_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + int index = -1; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] %s buf : %s\n", + attr->attr.name, buf); + scnprintf(fw_factory_ver[index], sizeof(fw_factory_ver[index]), "%s", buf); + + return size; +} + +char fw_full_ver[INDEX_MAX][SYSFS_FW_VER_SIZE] = { [0 ... INDEX_MAX - 1] = "NULL NULL NULL\n" }; +static ssize_t camera_firmware_full_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0, index = -1; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + +#if !defined(CONFIG_SAMSUNG_FRONT_EEPROM) + if (index == INDEX_FRONT) + scnprintf(fw_full_ver[index], SYSFS_FW_VER_SIZE, "%s", "IMX374 N N\n"); + if (index == INDEX_FRONT2) + scnprintf(fw_full_ver[index], SYSFS_FW_VER_SIZE, "%s", "S5K4HA N N\n"); + if (index == INDEX_FRONT3) + scnprintf(fw_full_ver[index], SYSFS_FW_VER_SIZE, "%s", "IMX374 N N\n"); +#endif + + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] %s fw_full_ver : %s\n", + attr->attr.name, fw_full_ver[index]); + rc = scnprintf(buf, PAGE_SIZE, "%s", fw_full_ver[index]); + if (rc) + return rc; + return 0; +} + +static ssize_t camera_firmware_full_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + int index = -1; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] %s buf : %s\n", + attr->attr.name, buf); + scnprintf(fw_full_ver[index], sizeof(fw_full_ver[index]), "%s", buf); + + return size; +} + +char rear_load_fw[SYSFS_FW_VER_SIZE] = "NULL\n"; +static ssize_t rear_firmware_load_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] rear_load_fw : %s\n", rear_load_fw); + rc = scnprintf(buf, PAGE_SIZE, "%s", rear_load_fw); + if (rc) + return rc; + return 0; +} + +static ssize_t rear_firmware_load_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] buf : %s\n", buf); + scnprintf(rear_load_fw, sizeof(rear_load_fw), "%s\n", buf); + return size; +} + +char cal_crc[SYSFS_FW_VER_SIZE] = "NULL NULL\n"; +static ssize_t rear_cal_data_check_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] cal_crc : %s\n", cal_crc); + rc = scnprintf(buf, PAGE_SIZE, "%s", cal_crc); + if (rc) + return rc; + return 0; +} + +static ssize_t rear_cal_data_check_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] buf : %s\n", buf); + scnprintf(cal_crc, sizeof(cal_crc), "%s", buf); + + return size; +} + +char module_info[INDEX_MAX][SYSFS_MODULE_INFO_SIZE] = { [0 ... INDEX_MAX - 1] = "NULL\n" }; +static ssize_t camera_module_info_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0, index = -1; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] %s module_info : %s\n", + attr->attr.name, module_info[index]); + rc = scnprintf(buf, PAGE_SIZE, "%s", module_info[index]); + if (rc) + return rc; + return 0; +} + +static ssize_t camera_module_info_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + int index = -1; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] %s buf : %s\n", + attr->attr.name, buf); + scnprintf(module_info[index], sizeof(module_info[index]), "%s", buf); + + return size; +} + +char isp_core[10]; +static ssize_t rear_isp_core_check_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ +#if 0// Power binning is used + char cam_isp_core[] = "0.8V\n"; + + return scnprintf(buf, sizeof(cam_isp_core), "%s", cam_isp_core); +#else + int rc = 0; + + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] isp_core : %s\n", isp_core); + rc = scnprintf(buf, PAGE_SIZE, "%s\n", isp_core); + if (rc) + return rc; + return 0; +#endif +} + +static ssize_t rear_isp_core_check_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] buf : %s\n", buf); + scnprintf(isp_core, sizeof(isp_core), "%s", buf); + + return size; +} + +char af_cal_str[INDEX_MAX][MAX_AF_CAL_STR_SIZE] = { [0 ... INDEX_MAX - 1] = "" }; +static ssize_t camera_afcal_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0, index = -1; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + + CAM_DBG(CAM_SENSOR_UTIL, "%s af_cal_str : 20 %s\n", + attr->attr.name, af_cal_str[index]); + rc = scnprintf(buf, PAGE_SIZE, "20 %s", af_cal_str[index]); + if (rc) + return rc; + + return 0; +} + +char rear_paf_cal_data_far[PAF_2PD_CAL_INFO_SIZE] = {0,}; +char rear_paf_cal_data_mid[PAF_2PD_CAL_INFO_SIZE] = {0,}; + +static ssize_t rear_paf_offset_mid_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + + CAM_DBG(CAM_SENSOR_UTIL, "rear_paf_cal_data : %s\n", rear_paf_cal_data_mid); + rc = scnprintf(buf, PAGE_SIZE, "%s", rear_paf_cal_data_mid); + if (rc) { + CAM_DBG(CAM_SENSOR_UTIL, "data size %d\n", rc); + return rc; + } + return 0; +} +static ssize_t rear_paf_offset_far_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + + CAM_DBG(CAM_SENSOR_UTIL, "rear_paf_cal_data : %s\n", rear_paf_cal_data_far); + rc = scnprintf(buf, PAGE_SIZE, "%s", rear_paf_cal_data_far); + if (rc) { + CAM_DBG(CAM_SENSOR_UTIL, "data size %d\n", rc); + return rc; + } + return 0; +} + +char rear_f2_paf_cal_data_far[PAF_2PD_CAL_INFO_SIZE] = {0,}; +char rear_f2_paf_cal_data_mid[PAF_2PD_CAL_INFO_SIZE] = {0,}; +static ssize_t rear_f2_paf_offset_mid_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + + CAM_DBG(CAM_SENSOR_UTIL, "rear_f2_paf_cal_data : %s\n", rear_f2_paf_cal_data_mid); + rc = scnprintf(buf, PAGE_SIZE, "%s", rear_f2_paf_cal_data_mid); + if (rc) { + CAM_DBG(CAM_SENSOR_UTIL, "data size %d\n", rc); + return rc; + } + return 0; +} +static ssize_t rear_f2_paf_offset_far_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + + CAM_DBG(CAM_SENSOR_UTIL, "rear_f2_paf_cal_data : %s\n", rear_f2_paf_cal_data_far); + rc = scnprintf(buf, PAGE_SIZE, "%s", rear_f2_paf_cal_data_far); + if (rc) { + CAM_DBG(CAM_SENSOR_UTIL, "data size %d\n", rc); + return rc; + } + return 0; +} + +uint32_t f2_paf_err_data_result = 0xFFFFFFFF; +static ssize_t rear_f2_paf_cal_check_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + + CAM_DBG(CAM_SENSOR_UTIL, "f2_paf_cal_check : %u\n", f2_paf_err_data_result); + rc = scnprintf(buf, PAGE_SIZE, "%08X\n", f2_paf_err_data_result); + if (rc) + return rc; + return 0; +} + +#if defined(CONFIG_CAMERA_SYSFS_V2) +char cam_info[INDEX_MAX][150] = { [0 ... INDEX_MAX - 1] = "NULL\n" }; // camera_info +static ssize_t camera_info_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0, index = -1; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] %s cam_info : %s\n", + attr->attr.name, cam_info[index]); + rc = scnprintf(buf, PAGE_SIZE, "%s", cam_info[index]); + if (rc) + return rc; + return 0; +} + +static ssize_t camera_info_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] %s buf : %s\n", + attr->attr.name, buf); +// scnprintf(rear_cam_info, sizeof(rear_cam_info), "%s", buf); + + return size; +} +#endif + +char supported_camera_ids[128]; +static ssize_t supported_camera_ids_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + + CAM_DBG(CAM_SENSOR_UTIL, "supported_camera_ids : %s\n", supported_camera_ids); + rc = scnprintf(buf, PAGE_SIZE, "%s", supported_camera_ids); + if (rc) + return rc; + return 0; +} + +static ssize_t supported_camera_ids_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] buf : %s\n", buf); + scnprintf(supported_camera_ids, sizeof(supported_camera_ids), "%s", buf); + + return size; +} + +#define FROM_SENSOR_ID_SIZE 16 +char sensor_id[INDEX_MAX][FROM_SENSOR_ID_SIZE + 1] = { [0 ... INDEX_MAX - 1] = "\0" }; +static ssize_t camera_sensorid_exif_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int index = -1; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] %s sensor_id : %s\n", + attr->attr.name, sensor_id[index]); + memcpy(buf, sensor_id[index], FROM_SENSOR_ID_SIZE); + return FROM_SENSOR_ID_SIZE; +} + +static ssize_t camera_sensorid_exif_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] %s buf : %s\n", + attr->attr.name, buf); +// scnprintf(rear_sensor_id, sizeof(rear_sensor_id), "%s", buf); + + return size; +} + +#define FROM_MTF_SIZE 54 +char mtf_exif[INDEX_MAX][FROM_MTF_SIZE + 1] = { [0 ... INDEX_MAX - 1] = "\0" }; +static ssize_t camera_mtf_exif_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int index = -1; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] %s mtf_exif : %s\n", + attr->attr.name, mtf_exif[index]); + memcpy(buf, mtf_exif[index], FROM_MTF_SIZE); + return FROM_MTF_SIZE; +} + +static ssize_t camera_mtf_exif_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] %s buf : %s\n", + attr->attr.name, buf); +// scnprintf(front_mtf_exif, sizeof(front_mtf_exif), "%s", buf); + + return size; +} + +uint8_t module_id[INDEX_MAX][FROM_MODULE_ID_SIZE + 1] = { [0 ... INDEX_MAX - 1] = "\0" }; +static ssize_t camera_moduleid_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int index = -1; + char* m_id = NULL; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + + m_id = module_id[index]; + + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] %s : %c%c%c%c%c%02X%02X%02X%02X%02X\n", + attr->attr.name, m_id[0], m_id[1], m_id[2], m_id[3], m_id[4], + m_id[5], m_id[6], m_id[7], m_id[8], m_id[9]); + return sprintf(buf, "%c%c%c%c%c%02X%02X%02X%02X%02X\n", + m_id[0], m_id[1], m_id[2], m_id[3], m_id[4], + m_id[5], m_id[6], m_id[7], m_id[8], m_id[9]); +} + +char rear_mtf2_exif[FROM_MTF_SIZE + 1] = "\0"; +static ssize_t rear_mtf2_exif_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] rear_mtf2_exif : %s\n", rear_mtf2_exif); + memcpy(buf, rear_mtf2_exif, FROM_MTF_SIZE); + return FROM_MTF_SIZE; +} + +static ssize_t rear_mtf2_exif_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] buf : %s\n", buf); +// scnprintf(rear_mtf2_exif, sizeof(rear_mtf2_exif), "%s", buf); + + return size; +} + +static ssize_t svc_sensor_type_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0, index = -1; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + + switch (index) + { + case INDEX_REAR: + rc = scnprintf(buf, PAGE_SIZE, "%s", "rear_wide\n"); + break; + case INDEX_REAR2: + rc = scnprintf(buf, PAGE_SIZE, "%s", "rear_ultra_wide\n"); + break; + case INDEX_REAR3: + rc = scnprintf(buf, PAGE_SIZE, "%s", "rear_tele\n"); + break; + case INDEX_REAR4: + rc = scnprintf(buf, PAGE_SIZE, "%s", "rear_super_tele\n"); + break; + case INDEX_FRONT: + rc = scnprintf(buf, PAGE_SIZE, "%s", "front_wide\n"); + break; + case INDEX_FRONT2: + case INDEX_FRONT3: + default: + break; + } + + if (rc) + return rc; + return 0; +} + +#define SSRM_CAMERA_INFO_SIZE 256 +char ssrm_camera_info[SSRM_CAMERA_INFO_SIZE + 1] = "\0"; +static ssize_t ssrm_camera_info_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + + CAM_INFO(CAM_SENSOR_UTIL, "ssrm_camera_info : %s\n", ssrm_camera_info); + rc = scnprintf(buf, PAGE_SIZE, "%s", ssrm_camera_info); + if (rc) + return rc; + return 0; +} + +static ssize_t ssrm_camera_info_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + CAM_INFO(CAM_SENSOR_UTIL, "ssrm_camera_info buf : %s\n", buf); + scnprintf(ssrm_camera_info, sizeof(ssrm_camera_info), "%s", buf); + + return size; +} + +uint32_t paf_err_data_result[INDEX_MAX] = { [0 ... INDEX_MAX - 1] = 0xFFFFFFFF }; +static ssize_t camera_paf_cal_check_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0, index = -1; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + + CAM_DBG(CAM_SENSOR_UTIL, "%s paf_err_data_result : %u\n", + attr->attr.name, paf_err_data_result[index]); + + rc = scnprintf(buf, PAGE_SIZE, "%08X\n", paf_err_data_result[index]); + if (rc) + return rc; + return 0; +} + +#if defined(CONFIG_SAMSUNG_REAR_DUAL) || defined(CONFIG_SAMSUNG_REAR_TRIPLE) \ + || defined(CONFIG_SAMSUNG_REAR_QUADRA) || defined(CONFIG_SAMSUNG_FRONT_DUAL) +uint8_t dual_cal[INDEX_MAX][FROM_MAX_DUAL_CAL_SIZE + 1] = { [0 ... INDEX_MAX - 1] = "\0" }; +uint32_t dual_cal_size[INDEX_MAX] = { [0 ... INDEX_MAX - 1] = FROM_REAR_DUAL_CAL_SIZE }; +static ssize_t camera_dual_cal_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int index = -1; + int copy_size = 0; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] %s dual_cal : %s\n", + attr->attr.name, dual_cal[index]); + + switch (index) + { + case INDEX_REAR: + case INDEX_REAR2: + case INDEX_REAR3: + case INDEX_REAR4: + copy_size = FROM_REAR_DUAL_CAL_SIZE; + break; + case INDEX_FRONT: + case INDEX_FRONT2: + case INDEX_FRONT3: + copy_size = FROM_FRONT_DUAL_CAL_SIZE; + break; + default: + copy_size = FROM_REAR_DUAL_CAL_SIZE; + break; + } + if (copy_size > dual_cal_size[index]) + copy_size = dual_cal_size[index]; + + memcpy(buf, dual_cal[index], copy_size); + return copy_size; +} + +static ssize_t camera_dual_cal_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + int index = -1; + int copy_size = 0; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + + switch (index) + { + case INDEX_REAR: + case INDEX_REAR2: + case INDEX_REAR3: + case INDEX_REAR4: + copy_size = FROM_REAR_DUAL_CAL_SIZE; + break; + case INDEX_FRONT: + case INDEX_FRONT2: + case INDEX_FRONT3: + copy_size = FROM_FRONT_DUAL_CAL_SIZE; + break; + default: + copy_size = FROM_REAR_DUAL_CAL_SIZE; + break; + } + if (copy_size > size) + copy_size = size; + dual_cal_size[index] = copy_size; + + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] %s buf : %s\n", + attr->attr.name, buf); + memcpy(dual_cal[index], buf, copy_size); + + return size; +} + +static ssize_t camera_dual_cal_size_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0, index = -1; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + + CAM_INFO(CAM_SENSOR_UTIL, "[FW_DBG] %s dual_cal_size : %d\n", + attr->attr.name, dual_cal_size[index]); + rc = scnprintf(buf, PAGE_SIZE, "%d", dual_cal_size[index]); + if (rc) + return rc; + return 0; +} + +DualTilt_t dual_tilt[INDEX_MAX]; +static ssize_t camera_tilt_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0, index = -1; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] %s dual tilt x = %d, y = %d, z = %d, sx = %d, sy = %d, range = %d, max_err = %d, avg_err = %d, dll_ver = %d, project_cal_type=%s\n", + attr->attr.name, dual_tilt[index].x, dual_tilt[index].y, dual_tilt[index].z, + dual_tilt[index].sx, dual_tilt[index].sy, dual_tilt[index].range, + dual_tilt[index].max_err, dual_tilt[index].avg_err, + dual_tilt[index].dll_ver, dual_tilt[index].project_cal_type); + + rc = scnprintf(buf, PAGE_SIZE, "1 %d %d %d %d %d %d %d %d %d %s\n", + dual_tilt[index].x, dual_tilt[index].y, dual_tilt[index].z, + dual_tilt[index].sx, dual_tilt[index].sy, dual_tilt[index].range, + dual_tilt[index].max_err, dual_tilt[index].avg_err, + dual_tilt[index].dll_ver, dual_tilt[index].project_cal_type); + if (rc) + return rc; + return 0; +} +#endif + +#if defined(CONFIG_SAMSUNG_ACTUATOR_READ_HALL_VALUE) +static ssize_t af_hall_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0, index = -1, sensor_id = -1; + uint16_t af_hall = 0; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + + sensor_id = map_sysfs_index_to_sensor_id(index); + if (sensor_id < 0) + return 0; + + if (g_a_ctrls[sensor_id]->cam_act_state == CAM_ACTUATOR_START) { + rc = cam_sec_actuator_read_hall_value(g_a_ctrls[sensor_id], &af_hall); + } else { +#if defined(CONFIG_SEC_FACTORY) + CAM_ERR(CAM_ACTUATOR,"[AF] Actuator is not starting\n"); +#endif + return 0; + } + + if (rc < 0) { + CAM_ERR(CAM_ACTUATOR,"[AF] Hall read failed\n"); + return 0; + } + + CAM_INFO(CAM_ACTUATOR,"[AF] af_hall : %u\n", af_hall); + + rc = scnprintf(buf, PAGE_SIZE, "%u\n", af_hall); + + if (rc) + return rc; + return 0; +} + +char hall_info[INDEX_MAX][30] = {[0 ... INDEX_MAX - 1] = "N,0,0|0" }; +static ssize_t af_hall_info_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0, index = -1; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + + rc = scnprintf(buf, PAGE_SIZE, "%s", hall_info[index]); + if (rc) + return rc; + return 0; +} + +static ssize_t af_hall_info_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + int index = -1; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + + scnprintf(hall_info[index], sizeof(hall_info[index]), "%s", buf); + + return size; +} +#endif + +#if defined(CONFIG_CAMERA_ADAPTIVE_MIPI) +char mipi_string[20] = {0, }; +static ssize_t front_camera_mipi_clock_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + + CAM_INFO(CAM_SENSOR_UTIL, "front_camera_mipi_clock_show : %s\n", mipi_string); + rc = scnprintf(buf, PAGE_SIZE, "%s\n", mipi_string); + if (rc) + return rc; + return 0; +} +#endif + +#if defined(CONFIG_CAMERA_FAC_LN_TEST) // Factory Low Noise Test +extern uint8_t factory_ln_test; +static ssize_t cam_factory_ln_test_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + + CAM_INFO(CAM_SENSOR_UTIL, "[LN_TEST] factory_ln_test : %d\n", factory_ln_test); + rc = scnprintf(buf, PAGE_SIZE, "%d\n", factory_ln_test); + if (rc) + return rc; + return 0; +} +static ssize_t cam_factory_ln_test_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + CAM_INFO(CAM_SENSOR_UTIL, "[LN_TEST] factory_ln_test : %c\n", buf[0]); + if (buf[0] == '1') + factory_ln_test = 1; + else + factory_ln_test = 0; + + return size; +} +#endif + +#if defined(CONFIG_SAMSUNG_READ_BPC_FROM_OTP) +static ssize_t rear_otp_bpc_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + void *ret = NULL; + int index = 0; + char* tok = NULL; + + tok = strstr(attr->attr.name, "bpc"); + if (tok == NULL) + return 0; + + tok += strlen("bpc"); + if (0 != kstrtouint(tok, 10, &index) +) + return 0; + + CAM_INFO(CAM_SENSOR_UTIL, "%s read otp bpc %d", + attr->attr.name, index); + ret = memcpy(buf, otp_data + (index * PAGE_SIZE), PAGE_SIZE); + + if (ret) + return PAGE_SIZE; + + return 0; +} + +static ssize_t rear_otp_bpc_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + char read_opt_reset[5] = "BEEF"; + int index = 0; + char* tok = NULL; + + tok = strstr(attr->attr.name, "bpc"); + if (tok == NULL) + return 0; + + tok += strlen("bpc"); + if (0 != kstrtouint(tok, 10, &index) +) + return 0; + + CAM_INFO(CAM_SENSOR_UTIL, "%s store otp bpc %d", attr->attr.name, index); + + if (index == 0 && memcmp(buf, read_opt_reset, sizeof(read_opt_reset)) == 0) { + CAM_INFO(CAM_SENSOR, "[BPC] Sensor is not same"); + memcpy(otp_data, buf, sizeof(read_opt_reset)); + } else { + memcpy(otp_data + (index * PAGE_SIZE), buf, PAGE_SIZE); + } + return size; +} +#endif + +#if defined(CONFIG_USE_CAMERA_HW_BIG_DATA) +static int16_t is_hw_param_valid_module_id(char *moduleid) +{ + int i = 0; + int32_t moduleid_cnt = 0; + int16_t rc = MODULE_ID_VALID; + + if (moduleid == NULL) { + CAM_ERR(CAM_UTIL, "MI_INVALID\n"); + return MODULE_ID_INVALID; + } + + for (i = 0; i < FROM_MODULE_ID_SIZE; i++) { + if (moduleid[i] == '\0') { + moduleid_cnt = moduleid_cnt + 1; + } else if ((i < 5) + && (!((moduleid[i] > 47 && moduleid[i] < 58) // 0 to 9 + || (moduleid[i] > 64 && moduleid[i] < 91)))) { // A to Z + CAM_ERR(CAM_UTIL, "MIR_ERR_1\n"); + rc = MODULE_ID_ERR_CHAR; + break; + } + } + + if (moduleid_cnt == FROM_MODULE_ID_SIZE) { + CAM_ERR(CAM_UTIL, "MIR_ERR_0\n"); + rc = MODULE_ID_ERR_CNT_MAX; + } +#if defined(CONFIG_SEC_B6Q_PROJECT) || defined(CONFIG_SEC_Q6Q_PROJECT) + if (!strncmp(moduleid, "NULL", 4)){ + CAM_ERR(CAM_UTIL, "MIR_ERR_0\n"); + rc = MODULE_ID_ERR_CNT_MAX; + } +#endif + + return rc; +} + +extern char hwparam_str[MAX_HW_PARAM_ID][MAX_HW_PARAM_INFO][MAX_HW_PARAM_STR_LEN]; +char wifi_info[128] = "0"; + +void camera_hw_param_check_avail_cam(void) +{ + struct cam_hw_param *hw_param = NULL; + + hw_bigdata_get_hw_param_static(&hw_param, HW_PARAM_REAR); + hw_param->cam_available = 1; + hw_bigdata_get_hw_param_static(&hw_param, HW_PARAM_FRONT); + hw_param->cam_available = 1; + +#if defined(CONFIG_SAMSUNG_REAR_DUAL) + hw_bigdata_get_hw_param_static(&hw_param, HW_PARAM_REAR2); + hw_param->cam_available = 1; +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) + hw_bigdata_get_hw_param_static(&hw_param, HW_PARAM_REAR3); + hw_param->cam_available = 1; +#endif +#if defined(CONFIG_SAMSUNG_REAR_QUADRA) + hw_bigdata_get_hw_param_static(&hw_param, HW_PARAM_REAR4); + hw_param->cam_available = 1; +#endif +#endif +#if defined(CONFIG_SAMSUNG_FRONT_DUAL) + hw_bigdata_get_hw_param_static(&hw_param, HW_PARAM_FRONT2); + hw_param->cam_available = 1; +#endif +} + +ssize_t fill_hw_bigdata_sysfs_node(char *buf, struct cam_hw_param *ec_param, char *moduleid, char *af_str, uint32_t hw_param_id) +{ +#if defined(CONFIG_SAMSUNG_ACTUATOR_READ_HALL_VALUE) + char *af_info = get_af_hall_error_info(af_str, ec_param); + if (is_hw_param_valid_module_id(moduleid) > 0) { + return scnprintf(buf, PAGE_SIZE, "\"%s\":\"%c%c%c%c%cXX%02X%02X%02X\",\"%s\":\"%d\",\"%s\":\"%d\"," + "\"%s\":\"%d\",\"%s\":\"%d\",\"%s\":\"%d,%d,%d\",\"%s\":\"%d\",\"%s\":\"%d\",\"%s\":\"%d\",\"%s\":\"%s\",\"%s\":\"%d\",\"%s\":\"%s\"\n", + hwparam_str[hw_param_id][CAMI_ID], moduleid[0], moduleid[1], moduleid[2], moduleid[3], + moduleid[4], moduleid[7], moduleid[8], moduleid[9], + hwparam_str[hw_param_id][I2C_AF], ec_param->err_cnt[I2C_AF_ERROR], + hwparam_str[hw_param_id][I2C_OIS], ec_param->err_cnt[I2C_OIS_ERROR], + hwparam_str[hw_param_id][I2C_SEN], ec_param->err_cnt[I2C_SENSOR_ERROR], + hwparam_str[hw_param_id][MIPI_SEN], ec_param->err_cnt[MIPI_SENSOR_ERROR], + hwparam_str[hw_param_id][MIPI_INFO], ec_param->rf_rat, ec_param->rf_band, ec_param->rf_channel, + hwparam_str[hw_param_id][I2C_EEPROM], ec_param->err_cnt[I2C_EEPROM_ERROR], + hwparam_str[hw_param_id][CRC_EEPROM], ec_param->err_cnt[CRC_EEPROM_ERROR], + hwparam_str[hw_param_id][CAM_USE_CNT], ec_param->cam_entrance_cnt, + hwparam_str[hw_param_id][WIFI_INFO], wifi_info, + hwparam_str[hw_param_id][AF_HALL], ec_param->err_cnt[AF_HALL_ERROR], + hwparam_str[hw_param_id][AF_INFO], af_info); + } else { + return scnprintf(buf, PAGE_SIZE, "\"%s\":\"%s\",\"%s\":\"%d\",\"%s\":\"%d\"," + "\"%s\":\"%d\",\"%s\":\"%d\",\"%s\":\"%d,%d,%d\",\"%s\":\"%d\",\"%s\":\"%d\",\"%s\":\"%d\",\"%s\":\"%s\",\"%s\":\"%d\",\"%s\":\"%s\"\n", + hwparam_str[hw_param_id][CAMI_ID], ((is_hw_param_valid_module_id(moduleid) == MODULE_ID_ERR_CHAR) ? "MIR_ERR" : "MI_NO"), + hwparam_str[hw_param_id][I2C_AF], ec_param->err_cnt[I2C_AF_ERROR], + hwparam_str[hw_param_id][I2C_OIS], ec_param->err_cnt[I2C_OIS_ERROR], + hwparam_str[hw_param_id][I2C_SEN], ec_param->err_cnt[I2C_SENSOR_ERROR], + hwparam_str[hw_param_id][MIPI_SEN], ec_param->err_cnt[MIPI_SENSOR_ERROR], + hwparam_str[hw_param_id][MIPI_INFO], ec_param->rf_rat, ec_param->rf_band, ec_param->rf_channel, + hwparam_str[hw_param_id][I2C_EEPROM], ec_param->err_cnt[I2C_EEPROM_ERROR], + hwparam_str[hw_param_id][CRC_EEPROM], ec_param->err_cnt[CRC_EEPROM_ERROR], + hwparam_str[hw_param_id][CAM_USE_CNT], ec_param->cam_entrance_cnt, + hwparam_str[hw_param_id][WIFI_INFO], wifi_info, + hwparam_str[hw_param_id][AF_HALL], ec_param->err_cnt[AF_HALL_ERROR], + hwparam_str[hw_param_id][AF_INFO], af_info); + } +#else + if (is_hw_param_valid_module_id(moduleid) > 0) { + return scnprintf(buf, PAGE_SIZE, "\"%s\":\"%c%c%c%c%cXX%02X%02X%02X\",\"%s\":\"%d\",\"%s\":\"%d\"," + "\"%s\":\"%d\",\"%s\":\"%d\",\"%s\":\"%d,%d,%d\",\"%s\":\"%d\",\"%s\":\"%d\",\"%s\":\"%d\",\"%s\":\"%s\",\n", + hwparam_str[hw_param_id][CAMI_ID], moduleid[0], moduleid[1], moduleid[2], moduleid[3], + moduleid[4], moduleid[7], moduleid[8], moduleid[9], + hwparam_str[hw_param_id][I2C_AF], ec_param->err_cnt[I2C_AF_ERROR], + hwparam_str[hw_param_id][I2C_OIS], ec_param->err_cnt[I2C_OIS_ERROR], + hwparam_str[hw_param_id][I2C_SEN], ec_param->err_cnt[I2C_SENSOR_ERROR], + hwparam_str[hw_param_id][MIPI_SEN], ec_param->err_cnt[MIPI_SENSOR_ERROR], + hwparam_str[hw_param_id][MIPI_INFO], ec_param->rf_rat, ec_param->rf_band, ec_param->rf_channel, + hwparam_str[hw_param_id][I2C_EEPROM], ec_param->err_cnt[I2C_EEPROM_ERROR], + hwparam_str[hw_param_id][CRC_EEPROM], ec_param->err_cnt[CRC_EEPROM_ERROR], + hwparam_str[hw_param_id][CAM_USE_CNT], ec_param->cam_entrance_cnt, + hwparam_str[hw_param_id][WIFI_INFO], wifi_info); + } else { + return scnprintf(buf, PAGE_SIZE, "\"%s\":\"%s\",\"%s\":\"%d\",\"%s\":\"%d\"," + "\"%s\":\"%d\",\"%s\":\"%d\",\"%s\":\"%d,%d,%d\",\"%s\":\"%d\",\"%s\":\"%d\",\"%s\":\"%d\",\"%s\":\"%s\"\n", + hwparam_str[hw_param_id][CAMI_ID], ((is_hw_param_valid_module_id(moduleid) == MODULE_ID_ERR_CHAR) ? "MIR_ERR" : "MI_NO"), + hwparam_str[hw_param_id][I2C_AF], ec_param->err_cnt[I2C_AF_ERROR], + hwparam_str[hw_param_id][I2C_OIS], ec_param->err_cnt[I2C_OIS_ERROR], + hwparam_str[hw_param_id][I2C_SEN], ec_param->err_cnt[I2C_SENSOR_ERROR], + hwparam_str[hw_param_id][MIPI_SEN], ec_param->err_cnt[MIPI_SENSOR_ERROR], + hwparam_str[hw_param_id][MIPI_INFO], ec_param->rf_rat, ec_param->rf_band, ec_param->rf_channel, + hwparam_str[hw_param_id][I2C_EEPROM], ec_param->err_cnt[I2C_EEPROM_ERROR], + hwparam_str[hw_param_id][CRC_EEPROM], ec_param->err_cnt[CRC_EEPROM_ERROR], + hwparam_str[hw_param_id][CAM_USE_CNT], ec_param->cam_entrance_cnt, + hwparam_str[hw_param_id][WIFI_INFO], wifi_info); + } + +#endif +} + +static ssize_t camera_hw_param_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0, index = -1, hw_param_id = -1; + struct cam_hw_param *ec_param = NULL; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + + hw_param_id = map_sysfs_index_to_hw_param_id(index); + if (hw_param_id < 0) + return 0; + + hw_bigdata_get_hw_param(&ec_param, hw_param_id); + + if (ec_param != NULL) { + if (hw_param_id == HW_PARAM_FRONT2 || + hw_param_id == HW_PARAM_FRONT3 || + hw_param_id == HW_PARAM_REAR4) + rc = fill_hw_bigdata_sysfs_node(buf, ec_param, module_id[index], "0,0|0", hw_param_id); + else +#if defined(CONFIG_SAMSUNG_ACTUATOR_READ_HALL_VALUE) + rc = fill_hw_bigdata_sysfs_node(buf, ec_param, module_id[index], hall_info[index], hw_param_id); +#else + rc = fill_hw_bigdata_sysfs_node(buf, ec_param, module_id[index], "0,0|0", hw_param_id); +#endif + } + + if (rc) + return rc; + return 0; +} + +static ssize_t camera_hw_param_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + int index = -1, hw_param_id = -1; + struct cam_hw_param *ec_param = NULL; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + + hw_param_id = map_sysfs_index_to_hw_param_id(index); + if (hw_param_id < 0) + return 0; + + CAM_DBG(CAM_UTIL, "%s buf : %s\n", attr->attr.name, buf); + + if (!strncmp(buf, "c", 1)) { + hw_bigdata_get_hw_param(&ec_param, hw_param_id); + if (ec_param != NULL) { + hw_bigdata_init_err_cnt_file(ec_param); + } + } + + return size; +} + +static ssize_t rear_camera_wifi_info_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + + CAM_DBG(CAM_SENSOR_UTIL, "wifi_info : %s\n", wifi_info); + rc = scnprintf(buf, PAGE_SIZE, "%s", wifi_info); + if (rc) + return rc; + return 0; +} +static ssize_t rear_camera_wifi_info_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + CAM_DBG(CAM_SENSOR_UTIL, "[HWB] buf : %s\n", buf); + scnprintf(wifi_info, sizeof(wifi_info), "%s", buf); + + return size; +} +#endif +ssize_t rear_flash_store(struct device *dev, + struct device_attribute *attr, const char *buf, + size_t count) +{ +#if defined(CONFIG_SAMSUNG_PMIC_FLASH) + flash_power_store(dev, attr, buf, count); +#elif IS_REACHABLE(CONFIG_LEDS_S2MPB02) + s2mpb02_store(buf); +#elif defined(CONFIG_LEDS_KTD2692) + ktd2692_store(buf); +#endif + return count; +} + +ssize_t rear_flash_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ +#if IS_REACHABLE(CONFIG_LEDS_S2MPB02) + return s2mpb02_show(buf); +#elif defined(CONFIG_LEDS_KTD2692) + return ktd2692_show(buf); +#else + return 0; +#endif +} + +#if defined(CONFIG_SEC_Q6AQ_PROJECT) +int s5khp2_read_temperature(struct cam_sensor_ctrl_t *s_ctrl, uint32_t* data) +{ + int rc = 0; + + struct cam_sensor_i2c_reg_array s5khp2_page_setting[] = { + { 0x602C, 0x4000, 0x00, 0x00 }, + { 0x602E, 0x0020, 0x00, 0x00 }, + }; + + struct cam_sensor_i2c_reg_setting s5khp2_page_settings[] = { + { + s5khp2_page_setting, + ARRAY_SIZE(s5khp2_page_setting), + CAMERA_SENSOR_I2C_TYPE_WORD, + CAMERA_SENSOR_I2C_TYPE_WORD, + 0 + }, + }; + + rc = cam_sensor_write_settings(&s_ctrl->io_master_info, + s5khp2_page_settings, ARRAY_SIZE(s5khp2_page_settings)); + if (rc < 0) { + CAM_ERR(CAM_SENSOR, "[TEMP_DBG] Failed to Page setting = %d", rc); + return rc; + } + + rc |= camera_io_dev_read(&s_ctrl->io_master_info, + 0x6F12, data, + CAMERA_SENSOR_I2C_TYPE_WORD, + CAMERA_SENSOR_I2C_TYPE_WORD, + false); + if (rc < 0) { + CAM_ERR(CAM_SENSOR, "[TEMP_DBG] Failed to read = %d", rc); + return rc; + } + CAM_DBG(CAM_SENSOR_UTIL, "[TEMP_DBG]hp2 read data : 0x%4x", *data); + + return rc; +} + +int imx564_read_temperature(struct cam_sensor_ctrl_t *s_ctrl, uint32_t* data) +{ + int rc = 0; + + rc = camera_io_dev_read(&s_ctrl->io_master_info, + 0x013A, data, + CAMERA_SENSOR_I2C_TYPE_WORD, + CAMERA_SENSOR_I2C_TYPE_BYTE, + false); + if (rc < 0) { + CAM_ERR(CAM_SENSOR, "[TEMP_DBG] Failed to read = %d", rc); + return rc; + } + + CAM_DBG(CAM_SENSOR_UTIL, "[TEMP_DBG]imx564 read data : 0x%4x", *data); + + if (0x81 <= *data && *data <= 0xEC) + *data = -20; + else if (0x55 <= *data && *data <= 0x7F) + *data = 85; + else if (0xED <= *data && *data <= 0xFF) + *data = -19 + *data - 0xed; + return rc; +} + +extern struct cam_sensor_ctrl_t *g_s_ctrls[SEC_SENSOR_ID_MAX]; +static ssize_t temperature_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0, index = -1, sensor_idx = -1; + uint32_t data; + uint16_t sensor_id = 0; + int16_t temp = 0; + struct cam_sensor_ctrl_t *s_ctrl = NULL; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + CAM_DBG(CAM_SENSOR_UTIL, "[TEMP_DBG]index : %d", index); + + sensor_idx = map_sysfs_index_to_sensor_id(index); + if (sensor_idx < 0) + return 0; + + CAM_DBG(CAM_SENSOR_UTIL, "[TEMP_DBG]sensor_idx : %d", sensor_idx); + + s_ctrl = g_s_ctrls[sensor_idx]; + + if (s_ctrl == NULL) + return 0; + sensor_id = s_ctrl->sensordata->slave_info.sensor_id; + if (sensor_idx == SEC_WIDE_SENSOR) { + if (sensor_id == SENSOR_ID_S5KHP2) { + s5khp2_read_temperature(s_ctrl, &data); + temp = (int16_t)data & 0xFFFF; + CAM_INFO(CAM_SENSOR_UTIL, "[TEMP_DBG]cal data : %hd", temp); + rc = scnprintf(buf, PAGE_SIZE, "%hd.%hd", temp/256, (temp * 1000 / 256) % 1000); + } + } + if (sensor_idx == SEC_ULTRA_WIDE_SENSOR) { + if (sensor_id == SENSOR_ID_IMX564) { + imx564_read_temperature(s_ctrl, &data); + CAM_INFO(CAM_SENSOR_UTIL, "[TEMP_DBG]cal data : %u", data); + rc = scnprintf(buf, PAGE_SIZE, "%u", data); + } + } + + CAM_DBG(CAM_SENSOR_UTIL, "[TEMP_DBG]temperature_show : %s", buf); + + if (rc) + return rc; + + return 0; +} +#endif + +static DEVICE_ATTR(rear_flash, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH, + rear_flash_show, rear_flash_store); + +#if defined(CONFIG_CAMERA_SSM_I2C_ENV) +static DEVICE_ATTR(ssm_frame_id, S_IRUGO|S_IWUSR|S_IWGRP, + rear_ssm_frame_id_show, rear_ssm_frame_id_store); +static DEVICE_ATTR(ssm_gmc_state, S_IRUGO|S_IWUSR|S_IWGRP, + rear_ssm_gmc_state_show, rear_ssm_gmc_state_store); +static DEVICE_ATTR(ssm_flicker_state, S_IRUGO|S_IWUSR|S_IWGRP, + rear_ssm_flicker_state_show, rear_ssm_flicker_state_store); +#endif + +#if defined(CONFIG_CAMERA_CDR_TEST) +static DEVICE_ATTR(cam_cdr_value, S_IRUGO|S_IWUSR|S_IWGRP, + rear_cam_cdr_value_show, rear_cam_cdr_value_store); +static DEVICE_ATTR(cam_cdr_result, S_IRUGO|S_IWUSR|S_IWGRP, + rear_cam_cdr_result_show, rear_cam_cdr_result_store); +static DEVICE_ATTR(cam_cdr_fastaec, S_IRUGO|S_IWUSR|S_IWGRP, + rear_cam_cdr_fastaec_show, rear_cam_cdr_fastaec_store); +#endif + +#if defined(CONFIG_CAMERA_HW_ERROR_DETECT) +static DEVICE_ATTR(rear_i2c_rfinfo, S_IRUGO, rear_i2c_rfinfo_show, NULL); +static DEVICE_ATTR(rear_eeprom_retry, S_IRUGO, camera_eeprom_retry_show, NULL); +static DEVICE_ATTR(rear2_eeprom_retry, S_IRUGO, camera_eeprom_retry_show, NULL); +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) +static DEVICE_ATTR(rear3_eeprom_retry, S_IRUGO, camera_eeprom_retry_show, NULL); +#endif +static DEVICE_ATTR(rear4_eeprom_retry, S_IRUGO, camera_eeprom_retry_show, NULL); +static DEVICE_ATTR(front_eeprom_retry, S_IRUGO, camera_eeprom_retry_show, NULL); +#endif + +#ifdef CONFIG_SEC_KUNIT +static DEVICE_ATTR(cam_kunit_test, S_IWUSR|S_IWGRP, NULL, cam_kunit_test_store); +#endif + +static DEVICE_ATTR(rear_camtype, S_IRUGO, camera_type_show, NULL); +static DEVICE_ATTR(rear_camfw, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_show, camera_firmware_store); +static DEVICE_ATTR(rear_checkfw_user, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_user_show, camera_firmware_user_store); +static DEVICE_ATTR(rear_checkfw_factory, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_factory_show, camera_firmware_factory_store); +static DEVICE_ATTR(rear_camfw_full, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_full_show, camera_firmware_full_store); +static DEVICE_ATTR(rear_camfw_load, S_IRUGO|S_IWUSR|S_IWGRP, + rear_firmware_load_show, rear_firmware_load_store); +static DEVICE_ATTR(rear_calcheck, S_IRUGO|S_IWUSR|S_IWGRP, + rear_cal_data_check_show, rear_cal_data_check_store); +static DEVICE_ATTR(rear_moduleinfo, S_IRUGO|S_IWUSR|S_IWGRP, + camera_module_info_show, camera_module_info_store); +static DEVICE_ATTR(isp_core, S_IRUGO|S_IWUSR|S_IWGRP, + rear_isp_core_check_show, rear_isp_core_check_store); +static DEVICE_ATTR(rear_afcal, S_IRUGO, camera_afcal_show, NULL); +static DEVICE_ATTR(rear_paf_offset_far, S_IRUGO, + rear_paf_offset_far_show, NULL); +static DEVICE_ATTR(rear_paf_offset_mid, S_IRUGO, + rear_paf_offset_mid_show, NULL); +static DEVICE_ATTR(rear_paf_cal_check, S_IRUGO, + camera_paf_cal_check_show, NULL); +static DEVICE_ATTR(rear_f2_paf_offset_far, S_IRUGO, + rear_f2_paf_offset_far_show, NULL); +static DEVICE_ATTR(rear_f2_paf_offset_mid, S_IRUGO, + rear_f2_paf_offset_mid_show, NULL); +static DEVICE_ATTR(rear_f2_paf_cal_check, S_IRUGO, + rear_f2_paf_cal_check_show, NULL); +#if !defined(CONFIG_SAMSUNG_FRONT_TOP_EEPROM) && defined(CONFIG_SAMSUNG_FRONT_CAMERA_ACTUATOR) +static DEVICE_ATTR(front_afcal, S_IRUGO, camera_afcal_show, NULL); +#endif +static DEVICE_ATTR(front_camtype, S_IRUGO, camera_type_show, NULL); +static DEVICE_ATTR(front_camfw, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_show, camera_firmware_store); +static DEVICE_ATTR(front_camfw_full, S_IRUGO | S_IWUSR | S_IWGRP, + camera_firmware_full_show, camera_firmware_full_store); +static DEVICE_ATTR(front_checkfw_user, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_user_show, camera_firmware_user_store); +static DEVICE_ATTR(front_checkfw_factory, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_factory_show, camera_firmware_factory_store); +#if defined (CONFIG_CAMERA_SYSFS_V2) +static DEVICE_ATTR(rear_caminfo, S_IRUGO|S_IWUSR|S_IWGRP, + camera_info_show, camera_info_store); +static DEVICE_ATTR(front_caminfo, S_IRUGO|S_IWUSR|S_IWGRP, + camera_info_show, camera_info_store); +#endif +static DEVICE_ATTR(front_paf_cal_check, S_IRUGO, + camera_paf_cal_check_show, NULL); +static DEVICE_ATTR(front_moduleinfo, S_IRUGO|S_IWUSR|S_IWGRP, + camera_module_info_show, camera_module_info_store); +static DEVICE_ATTR(rear_sensorid_exif, S_IRUGO|S_IWUSR|S_IWGRP, + camera_sensorid_exif_show, camera_sensorid_exif_store); +static DEVICE_ATTR(SVC_rear_sensor, S_IRUGO|S_IWUSR|S_IWGRP, + camera_sensorid_exif_show, camera_sensorid_exif_store); +static DEVICE_ATTR(SVC_rear_sensor_type, S_IRUGO, svc_sensor_type_show, NULL); +static DEVICE_ATTR(front_sensorid_exif, S_IRUGO|S_IWUSR|S_IWGRP, + camera_sensorid_exif_show, camera_sensorid_exif_store); +static DEVICE_ATTR(SVC_front_sensor, S_IRUGO|S_IWUSR|S_IWGRP, + camera_sensorid_exif_show, camera_sensorid_exif_store); +static DEVICE_ATTR(SVC_front_sensor_type, S_IRUGO, svc_sensor_type_show, NULL); +static DEVICE_ATTR(rear_moduleid, S_IRUGO, camera_moduleid_show, NULL); +static DEVICE_ATTR(front_moduleid, S_IRUGO, camera_moduleid_show, NULL); +static DEVICE_ATTR(front_mtf_exif, S_IRUGO|S_IWUSR|S_IWGRP, + camera_mtf_exif_show, camera_mtf_exif_store); +#if defined(CONFIG_CAMERA_ADAPTIVE_MIPI) +static DEVICE_ATTR(front_mipi_clock, S_IRUGO, front_camera_mipi_clock_show, NULL); +#endif +#if defined(CONFIG_SAMSUNG_FRONT_DUAL) +static DEVICE_ATTR(front2_camtype, S_IRUGO, camera_type_show, NULL); +static DEVICE_ATTR(front2_camfw, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_show, camera_firmware_store); +static DEVICE_ATTR(front2_camfw_full, S_IRUGO | S_IWUSR | S_IWGRP, + camera_firmware_full_show, camera_firmware_full_store); +static DEVICE_ATTR(front2_checkfw_user, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_user_show, camera_firmware_user_store); +static DEVICE_ATTR(front2_checkfw_factory, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_factory_show, camera_firmware_factory_store); +static DEVICE_ATTR(front2_moduleinfo, S_IRUGO|S_IWUSR|S_IWGRP, + camera_module_info_show, camera_module_info_store); +#if defined (CONFIG_CAMERA_SYSFS_V2) +static DEVICE_ATTR(front2_caminfo, S_IRUGO|S_IWUSR|S_IWGRP, + camera_info_show, camera_info_store); +#endif +static DEVICE_ATTR(front2_sensorid_exif, S_IRUGO|S_IWUSR|S_IWGRP, + camera_sensorid_exif_show, camera_sensorid_exif_store); +#endif +#if defined(CONFIG_SAMSUNG_FRONT_DUAL) +static DEVICE_ATTR(front2_moduleid, S_IRUGO, camera_moduleid_show, NULL); +#endif + +#if defined(CONFIG_SAMSUNG_FRONT_TOP) +#if defined(CONFIG_SAMSUNG_FRONT_DUAL) +static DEVICE_ATTR(front3_camtype, S_IRUGO, camera_type_show, NULL); +static DEVICE_ATTR(front3_camfw, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_show, camera_firmware_store); +static DEVICE_ATTR(front3_camfw_full, S_IRUGO | S_IWUSR | S_IWGRP, + camera_firmware_full_show, camera_firmware_full_store); +static DEVICE_ATTR(front3_checkfw_user, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_user_show, camera_firmware_user_store); +static DEVICE_ATTR(front3_checkfw_factory, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_factory_show, camera_firmware_factory_store); +static DEVICE_ATTR(front3_moduleinfo, S_IRUGO|S_IWUSR|S_IWGRP, + camera_module_info_show, camera_module_info_store); +#if !defined(CONFIG_SAMSUNG_FRONT_TOP_EEPROM) +static DEVICE_ATTR(front3_afcal, S_IRUGO, camera_afcal_show, NULL); +#endif +static DEVICE_ATTR(front3_moduleid, S_IRUGO, camera_moduleid_show, NULL); +static DEVICE_ATTR(SVC_upper_module, S_IRUGO, camera_moduleid_show, NULL); +#if defined (CONFIG_CAMERA_SYSFS_V2) +static DEVICE_ATTR(front3_caminfo, S_IRUGO|S_IWUSR|S_IWGRP, + camera_info_show, camera_info_store); +#endif +static DEVICE_ATTR(front3_sensorid_exif, S_IRUGO|S_IWUSR|S_IWGRP, + camera_sensorid_exif_show, camera_sensorid_exif_store); +#else +static DEVICE_ATTR(front2_camtype, S_IRUGO, camera_type_show, NULL); +static DEVICE_ATTR(front2_camfw, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_show, camera_firmware_store); +static DEVICE_ATTR(front2_camfw_full, S_IRUGO | S_IWUSR | S_IWGRP, + camera_firmware_full_show, camera_firmware_full_store); +static DEVICE_ATTR(front2_checkfw_user, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_user_show, camera_firmware_user_store); +static DEVICE_ATTR(front2_checkfw_factory, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_factory_show, camera_firmware_factory_store); +static DEVICE_ATTR(front2_moduleinfo, S_IRUGO|S_IWUSR|S_IWGRP, + camera_module_info_show, camera_module_info_store); +#if !defined(CONFIG_SAMSUNG_FRONT_TOP_EEPROM) +static DEVICE_ATTR(front2_afcal, S_IRUGO, camera_afcal_show, NULL); +#endif +static DEVICE_ATTR(front2_moduleid, S_IRUGO, camera_moduleid_show, NULL); +static DEVICE_ATTR(SVC_upper_module, S_IRUGO, camera_moduleid_show, NULL); +#if defined (CONFIG_CAMERA_SYSFS_V2) +static DEVICE_ATTR(front2_caminfo, S_IRUGO|S_IWUSR|S_IWGRP, + camera_info_show, camera_info_store); +#endif +static DEVICE_ATTR(front2_sensorid_exif, S_IRUGO|S_IWUSR|S_IWGRP, + camera_sensorid_exif_show, camera_sensorid_exif_store); +#endif +#endif + +static DEVICE_ATTR(supported_cameraIds, S_IRUGO|S_IWUSR|S_IWGRP, + supported_camera_ids_show, supported_camera_ids_store); + +static DEVICE_ATTR(rear_mtf_exif, S_IRUGO|S_IWUSR|S_IWGRP, + camera_mtf_exif_show, camera_mtf_exif_store); +static DEVICE_ATTR(rear_mtf2_exif, S_IRUGO|S_IWUSR|S_IWGRP, + rear_mtf2_exif_show, rear_mtf2_exif_store); +static DEVICE_ATTR(SVC_rear_module, S_IRUGO, camera_moduleid_show, NULL); +static DEVICE_ATTR(SVC_front_module, S_IRUGO, camera_moduleid_show, NULL); +#if defined(CONFIG_SAMSUNG_FRONT_DUAL) +static DEVICE_ATTR(SVC_front_module2, S_IRUGO, camera_moduleid_show, NULL); +#endif +static DEVICE_ATTR(ssrm_camera_info, S_IRUGO|S_IWUSR|S_IWGRP, + ssrm_camera_info_show, ssrm_camera_info_store); + +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) +static DEVICE_ATTR(rear3_camfw, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_show, camera_firmware_store); +static DEVICE_ATTR(rear3_camfw_full, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_full_show, camera_firmware_full_store); +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) +static DEVICE_ATTR(rear3_checkfw_user, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_user_show, camera_firmware_user_store); +static DEVICE_ATTR(rear3_checkfw_factory, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_factory_show, camera_firmware_factory_store); +#endif +static DEVICE_ATTR(rear3_afcal, S_IRUGO, camera_afcal_show, NULL); +static DEVICE_ATTR(rear3_caminfo, S_IRUGO|S_IWUSR|S_IWGRP, + camera_info_show, camera_info_store); +static DEVICE_ATTR(rear3_camtype, S_IRUGO, camera_type_show, NULL); +static DEVICE_ATTR(rear3_moduleinfo, S_IRUGO|S_IWUSR|S_IWGRP, + camera_module_info_show, camera_module_info_store); +static DEVICE_ATTR(rear3_mtf_exif, S_IRUGO|S_IWUSR|S_IWGRP, + camera_mtf_exif_show, camera_mtf_exif_store); +static DEVICE_ATTR(rear3_sensorid_exif, S_IRUGO|S_IWUSR|S_IWGRP, + camera_sensorid_exif_show, camera_sensorid_exif_store); +static DEVICE_ATTR(SVC_rear_sensor3, S_IRUGO|S_IWUSR|S_IWGRP, + camera_sensorid_exif_show, camera_sensorid_exif_store); +static DEVICE_ATTR(SVC_rear_sensor3_type, S_IRUGO, svc_sensor_type_show, NULL); +static DEVICE_ATTR(rear3_dualcal, S_IRUGO|S_IWUSR|S_IWGRP, + camera_dual_cal_show, camera_dual_cal_store); +static DEVICE_ATTR(rear3_dualcal_size, S_IRUGO, camera_dual_cal_size_show, NULL); + +static DEVICE_ATTR(rear3_tilt, S_IRUGO, camera_tilt_show, NULL); +static DEVICE_ATTR(rear3_paf_cal_check, S_IRUGO, + camera_paf_cal_check_show, NULL); +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) +static DEVICE_ATTR(rear3_moduleid, S_IRUGO, camera_moduleid_show, NULL); +static DEVICE_ATTR(SVC_rear_module3, S_IRUGO, camera_moduleid_show, NULL); +#endif +#endif +#if defined(CONFIG_SAMSUNG_REAR_DUAL) +#if defined(CONFIG_SEC_E3Q_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT) +static DEVICE_ATTR(rear2_afcal, S_IRUGO, camera_afcal_show, NULL); +static DEVICE_ATTR(rear2_paf_cal_check, S_IRUGO, + camera_paf_cal_check_show, NULL); +#endif +static DEVICE_ATTR(rear2_caminfo, S_IRUGO|S_IWUSR|S_IWGRP, + camera_info_show, camera_info_store); +static DEVICE_ATTR(rear2_moduleinfo, S_IRUGO|S_IWUSR|S_IWGRP, + camera_module_info_show, camera_module_info_store); +static DEVICE_ATTR(rear2_mtf_exif, S_IRUGO|S_IWUSR|S_IWGRP, + camera_mtf_exif_show, camera_mtf_exif_store); +static DEVICE_ATTR(rear2_sensorid_exif, S_IRUGO|S_IWUSR|S_IWGRP, + camera_sensorid_exif_show, camera_sensorid_exif_store); +static DEVICE_ATTR(SVC_rear_sensor2, S_IRUGO|S_IWUSR|S_IWGRP, + camera_sensorid_exif_show, camera_sensorid_exif_store); +static DEVICE_ATTR(SVC_rear_sensor2_type, S_IRUGO, svc_sensor_type_show, NULL); +static DEVICE_ATTR(rear2_moduleid, S_IRUGO, + camera_moduleid_show, NULL); +static DEVICE_ATTR(rear2_camfw, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_show, camera_firmware_store); +static DEVICE_ATTR(rear2_checkfw_user, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_user_show, camera_firmware_user_store); +static DEVICE_ATTR(rear2_checkfw_factory, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_factory_show, camera_firmware_factory_store); +static DEVICE_ATTR(rear2_camfw_full, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_full_show, camera_firmware_full_store); +static DEVICE_ATTR(SVC_rear_module2, S_IRUGO, camera_moduleid_show, NULL); +static DEVICE_ATTR(rear2_camtype, S_IRUGO, camera_type_show, NULL); +#if defined(CONFIG_SAMSUNG_REAR_DUAL) +static DEVICE_ATTR(rear2_dualcal, S_IRUGO|S_IWUSR|S_IWGRP, + camera_dual_cal_show, camera_dual_cal_store); +static DEVICE_ATTR(rear2_dualcal_size, S_IRUGO, camera_dual_cal_size_show, NULL); +static DEVICE_ATTR(rear2_tilt, S_IRUGO, camera_tilt_show, NULL); +#endif +#endif + +#if defined(CONFIG_SAMSUNG_REAR_QUADRA) +static DEVICE_ATTR(rear4_camfw, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_show, camera_firmware_store); +static DEVICE_ATTR(rear4_camfw_full, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_full_show, camera_firmware_full_store); +static DEVICE_ATTR(rear4_checkfw_user, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_user_show, camera_firmware_user_store); +static DEVICE_ATTR(rear4_checkfw_factory, S_IRUGO|S_IWUSR|S_IWGRP, + camera_firmware_factory_show, camera_firmware_factory_store); +static DEVICE_ATTR(rear4_afcal, S_IRUGO, camera_afcal_show, NULL); +static DEVICE_ATTR(rear4_caminfo, S_IRUGO|S_IWUSR|S_IWGRP, + camera_info_show, camera_info_store); +static DEVICE_ATTR(rear4_camtype, S_IRUGO, camera_type_show, NULL); +static DEVICE_ATTR(rear4_moduleinfo, S_IRUGO|S_IWUSR|S_IWGRP, + camera_module_info_show, camera_module_info_store); +static DEVICE_ATTR(rear4_mtf_exif, S_IRUGO|S_IWUSR|S_IWGRP, + camera_mtf_exif_show, camera_mtf_exif_store); +static DEVICE_ATTR(rear4_sensorid_exif, S_IRUGO|S_IWUSR|S_IWGRP, + camera_sensorid_exif_show, camera_sensorid_exif_store); +static DEVICE_ATTR(SVC_rear_sensor4, S_IRUGO|S_IWUSR|S_IWGRP, + camera_sensorid_exif_show, camera_sensorid_exif_store); +static DEVICE_ATTR(SVC_rear_sensor4_type, S_IRUGO, svc_sensor_type_show, NULL); +static DEVICE_ATTR(rear4_dualcal, S_IRUGO, camera_dual_cal_show, NULL); +static DEVICE_ATTR(rear4_dualcal_size, S_IRUGO, camera_dual_cal_size_show, NULL); + +static DEVICE_ATTR(rear4_tilt, S_IRUGO, camera_tilt_show, NULL); +static DEVICE_ATTR(rear4_paf_cal_check, S_IRUGO, + camera_paf_cal_check_show, NULL); +static DEVICE_ATTR(rear4_moduleid, S_IRUGO, camera_moduleid_show, NULL); +static DEVICE_ATTR(SVC_rear_module4, S_IRUGO, camera_moduleid_show, NULL); +#endif + +#if defined(CONFIG_USE_CAMERA_HW_BIG_DATA) +static DEVICE_ATTR(rear_hwparam, S_IRUGO|S_IWUSR|S_IWGRP, + camera_hw_param_show, camera_hw_param_store); +static DEVICE_ATTR(front_hwparam, S_IRUGO|S_IWUSR|S_IWGRP, + camera_hw_param_show, camera_hw_param_store); +#if defined(CONFIG_SAMSUNG_REAR_DUAL) +static DEVICE_ATTR(rear2_hwparam, S_IRUGO|S_IWUSR|S_IWGRP, + camera_hw_param_show, camera_hw_param_store); +#endif +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) +static DEVICE_ATTR(rear3_hwparam, S_IRUGO|S_IWUSR|S_IWGRP, + camera_hw_param_show, camera_hw_param_store); +#endif +#if defined(CONFIG_SAMSUNG_REAR_QUADRA) +static DEVICE_ATTR(rear4_hwparam, S_IRUGO|S_IWUSR|S_IWGRP, + camera_hw_param_show, camera_hw_param_store); +#endif +static DEVICE_ATTR(cam_wifi_info, S_IRUGO|S_IWUSR|S_IWGRP, + rear_camera_wifi_info_show, rear_camera_wifi_info_store); +#if defined(CONFIG_SAMSUNG_FRONT_DUAL) +static DEVICE_ATTR(front2_hwparam, S_IRUGO|S_IWUSR|S_IWGRP, + camera_hw_param_show, camera_hw_param_store); + +static DEVICE_ATTR(front2_dualcal, S_IRUGO, camera_dual_cal_show, NULL); +static DEVICE_ATTR(front2_dualcal_size, S_IRUGO, camera_dual_cal_size_show, NULL); +static DEVICE_ATTR(front2_tilt, S_IRUGO, camera_tilt_show, NULL); + +#endif +#if defined(CONFIG_SAMSUNG_FRONT_TOP) +#if defined(CONFIG_SAMSUNG_FRONT_DUAL) +static DEVICE_ATTR(front3_hwparam, S_IRUGO|S_IWUSR|S_IWGRP, + camera_hw_param_show, camera_hw_param_store); +#else +static DEVICE_ATTR(front2_hwparam, S_IRUGO|S_IWUSR|S_IWGRP, + camera_hw_param_show, camera_hw_param_store); +#endif +#endif +#endif + +#if defined(CONFIG_SAMSUNG_ACTUATOR_READ_HALL_VALUE) +static DEVICE_ATTR(rear_af_hall, S_IRUGO, af_hall_show, NULL); +#if defined(CONFIG_SEC_E3Q_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT) +static DEVICE_ATTR(rear2_af_hall, S_IRUGO, af_hall_show, NULL); +#endif +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) +static DEVICE_ATTR(rear3_af_hall, S_IRUGO, af_hall_show, NULL); +#endif +#if defined(CONFIG_SAMSUNG_FRONT_CAMERA_ACTUATOR) +static DEVICE_ATTR(front_af_hall, S_IRUGO, af_hall_show, NULL); +#endif +static DEVICE_ATTR(rear_af_hall_info, S_IRUGO|S_IWUSR|S_IWGRP, + af_hall_info_show, af_hall_info_store); +#if defined(CONFIG_SEC_E3Q_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT) +static DEVICE_ATTR(rear2_af_hall_info, S_IRUGO|S_IWUSR|S_IWGRP, + af_hall_info_show, af_hall_info_store); +#endif +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) +static DEVICE_ATTR(rear3_af_hall_info, S_IRUGO|S_IWUSR|S_IWGRP, + af_hall_info_show, af_hall_info_store); +#endif +#if defined(CONFIG_SAMSUNG_FRONT_CAMERA_ACTUATOR) +static DEVICE_ATTR(front_af_hall_info, S_IRUGO|S_IWUSR|S_IWGRP, + af_hall_info_show, af_hall_info_store); +#endif +#endif + +#if defined(CONFIG_CAMERA_FAC_LN_TEST) +static DEVICE_ATTR(cam_ln_test, S_IRUGO|S_IWUSR|S_IWGRP, + cam_factory_ln_test_show, cam_factory_ln_test_store); +#endif + +#if defined(CONFIG_SAMSUNG_READ_BPC_FROM_OTP) +static DEVICE_ATTR(rear_otp_bpc0, S_IRUGO, rear_otp_bpc_show, rear_otp_bpc_store); +static DEVICE_ATTR(rear_otp_bpc1, S_IRUGO, rear_otp_bpc_show, rear_otp_bpc_store); +static DEVICE_ATTR(rear_otp_bpc2, S_IRUGO, rear_otp_bpc_show, rear_otp_bpc_store); +static DEVICE_ATTR(rear_otp_bpc3, S_IRUGO, rear_otp_bpc_show, rear_otp_bpc_store); +static DEVICE_ATTR(rear_otp_bpc4, S_IRUGO, rear_otp_bpc_show, rear_otp_bpc_store); +static DEVICE_ATTR(rear_otp_bpc5, S_IRUGO, rear_otp_bpc_show, rear_otp_bpc_store); +static DEVICE_ATTR(rear_otp_bpc6, S_IRUGO, rear_otp_bpc_show, rear_otp_bpc_store); +static DEVICE_ATTR(rear_otp_bpc7, S_IRUGO, rear_otp_bpc_show, rear_otp_bpc_store); +static DEVICE_ATTR(rear_otp_bpc8, S_IRUGO, rear_otp_bpc_show, rear_otp_bpc_store); +#endif + +#if defined(CONFIG_SEC_Q6AQ_PROJECT) +static DEVICE_ATTR(rear_temperature, S_IRUGO, temperature_show, NULL); +static DEVICE_ATTR(rear2_temperature, S_IRUGO, temperature_show, NULL); +#endif + +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) +char af_position_value[128] = "0\n"; +static ssize_t af_position_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + + CAM_DBG(CAM_SENSOR_UTIL, "[syscamera] af_position_show : %s", af_position_value); + rc = snprintf(buf, PAGE_SIZE, "%s", af_position_value); + if (rc) + return rc; + return 0; +} + +static ssize_t af_position_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] buf : %s", buf); + scnprintf(af_position_value, sizeof(af_position_value), "%s", buf); + return size; +} +static DEVICE_ATTR(af_position, S_IRUGO|S_IWUSR|S_IWGRP, + af_position_show, af_position_store); + +char dual_fallback_value[SYSFS_FW_VER_SIZE] = "0\n"; +static ssize_t dual_fallback_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + + CAM_DBG(CAM_SENSOR_UTIL, "[syscamera] dual_fallback_show : %s", dual_fallback_value); + rc = scnprintf(buf, PAGE_SIZE, "%s", dual_fallback_value); + if (rc) + return rc; + return 0; +} + +static ssize_t dual_fallback_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + CAM_DBG(CAM_SENSOR_UTIL, "[FW_DBG] buf : %s", buf); + scnprintf(dual_fallback_value, sizeof(dual_fallback_value), "%s", buf); + return size; +} +static DEVICE_ATTR(fallback, S_IRUGO|S_IWUSR|S_IWGRP, + dual_fallback_show, dual_fallback_store); +#endif + +struct device *cam_dev_flash; +struct device *cam_dev_rear; +struct device *cam_dev_front; +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) +struct device *cam_dev_af; +struct device *cam_dev_dual; +#endif +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) || defined(CONFIG_SAMSUNG_OIS_RUMBA_S4) +struct device *cam_dev_ois; +#endif +#if defined(CONFIG_CAMERA_SSM_I2C_ENV) +struct device *cam_dev_ssm; +#endif +#ifdef CONFIG_SEC_KUNIT +struct device *cam_dev_kunit; +#endif + +const struct device_attribute *flash_attrs[] = { + &dev_attr_rear_flash, + NULL, // DO NOT REMOVE +}; + +const struct device_attribute *ssm_attrs[] = { +#if defined(CONFIG_CAMERA_SSM_I2C_ENV) + &dev_attr_ssm_frame_id, + &dev_attr_ssm_gmc_state, + &dev_attr_ssm_flicker_state, +#endif + NULL, // DO NOT REMOVE +}; + +#ifdef CONFIG_SEC_KUNIT +const struct device_attribute *kunit_attrs[] = { + &dev_attr_cam_kunit_test, + NULL, // DO NOT REMOVE +}; +#endif + +const struct device_attribute *rear_attrs[] = { + &dev_attr_rear_camtype, + &dev_attr_rear_camfw, + &dev_attr_rear_checkfw_user, + &dev_attr_rear_checkfw_factory, + &dev_attr_rear_camfw_full, + &dev_attr_rear_camfw_load, + &dev_attr_rear_calcheck, + &dev_attr_rear_moduleinfo, + &dev_attr_isp_core, +#if defined(CONFIG_CAMERA_SYSFS_V2) + &dev_attr_rear_caminfo, +#endif + &dev_attr_rear_afcal, + &dev_attr_rear_paf_offset_far, + &dev_attr_rear_paf_offset_mid, + &dev_attr_rear_paf_cal_check, + &dev_attr_rear_f2_paf_offset_far, + &dev_attr_rear_f2_paf_offset_mid, + &dev_attr_rear_f2_paf_cal_check, + &dev_attr_rear_sensorid_exif, + &dev_attr_rear_moduleid, + &dev_attr_rear_mtf_exif, + &dev_attr_rear_mtf2_exif, + &dev_attr_ssrm_camera_info, +#if defined(CONFIG_SAMSUNG_ACTUATOR_READ_HALL_VALUE) + &dev_attr_rear_af_hall, +#if defined(CONFIG_SEC_E3Q_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT) + &dev_attr_rear2_af_hall, +#endif +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) + &dev_attr_rear3_af_hall, +#endif + &dev_attr_rear_af_hall_info, +#if defined(CONFIG_SEC_E3Q_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT) + &dev_attr_rear2_af_hall_info, +#endif +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) + &dev_attr_rear3_af_hall_info, +#endif +#endif + &dev_attr_supported_cameraIds, +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) + &dev_attr_rear3_camfw, + &dev_attr_rear3_camfw_full, + &dev_attr_rear3_afcal, + &dev_attr_rear3_tilt, + &dev_attr_rear3_caminfo, + &dev_attr_rear3_camtype, + &dev_attr_rear3_moduleinfo, + &dev_attr_rear3_mtf_exif, + &dev_attr_rear3_sensorid_exif, + &dev_attr_rear3_dualcal, + &dev_attr_rear3_dualcal_size, + &dev_attr_rear3_paf_cal_check, + &dev_attr_rear3_moduleid, + &dev_attr_rear3_checkfw_user, + &dev_attr_rear3_checkfw_factory, +#endif +#if defined(CONFIG_SAMSUNG_REAR_DUAL) + &dev_attr_rear2_caminfo, + &dev_attr_rear2_moduleinfo, + &dev_attr_rear2_sensorid_exif, + &dev_attr_rear2_mtf_exif, + &dev_attr_rear2_moduleid, + &dev_attr_rear2_camfw, + &dev_attr_rear2_checkfw_user, + &dev_attr_rear2_checkfw_factory, +#if defined(CONFIG_SEC_E3Q_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT) + &dev_attr_rear2_afcal, + &dev_attr_rear2_paf_cal_check, +#endif + &dev_attr_rear2_camfw_full, + &dev_attr_rear2_dualcal, + &dev_attr_rear2_dualcal_size, + &dev_attr_rear2_tilt, + &dev_attr_rear2_camtype, +#endif +#if defined(CONFIG_SAMSUNG_REAR_QUADRA) + &dev_attr_rear4_camfw, + &dev_attr_rear4_camfw_full, + &dev_attr_rear4_moduleid, + &dev_attr_rear4_checkfw_user, + &dev_attr_rear4_checkfw_factory, + &dev_attr_rear4_afcal, + &dev_attr_rear4_tilt, + &dev_attr_rear4_caminfo, + &dev_attr_rear4_camtype, + &dev_attr_rear4_moduleinfo, + &dev_attr_rear4_mtf_exif, + &dev_attr_rear4_sensorid_exif, + &dev_attr_rear4_dualcal, + &dev_attr_rear4_dualcal_size, + &dev_attr_rear4_paf_cal_check, +#endif +#if defined(CONFIG_USE_CAMERA_HW_BIG_DATA) + &dev_attr_rear_hwparam, +#if defined(CONFIG_SAMSUNG_REAR_DUAL) + &dev_attr_rear2_hwparam, +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) + &dev_attr_rear3_hwparam, +#endif +#if defined(CONFIG_SAMSUNG_REAR_QUADRA) + &dev_attr_rear4_hwparam, +#endif +#endif + &dev_attr_cam_wifi_info, +#endif +#if defined(CONFIG_CAMERA_FAC_LN_TEST) + &dev_attr_cam_ln_test, +#endif +#if defined(CONFIG_SAMSUNG_READ_BPC_FROM_OTP) + &dev_attr_rear_otp_bpc0, + &dev_attr_rear_otp_bpc1, + &dev_attr_rear_otp_bpc2, + &dev_attr_rear_otp_bpc3, + &dev_attr_rear_otp_bpc4, + &dev_attr_rear_otp_bpc5, + &dev_attr_rear_otp_bpc6, + &dev_attr_rear_otp_bpc7, + &dev_attr_rear_otp_bpc8, +#endif +#if defined(CONFIG_CAMERA_CDR_TEST) + &dev_attr_cam_cdr_value, + &dev_attr_cam_cdr_result, + &dev_attr_cam_cdr_fastaec, +#endif +#if defined(CONFIG_CAMERA_HW_ERROR_DETECT) + &dev_attr_rear_i2c_rfinfo, + &dev_attr_rear_eeprom_retry, + &dev_attr_rear2_eeprom_retry, +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) + &dev_attr_rear3_eeprom_retry, +#endif + &dev_attr_rear4_eeprom_retry, +#endif +#if defined(CONFIG_SEC_Q6AQ_PROJECT) + &dev_attr_rear_temperature, + &dev_attr_rear2_temperature, +#endif + NULL, // DO NOT REMOVE +}; + +const struct device_attribute *front_attrs[] = { + &dev_attr_front_camtype, + &dev_attr_front_camfw, + &dev_attr_front_camfw_full, + &dev_attr_front_checkfw_user, + &dev_attr_front_checkfw_factory, + &dev_attr_front_moduleinfo, + &dev_attr_front_paf_cal_check, +#if defined(CONFIG_CAMERA_SYSFS_V2) + &dev_attr_front_caminfo, +#endif +#if !defined(CONFIG_SAMSUNG_FRONT_TOP_EEPROM) && defined(CONFIG_SAMSUNG_FRONT_CAMERA_ACTUATOR) + &dev_attr_front_afcal, +#endif + &dev_attr_front_sensorid_exif, + &dev_attr_front_moduleid, + &dev_attr_front_mtf_exif, +#if defined(CONFIG_SAMSUNG_FRONT_DUAL) + &dev_attr_front2_camtype, + &dev_attr_front2_camfw, + &dev_attr_front2_camfw_full, + &dev_attr_front2_checkfw_user, + &dev_attr_front2_checkfw_factory, + &dev_attr_front2_moduleinfo, +#if defined(CONFIG_CAMERA_SYSFS_V2) + &dev_attr_front2_caminfo, +#endif + &dev_attr_front2_sensorid_exif, +#endif +#if defined(CONFIG_SAMSUNG_FRONT_DUAL) + &dev_attr_front2_moduleid, +#endif +#if defined(CONFIG_SAMSUNG_FRONT_TOP) +#if defined(CONFIG_SAMSUNG_FRONT_DUAL) + &dev_attr_front3_camtype, + &dev_attr_front3_camfw, + &dev_attr_front3_camfw_full, + &dev_attr_front3_checkfw_user, + &dev_attr_front3_checkfw_factory, + &dev_attr_front3_moduleinfo, +#if !defined(CONFIG_SAMSUNG_FRONT_TOP_EEPROM) + &dev_attr_front3_afcal, +#endif +#if defined(CONFIG_CAMERA_SYSFS_V2) + &dev_attr_front3_caminfo, +#endif + &dev_attr_front3_moduleid, + &dev_attr_front3_sensorid_exif, +#else + &dev_attr_front2_camtype, + &dev_attr_front2_camfw, + &dev_attr_front2_camfw_full, + &dev_attr_front2_checkfw_user, + &dev_attr_front2_checkfw_factory, + &dev_attr_front2_moduleinfo, +#if !defined(CONFIG_SAMSUNG_FRONT_TOP_EEPROM) + &dev_attr_front2_afcal, +#endif +#if defined(CONFIG_CAMERA_SYSFS_V2) + &dev_attr_front2_caminfo, +#endif + &dev_attr_front2_moduleid, + &dev_attr_front2_sensorid_exif, +#endif +#endif +#if defined(CONFIG_USE_CAMERA_HW_BIG_DATA) + &dev_attr_front_hwparam, +#if defined(CONFIG_SAMSUNG_FRONT_DUAL) + &dev_attr_front2_hwparam, + &dev_attr_front2_dualcal, + &dev_attr_front2_dualcal_size, + &dev_attr_front2_tilt, +#endif +#if defined(CONFIG_SAMSUNG_FRONT_TOP) +#if defined(CONFIG_SAMSUNG_FRONT_DUAL) + &dev_attr_front3_hwparam, +#else + &dev_attr_front2_hwparam, +#endif +#endif +#endif +#if defined(CONFIG_CAMERA_ADAPTIVE_MIPI) + &dev_attr_front_mipi_clock, +#endif +#if defined(CONFIG_CAMERA_HW_ERROR_DETECT) + &dev_attr_front_eeprom_retry, +#endif +#if defined(CONFIG_SAMSUNG_ACTUATOR_READ_HALL_VALUE) && defined(CONFIG_SAMSUNG_FRONT_CAMERA_ACTUATOR) + &dev_attr_front_af_hall, + &dev_attr_front_af_hall_info, +#endif + NULL, // DO NOT REMOVE +}; + +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) +const struct device_attribute *af_attrs[] = { + &dev_attr_af_position, + NULL, // DO NOT REMOVE +}; +#endif + +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) +const struct device_attribute *dual_attrs[] = { + &dev_attr_fallback, + NULL, // DO NOT REMOVE +}; +#endif + +static struct attribute *svc_cam_attrs[] = { + &dev_attr_SVC_rear_module.attr, + &dev_attr_SVC_rear_sensor.attr, + &dev_attr_SVC_rear_sensor_type.attr, +#if defined(CONFIG_SAMSUNG_REAR_DUAL) + &dev_attr_SVC_rear_module2.attr, + &dev_attr_SVC_rear_sensor2.attr, + &dev_attr_SVC_rear_sensor2_type.attr, +#endif +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) + &dev_attr_SVC_rear_module3.attr, + &dev_attr_SVC_rear_sensor3.attr, + &dev_attr_SVC_rear_sensor3_type.attr, +#endif +#if defined(CONFIG_SAMSUNG_REAR_QUADRA) + &dev_attr_SVC_rear_module4.attr, + &dev_attr_SVC_rear_sensor4.attr, + &dev_attr_SVC_rear_sensor4_type.attr, +#endif + &dev_attr_SVC_front_module.attr, + &dev_attr_SVC_front_sensor.attr, + &dev_attr_SVC_front_sensor_type.attr, +#if defined(CONFIG_SAMSUNG_FRONT_DUAL) + &dev_attr_SVC_front_module2.attr, +#endif +#if defined(CONFIG_SAMSUNG_FRONT_TOP) + &dev_attr_SVC_upper_module.attr, +#endif + NULL, // DO NOT REMOVE +}; + +static struct attribute_group svc_cam_group = { + .attrs = svc_cam_attrs, +}; + +static const struct attribute_group *svc_cam_groups[] = { + &svc_cam_group, + NULL, // DO NOT REMOVE +}; + +static void svc_cam_release(struct device *dev) +{ + kfree(dev); +} + +int svc_cheating_prevent_device_file_create(void) +{ + struct kernfs_node *svc_sd; + struct kobject *data; + struct device *dev; + int err; + + /* To find SVC kobject */ + struct kobject *top_kobj = NULL; + + if(is_dev == NULL) { + CAM_ERR(CAM_SENSOR_UTIL, "[SVC] Error! cam-cci-driver module does not exist"); + return -ENODEV; + } + + top_kobj = &is_dev->kobj.kset->kobj; + + svc_sd = sysfs_get_dirent(top_kobj->sd, "svc"); + if (IS_ERR_OR_NULL(svc_sd)) { + /* try to create svc kobject */ + data = kobject_create_and_add("svc", top_kobj); + if (IS_ERR_OR_NULL(data)) { + CAM_INFO(CAM_SENSOR_UTIL, "[SVC] Failed to create sys/devices/svc already exist svc : 0x%pK", data); + } else { + CAM_INFO(CAM_SENSOR_UTIL, "[SVC] Success to create sys/devices/svc svc : 0x%pK", data); + } + } else { + data = (struct kobject *)svc_sd->priv; + CAM_INFO(CAM_SENSOR_UTIL, "[SVC] Success to find svc_sd : 0x%pK SVC : 0x%pK", svc_sd, data); + } + + dev = kzalloc(sizeof(struct device), GFP_KERNEL); + if (!dev) { + CAM_ERR(CAM_SENSOR_UTIL, "[SVC] Error allocating svc_ap device"); + return -ENOMEM; + } + + err = dev_set_name(dev, "Camera"); + if (err < 0) { + CAM_ERR(CAM_SENSOR_UTIL, "[SVC] Error dev_set_name"); + goto err_name; + } + + dev->kobj.parent = data; + dev->groups = svc_cam_groups; + dev->release = svc_cam_release; + + err = device_register(dev); + if (err < 0) { + CAM_ERR(CAM_SENSOR_UTIL, "[SVC] Error device_register"); + goto err_dev_reg; + } + + return 0; + +err_dev_reg: + put_device(dev); +err_name: + kfree(dev); + dev = NULL; + return err; +} + +int cam_device_create_files(struct device *device, + const struct device_attribute **attrs) +{ + int ret = 0, i = 0; + + if (device == NULL) { + CAM_ERR(CAM_SENSOR_UTIL, "device is null!"); + return ret; + } + + for (i = 0; attrs[i]; i++) { + if (device_create_file(device, attrs[i]) < 0) { + CAM_ERR(CAM_SENSOR_UTIL, "Failed to create device file!(%s)!", + attrs[i]->attr.name); + ret = -ENODEV; + } + } + return ret; +} + +int cam_device_remove_file(struct device *device, + const struct device_attribute **attrs) +{ + int ret = 0; + + if (device == NULL) { + CAM_ERR(CAM_SENSOR_UTIL, "device is null!"); + return ret; + } + + for (; *attrs; attrs++) + device_remove_file(device, *attrs); + return ret; +} + +int cam_sysfs_init_module(void) +{ + int ret = 0; + + svc_cheating_prevent_device_file_create(); + + if (camera_class == NULL) { + camera_class = class_create(THIS_MODULE, "camera"); + if (IS_ERR(camera_class)) + CAM_ERR(CAM_SENSOR_UTIL, "failed to create device cam_dev_rear!"); + } + + cam_dev_flash = device_create(camera_class, NULL, + 0, NULL, "flash"); + ret |= cam_device_create_files(cam_dev_flash, flash_attrs); +#if defined(CONFIG_CAMERA_SSM_I2C_ENV) + cam_dev_ssm = device_create(camera_class, NULL, + 0, NULL, "ssm"); + ret |= cam_device_create_files(cam_dev_ssm, ssm_attrs); +#endif + cam_dev_rear = device_create(camera_class, NULL, + 1, NULL, "rear"); + ret |= cam_device_create_files(cam_dev_rear, rear_attrs); + + cam_dev_front = device_create(camera_class, NULL, + 2, NULL, "front"); + ret |= cam_device_create_files(cam_dev_front, front_attrs); + +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) + cam_dev_af = device_create(camera_class, NULL, + 1, NULL, "af"); + ret |= cam_device_create_files(cam_dev_af, af_attrs); + + cam_dev_dual = device_create(camera_class, NULL, + 1, NULL, "dual"); + ret |= cam_device_create_files(cam_dev_dual, dual_attrs); + #endif + +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) || defined(CONFIG_SAMSUNG_OIS_RUMBA_S4) + cam_dev_ois = device_create(camera_class, NULL, + 0, NULL, "ois"); + ret |= cam_device_create_files(cam_dev_ois, ois_attrs); +#endif + +#ifdef CONFIG_SEC_KUNIT + cam_dev_kunit = device_create(camera_class, NULL, + 0, NULL, "kunit"); + ret |= cam_device_create_files(cam_dev_kunit, kunit_attrs); +#endif + +#if defined(CONFIG_CAMERA_ADAPTIVE_MIPI) + cam_mipi_register_ril_notifier(); +#endif + +#if defined(CONFIG_SAMSUNG_READ_BPC_FROM_OTP) + otp_data = kmalloc(BPC_OTP_DATA_MAX_SIZE, GFP_KERNEL); + if (otp_data == NULL) { + CAM_ERR(CAM_SENSOR, "out of memory"); + return -1; + } +#endif +#if defined(CONFIG_USE_CAMERA_HW_BIG_DATA) + camera_hw_param_check_avail_cam(); +#endif + return ret; +} + +void cam_sysfs_exit_module(void) +{ + cam_device_remove_file(cam_dev_flash, flash_attrs); + cam_device_remove_file(cam_dev_rear, rear_attrs); + cam_device_remove_file(cam_dev_front, front_attrs); +#if defined(CONFIG_CAMERA_SSM_I2C_ENV) + cam_device_remove_file(cam_dev_ssm, ssm_attrs); +#endif +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) + cam_device_remove_file(cam_dev_af, af_attrs); + cam_device_remove_file(cam_dev_dual, dual_attrs); + #endif + +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) || defined(CONFIG_SAMSUNG_OIS_RUMBA_S4) + cam_device_remove_file(cam_dev_ois, ois_attrs); +#endif + +#if defined(CONFIG_SAMSUNG_READ_BPC_FROM_OTP) + if (otp_data != NULL) { + kfree(otp_data); + otp_data = NULL; + } +#endif +} + +MODULE_DESCRIPTION("CAM_SYSFS"); +MODULE_LICENSE("GPL v2"); diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_sysfs_init.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_sysfs_init.h new file mode 100644 index 0000000000..36cae79711 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_sysfs_init.h @@ -0,0 +1,24 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved. + */ + +#ifndef _CAM_SYSFS_INIT_H_ +#define _CAM_SYSFS_INIT_H_ + +#include + +/** + * @brief : API to register FLASH hw to platform framework. + * @return struct platform_device pointer on on success, or ERR_PTR() on error. + */ +int32_t cam_sysfs_init_module(void); + +/** + * @brief : API to remove FLASH Hw from platform framework. + */ +void cam_sysfs_exit_module(void); + +int find_sysfs_index(struct device_attribute *attr); +int map_sysfs_index_to_sensor_id(int sysfs_index); +#endif /* _CAM_SYSFS_INIT_H_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_sysfs_ois_mcu.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_sysfs_ois_mcu.c new file mode 100644 index 0000000000..11736a7696 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_sysfs_ois_mcu.c @@ -0,0 +1,985 @@ +/* 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. + */ + +#include +#include +#include + +#include "cam_sysfs_ois_mcu.h" +#include "cam_actuator_core.h" +#include "cam_ois_core.h" +#include "cam_ois_mcu_stm32g.h" +#include "cam_sensor_cmn_header.h" +#include "cam_debug_util.h" +#include "cam_sysfs_init.h" + +static int ois_power = 0; + +#if defined(CONFIG_SAMSUNG_ACTUATOR_PREVENT_SHAKING) +static int actuator_power = 0; + +static int rear_actuator_power_off (struct cam_ois_ctrl_t *o_ctrl, uint32_t *target, int cnt) +{ + int i = 0, rc = 0, index = 0; + + if (o_ctrl == NULL) { + CAM_WARN(CAM_SENSOR_UTIL, "[WARNING] cam ois is not probed yet, skip power down"); + return -EFAULT; + } + + if (actuator_power == 0) { + CAM_WARN(CAM_SENSOR_UTIL, "[WARNING] actuator is off, skip power down"); + return -EFAULT; + } + + for (i = 0; i < cnt; i++) { + index = target[i]; + if (g_a_ctrls[index] != NULL) { +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + if (g_a_ctrls[index]->use_mcu) { + mutex_lock(&(o_ctrl->ois_mutex)); + rc |= cam_ois_power_down(o_ctrl); + mutex_unlock(&(o_ctrl->ois_mutex)); + } + else +#endif + { + mutex_lock(&(g_a_ctrls[index]->actuator_mutex)); + rc |= cam_actuator_power_down(g_a_ctrls[index]); + mutex_unlock(&(g_a_ctrls[index]->actuator_mutex)); + } + CAM_INFO(CAM_SENSOR_UTIL, "actuator %u power down", index); + } + } + + if (rc < 0) { + CAM_INFO(CAM_SENSOR_UTIL, "actuator power down fail"); + actuator_power = 0; + return 0; + } + + actuator_power = 0; + return 0; +} + +static int rear_actuator_power_on (struct cam_ois_ctrl_t *o_ctrl, uint32_t *target, int cnt) +{ + int i = 0, index = 0; + +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) || defined(CONFIG_SAMSUNG_OIS_RUMBA_S4) + if (ois_power > 0) { + CAM_WARN(CAM_SENSOR_UTIL, "[WARNING] ois is used"); + return -EFAULT; + } +#endif + + actuator_power = 1; + + for (i = 0; i < cnt; i++) { + index = target[i]; + if (g_a_ctrls[index] != NULL) { +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + if (g_a_ctrls[index]->use_mcu) { + mutex_lock(&(o_ctrl->ois_mutex)); + cam_ois_power_up(o_ctrl); + msleep(20); + cam_ois_mcu_init(o_ctrl); + mutex_unlock(&(o_ctrl->ois_mutex)); + } + else +#endif + { + mutex_lock(&(g_a_ctrls[index]->actuator_mutex)); + cam_actuator_power_up(g_a_ctrls[index]); + mutex_unlock(&(g_a_ctrls[index]->actuator_mutex)); + } + cam_actuator_default_init_setting(g_a_ctrls[index]); + CAM_INFO(CAM_SENSOR_UTIL, "actuator %u power up", index); + } + } + return 0; +} +#endif + +static ssize_t rear_actuator_power_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ +#if defined(CONFIG_SAMSUNG_ACTUATOR_PREVENT_SHAKING) + struct cam_ois_ctrl_t *o_ctrl = g_o_ctrl; + int cnt = 0, rc = 0; + uint32_t target[] = { SEC_WIDE_SENSOR }; + + cnt = ARRAY_SIZE(target); + + switch (buf[0]) { + case ACTUATOR_POWER_OFF: + rc = rear_actuator_power_off(o_ctrl, target, cnt); + if (rc < 0) + goto error; + + break; + + case ACTUATOR_POWER_ON: + rc = rear_actuator_power_on(o_ctrl, target, cnt); + if (rc < 0) + goto error; + + break; + + default: + break; + } + + error: +#endif + return size; +} + +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) || defined(CONFIG_SAMSUNG_OIS_RUMBA_S4) +#if !defined(CONFIG_SEC_E1Q_PROJECT) && !defined(CONFIG_SEC_E2Q_PROJECT) && !defined(CONFIG_SEC_E3Q_PROJECT) +static ssize_t ois_mgless_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + int offset = 0, i = 0; + uint32_t mgless = 0; + int mglessY = 0, mglessX = 0; + mgless = cam_ois_get_mgless(g_o_ctrl); + + for (i = 0; i < CUR_MODULE_NUM; i++) { + if (offset > 0) + offset += sprintf(buf + offset, ", "); + mglessX = ((mgless >> (2 * i)) & 0x01) ? 1 : 0; + mglessY = ((mgless >> (2 * i)) & 0x02) ? 1 : 0; + + offset += sprintf(buf + offset, "%d, %d", mglessX, mglessY); + } + buf[offset] = '\0'; + + return offset; +} +#endif + +long raw_init_x = 0, raw_init_y = 0, raw_init_z = 0; +uint32_t ois_autotest_threshold = 150; +uint32_t ois_autotest_frequency = 0x05; +uint32_t ois_autotest_amplitude = 0x2A; +static ssize_t ois_autotest_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + uint32_t i = 0, module_mask = 0; + + CAM_INFO(CAM_SENSOR_UTIL, "E"); + + for (i = 0; i < CUR_MODULE_NUM; i++) + module_mask |= (1 << i); + cam_ois_sine_wavecheck(g_o_ctrl, ois_autotest_threshold, + ois_autotest_frequency, ois_autotest_amplitude, + buf, module_mask); + + CAM_INFO(CAM_SENSOR_UTIL, "X"); + + if (strlen(buf)) + return strlen(buf); + return 0; +} + +static ssize_t ois_autotest_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + char* token = NULL; + char* pContext = NULL; + uint32_t token_cnt = 0; + uint32_t value = 0; + uint32_t args[3] = { 150, 0x05, 0x2A }; + + if (buf == NULL) + return -1; + + pContext = (char*)buf; + while ((token = strsep(&pContext, ","))) { + if (kstrtoint(token, 10, &value)) + return -1; + args[token_cnt++] = value; + if (token_cnt >= 3) + break; + } + + ois_autotest_threshold = args[0]; + ois_autotest_frequency = + (args[1] >= 1 && args[1] <= 255) ? args[1] : 0x05 ; + ois_autotest_amplitude = + (args[2] >= 1 && args[2] <= 100) ? args[2] : 0x2A ; + + CAM_INFO(CAM_SENSOR_UTIL, "threshold %u, frequency %d, aplitude %d", + ois_autotest_threshold, ois_autotest_frequency, ois_autotest_amplitude); + + return size; +} + +static int ois_power_store_off (struct cam_ois_ctrl_t *o_ctrl) +{ + if (ois_power == 0) { + CAM_WARN(CAM_SENSOR_UTIL, "[WARNING] ois is off, skip power down"); + return -EFAULT; + } + cam_ois_power_down(o_ctrl); + CAM_INFO(CAM_SENSOR_UTIL, "power down"); + ois_power = 0; + + return 0; +} + +static int ois_power_store_on (struct cam_ois_ctrl_t *o_ctrl) +{ +#if defined(CONFIG_SAMSUNG_ACTUATOR_PREVENT_SHAKING) + if (actuator_power > 0) { + CAM_WARN(CAM_SENSOR_UTIL, "[WARNING] actuator is used"); + return -EFAULT; + } +#endif + + ois_power = 1; +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) &&\ + defined(CONFIG_SAMSUNG_OIS_ADC_TEMPERATURE_SUPPORT) + o_ctrl->sysfs_ois_init = 0; +#endif + cam_ois_power_up(o_ctrl); + msleep(200); +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + cam_ois_mcu_init(o_ctrl); +#endif +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) &&\ + defined(CONFIG_SAMSUNG_OIS_ADC_TEMPERATURE_SUPPORT) + o_ctrl->sysfs_ois_init = 1; +#endif + o_ctrl->ois_mode = 0; + CAM_INFO(CAM_SENSOR_UTIL, "power up"); + + return 0; +} + +static ssize_t ois_power_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + struct cam_ois_ctrl_t *o_ctrl = g_o_ctrl; + int rc = 0; + + if (o_ctrl == NULL || + ((o_ctrl->io_master_info.master_type == I2C_MASTER) && + (o_ctrl->io_master_info.client == NULL)) || + ((o_ctrl->io_master_info.master_type == CCI_MASTER) && + (o_ctrl->io_master_info.cci_client == NULL))) + return size; + + mutex_lock(&(o_ctrl->ois_mutex)); + if (o_ctrl->cam_ois_state != CAM_OIS_INIT) { + CAM_ERR(CAM_SENSOR_UTIL, "Not in right state to control OIS power %d", + o_ctrl->cam_ois_state); + goto error; + } + + switch (buf[0]) { + case OIS_POWER_OFF: + rc = ois_power_store_off(o_ctrl); + if (rc < 0) + goto error; + break; + + case OIS_POWER_ON: + rc = ois_power_store_on(o_ctrl); + if (rc < 0) + goto error; + break; + + default: + break; + } + +error: + mutex_unlock(&(g_o_ctrl->ois_mutex)); + return size; +} + +static ssize_t gyro_calibration_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int result = 0; + long raw_data_x = 0, raw_data_y = 0, raw_data_z = 0; + + result = cam_ois_gyro_sensor_calibration(g_o_ctrl, &raw_data_x, &raw_data_y, &raw_data_z); + + return scnprintf(buf, PAGE_SIZE, "%d,%s%ld.%03ld,%s%ld.%03ld,%s%ld.%03ld\n", result, + (raw_data_x >= 0 ? "" : "-"), abs(raw_data_x) / 1000, abs(raw_data_x) % 1000, + (raw_data_y >= 0 ? "" : "-"), abs(raw_data_y) / 1000, abs(raw_data_y) % 1000, + (raw_data_z >= 0 ? "" : "-"), abs(raw_data_z) / 1000, abs(raw_data_z) % 1000); +} + +static ssize_t gyro_noise_stdev_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int result = 0; + long stdev_data_x = 0, stdev_data_y = 0; + + result = cam_ois_gyro_sensor_noise_check(g_o_ctrl, &stdev_data_x, &stdev_data_y); + + return scnprintf(buf, PAGE_SIZE, "%d,%s%ld.%03ld,%s%ld.%03ld\n", result, + (stdev_data_x >= 0 ? "" : "-"), abs(stdev_data_x) / 1000, abs(stdev_data_x) % 1000, + (stdev_data_y >= 0 ? "" : "-"), abs(stdev_data_y) / 1000, abs(stdev_data_y) % 1000); +} + +static ssize_t gyro_selftest_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + int rc = 0; + int result_total = 0, result = 0; + bool result_offset = 0, result_selftest = 0; + uint32_t selftest_ret = 0; + long raw_data_x = 0, raw_data_y = 0; + int OIS_GYRO_OFFSET_SPEC = 15000; + +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + long raw_data_z = 0; + + result = cam_ois_offset_test(g_o_ctrl, &raw_data_x, &raw_data_y, &raw_data_z, 1); +#else + cam_ois_offset_test(g_o_ctrl, &raw_data_x, &raw_data_y, 1); +#endif + msleep(50); + selftest_ret = cam_ois_self_test(g_o_ctrl); + + if (selftest_ret == 0x0) + result_selftest = true; + else + result_selftest = false; + + if ((result < 0) || + abs(raw_init_x - raw_data_x) > OIS_GYRO_OFFSET_SPEC || + abs(raw_init_y - raw_data_y) > OIS_GYRO_OFFSET_SPEC || + abs(raw_init_z - raw_data_z) > OIS_GYRO_OFFSET_SPEC) + result_offset = false; + else + result_offset = true; + + if (result_offset && result_selftest) + result_total = 0; + else if (!result_offset && !result_selftest) + result_total = 3; + else if (!result_offset) + result_total = 1; + else if (!result_selftest) + result_total = 2; + + CAM_INFO(CAM_SENSOR_UTIL, "Result : 0 (success), 1 (offset fail), 2 (selftest fail) , 3 (both fail)"); + CAM_INFO(CAM_SENSOR_UTIL, "Result : %d, result x = %ld, result y = %ld, result z = %ld", + result_total, raw_data_x, raw_data_y, raw_data_z); + + rc = scnprintf(buf, PAGE_SIZE, "%d,%s%ld.%03ld,%s%ld.%03ld,%s%ld.%03ld\n", result_total, + (raw_data_x >= 0 ? "" : "-"), abs(raw_data_x) / 1000, abs(raw_data_x) % 1000, + (raw_data_y >= 0 ? "" : "-"), abs(raw_data_y) / 1000, abs(raw_data_y) % 1000, + (raw_data_z >= 0 ? "" : "-"), abs(raw_data_z) / 1000, abs(raw_data_z) % 1000); + + CAM_INFO(CAM_SENSOR_UTIL, "%s", buf); + + if (rc) + return rc; + return 0; +} + +static ssize_t gyro_rawdata_test_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + uint8_t raw_data[MAX_EFS_DATA_LENGTH] = {0, }; + long raw_data_x = 0, raw_data_y = 0, raw_data_z = 0; + long efs_size = 0; + + if (ois_power) { + if (size > MAX_EFS_DATA_LENGTH || size == 0) { + CAM_ERR(CAM_SENSOR_UTIL, "count is abnormal, count = %d", size); + return 0; + } + + scnprintf(raw_data, sizeof(raw_data), "%s", buf); + efs_size = strlen(raw_data); + cam_ois_parsing_raw_data(g_o_ctrl, raw_data, efs_size, &raw_data_x, &raw_data_y, &raw_data_z); + + raw_init_x = raw_data_x; + raw_init_y = raw_data_y; + raw_init_z = raw_data_z; + + CAM_INFO(CAM_SENSOR_UTIL, "%s efs data = %s, size = %ld, raw x = %ld, raw y = %ld, raw z = %ld", + buf, efs_size, raw_data_x, raw_data_y, raw_data_z); + } else { + CAM_ERR(CAM_SENSOR_UTIL, "%s OIS power is not enabled."); + } + return size; +} + +static ssize_t gyro_rawdata_test_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + long raw_data_x = 0, raw_data_y = 0, raw_data_z = 0; + + raw_data_x = raw_init_x; + raw_data_y = raw_init_y; + raw_data_z = raw_init_z; + + CAM_INFO(CAM_SENSOR_UTIL, "raw data x = %ld, raw data y = %ld, raw data z = %ld", + raw_data_x, raw_data_y, raw_data_z); + + rc = scnprintf(buf, PAGE_SIZE, "%s%ld.%03ld,%s%ld.%03ld,%s%ld.%03ld\n", + (raw_data_x >= 0 ? "" : "-"), abs(raw_data_x) / 1000, abs(raw_data_x) % 1000, + (raw_data_y >= 0 ? "" : "-"), abs(raw_data_y) / 1000, abs(raw_data_y) % 1000, + (raw_data_z >= 0 ? "" : "-"), abs(raw_data_z) / 1000, abs(raw_data_z) % 1000); + + CAM_INFO(CAM_SENSOR_UTIL, "%s", buf); + + if (rc) + return rc; + return 0; +} + +char ois_fw_full[SYSFS_FW_VER_SIZE] = "NULL NULL\n"; +static ssize_t ois_fw_full_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + + CAM_INFO(CAM_SENSOR_UTIL, "[FW_DBG] OIS_fw_ver : %s", ois_fw_full); + rc = scnprintf(buf, PAGE_SIZE, "%s", ois_fw_full); + if (rc) + return rc; + return 0; +} + +static ssize_t ois_fw_full_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + CAM_INFO(CAM_SENSOR_UTIL, "[FW_DBG] buf : %s", buf); + scnprintf(ois_fw_full, sizeof(ois_fw_full), "%s", buf); + + return size; +} + +char ois_debug[40] = "NULL NULL NULL\n"; +static ssize_t ois_exif_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + + CAM_INFO(CAM_SENSOR_UTIL, "[FW_DBG] ois_debug : %s", ois_debug); + rc = scnprintf(buf, PAGE_SIZE, "%s", ois_debug); + if (rc) + return rc; + return 0; +} + +static ssize_t ois_exif_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + CAM_INFO(CAM_SENSOR_UTIL, "[FW_DBG] buf: %s", buf); + scnprintf(ois_debug, sizeof(ois_debug), "%s", buf); + + return size; +} + +static ssize_t ois_reset_check(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + + if (g_o_ctrl == NULL) + return 0; + + CAM_DBG(CAM_SENSOR_UTIL, "ois reset_check : %d", g_o_ctrl->ois_mode); + rc = scnprintf(buf, PAGE_SIZE, "%d", g_o_ctrl->ois_mode); + return rc; +} + +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) +static ssize_t ois_hall_position_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0, i = 0; + uint32_t cnt = 0; + uint32_t targetPosition[MAX_MODULE_NUM * 2] = { 0, 0, 0, 0, 0, 0 }; + uint32_t hallPosition[MAX_MODULE_NUM * 2] = { 0, 0, 0, 0, 0, 0}; + + rc = cam_ois_read_hall_position(g_o_ctrl, targetPosition, hallPosition); + + for (i = 0; i < CUR_MODULE_NUM; i++) { + cnt += scnprintf(buf + cnt, PAGE_SIZE, "%u,%u,", + targetPosition[(2 * i)], targetPosition[(2 * i) + 1]); + } + + for (i = 0; i < CUR_MODULE_NUM; i++) { + cnt += scnprintf(buf + cnt, PAGE_SIZE, "%u,%u,", + hallPosition[(2 * i)], hallPosition[(2 * i) + 1]); + } + buf[cnt--] = '\0'; + + if (cnt) + return cnt; + return 0; +} +#endif + +static ssize_t ois_set_mode_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + int rc = 0; + uint32_t mode = 0; + + if (g_o_ctrl == NULL || g_o_ctrl->io_master_info.client == NULL) + return size; + + if (buf == NULL || kstrtouint(buf, 10, &mode)) + return -1; + + if (g_o_ctrl->is_power_up == false) { + CAM_ERR(CAM_SENSOR_UTIL, "Fail, power down state"); + return -1; + } + + mutex_lock(&(g_o_ctrl->ois_mutex)); + if (g_o_ctrl->cam_ois_state != CAM_OIS_START) { + CAM_ERR(CAM_SENSOR_UTIL, "Not in right state to set ois mode %d", + g_o_ctrl->cam_ois_state); + goto error; + } + + CAM_INFO(CAM_SENSOR_UTIL, "Configure OIS driver output 0x%x", + g_o_ctrl->driver_output_mask); + rc |= cam_ois_i2c_write(g_o_ctrl, OISSEL, g_o_ctrl->driver_output_mask, + CAMERA_SENSOR_I2C_TYPE_WORD, CAMERA_SENSOR_I2C_TYPE_BYTE); /* select module */ + rc |= cam_ois_set_ois_mode(g_o_ctrl, mode); // Centering mode + +error: + mutex_unlock(&(g_o_ctrl->ois_mutex)); + return size; +} +#endif + +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) +int ois_gain_result[INDEX_MAX] = {[0 ... INDEX_MAX - 1] = 2}; //0:normal, 1: No cal, 2: rear cal fail +int ois_sr_result[INDEX_MAX] = {[0 ... INDEX_MAX - 1] = 2}; //0:normal, 1: No cal, 2: rear cal fail +int ois_cross_talk_result[INDEX_MAX] = {[0 ... INDEX_MAX - 1] = 2}; //0:normal, 1: No cal, 2: rear cal fail + +static ssize_t ois_gain_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0, index = -1; + uint32_t xgg = 0, ygg = 0; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + + CAM_INFO(CAM_SENSOR_UTIL, "[FW_DBG] %s ois gain result : %d", + attr->attr.name, ois_gain_result[index]); + if (ois_gain_result[index] == 0) { + memcpy(&xgg, &ois_xygg[index][0], 4); + memcpy(&ygg, &ois_xygg[index][4], 4); + rc = scnprintf(buf, PAGE_SIZE, "%d,0x%x,0x%x", + ois_gain_result[index], xgg, ygg); + } else { + rc = scnprintf(buf, PAGE_SIZE, "%d", + ois_gain_result[index]); + } + if (rc) + return rc; + return 0; +} + +static ssize_t ois_supperssion_ratio_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0, index = -1; + uint32_t xsr = 0, ysr = 0; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + + CAM_INFO(CAM_SENSOR_UTIL, "[FW_DBG] %s ois sr result : %d", + attr->attr.name, ois_sr_result[index]); + if (ois_sr_result[index] == 0) { + memcpy(&xsr, &ois_xysr[index][0], 2); + memcpy(&ysr, &ois_xysr[index][2], 2); + rc = scnprintf(buf, PAGE_SIZE, "%d,%u.%02u,%u.%02u", + ois_sr_result[index], (xsr / 100), (xsr % 100), (ysr / 100), (ysr % 100)); + } else { + rc = scnprintf(buf, PAGE_SIZE, "%d", + ois_sr_result[index]); + } + + if (rc) + return rc; + return 0; +} + +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) || defined(CONFIG_SAMSUNG_REAR_QUADRA) +static ssize_t ois_read_cross_talk_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0, index = -1; + uint32_t xcrosstalk = 0, ycrosstalk = 0; + + index = find_sysfs_index(attr); + if (index < 0) + return 0; + + CAM_INFO(CAM_SENSOR_UTIL, "[FW_DBG] %s read crosstalk result : %d", + attr->attr.name, ois_cross_talk_result[index]); + memcpy(&xcrosstalk, &ois_cross_talk[index][0], 2); + memcpy(&ycrosstalk, &ois_cross_talk[index][2], 2); + if (ois_cross_talk_result[index] == 0) { // normal + rc = scnprintf(buf, PAGE_SIZE, "%u.%02u,%u.%02u", + (xcrosstalk/ 100), (xcrosstalk % 100), + (ycrosstalk / 100), (ycrosstalk % 100)); + } else if (ois_cross_talk_result[index] == 1) { // No cal + rc = scnprintf(buf, PAGE_SIZE, "NONE"); + } else { // read cal fail + rc = scnprintf(buf, PAGE_SIZE, "NG"); + } + + if (rc) + return rc; + return 0; +} +#endif + +static ssize_t ois_check_cross_talk_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + uint16_t result[STEP_COUNT] = { 0, }; + + rc = cam_ois_check_tele_cross_talk(g_o_ctrl, result); + if (rc < 0) + CAM_ERR(CAM_SENSOR_UTIL, "ois check tele cross talk fail"); + + rc = scnprintf(buf, PAGE_SIZE, "%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u", + (rc < 0 ? 0 : 1), result[0], result[1], result[2], result[3], result[4], + result[5], result[6], result[7], result[8], result[9]); + + if (rc) + return rc; + return 0; +} + +static ssize_t check_ois_valid_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + uint16_t result[MAX_MODULE_NUM] = { 1, 1, 1 }; + + rc = cam_ois_check_ois_valid_show(g_o_ctrl, result); + if (rc < 0) + CAM_ERR(CAM_SENSOR_UTIL, "ois check ois valid fail"); + + rc = scnprintf(buf, PAGE_SIZE, "%u,%u,%u\n", result[0], result[1], result[2]); + + if (rc) + return rc; + return 0; +} + +static ssize_t ois_check_hall_cal_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + + uint16_t subdev_id = SEC_TELE_SENSOR; + + uint16_t result[HALL_CAL_COUNT] = { 0, }; + + rc = cam_ois_read_hall_cal(g_o_ctrl, subdev_id, result); + if (rc < 0) + CAM_ERR(CAM_SENSOR_UTIL, "ois check hall cal fail"); + + rc = scnprintf(buf, PAGE_SIZE, "%d,%d,%d,%d,%d,%d,%d,%d,%d", + (rc < 0 ? 0 : 1), result[0], result[1], result[2], result[3], result[4], + result[5], result[6], result[7]); + + if (rc) + return rc; + return 0; +} + +static ssize_t ois_ext_clk_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + uint32_t clk = 0; + + clk = cam_ois_check_ext_clk(g_o_ctrl); + if (clk == 0) + CAM_ERR(CAM_SENSOR_UTIL, "ois check ext clk fail"); + + rc = scnprintf(buf, PAGE_SIZE, "%u", clk); + + if (rc) + return rc; + return 0; +} + +static ssize_t ois_ext_clk_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + int rc = 0; + uint32_t clk = 0; + + if (buf == NULL || kstrtouint(buf, 10, &clk)) + return -1; + CAM_INFO(CAM_SENSOR_UTIL, "new ois ext clk %u", clk); + + rc = cam_ois_set_ext_clk(g_o_ctrl, clk); + if (rc < 0) { + CAM_ERR(CAM_SENSOR_UTIL, "ois check ext clk fail"); + return -1; + } + + return size; +} + +static ssize_t ois_center_shift_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + int rc = 0, i = 0; + char* token = NULL; + char* str_shift = NULL; + int val = 0, token_cnt = 0; + int16_t shift[CUR_MODULE_NUM * 2] = { 0, }; + + if (buf == NULL) + return -1; + + if (!g_o_ctrl || !g_o_ctrl->is_power_up) { + CAM_ERR(CAM_SENSOR_UTIL, "camera is not running"); + return -1; + } + + str_shift = (char*)buf; + while (((token = strsep(&str_shift, ",")) != NULL) && (token_cnt < (CUR_MODULE_NUM * 2))) { + rc = kstrtoint(token, 10, &val); + if (rc < 0) { + CAM_ERR(CAM_SENSOR_UTIL, "invalid shift value %s", token); + return -1; + } + shift[token_cnt++] = (int16_t)val; + } + + for (i = 0; i < CUR_MODULE_NUM; i++) + CAM_INFO(CAM_SENSOR_UTIL, "ois center shift M%d = (%d, %d)", + (i+1), shift[2 * i], shift[2 * i + 1]); + + rc = cam_ois_center_shift(g_o_ctrl, shift); + if (rc < 0) { + CAM_ERR(CAM_SENSOR_UTIL, "ois center shift fail"); + return -1; + } + + return size; +} + +#if defined(CONFIG_SAMSUNG_OIS_ADC_TEMPERATURE_SUPPORT) +static ssize_t ois_adc_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + + uint32_t result = 0; + + rc = get_ois_adc_value(g_o_ctrl, &result); + if (rc < 0) + CAM_ERR(CAM_OIS, "get ois adc fail"); + + CAM_INFO(CAM_OIS, "ois_adc = %d", result); + + rc = scnprintf(buf, PAGE_SIZE, "%u\n", result); + + if (rc) + return rc; + return 0; +} + +static int convert_adc_to_temperature(struct cam_ois_ctrl_t *o_ctrl, uint32_t adc) +{ + int low = 0; + int high = 0; + int temp = 0; + int temp2 = 0; + + if (!o_ctrl->adc_temperature_table || !o_ctrl->adc_arr_size) { + /* using fake temp */ + return 0; + } + + high = o_ctrl->adc_arr_size - 1; + + if (o_ctrl->adc_temperature_table[low].adc >= adc) + return o_ctrl->adc_temperature_table[low].temperature; + else if (o_ctrl->adc_temperature_table[high].adc <= adc) + return o_ctrl->adc_temperature_table[high].temperature; + + while (low <= high) { + int mid = 0; + + mid = (low + high) / 2; + if (o_ctrl->adc_temperature_table[mid].adc > adc) + high = mid - 1; + else if (o_ctrl->adc_temperature_table[mid].adc < adc) + low = mid + 1; + else + return o_ctrl->adc_temperature_table[mid].temperature; + } + + temp = o_ctrl->adc_temperature_table[high].temperature; + + temp2 = (o_ctrl->adc_temperature_table[high].temperature - + o_ctrl->adc_temperature_table[low].temperature) * + (adc - o_ctrl->adc_temperature_table[high].adc); + + temp -= temp2 / + (o_ctrl->adc_temperature_table[low].adc - + o_ctrl->adc_temperature_table[high].adc); + + return temp; +} + +static ssize_t ois_temperature_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int rc = 0; + uint32_t result = 0; + int temperature = 0; + static int prev_temperature = 250; + uint32_t retry = 10; + + do { + rc = get_ois_adc_value(g_o_ctrl, &result); + if ((rc < 0) || result) + break; + CAM_INFO(CAM_OIS, "ois_adc = %d, retry = %d", result, retry); + usleep_range(2000, 2100); + } while ((--retry > 0) && (rc >= 0) && (result == 0)); + + if ((rc < 0) || (result == 0)) { + CAM_ERR(CAM_OIS, "get ois adc fail"); + temperature = prev_temperature; + } else + temperature = convert_adc_to_temperature(g_o_ctrl, result); + + prev_temperature = temperature; + + CAM_INFO(CAM_OIS, "ois_adc = %d ois_temperature = %d", result, temperature); + + rc = scnprintf(buf, PAGE_SIZE, "%d\n", temperature); + + if (rc) + return rc; + return 0; +} +#endif +#endif + +static DEVICE_ATTR(rear_actuator_power, S_IWUSR|S_IWGRP, NULL, rear_actuator_power_store); + +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) || defined(CONFIG_SAMSUNG_OIS_RUMBA_S4) +static DEVICE_ATTR(ois_power, S_IWUSR, NULL, ois_power_store); +#if !defined(CONFIG_SEC_E1Q_PROJECT) && !defined(CONFIG_SEC_E2Q_PROJECT) && !defined(CONFIG_SEC_E3Q_PROJECT) +static DEVICE_ATTR(ois_mgless, S_IRUGO, ois_mgless_show, NULL); +#endif +static DEVICE_ATTR(autotest, S_IRUGO|S_IWUSR|S_IWGRP, ois_autotest_show, ois_autotest_store); +static DEVICE_ATTR(calibrationtest, S_IRUGO, gyro_calibration_show, NULL); +static DEVICE_ATTR(ois_noise_stdev, S_IRUGO, gyro_noise_stdev_show, NULL); +static DEVICE_ATTR(selftest, S_IRUGO, gyro_selftest_show, NULL); +static DEVICE_ATTR(ois_rawdata, S_IRUGO|S_IWUSR|S_IWGRP, gyro_rawdata_test_show, gyro_rawdata_test_store); +static DEVICE_ATTR(oisfw, S_IRUGO|S_IWUSR|S_IWGRP, ois_fw_full_show, ois_fw_full_store); +static DEVICE_ATTR(ois_exif, S_IRUGO|S_IWUSR|S_IWGRP, ois_exif_show, ois_exif_store); +static DEVICE_ATTR(reset_check, S_IRUGO, ois_reset_check, NULL); +static DEVICE_ATTR(ois_set_mode, S_IWUSR, NULL, ois_set_mode_store); +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) +static DEVICE_ATTR(ois_hall_position, S_IRUGO, ois_hall_position_show, NULL); +#endif +#endif +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) +static DEVICE_ATTR(ois_gain_rear, S_IRUGO, ois_gain_show, NULL); +static DEVICE_ATTR(ois_supperssion_ratio_rear, S_IRUGO, ois_supperssion_ratio_show, NULL); +static DEVICE_ATTR(check_hall_cal, S_IRUGO, ois_check_hall_cal_show, NULL); +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) +static DEVICE_ATTR(ois_gain_rear3, S_IRUGO, ois_gain_show, NULL); +static DEVICE_ATTR(ois_supperssion_ratio_rear3, S_IRUGO, ois_supperssion_ratio_show, NULL); +static DEVICE_ATTR(rear3_read_cross_talk, S_IRUGO, ois_read_cross_talk_show, NULL); +#endif +#if defined(CONFIG_SAMSUNG_REAR_QUADRA) +static DEVICE_ATTR(ois_gain_rear4, S_IRUGO, ois_gain_show, NULL); +static DEVICE_ATTR(ois_supperssion_ratio_rear4, S_IRUGO, ois_supperssion_ratio_show, NULL); +static DEVICE_ATTR(rear4_read_cross_talk, S_IRUGO, ois_read_cross_talk_show, NULL); +#endif + +static DEVICE_ATTR(check_cross_talk, S_IRUGO, ois_check_cross_talk_show, NULL); +static DEVICE_ATTR(check_ois_valid, S_IRUGO, check_ois_valid_show, NULL); +static DEVICE_ATTR(ois_ext_clk, S_IRUGO|S_IWUSR|S_IWGRP, ois_ext_clk_show, ois_ext_clk_store); +static DEVICE_ATTR(ois_center_shift, S_IWUSR|S_IWGRP, NULL, ois_center_shift_store); +#if defined(CONFIG_SAMSUNG_OIS_ADC_TEMPERATURE_SUPPORT) +static DEVICE_ATTR(adc, S_IRUGO, ois_adc_show, NULL); +static DEVICE_ATTR(temperature, S_IRUGO, ois_temperature_show, NULL); +#endif +#endif + +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) || defined(CONFIG_SAMSUNG_OIS_RUMBA_S4) +const struct device_attribute *ois_attrs[] = { + &dev_attr_rear_actuator_power, + &dev_attr_ois_power, +#if !defined(CONFIG_SEC_E1Q_PROJECT) && !defined(CONFIG_SEC_E2Q_PROJECT) && !defined(CONFIG_SEC_E3Q_PROJECT) + &dev_attr_ois_mgless, +#endif + &dev_attr_autotest, + &dev_attr_selftest, + &dev_attr_ois_rawdata, + &dev_attr_oisfw, + &dev_attr_ois_exif, + &dev_attr_calibrationtest, + &dev_attr_ois_noise_stdev, + &dev_attr_reset_check, +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) + &dev_attr_ois_hall_position, +#endif + &dev_attr_ois_set_mode, +#if defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + &dev_attr_ois_gain_rear, + &dev_attr_ois_supperssion_ratio_rear, +#if defined(CONFIG_SAMSUNG_REAR_TRIPLE) + &dev_attr_ois_gain_rear3, + &dev_attr_ois_supperssion_ratio_rear3, + &dev_attr_rear3_read_cross_talk, +#endif +#if defined(CONFIG_SAMSUNG_REAR_QUADRA) + &dev_attr_ois_gain_rear4, + &dev_attr_ois_supperssion_ratio_rear4, + &dev_attr_rear4_read_cross_talk, +#endif + &dev_attr_check_cross_talk, + &dev_attr_check_ois_valid, + &dev_attr_ois_ext_clk, + &dev_attr_check_hall_cal, + &dev_attr_ois_center_shift, +#if defined(CONFIG_SAMSUNG_OIS_ADC_TEMPERATURE_SUPPORT) + &dev_attr_adc, + &dev_attr_temperature, +#endif +#endif + NULL, // DO NOT REMOVE +}; +#endif + +MODULE_DESCRIPTION("CAM_SYSFS_OIS_MCU"); +MODULE_LICENSE("GPL v2"); diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_sysfs_ois_mcu.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_sysfs_ois_mcu.h new file mode 100644 index 0000000000..9c5380ae1b --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/cam_sysfs_ois_mcu.h @@ -0,0 +1,29 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved. + */ + +#ifndef _CAM_SYSFS_OIS_MCU_H_ +#define _CAM_SYSFS_OIS_MCU_H_ + +#include +#include "cam_sensor_cmn_header.h" +#include "cam_eeprom_dev.h" +#include "cam_actuator_dev.h" + +#define OIS_POWER_ON '1' +#define OIS_POWER_OFF '0' + +#define ACTUATOR_POWER_ON '1' +#define ACTUATOR_POWER_OFF '0' + +extern const struct device_attribute *ois_attrs[]; +extern struct cam_ois_ctrl_t *g_o_ctrl; +extern struct cam_actuator_ctrl_t *g_a_ctrls[SEC_SENSOR_ID_MAX]; + +extern uint8_t ois_xygg[INDEX_MAX][OIS_XYGG_SIZE]; +extern uint8_t ois_cal_mark[INDEX_MAX]; +extern uint8_t ois_xysr[INDEX_MAX][OIS_XYSR_SIZE]; +extern uint8_t ois_cross_talk[INDEX_MAX][OIS_CROSSTALK_SIZE]; + +#endif /* _CAM_SYSFS_OIS_MCU_H_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/kunit_test/cam_clock_data_recovery_test.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/kunit_test/cam_clock_data_recovery_test.c new file mode 100644 index 0000000000..9c852f275e --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/kunit_test/cam_clock_data_recovery_test.c @@ -0,0 +1,89 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * TODO: Add test description. + */ + +#include +#include "camera_kunit_main.h" +#include "cam_clock_data_recovery_test.h" + +int cam_clock_data_recovery_set_register(const char* buf) +{ + void __iomem *phybase = NULL; + void __iomem *csiphybase; + uint32_t offset = 0x1; + int ret = 0; + + csiphybase = phybase + offset; + + cam_clock_data_recovery_set_value(buf); + if (cam_clock_data_recovery_is_requested()) + { + ret = cam_clock_data_recovery_write_register(csiphybase); + cam_clock_data_recovery_reset_request(); + } + return ret; +} + +void cam_clock_data_recovery_apply_value_test(struct kunit *test) +{ + const char* addr_value_delay_normal = "278,2,00,678,2,00,a78,2,00"; + + cam_clock_data_recovery_set_value(addr_value_delay_normal); + KUNIT_EXPECT_EQ(test, !strcmp(addr_value_delay_normal, cam_clock_data_recovery_get_value()), TRUE); +} + +void cam_clock_data_recovery_apply_result_test(struct kunit *test) +{ + cam_clock_data_recovery_get_timestamp(CDR_START_TS); + cam_clock_data_recovery_set_result(CDR_ERROR_MIPI); + KUNIT_EXPECT_EQ(test, strcmp("0", cam_clock_data_recovery_get_result()), TRUE); +} + +void cam_clock_data_recovery_write_normal_test(struct kunit *test) +{ + const char* addr_value_delay_normal = "278,2,00,678,2,00,a78,2,00"; + void __iomem *phybase = NULL; + void __iomem *csiphybase; + uint32_t offset = 0x1; + int ret = 0; + + csiphybase = phybase + offset; + + cam_clock_data_recovery_set_value(addr_value_delay_normal); + if (cam_clock_data_recovery_is_requested()) + { + //ret = cam_clock_data_recovery_write_register(csiphybase); + cam_clock_data_recovery_reset_request(); + } + KUNIT_EXPECT_EQ(test, (ret == 0), TRUE); +} + +void cam_clock_data_recovery_write_overflow1_test(struct kunit *test) +{ + const char* addr_value_delay_overflow = "278,2,00,678,2,00,a78,2,00,11,22"; + int ret = 0; + + ret = cam_clock_data_recovery_set_register(addr_value_delay_overflow); + KUNIT_EXPECT_EQ(test, (ret == 1), FALSE); +} + +void cam_clock_data_recovery_write_overflow2_test(struct kunit *test) +{ + const char* addr_value_delay_overflow = "278,22222222222,00,678,2,00,a78,2,00"; + int ret = 0; + + ret = cam_clock_data_recovery_set_register(addr_value_delay_overflow); + KUNIT_EXPECT_EQ(test, (ret == 1), FALSE); +} + +void cam_clock_data_recovery_write_invalid_test(struct kunit *test) +{ + const char* addr_value_delay_invalid = "278,**,00,678,2,00,a78,2,00"; + int ret = 0; + + ret = cam_clock_data_recovery_set_register(addr_value_delay_invalid); + KUNIT_EXPECT_EQ(test, (ret == 1), FALSE); +} + +MODULE_LICENSE("GPL v2"); diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/kunit_test/cam_clock_data_recovery_test.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/kunit_test/cam_clock_data_recovery_test.h new file mode 100644 index 0000000000..509b034535 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/kunit_test/cam_clock_data_recovery_test.h @@ -0,0 +1,14 @@ +#ifndef _CAM_CLOCK_DATA_RECOVERY_TEST_H_ +#define _CAM_CLOCK_DATA_RECOVERY_TEST_H_ + +#include "cam_clock_data_recovery.h" + +void cam_clock_data_recovery_apply_value_test(struct kunit *test); +void cam_clock_data_recovery_apply_result_test(struct kunit *test); + +void cam_clock_data_recovery_write_normal_test(struct kunit *test); +void cam_clock_data_recovery_write_overflow1_test(struct kunit *test); +void cam_clock_data_recovery_write_overflow2_test(struct kunit *test); +void cam_clock_data_recovery_write_invalid_test(struct kunit *test); + +#endif /* _CAM_CLOCK_DATA_RECOVERY_TEST_H_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/kunit_test/cam_hw_bigdata_test.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/kunit_test/cam_hw_bigdata_test.c new file mode 100644 index 0000000000..8591997185 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/kunit_test/cam_hw_bigdata_test.c @@ -0,0 +1,362 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * TODO: Add test description. + */ + +#include +#include "camera_kunit_main.h" +#include "cam_hw_bigdata_test.h" + +#define REAR_OIS_X_Y_ERR_REG 0x0600 +#define REAR3_OIS_X_Y_ERR_REG 0x1800 +#define REAR4_OIS_X_Y_ERR_REG 0x6000 + +struct cam_sensor_ctrl_t *s_ctrl; +struct cam_actuator_ctrl_t *a_ctrl; +struct cam_hw_param *hw_param; + +int current_err_cnt; +int next_err_cnt; + +int hw_bigdata_test_init(struct kunit *test) +{ + s_ctrl = kmalloc(sizeof(struct cam_sensor_ctrl_t), GFP_KERNEL); + a_ctrl = kmalloc(sizeof(struct cam_actuator_ctrl_t), GFP_KERNEL); + + hw_param = NULL; + current_err_cnt = 0; + next_err_cnt = 0; + + return 0; +} + +void hw_bigdata_test_exit(struct kunit *test) +{ + if (s_ctrl) { + kfree(s_ctrl); + s_ctrl = NULL; + } + + if (a_ctrl) { + kfree(a_ctrl); + a_ctrl = NULL; + } +} + +void hw_bigdata_i2c_sensor_rear_test(struct kunit *test) +{ + hw_bigdata_get_hw_param(&hw_param, HW_PARAM_REAR); + s_ctrl->id = SEC_WIDE_SENSOR; + + hw_bigdata_i2c_from_sensor(s_ctrl); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, I2C_SENSOR_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); +} + +void hw_bigdata_i2c_sensor_rear2_test(struct kunit *test) +{ + hw_bigdata_get_hw_param(&hw_param, HW_PARAM_REAR2); + s_ctrl->id = SEC_ULTRA_WIDE_SENSOR; + + hw_bigdata_i2c_from_sensor(s_ctrl); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, I2C_SENSOR_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); +} + +void hw_bigdata_i2c_sensor_rear3_test(struct kunit *test) +{ + hw_bigdata_get_hw_param(&hw_param, HW_PARAM_REAR3); + s_ctrl->id = SEC_TELE_SENSOR; + + hw_bigdata_i2c_from_sensor(s_ctrl); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, I2C_SENSOR_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); +} + +void hw_bigdata_i2c_sensor_rear4_test(struct kunit *test) +{ + hw_bigdata_get_hw_param(&hw_param, HW_PARAM_REAR4); + s_ctrl->id = SEC_TELE2_SENSOR; + + hw_bigdata_i2c_from_sensor(s_ctrl); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, I2C_SENSOR_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); +} + +void hw_bigdata_i2c_sensor_front_test(struct kunit *test) +{ + hw_bigdata_get_hw_param(&hw_param, HW_PARAM_FRONT); + s_ctrl->id = SEC_FRONT_SENSOR; + + hw_bigdata_i2c_from_sensor(s_ctrl); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, I2C_SENSOR_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); +} + +void hw_bigdata_i2c_sensor_front_top_test(struct kunit *test) +{ + hw_bigdata_get_hw_param(&hw_param, HW_PARAM_FRONT); + s_ctrl->id = SEC_FRONT_TOP_SENSOR; + + hw_bigdata_i2c_from_sensor(s_ctrl); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, I2C_SENSOR_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); +} + + +void hw_bigdata_i2c_af_rear_test(struct kunit *test) +{ + hw_bigdata_get_hw_param(&hw_param, HW_PARAM_REAR); + a_ctrl->soc_info.index = SEC_WIDE_SENSOR; + + hw_bigdata_i2c_from_actuator(a_ctrl); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, I2C_AF_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); +} + +void hw_bigdata_i2c_af_rear2_test(struct kunit *test) +{ + hw_bigdata_get_hw_param(&hw_param, HW_PARAM_REAR2); + a_ctrl->soc_info.index = SEC_ULTRA_WIDE_SENSOR; + + hw_bigdata_i2c_from_actuator(a_ctrl); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, I2C_AF_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); +} + +void hw_bigdata_i2c_af_rear3_test(struct kunit *test) +{ + hw_bigdata_get_hw_param(&hw_param, HW_PARAM_REAR3); + a_ctrl->soc_info.index = SEC_TELE_SENSOR; + + hw_bigdata_i2c_from_actuator(a_ctrl); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, I2C_AF_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); +} + +void hw_bigdata_i2c_af_rear4_test(struct kunit *test) +{ + hw_bigdata_get_hw_param(&hw_param, HW_PARAM_REAR4); + a_ctrl->soc_info.index = SEC_TELE2_SENSOR; + + hw_bigdata_i2c_from_actuator(a_ctrl); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, I2C_AF_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); +} + +void hw_bigdata_i2c_af_front_test(struct kunit *test) +{ + hw_bigdata_get_hw_param(&hw_param, HW_PARAM_FRONT); + a_ctrl->soc_info.index = SEC_FRONT_SENSOR; + + hw_bigdata_i2c_from_actuator(a_ctrl); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, I2C_AF_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); +} + +void hw_bigdata_i2c_af_front_top_test(struct kunit *test) +{ + hw_bigdata_get_hw_param(&hw_param, HW_PARAM_FRONT); + a_ctrl->soc_info.index = SEC_FRONT_TOP_SENSOR; + + hw_bigdata_i2c_from_actuator(a_ctrl); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, I2C_AF_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); +} + +void hw_bigdata_i2c_ois_rear_test(struct kunit *test) +{ + hw_bigdata_get_hw_param(&hw_param, HW_PARAM_REAR); + + hw_bigdata_i2c_from_ois_status_reg(SEC_WIDE_SENSOR); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, I2C_OIS_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); + current_err_cnt = next_err_cnt; + + hw_bigdata_i2c_from_ois_error_reg(REAR_OIS_X_Y_ERR_REG); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, I2C_OIS_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); +} + +void hw_bigdata_i2c_ois_rear3_test(struct kunit *test) +{ + hw_bigdata_get_hw_param(&hw_param, HW_PARAM_REAR3); + + hw_bigdata_i2c_from_ois_status_reg(SEC_TELE_SENSOR); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, I2C_OIS_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); + current_err_cnt = next_err_cnt; + + hw_bigdata_i2c_from_ois_error_reg(REAR3_OIS_X_Y_ERR_REG); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, I2C_OIS_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); +} + +void hw_bigdata_i2c_ois_rear4_test(struct kunit *test) +{ + hw_bigdata_get_hw_param(&hw_param, HW_PARAM_REAR4); + + hw_bigdata_i2c_from_ois_status_reg(SEC_TELE2_SENSOR); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, I2C_OIS_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); + current_err_cnt = next_err_cnt; + + hw_bigdata_i2c_from_ois_error_reg(REAR4_OIS_X_Y_ERR_REG); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, I2C_OIS_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); +} + +void hw_bigdata_mipi_init_param_test(struct kunit *test) +{ + s_ctrl->id = SEC_WIDE_SENSOR; + hw_bigdata_init_mipi_param_sensor(s_ctrl); + hw_bigdata_deinit_mipi_param_sensor(s_ctrl); +} + +void hw_bigdata_mipi_sensor_rear_test(struct kunit *test) +{ + hw_bigdata_get_hw_param(&hw_param, HW_PARAM_REAR); + + hw_param->mipi_chk = FALSE; + + hw_bigdata_mipi_from_ife_csid_ver1(SEC_WIDE_SENSOR); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, MIPI_SENSOR_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); + current_err_cnt = next_err_cnt; + + hw_param->mipi_chk = FALSE; + + hw_bigdata_mipi_from_ife_csid_ver2(WIDE_CAM); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, MIPI_SENSOR_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); +} + +void hw_bigdata_mipi_sensor_rear2_test(struct kunit *test) +{ + hw_bigdata_get_hw_param(&hw_param, HW_PARAM_REAR2); + + hw_param->mipi_chk = FALSE; + + hw_bigdata_mipi_from_ife_csid_ver1(SEC_ULTRA_WIDE_SENSOR); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, MIPI_SENSOR_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); + current_err_cnt = next_err_cnt; + + hw_param->mipi_chk = FALSE; + + hw_bigdata_mipi_from_ife_csid_ver2(UW_CAM); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, MIPI_SENSOR_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); +} + +void hw_bigdata_mipi_sensor_rear3_test(struct kunit *test) +{ + hw_bigdata_get_hw_param(&hw_param, HW_PARAM_REAR3); + + hw_param->mipi_chk = FALSE; + + hw_bigdata_mipi_from_ife_csid_ver1(SEC_TELE_SENSOR); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, MIPI_SENSOR_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); + current_err_cnt = next_err_cnt; + + hw_param->mipi_chk = FALSE; + + hw_bigdata_mipi_from_ife_csid_ver2(TELE1_CAM); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, MIPI_SENSOR_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); +} + +void hw_bigdata_mipi_sensor_rear4_test(struct kunit *test) +{ + hw_bigdata_get_hw_param(&hw_param, HW_PARAM_REAR4); + + hw_param->mipi_chk = FALSE; + + hw_bigdata_mipi_from_ife_csid_ver1(SEC_TELE2_SENSOR); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, MIPI_SENSOR_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); + current_err_cnt = next_err_cnt; + + hw_param->mipi_chk = FALSE; + + hw_bigdata_mipi_from_ife_csid_ver2(TELE2_CAM); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, MIPI_SENSOR_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); +} + +void hw_bigdata_mipi_sensor_front_test(struct kunit *test) +{ + hw_bigdata_get_hw_param(&hw_param, HW_PARAM_FRONT); + + hw_param->mipi_chk = FALSE; + + hw_bigdata_mipi_from_ife_csid_ver1(SEC_FRONT_SENSOR); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, MIPI_SENSOR_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); + current_err_cnt = next_err_cnt; + + hw_param->mipi_chk = FALSE; + + hw_bigdata_mipi_from_ife_csid_ver2(FRONT_CAM); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, MIPI_SENSOR_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); +} + +void hw_bigdata_mipi_sensor_front_top_test(struct kunit *test) +{ + hw_bigdata_get_hw_param(&hw_param, HW_PARAM_FRONT); + + hw_param->mipi_chk = FALSE; + + hw_bigdata_mipi_from_ife_csid_ver1(SEC_FRONT_TOP_SENSOR); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, MIPI_SENSOR_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); + current_err_cnt = next_err_cnt; + + hw_param->mipi_chk = FALSE; + + hw_bigdata_mipi_from_ife_csid_ver2(FRONT_CAM); + next_err_cnt = hw_bigdata_get_error_cnt(hw_param, MIPI_SENSOR_ERROR); + + KUNIT_EXPECT_EQ(test, (next_err_cnt > current_err_cnt), TRUE); +} + +void hw_bigdata_file_test(struct kunit *test) +{ + hw_bigdata_get_hw_param(&hw_param, HW_PARAM_REAR); + hw_bigdata_init_all_cnt(); + hw_bigdata_init_err_cnt_file(hw_param); + hw_bigdata_copy_err_cnt_from_file(); +} + +MODULE_LICENSE("GPL v2"); diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/kunit_test/cam_hw_bigdata_test.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/kunit_test/cam_hw_bigdata_test.h new file mode 100644 index 0000000000..7e26b7dc5f --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/kunit_test/cam_hw_bigdata_test.h @@ -0,0 +1,32 @@ +#ifndef _CAM_HW_BIGDATA_TEST_H_ +#define _CAM_HW_BIGDATA_TEST_H_ + +#include "cam_hw_bigdata.h" + +int hw_bigdata_test_init(struct kunit *test); +void hw_bigdata_test_exit(struct kunit *test); +void hw_bigdata_i2c_sensor_rear_test(struct kunit *test); +void hw_bigdata_i2c_sensor_rear2_test(struct kunit *test); +void hw_bigdata_i2c_sensor_rear3_test(struct kunit *test); +void hw_bigdata_i2c_sensor_rear4_test(struct kunit *test); +void hw_bigdata_i2c_sensor_front_test(struct kunit *test); +void hw_bigdata_i2c_sensor_front_top_test(struct kunit *test); +void hw_bigdata_i2c_af_rear_test(struct kunit *test); +void hw_bigdata_i2c_af_rear2_test(struct kunit *test); +void hw_bigdata_i2c_af_rear3_test(struct kunit *test); +void hw_bigdata_i2c_af_rear4_test(struct kunit *test); +void hw_bigdata_i2c_af_front_test(struct kunit *test); +void hw_bigdata_i2c_af_front_top_test(struct kunit *test); +void hw_bigdata_i2c_ois_rear_test(struct kunit *test); +void hw_bigdata_i2c_ois_rear3_test(struct kunit *test); +void hw_bigdata_i2c_ois_rear4_test(struct kunit *test); +void hw_bigdata_mipi_sensor_rear_test(struct kunit *test); +void hw_bigdata_mipi_sensor_rear2_test(struct kunit *test); +void hw_bigdata_mipi_sensor_rear3_test(struct kunit *test); +void hw_bigdata_mipi_sensor_rear4_test(struct kunit *test); +void hw_bigdata_mipi_sensor_front_test(struct kunit *test); +void hw_bigdata_mipi_sensor_front_top_test(struct kunit *test); +void hw_bigdata_mipi_init_param_test(struct kunit *test); +void hw_bigdata_file_test(struct kunit *test); + +#endif /* _CAM_HW_BIGDATA_TEST_H_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/kunit_test/cam_sec_eeprom_core_test.c b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/kunit_test/cam_sec_eeprom_core_test.c new file mode 100644 index 0000000000..6057d8f2d7 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/kunit_test/cam_sec_eeprom_core_test.c @@ -0,0 +1,395 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * TODO: Add test description. + */ + +#include +#include "camera_kunit_main.h" +#include "cam_sec_eeprom_core_test.h" + +#define MODULE_CORE_VERSION_VALUE 0x45 + +struct cam_eeprom_ctrl_t *e_ctrl; +extern ConfigInfo_t ConfigInfo[MAX_CONFIG_INFO_IDX]; +ConfigInfo_t Temp_ConfigInfo[MAX_CONFIG_INFO_IDX]; + +static int eeprom_read_memory(struct cam_eeprom_ctrl_t *e_ctrl, + struct cam_eeprom_memory_block_t *block) +{ + struct cam_sensor_i2c_reg_setting i2c_reg_settings = {0}; + struct cam_sensor_i2c_reg_array i2c_reg_array = {0}; + struct cam_eeprom_memory_map_t *emap = block->map; + struct cam_eeprom_soc_private *eb_info = NULL; + uint8_t *memptr = block->mapdata; + int map_index; + int rc = 0; + + if (!e_ctrl) { + CAM_ERR(CAM_EEPROM, "e_ctrl is NULL"); + return -EINVAL; + } + + eb_info = (struct cam_eeprom_soc_private *)e_ctrl->soc_info.soc_private; + + for (map_index = 0; map_index < block->num_map; map_index++) { + CAM_DBG(CAM_EEPROM, "slave-addr = 0x%X", emap[map_index].saddr); + if (emap[map_index].saddr) { + eb_info->i2c_info.slave_addr = emap[map_index].saddr; + rc = cam_eeprom_update_i2c_info(e_ctrl, + &eb_info->i2c_info); + if (rc) { + CAM_ERR(CAM_EEPROM, + "failed: to update i2c info rc %d", + rc); + return rc; + } + } + + if (emap[map_index].page.valid_size) { + i2c_reg_settings.addr_type = emap[map_index].page.addr_type; + i2c_reg_settings.data_type = emap[map_index].page.data_type; + i2c_reg_settings.size = 1; + i2c_reg_array.reg_addr = emap[map_index].page.addr; + i2c_reg_array.reg_data = emap[map_index].page.data; + i2c_reg_array.delay = emap[map_index].page.delay; + i2c_reg_settings.reg_setting = &i2c_reg_array; + rc = camera_io_dev_write(&e_ctrl->io_master_info, + &i2c_reg_settings); + if (rc < 0) { + CAM_ERR(CAM_EEPROM, "page write failed rc %d", + rc); + return rc; + } + } + + if (emap[map_index].pageen.valid_size) { + i2c_reg_settings.addr_type = emap[map_index].pageen.addr_type; + i2c_reg_settings.data_type = emap[map_index].pageen.data_type; + i2c_reg_settings.size = 1; + i2c_reg_array.reg_addr = emap[map_index].pageen.addr; + i2c_reg_array.reg_data = emap[map_index].pageen.data; + i2c_reg_array.delay = emap[map_index].pageen.delay; + i2c_reg_settings.reg_setting = &i2c_reg_array; + rc = camera_io_dev_write(&e_ctrl->io_master_info, + &i2c_reg_settings); + if (rc < 0) { + CAM_ERR(CAM_EEPROM, "page enable failed rc %d", + rc); + return rc; + } + } + + if (emap[map_index].poll.valid_size) { + rc = camera_io_dev_poll(&e_ctrl->io_master_info, + emap[map_index].poll.addr, emap[map_index].poll.data, + 0, emap[map_index].poll.addr_type, + emap[map_index].poll.data_type, + emap[map_index].poll.delay); + if (rc < 0) { + CAM_ERR(CAM_EEPROM, "poll failed rc %d", + rc); + return rc; + } + } + + if (emap[map_index].mem.valid_size) { +#if defined(CONFIG_CAMERA_SYSFS_V2) + uint32_t addr = 0, size = 0, read_size = 0; + + size = emap[map_index].mem.valid_size; + addr = emap[map_index].mem.addr; + memptr = block->mapdata + addr; + + CAM_DBG(CAM_EEPROM, "[%d / %d] memptr = %pK, addr = 0x%X, size = 0x%X, subdev = %d", + map_index, block->num_map, memptr, emap[map_index].mem.addr, emap[map_index].mem.valid_size, e_ctrl->soc_info.index); + + CAM_DBG(CAM_EEPROM, "addr_type = %d, data_type = %d, device_type = %d", + emap[map_index].mem.addr_type, emap[map_index].mem.data_type, e_ctrl->eeprom_device_type); + if (emap[map_index].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[map_index].mem.addr_type, + emap[map_index].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[map_index].mem.addr, memptr, + emap[map_index].mem.addr_type, + emap[map_index].mem.data_type, + emap[map_index].mem.valid_size); + if (rc < 0) { + CAM_ERR(CAM_EEPROM, "read failed rc %d", + rc); + return rc; + } + memptr += emap[map_index].mem.valid_size; +#endif + } + + if (emap[map_index].pageen.valid_size) { + i2c_reg_settings.addr_type = emap[map_index].pageen.addr_type; + i2c_reg_settings.data_type = emap[map_index].pageen.data_type; + i2c_reg_settings.size = 1; + i2c_reg_array.reg_addr = emap[map_index].pageen.addr; + i2c_reg_array.reg_data = 0; + i2c_reg_array.delay = emap[map_index].pageen.delay; + i2c_reg_settings.reg_setting = &i2c_reg_array; + rc = camera_io_dev_write(&e_ctrl->io_master_info, + &i2c_reg_settings); + if (rc < 0) { + CAM_ERR(CAM_EEPROM, + "page disable failed rc %d", + rc); + return rc; + } + } + } + return rc; +} + +int eeprom_read_and_update_module(struct cam_eeprom_ctrl_t *e_ctrl) +{ + int rc = 0; + + rc = eeprom_read_memory(e_ctrl, &e_ctrl->cal_data); + if (rc < 0) { + CAM_ERR(CAM_EEPROM, "read_eeprom_memory failed"); + rc = -EINVAL; + } + /* To-do : After resoving dependency issue with legacy code, need to update. + rc = cam_sec_eeprom_update_module_info(e_ctrl); + */ + if (rc < 0) { + CAM_ERR(CAM_EEPROM, "cam_sec_eeprom_update_module_info failed"); + rc = -EINVAL; + } + return rc; +} + +int eeprom_test_init(struct kunit *test) +{ + int i; + e_ctrl = kmalloc(sizeof(struct cam_eeprom_ctrl_t), GFP_KERNEL); + + for(i = 0; i < MAX_CONFIG_INFO_IDX; i ++) + { + Temp_ConfigInfo[i].isSet = ConfigInfo[i].isSet; + ConfigInfo[i].isSet = 0; + } + + return 0; +} + +void eeprom_test_exit(struct kunit *test) +{ + int i; + if (e_ctrl) { + kfree(e_ctrl); + e_ctrl = NULL; + } + + for(i = 0; i < MAX_CONFIG_INFO_IDX; i ++) + { + ConfigInfo[i].isSet = Temp_ConfigInfo[i].isSet; + } +} + +void eeprom_update_rear_module_info_test(struct kunit *test) +{ + int rc = 0; + uint8_t mapdata = 1; + + e_ctrl->soc_info.index = SEC_WIDE_SENSOR; + e_ctrl->cal_data.mapdata = &mapdata; + + rc = eeprom_read_and_update_module(e_ctrl); + KUNIT_EXPECT_EQ(test, (rc >= 0), TRUE); +} + +void eeprom_update_rear2_module_info_test(struct kunit *test) +{ + int rc = 0; + uint8_t mapdata = 1; + + e_ctrl->soc_info.index = SEC_ULTRA_WIDE_SENSOR; + e_ctrl->cal_data.mapdata = &mapdata; + + rc = eeprom_read_and_update_module(e_ctrl); + KUNIT_EXPECT_EQ(test, (rc >= 0), TRUE); +} + +void eeprom_update_rear3_module_info_test(struct kunit *test) +{ + int rc = 0; + uint8_t mapdata = 1; + + e_ctrl->soc_info.index = SEC_TELE_SENSOR; + e_ctrl->cal_data.mapdata = &mapdata; + + rc = eeprom_read_and_update_module(e_ctrl); + KUNIT_EXPECT_EQ(test, (rc >= 0), TRUE); +} + +void eeprom_update_rear4_module_info_test(struct kunit *test) +{ + int rc = 0; + uint8_t mapdata = 1; + + e_ctrl->soc_info.index = SEC_TELE2_SENSOR; + e_ctrl->cal_data.mapdata = &mapdata; + + rc = eeprom_read_and_update_module(e_ctrl); + KUNIT_EXPECT_EQ(test, (rc >= 0), TRUE); +} + +void eeprom_update_front_module_info_test(struct kunit *test) +{ + int rc = 0; + uint8_t mapdata = 1; + + e_ctrl->soc_info.index = SEC_FRONT_SENSOR; + e_ctrl->cal_data.mapdata = &mapdata; + + rc = eeprom_read_and_update_module(e_ctrl); + KUNIT_EXPECT_EQ(test, (rc >= 0), TRUE); +} + +void eeprom_rear_match_crc_test(struct kunit *test) +{ + int rc = 0; + + e_ctrl->soc_info.index = SEC_WIDE_SENSOR; + + rc = eeprom_read_memory(e_ctrl, &e_ctrl->cal_data); + if (rc < 0) { + CAM_ERR(CAM_EEPROM, "read_eeprom_memory failed"); + } + KUNIT_EXPECT_EQ(test, (rc >= 0), TRUE); + + rc = cam_sec_eeprom_match_crc(&e_ctrl->cal_data, e_ctrl->soc_info.index); + KUNIT_EXPECT_EQ(test, (rc >= 0), TRUE); +} + +void eeprom_rear2_match_crc_test(struct kunit *test) +{ + int rc = 0; + + e_ctrl->soc_info.index = SEC_ULTRA_WIDE_SENSOR; + + rc = eeprom_read_memory(e_ctrl, &e_ctrl->cal_data); + if (rc < 0) { + CAM_ERR(CAM_EEPROM, "read_eeprom_memory failed"); + } + KUNIT_EXPECT_EQ(test, (rc >= 0), TRUE); + + rc = cam_sec_eeprom_match_crc(&e_ctrl->cal_data, e_ctrl->soc_info.index); + KUNIT_EXPECT_EQ(test, (rc >= 0), TRUE); +} + +void eeprom_rear3_match_crc_test(struct kunit *test) +{ + int rc = 0; + + e_ctrl->soc_info.index = SEC_TELE_SENSOR; + + rc = eeprom_read_memory(e_ctrl, &e_ctrl->cal_data); + if (rc < 0) { + CAM_ERR(CAM_EEPROM, "read_eeprom_memory failed"); + } + KUNIT_EXPECT_EQ(test, (rc >= 0), TRUE); + + rc = cam_sec_eeprom_match_crc(&e_ctrl->cal_data, e_ctrl->soc_info.index); + KUNIT_EXPECT_EQ(test, (rc >= 0), TRUE); +} + +void eeprom_rear4_match_crc_test(struct kunit *test) +{ + int rc = 0; + + e_ctrl->soc_info.index = SEC_TELE2_SENSOR; + + rc = eeprom_read_memory(e_ctrl, &e_ctrl->cal_data); + if (rc < 0) { + CAM_ERR(CAM_EEPROM, "read_eeprom_memory failed"); + } + KUNIT_EXPECT_EQ(test, (rc >= 0), TRUE); + + rc = cam_sec_eeprom_match_crc(&e_ctrl->cal_data, e_ctrl->soc_info.index); + KUNIT_EXPECT_EQ(test, (rc >= 0), TRUE); +} + +void eeprom_front_match_crc_test(struct kunit *test) +{ + int rc = 0; + + e_ctrl->soc_info.index = SEC_FRONT_SENSOR; + + rc = eeprom_read_memory(e_ctrl, &e_ctrl->cal_data); + if (rc < 0) { + CAM_ERR(CAM_EEPROM, "read_eeprom_memory failed"); + } + KUNIT_EXPECT_EQ(test, (rc >= 0), TRUE); + + rc = cam_sec_eeprom_match_crc(&e_ctrl->cal_data, e_ctrl->soc_info.index); + KUNIT_EXPECT_EQ(test, (rc >= 0), TRUE); +} + +void eeprom_calc_calmap_size_test(struct kunit *test) +{ + uint32_t size = 0; + + size = cam_sec_eeprom_calc_calmap_size(e_ctrl); + KUNIT_EXPECT_EQ(test, (size >= 0), TRUE); +} + +void eeprom_get_custom_info_test(struct kunit *test) +{ + int rc = 0; + struct cam_packet *csl_packet = kmalloc(sizeof(struct cam_packet), GFP_KERNEL); + + csl_packet->payload[0] = 0; + csl_packet->io_configs_offset = 0; + csl_packet->num_io_configs = 2; + + rc = cam_sec_eeprom_get_customInfo(e_ctrl, csl_packet); + if (rc < 0) { + CAM_ERR(CAM_EEPROM, "cam_sec_eeprom_get_customInfo failed"); + } + KUNIT_EXPECT_EQ(test, (rc >= 0), FALSE); +} + +void eeprom_fill_config_info_test(struct kunit *test) +{ + int rc = 0; + char configString[MaximumCustomStringLength] = ""; + uint32_t configValue = 0; + ConfigInfo_t ConfigInfo[MAX_CONFIG_INFO_IDX]; + + strcpy(configString, "DEF_M_CORE_VER"); + configValue = MODULE_CORE_VERSION_VALUE; + + cam_sec_eeprom_fill_configInfo(configString, configValue, ConfigInfo); + KUNIT_EXPECT_EQ(test, (rc >= 0), TRUE); +} + +MODULE_LICENSE("GPL v2"); diff --git a/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/kunit_test/cam_sec_eeprom_core_test.h b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/kunit_test/cam_sec_eeprom_core_test.h new file mode 100644 index 0000000000..eee8c1193a --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_sensor_module/cam_sensor_utils/kunit_test/cam_sec_eeprom_core_test.h @@ -0,0 +1,24 @@ +#ifndef _CAM_SEC_EEPROM_CORE_TEST_H_ +#define _CAM_SEC_EEPROM_CORE_TEST_H_ + +#include "cam_eeprom_dev.h" +#include "cam_eeprom_core.h" +#include "cam_sec_eeprom_core.h" + +int eeprom_test_init(struct kunit *test); +void eeprom_test_exit(struct kunit *test); +void eeprom_update_rear_module_info_test(struct kunit *test); +void eeprom_update_rear2_module_info_test(struct kunit *test); +void eeprom_update_rear3_module_info_test(struct kunit *test); +void eeprom_update_rear4_module_info_test(struct kunit *test); +void eeprom_update_front_module_info_test(struct kunit *test); +void eeprom_rear_match_crc_test(struct kunit *test); +void eeprom_rear2_match_crc_test(struct kunit *test); +void eeprom_rear3_match_crc_test(struct kunit *test); +void eeprom_rear4_match_crc_test(struct kunit *test); +void eeprom_front_match_crc_test(struct kunit *test); +void eeprom_calc_calmap_size_test(struct kunit *test); +void eeprom_get_custom_info_test(struct kunit *test); +void eeprom_fill_config_info_test(struct kunit *test); + +#endif /* _CAM_SEC_EEPROM_CORE_TEST_H_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_utils/cam_common_util.c b/qcom/opensource/camera-kernel/drivers/cam_utils/cam_common_util.c index 2723caa00a..f2fb4b59f5 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_utils/cam_common_util.c +++ b/qcom/opensource/camera-kernel/drivers/cam_utils/cam_common_util.c @@ -20,6 +20,9 @@ #include static struct cam_common_mini_dump_dev_info g_minidump_dev_info; #endif +#if IS_ENABLED(CONFIG_SEC_ABC) +#include +#endif #define CAM_PRESIL_POLL_DELAY 20 @@ -31,6 +34,58 @@ typedef int (*cam_common_evt_inject_cmd_parse_handler)( struct cam_common_inject_evt_param *inject_params, uint32_t param_counter, char *token); +#if defined(CONFIG_SAMSUNG_DEBUG_HW_INFO) +void cam_check_error_sensor_type(int csiphy_num) { + if (csiphy_num == WIDE_CAM) + CAM_INFO(CAM_ISP, "[MIPI_DBG] WIDE_CAM mipi error!! (csiphy %d)", csiphy_num); + else if (csiphy_num == UW_CAM) + CAM_INFO(CAM_ISP, "[MIPI_DBG] UW_CAM mipi error!! (csiphy %d)", csiphy_num); + else if (csiphy_num == TELE1_CAM) + CAM_INFO(CAM_ISP, "[MIPI_DBG] TELE1_CAM mipi error!! (csiphy %d)", csiphy_num); + else if (csiphy_num == TELE2_CAM) + CAM_INFO(CAM_ISP, "[MIPI_DBG] TELE2_CAM mipi error!! (csiphy %d)", csiphy_num); + else if (csiphy_num == FRONT_CAM) + CAM_INFO(CAM_ISP, "[MIPI_DBG] FRONT_CAM mipi error!! (csiphy %d)", csiphy_num); + else if (csiphy_num == COVER_CAM) + CAM_INFO(CAM_ISP, "[MIPI_DBG] COVER_CAM mipi error!! (csiphy %d)", csiphy_num); + else if (csiphy_num == FRONT_AUX) + CAM_INFO(CAM_ISP, "[MIPI_DBG] COVER_CAM mipi error!! (csiphy %d)", csiphy_num); + else + CAM_INFO(CAM_ISP, "[MIPI_DBG] Unknown camera mipi error!! (csiphy %d)", csiphy_num); +} +#endif + +#if IS_ENABLED(CONFIG_SEC_ABC) +void cam_abc_send_event_mipi_error(int csiphy_num) +{ + char msg1[32], ret[40]; + + sprintf(msg1, "%s", "MODULE=camera@WARN=mipi_error_"); + + switch (csiphy_num) { + case WIDE_CAM: + sprintf(ret, "%s%s", msg1, "rw1"); //wide + break; + case TELE1_CAM: + sprintf(ret, "%s%s", msg1, "rt1"); //tele 1 + break; + case TELE2_CAM: + sprintf(ret, "%s%s", msg1, "rt2"); //tele 2 + break; + case UW_CAM: + sprintf(ret, "%s%s", msg1, "rs1"); //uwide + break; + case FRONT_CAM: + sprintf(ret, "%s%s", msg1, "fw1"); //front + break; + default: + break; + } + + sec_abc_send_event(ret); +} +#endif + int cam_common_util_get_string_index(const char **strings, uint32_t num_strings, const char *matching_string, uint32_t *index) { @@ -686,6 +741,9 @@ static int cam_common_evt_inject_set(const char *kmessage, CAM_ERR(CAM_UTIL, "Invalid Injection id: %u", hw_evt_params->inject_id); } + if (!parse_handler) + goto free; + rc = cam_common_evt_inject_generic_command_parser(inject_params, &msg, param_output, parse_handler); if (rc) { diff --git a/qcom/opensource/camera-kernel/drivers/cam_utils/cam_common_util.h b/qcom/opensource/camera-kernel/drivers/cam_utils/cam_common_util.h index 89f05e756b..9089343d60 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_utils/cam_common_util.h +++ b/qcom/opensource/camera-kernel/drivers/cam_utils/cam_common_util.h @@ -34,6 +34,42 @@ #define CAM_COMMON_NS_PER_MS 1000000ULL +#if defined(CONFIG_SAMSUNG_DEBUG_HW_INFO) +#if defined(CONFIG_SEC_E1Q_PROJECT) || defined(CONFIG_SEC_E2Q_PROJECT) +#define WIDE_CAM 1 +#define UW_CAM 2 +#define TELE1_CAM 0 +#define TELE2_CAM -1 +#define FRONT_CAM 4 +#define COVER_CAM -2 +#define FRONT_AUX -3 +#elif defined(CONFIG_SEC_E3Q_PROJECT) +#define WIDE_CAM 5 +#define UW_CAM 2 +#define TELE1_CAM 3 +#define TELE2_CAM 1 +#define FRONT_CAM 4 +#define COVER_CAM -1 +#define FRONT_AUX -2 +#elif defined(CONFIG_SEC_Q6Q_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT) +#define WIDE_CAM 3 +#define UW_CAM 2 +#define TELE1_CAM 1 +#define TELE2_CAM -1 +#define FRONT_CAM 4 +#define COVER_CAM 0 +#define FRONT_AUX -2 +#elif defined(CONFIG_SEC_B6Q_PROJECT) || defined(CONFIG_SEC_GTS10P_PROJECT) || defined(CONFIG_SEC_GTS10U_PROJECT) +#define WIDE_CAM 1 +#define UW_CAM 2 +#define TELE1_CAM -1 +#define TELE2_CAM -2 +#define FRONT_CAM 4 +#define COVER_CAM -3 +#define FRONT_AUX -4 +#endif +#endif + #define PTR_TO_U64(ptr) ((uint64_t)(uintptr_t)ptr) #define U64_TO_PTR(ptr) ((void *)(uintptr_t)ptr) @@ -410,4 +446,10 @@ int cam_common_register_evt_inject_cb( cam_common_evt_inject_cb evt_inject_cb, enum cam_common_evt_inject_hw_id hw_id); +#if defined(CONFIG_SAMSUNG_DEBUG_HW_INFO) +void cam_check_error_sensor_type(int csiphy_num); +#endif +#if IS_ENABLED(CONFIG_SEC_ABC) +void cam_abc_send_event_mipi_error(int csiphy_num); +#endif #endif /* _CAM_COMMON_UTIL_H_ */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_utils/cam_debug_util.c b/qcom/opensource/camera-kernel/drivers/cam_utils/cam_debug_util.c index 5169420b77..86f4c1ca08 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_utils/cam_debug_util.c +++ b/qcom/opensource/camera-kernel/drivers/cam_utils/cam_debug_util.c @@ -28,6 +28,11 @@ module_param(debug_drv, uint, 0644); uint debug_bypass_drivers; module_param(debug_bypass_drivers, uint, 0644); +#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_I2C) +char debug_sensor_name[20]; +module_param_string(debug_sensor_name, debug_sensor_name, sizeof(debug_sensor_name), 0644); +#endif + struct camera_debug_settings cam_debug; struct dentry *cam_debugfs_root; diff --git a/qcom/opensource/camera-kernel/drivers/cam_utils/cam_debug_util.h b/qcom/opensource/camera-kernel/drivers/cam_utils/cam_debug_util.h index 526d9ac617..e93a23b647 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_utils/cam_debug_util.h +++ b/qcom/opensource/camera-kernel/drivers/cam_utils/cam_debug_util.h @@ -17,6 +17,9 @@ extern unsigned int debug_type; extern unsigned int debug_priority; extern unsigned int debug_drv; extern unsigned int debug_bypass_drivers; +#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_I2C) +extern char debug_sensor_name[]; +#endif #define CAM_IS_NULL_TO_STR(ptr) ((ptr) ? "Non-NULL" : "NULL") diff --git a/qcom/opensource/camera-kernel/drivers/cam_utils/cam_notifier.c b/qcom/opensource/camera-kernel/drivers/cam_utils/cam_notifier.c new file mode 100644 index 0000000000..2fca4ba4fe --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_utils/cam_notifier.c @@ -0,0 +1,155 @@ +/* Copyright (c) 2020, 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 "cam_notifier.h" +#include + +/* + * Notifier list for kernel code which wants to know + * camera module versions + */ +static RAW_NOTIFIER_HEAD(dev_cam_eeprom_noti_chain); + +#if defined(CONFIG_SAMSUNG_WACOM_NOTIFIER) + +/* + * notifyCameraList - store camera list + * wacom_notify_value - store camera eeprom information + * + * each camera use 1 byte. + * + * store up to 8 cameras. (64bit) + */ +static char checkCamera[] = { 'S', 'C', 'P', 'M', 'V', 'N', 'A', 'Y', 'H' }; + +#if defined(CONFIG_SEC_E3Q_PROJECT) +uint32_t notifyCameraList[] = { + SEC_WIDE_SENSOR, + SEC_ULTRA_WIDE_SENSOR, + SEC_TELE_SENSOR, + SEC_TELE2_SENSOR, + SEC_FRONT_SENSOR, +}; +#elif defined(CONFIG_SEC_Q2Q_PROJECT) || defined(CONFIG_SEC_V2Q_PROJECT) +uint32_t notifyCameraList[] = { + SEC_WIDE_SENSOR, + SEC_ULTRA_WIDE_SENSOR, + SEC_FRONT_SENSOR, + SEC_FRONT_TOP_SENSOR, +}; +#else +uint32_t notifyCameraList[] = { +}; +#endif /* CONFIG_SAMSUNG_WACOM_NOTIFIER */ + +static unsigned long wacom_notify_value = 0; + +/** + * is_eeprom_info_update - update camera eeprom information to wacom_notify_value + * @type: eeprom type + * @header_ver: eeprom header string. + */ +int is_eeprom_info_update(uint32_t type, char *header_ver) +{ + int result = 0; + uint listIndex = 0, listSize = 0; + uint checkIndex = 0, checkSize = 0; + bool bCheck = false; + + if (!header_ver) + { + return -1; + } + + listSize = sizeof(notifyCameraList) / sizeof(uint32_t); + checkSize = sizeof(checkCamera) / sizeof(char); + + for (listIndex = 0; listIndex < listSize; listIndex++) + { + if (type == notifyCameraList[listIndex]) + { + for (checkIndex = 0; checkIndex < checkSize; checkIndex++) + { + if (header_ver[9] == checkCamera[checkIndex]) + { + wacom_notify_value |= (unsigned long)(checkIndex + 1) << (listIndex * 8); + bCheck = true; + break; + } + } + } + + if (bCheck == true) + { + break; + } + } + + //pr_info("[NOTI_DBG] [wacom] notify header info:0x%llx(%d, %c)", wacom_notify_value, type, header_ver[9]); + + return result; +} + +/** + * is_eeprom_wacom_update_notifier - Send wacom_notify_value to notifier block. + * + * Define the mask if you need to send only information from certain cameras. + */ +int is_eeprom_wacom_update_notifier(void) +{ + static bool is_registered = false; + + if (is_registered == false && g_nb_wac_camera != NULL) { + is_register_eeprom_notifier (g_nb_wac_camera); + is_registered = true; + } + + if (is_registered == true) { + pr_info("[NOTI_DBG] send value 0x%llx to wacom", wacom_notify_value); + return raw_notifier_call_chain(&dev_cam_eeprom_noti_chain, + wacom_notify_value, NULL); + } + else + return 0; +} +#endif + +/* Common Notifier API */ +int is_register_eeprom_notifier(struct notifier_block *nb) +{ + return is_register_notifier(&dev_cam_eeprom_noti_chain, nb); +} +EXPORT_SYMBOL(is_register_eeprom_notifier); + +int is_unregister_eeprom_notifier(struct notifier_block *nb) +{ + return is_unregister_notifier(&dev_cam_eeprom_noti_chain, nb); +} +EXPORT_SYMBOL(is_unregister_eeprom_notifier); + + +int is_register_notifier(struct raw_notifier_head *head, struct notifier_block *nb) +{ + if (!nb) + return -ENOENT; + + return raw_notifier_chain_register(head,nb); +} + +int is_unregister_notifier(struct raw_notifier_head *head, struct notifier_block *nb) +{ + if (!nb) + return -ENOENT; + + return raw_notifier_chain_unregister(head,nb); +} + diff --git a/qcom/opensource/camera-kernel/drivers/cam_utils/cam_notifier.h b/qcom/opensource/camera-kernel/drivers/cam_utils/cam_notifier.h new file mode 100644 index 0000000000..baf0d85c41 --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/cam_utils/cam_notifier.h @@ -0,0 +1,29 @@ +/* Copyright (c) 2020, 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_NOTIFIER_H +#define CAM_NOTIFIER_H +#include + +int is_eeprom_info_update(uint32_t, char *); +int is_eeprom_wacom_update_notifier(void); +int is_register_notifier(struct raw_notifier_head*, struct notifier_block*); +int is_unregister_notifier(struct raw_notifier_head*, struct notifier_block*); + +int is_register_eeprom_notifier(struct notifier_block *nb); +int is_unregister_eeprom_notifier(struct notifier_block *nb); + +#if defined(CONFIG_SAMSUNG_WACOM_NOTIFIER) +extern struct notifier_block *g_nb_wac_camera; +#endif + +#endif /* CAM_NOTIFIER_H */ diff --git a/qcom/opensource/camera-kernel/drivers/cam_utils/cam_soc_util.c b/qcom/opensource/camera-kernel/drivers/cam_utils/cam_soc_util.c index f26c8fdaa3..49711c8bf6 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_utils/cam_soc_util.c +++ b/qcom/opensource/camera-kernel/drivers/cam_utils/cam_soc_util.c @@ -2610,6 +2610,19 @@ static int cam_soc_util_get_dt_regulator_info } } +#if defined(CONFIG_SEC_Q6Q_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT) + for (i = 0; i < soc_info->num_rgltr; i++) { + rc = of_property_read_string_index(of_node, + "regulator-subnames", i, &soc_info->rgltr_subname[i]); + CAM_DBG(CAM_UTIL, "rgltr_subname[%d] = %s", + i, soc_info->rgltr_subname[i]); + if (rc) { + CAM_DBG(CAM_UTIL, "no regulator resource at cnt=%d", i); + soc_info->rgltr_subname[i] = NULL; + } + } +#endif + if (!of_property_read_bool(of_node, "rgltr-cntrl-support")) { CAM_DBG(CAM_UTIL, "No regulator control parameter defined"); soc_info->rgltr_ctrl_support = false; diff --git a/qcom/opensource/camera-kernel/drivers/cam_utils/cam_soc_util.h b/qcom/opensource/camera-kernel/drivers/cam_utils/cam_soc_util.h index 4ecf8d6908..9729fe7efb 100644 --- a/qcom/opensource/camera-kernel/drivers/cam_utils/cam_soc_util.h +++ b/qcom/opensource/camera-kernel/drivers/cam_utils/cam_soc_util.h @@ -98,6 +98,10 @@ enum cam_vote_level { #define CAM_CESTA_MAX_CLIENTS 3 #define CAM_NUM_PWR_STATES 2 +#if defined(CONFIG_SEC_Q6Q_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT) +#define UPPER_C2C_DET_GPIO 469 +#endif + /** * struct cam_soc_util_hw_client_clk_rates: Information about HW client clock vote * @@ -273,6 +277,9 @@ struct cam_hw_soc_info { uint32_t num_rgltr; const char *rgltr_name[CAM_SOC_MAX_REGULATOR]; +#if defined(CONFIG_SEC_Q6Q_PROJECT) || defined(CONFIG_SEC_Q6AQ_PROJECT) + const char *rgltr_subname[CAM_SOC_MAX_REGULATOR]; +#endif uint32_t rgltr_ctrl_support; uint32_t rgltr_min_volt[CAM_SOC_MAX_REGULATOR]; uint32_t rgltr_max_volt[CAM_SOC_MAX_REGULATOR]; diff --git a/qcom/opensource/camera-kernel/drivers/camera_main.c b/qcom/opensource/camera-kernel/drivers/camera_main.c index dd414db9c3..9d33634220 100644 --- a/qcom/opensource/camera-kernel/drivers/camera_main.c +++ b/qcom/opensource/camera-kernel/drivers/camera_main.c @@ -65,6 +65,10 @@ #include "cam_generated_h" #endif +#if defined(CONFIG_CAMERA_SYSFS_V2) +#include "cam_sysfs_init.h" +#endif + char camera_banner[] = "Camera-Banner: (" CAMERA_COMPILE_BY "@" CAMERA_COMPILE_HOST ") (" CAMERA_COMPILE_TIME ")"; @@ -123,6 +127,9 @@ static const struct camera_submodule_component camera_sensor[] = { {&cam_ois_driver_init, &cam_ois_driver_exit}, {&cam_flash_init_module, &cam_flash_exit_module}, #endif +#if defined(CONFIG_CAMERA_SYSFS_V2) + {&cam_sysfs_init_module, &cam_sysfs_exit_module}, +#endif }; static const struct camera_submodule_component camera_icp[] = { diff --git a/qcom/opensource/camera-kernel/drivers/kunit_test/camera_kunit_main.c b/qcom/opensource/camera-kernel/drivers/kunit_test/camera_kunit_main.c new file mode 100755 index 0000000000..b89a428d8b --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/kunit_test/camera_kunit_main.c @@ -0,0 +1,584 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * TODO: Add test description. + */ +#include +#include "camera_kunit_main.h" +#include "cam_sensor_util.h" + +/* + * Here we make a list of all the test cases we want to add to the test module + * below. + */ +struct kunit_case i2c_sensor_rear_test_cases[] = { + KUNIT_CASE(hw_bigdata_i2c_sensor_rear_test), + {}, +}; + +struct kunit_case i2c_sensor_rear2_test_cases[] = { + KUNIT_CASE(hw_bigdata_i2c_sensor_rear2_test), + {}, +}; + +struct kunit_case i2c_sensor_rear3_test_cases[] = { + KUNIT_CASE(hw_bigdata_i2c_sensor_rear3_test), + {}, +}; + +struct kunit_case i2c_sensor_rear4_test_cases[] = { + KUNIT_CASE(hw_bigdata_i2c_sensor_rear4_test), + {}, +}; + +struct kunit_case i2c_sensor_front_test_cases[] = { + KUNIT_CASE(hw_bigdata_i2c_sensor_front_test), + {}, +}; + +struct kunit_case i2c_sensor_front_top_test_cases[] = { + KUNIT_CASE(hw_bigdata_i2c_sensor_front_top_test), + {}, +}; + +struct kunit_case i2c_af_rear_test_cases[] = { + KUNIT_CASE(hw_bigdata_i2c_af_rear_test), + {}, +}; + +struct kunit_case i2c_af_rear2_test_cases[] = { + KUNIT_CASE(hw_bigdata_i2c_af_rear2_test), + {}, +}; + +struct kunit_case i2c_af_rear3_test_cases[] = { + KUNIT_CASE(hw_bigdata_i2c_af_rear3_test), + {}, +}; + +struct kunit_case i2c_af_rear4_test_cases[] = { + KUNIT_CASE(hw_bigdata_i2c_af_rear4_test), + {}, +}; + +struct kunit_case i2c_af_front_test_cases[] = { + KUNIT_CASE(hw_bigdata_i2c_af_front_test), + {}, +}; + +struct kunit_case i2c_af_front_top_test_cases[] = { + KUNIT_CASE(hw_bigdata_i2c_af_front_top_test), + {}, +}; + +struct kunit_case i2c_ois_rear_test_cases[] = { + KUNIT_CASE(hw_bigdata_i2c_ois_rear_test), + {}, +}; + +struct kunit_case i2c_ois_rear3_test_cases[] = { + KUNIT_CASE(hw_bigdata_i2c_ois_rear3_test), + {}, +}; + +struct kunit_case i2c_ois_rear4_test_cases[] = { + KUNIT_CASE(hw_bigdata_i2c_ois_rear4_test), + {}, +}; + +struct kunit_case mipi_sensor_rear_test_cases[] = { + KUNIT_CASE(hw_bigdata_mipi_sensor_rear_test), + {}, +}; + +struct kunit_case mipi_sensor_rear2_test_cases[] = { + KUNIT_CASE(hw_bigdata_mipi_sensor_rear2_test), + {}, +}; + +struct kunit_case mipi_sensor_rear3_test_cases[] = { + KUNIT_CASE(hw_bigdata_mipi_sensor_rear3_test), + {}, +}; + +struct kunit_case mipi_sensor_rear4_test_cases[] = { + KUNIT_CASE(hw_bigdata_mipi_sensor_rear4_test), + {}, +}; + +struct kunit_case mipi_sensor_front_test_cases[] = { + KUNIT_CASE(hw_bigdata_mipi_sensor_front_test), + {}, +}; + +struct kunit_case mipi_sensor_front_top_test_cases[] = { + KUNIT_CASE(hw_bigdata_mipi_sensor_front_top_test), + {}, +}; + +struct kunit_case mipi_init_param_test_cases[] = { + KUNIT_CASE(hw_bigdata_mipi_init_param_test), + {}, +}; + +struct kunit_case file_test_cases[] = { + KUNIT_CASE(hw_bigdata_file_test), + {}, +}; + +struct kunit_case update_rear_module_info_test_cases[] = { + KUNIT_CASE(eeprom_update_rear_module_info_test), + {}, +}; + +struct kunit_case update_rear2_module_info_test_cases[] = { + KUNIT_CASE(eeprom_update_rear2_module_info_test), + {}, +}; + +struct kunit_case update_rear3_module_info_test_cases[] = { + KUNIT_CASE(eeprom_update_rear3_module_info_test), + {}, +}; + +struct kunit_case update_rear4_module_info_test_cases[] = { + KUNIT_CASE(eeprom_update_rear4_module_info_test), + {}, +}; + +struct kunit_case update_front_module_info_test_cases[] = { + KUNIT_CASE(eeprom_update_front_module_info_test), + {}, +}; + +struct kunit_case rear_match_crc_test_cases[] = { + KUNIT_CASE(eeprom_rear_match_crc_test), + {}, +}; + +struct kunit_case rear2_match_crc_test_cases[] = { + KUNIT_CASE(eeprom_rear2_match_crc_test), + {}, +}; + +struct kunit_case rear3_match_crc_test_cases[] = { + KUNIT_CASE(eeprom_rear3_match_crc_test), + {}, +}; + +struct kunit_case rear4_match_crc_test_cases[] = { + KUNIT_CASE(eeprom_rear4_match_crc_test), + {}, +}; + +struct kunit_case front_match_crc_test_cases[] = { + KUNIT_CASE(eeprom_front_match_crc_test), + {}, +}; + +struct kunit_case calc_calmap_size_test_cases[] = { + KUNIT_CASE(eeprom_calc_calmap_size_test), + {}, +}; + +struct kunit_case get_custom_info_test_cases[] = { + KUNIT_CASE(eeprom_get_custom_info_test), + {}, +}; + +struct kunit_case fill_config_info_test_cases[] = { + KUNIT_CASE(eeprom_fill_config_info_test), + {}, +}; + +struct kunit_case apply_cdr_value_test_cases[] = { + KUNIT_CASE(cam_clock_data_recovery_apply_value_test), + {}, +}; + +struct kunit_case apply_result_value_test_cases[] = { + KUNIT_CASE(cam_clock_data_recovery_apply_result_test), + {}, +}; + +struct kunit_case cdr_write_normal_test_cases[] = { + KUNIT_CASE(cam_clock_data_recovery_write_normal_test), + {}, +}; + +struct kunit_case cdr_write_overflow1_test_cases[] = { + KUNIT_CASE(cam_clock_data_recovery_write_overflow1_test), + {}, +}; + +struct kunit_case cdr_write_overflow2_test_cases[] = { + KUNIT_CASE(cam_clock_data_recovery_write_overflow2_test), + {}, +}; + +struct kunit_case cdr_write_invalid_test_cases[] = { + KUNIT_CASE(cam_clock_data_recovery_write_invalid_test), + {}, +}; + +struct kunit_suite cam_kunit_i2c_sensor_rear = { + .name = "cam_kunit_i2c_sensor_rear_test", + .init = hw_bigdata_test_init, + .exit = hw_bigdata_test_exit, + .test_cases = i2c_sensor_rear_test_cases, +}; + +struct kunit_suite cam_kunit_i2c_sensor_rear2 = { + .name = "cam_kunit_i2c_sensor_rear2_test", + .init = hw_bigdata_test_init, + .exit = hw_bigdata_test_exit, + .test_cases = i2c_sensor_rear2_test_cases, +}; + +struct kunit_suite cam_kunit_i2c_sensor_rear3 = { + .name = "cam_kunit_i2c_sensor_rear3_test", + .init = hw_bigdata_test_init, + .exit = hw_bigdata_test_exit, + .test_cases = i2c_sensor_rear3_test_cases, +}; + +struct kunit_suite cam_kunit_i2c_sensor_rear4 = { + .name = "cam_kunit_i2c_sensor_rear4_test", + .init = hw_bigdata_test_init, + .exit = hw_bigdata_test_exit, + .test_cases = i2c_sensor_rear4_test_cases, +}; + +struct kunit_suite cam_kunit_i2c_sensor_front = { + .name = "cam_kunit_i2c_sensor_front_test", + .init = hw_bigdata_test_init, + .exit = hw_bigdata_test_exit, + .test_cases = i2c_sensor_front_test_cases, +}; + +struct kunit_suite cam_kunit_i2c_sensor_front_top = { + .name = "cam_kunit_i2c_sensor_front_top_test", + .init = hw_bigdata_test_init, + .exit = hw_bigdata_test_exit, + .test_cases = i2c_sensor_front_top_test_cases, +}; + +struct kunit_suite cam_kunit_i2c_af_rear = { + .name = "cam_kunit_i2c_af_rear_test", + .init = hw_bigdata_test_init, + .exit = hw_bigdata_test_exit, + .test_cases = i2c_af_rear_test_cases, +}; + +struct kunit_suite cam_kunit_i2c_af_rear2 = { + .name = "cam_kunit_i2c_af_rear2_test", + .init = hw_bigdata_test_init, + .exit = hw_bigdata_test_exit, + .test_cases = i2c_af_rear2_test_cases, +}; + +struct kunit_suite cam_kunit_i2c_af_rear3 = { + .name = "cam_kunit_i2c_af_rear3_test", + .init = hw_bigdata_test_init, + .exit = hw_bigdata_test_exit, + .test_cases = i2c_af_rear3_test_cases, +}; + +struct kunit_suite cam_kunit_i2c_af_rear4 = { + .name = "cam_kunit_i2c_af_rear4_test", + .init = hw_bigdata_test_init, + .exit = hw_bigdata_test_exit, + .test_cases = i2c_af_rear4_test_cases, +}; + +struct kunit_suite cam_kunit_i2c_af_front = { + .name = "cam_kunit_i2c_af_front_test", + .init = hw_bigdata_test_init, + .exit = hw_bigdata_test_exit, + .test_cases = i2c_af_front_test_cases, +}; + +struct kunit_suite cam_kunit_i2c_af_front_top = { + .name = "cam_kunit_i2c_af_front_top_test", + .init = hw_bigdata_test_init, + .exit = hw_bigdata_test_exit, + .test_cases = i2c_af_front_top_test_cases, +}; + +struct kunit_suite cam_kunit_i2c_ois_rear = { + .name = "cam_kunit_i2c_ois_rear_test", + .init = hw_bigdata_test_init, + .exit = hw_bigdata_test_exit, + .test_cases = i2c_ois_rear_test_cases, +}; + +struct kunit_suite cam_kunit_i2c_ois_rear3 = { + .name = "cam_kunit_i2c_ois_rear3_test", + .init = hw_bigdata_test_init, + .exit = hw_bigdata_test_exit, + .test_cases = i2c_ois_rear3_test_cases, +}; + +struct kunit_suite cam_kunit_i2c_ois_rear4 = { + .name = "cam_kunit_i2c_ois_rear4_test", + .init = hw_bigdata_test_init, + .exit = hw_bigdata_test_exit, + .test_cases = i2c_ois_rear4_test_cases, +}; + +struct kunit_suite cam_kunit_mipi_sensor_rear = { + .name = "cam_kunit_mipi_sensor_rear_test", + .init = hw_bigdata_test_init, + .exit = hw_bigdata_test_exit, + .test_cases = mipi_sensor_rear_test_cases, +}; + +struct kunit_suite cam_kunit_mipi_sensor_rear2 = { + .name = "cam_kunit_mipi_sensor_rear2_test", + .init = hw_bigdata_test_init, + .exit = hw_bigdata_test_exit, + .test_cases = mipi_sensor_rear2_test_cases, +}; + +struct kunit_suite cam_kunit_mipi_sensor_rear3 = { + .name = "cam_kunit_mipi_sensor_rear3_test", + .init = hw_bigdata_test_init, + .exit = hw_bigdata_test_exit, + .test_cases = mipi_sensor_rear3_test_cases, +}; + +struct kunit_suite cam_kunit_mipi_sensor_rear4 = { + .name = "cam_kunit_mipi_sensor_rear4_test", + .init = hw_bigdata_test_init, + .exit = hw_bigdata_test_exit, + .test_cases = mipi_sensor_rear4_test_cases, +}; + +struct kunit_suite cam_kunit_mipi_sensor_front = { + .name = "cam_kunit_mipi_sensor_front_test", + .init = hw_bigdata_test_init, + .exit = hw_bigdata_test_exit, + .test_cases = mipi_sensor_front_test_cases, +}; + +struct kunit_suite cam_kunit_mipi_sensor_front_top = { + .name = "cam_kunit_mipi_sensor_front_top_test", + .init = hw_bigdata_test_init, + .exit = hw_bigdata_test_exit, + .test_cases = mipi_sensor_front_top_test_cases, +}; + +struct kunit_suite cam_kunit_mipi_init_param = { + .name = "cam_kunit_mipi_init_param_test", + .init = hw_bigdata_test_init, + .exit = hw_bigdata_test_exit, + .test_cases = mipi_init_param_test_cases, +}; + +struct kunit_suite cam_kunit_file = { + .name = "cam_kunit_file_test", + .init = hw_bigdata_test_init, + .exit = hw_bigdata_test_exit, + .test_cases = file_test_cases, +}; + +struct kunit_suite cam_kunit_update_rear_module_info = { + .name = "cam_kunit_update_rear_module_info_test", + .init = eeprom_test_init, + .exit = eeprom_test_exit, + .test_cases = update_rear_module_info_test_cases, +}; + +struct kunit_suite cam_kunit_update_rear2_module_info = { + .name = "cam_kunit_update_rear2_module_info_test", + .init = eeprom_test_init, + .exit = eeprom_test_exit, + .test_cases = update_rear2_module_info_test_cases, +}; + +struct kunit_suite cam_kunit_update_rear3_module_info = { + .name = "cam_kunit_update_rear3_module_info_test", + .init = eeprom_test_init, + .exit = eeprom_test_exit, + .test_cases = update_rear3_module_info_test_cases, +}; + +struct kunit_suite cam_kunit_update_rear4_module_info = { + .name = "cam_kunit_update_rear4_module_info_test", + .init = eeprom_test_init, + .exit = eeprom_test_exit, + .test_cases = update_rear4_module_info_test_cases, +}; + +struct kunit_suite cam_kunit_update_front_module_info = { + .name = "cam_kunit_update_front_module_info_test", + .init = eeprom_test_init, + .exit = eeprom_test_exit, + .test_cases = update_front_module_info_test_cases, +}; + +struct kunit_suite cam_kunit_rear_match_crc = { + .name = "cam_kunit_rear_match_crc_test", + .init = eeprom_test_init, + .exit = eeprom_test_exit, + .test_cases = rear_match_crc_test_cases, +}; + +struct kunit_suite cam_kunit_rear2_match_crc = { + .name = "cam_kunit_rear2_match_crc_test", + .init = eeprom_test_init, + .exit = eeprom_test_exit, + .test_cases = rear2_match_crc_test_cases, +}; + +struct kunit_suite cam_kunit_rear3_match_crc = { + .name = "cam_kunit_rear3_match_crc_test", + .init = eeprom_test_init, + .exit = eeprom_test_exit, + .test_cases = rear3_match_crc_test_cases, +}; + +struct kunit_suite cam_kunit_rear4_match_crc = { + .name = "cam_kunit_rear4_match_crc_test", + .init = eeprom_test_init, + .exit = eeprom_test_exit, + .test_cases = rear4_match_crc_test_cases, +}; + +struct kunit_suite cam_kunit_front_match_crc = { + .name = "cam_kunit_front_match_crc_test", + .init = eeprom_test_init, + .exit = eeprom_test_exit, + .test_cases = front_match_crc_test_cases, +}; + +struct kunit_suite cam_kunit_calc_calmap_size = { + .name = "cam_kunit_calc_calmap_size_test", + .init = eeprom_test_init, + .exit = eeprom_test_exit, + .test_cases = calc_calmap_size_test_cases, +}; + +struct kunit_suite cam_kunit_get_custom_info = { + .name = "cam_kunit_get_custom_info_test", + .init = eeprom_test_init, + .exit = eeprom_test_exit, + .test_cases = get_custom_info_test_cases, +}; + +struct kunit_suite cam_kunit_fill_config_info = { + .name = "cam_kunit_fill_config_info_test", + .init = eeprom_test_init, + .exit = eeprom_test_exit, + .test_cases = fill_config_info_test_cases, +}; + +struct kunit_suite cam_kunit_apply_cdr_value = { + .name = "cam_kunit_apply_cdr_value_test", + .test_cases = apply_cdr_value_test_cases, +}; + +struct kunit_suite cam_kunit_apply_result_value = { + .name = "cam_kunit_apply_result_value_test", + .test_cases = apply_result_value_test_cases, +}; + +struct kunit_suite cam_kunit_cdr_write_normal = { + .name = "cam_kunit_cdr_write_normal_test", + .test_cases = cdr_write_normal_test_cases, +}; + +struct kunit_suite cam_kunit_cdr_write_overflow1 = { + .name = "cam_kunit_cdr_write_overflow1_test", + .test_cases = cdr_write_overflow1_test_cases, +}; + +struct kunit_suite cam_kunit_cdr_write_overflow2 = { + .name = "cam_kunit_cdr_write_overflow2_test", + .test_cases = cdr_write_overflow2_test_cases, +}; + +struct kunit_suite cam_kunit_cdr_write_invalid = { + .name = "cam_kunit_cdr_write_invalid_test", + .test_cases = cdr_write_invalid_test_cases, +}; + +int cam_kunit_hw_bigdata_test(void) +{ + CAM_INFO(CAM_UTIL, "Start"); + + kunit_run_tests(&cam_kunit_i2c_sensor_rear); + kunit_run_tests(&cam_kunit_i2c_sensor_rear2); + kunit_run_tests(&cam_kunit_i2c_sensor_rear3); + kunit_run_tests(&cam_kunit_i2c_sensor_rear4); + kunit_run_tests(&cam_kunit_i2c_sensor_front); + kunit_run_tests(&cam_kunit_i2c_sensor_front_top); + + kunit_run_tests(&cam_kunit_i2c_af_rear); + kunit_run_tests(&cam_kunit_i2c_af_rear2); + kunit_run_tests(&cam_kunit_i2c_af_rear3); + kunit_run_tests(&cam_kunit_i2c_af_rear4); + kunit_run_tests(&cam_kunit_i2c_af_front); + kunit_run_tests(&cam_kunit_i2c_af_front_top); + + kunit_run_tests(&cam_kunit_i2c_ois_rear); + kunit_run_tests(&cam_kunit_i2c_ois_rear3); + kunit_run_tests(&cam_kunit_i2c_ois_rear4); + + kunit_run_tests(&cam_kunit_mipi_sensor_rear); + kunit_run_tests(&cam_kunit_mipi_sensor_rear2); + kunit_run_tests(&cam_kunit_mipi_sensor_rear3); + kunit_run_tests(&cam_kunit_mipi_sensor_rear4); + kunit_run_tests(&cam_kunit_mipi_sensor_front); + kunit_run_tests(&cam_kunit_mipi_sensor_front_top); + + kunit_run_tests(&cam_kunit_mipi_init_param); + kunit_run_tests(&cam_kunit_file); + + CAM_INFO(CAM_UTIL, "End"); + + return 0; +} + +int cam_kunit_eeprom_test(void) +{ + CAM_INFO(CAM_UTIL, "Start"); + + kunit_run_tests(&cam_kunit_update_rear_module_info); + kunit_run_tests(&cam_kunit_update_rear2_module_info); + kunit_run_tests(&cam_kunit_update_rear3_module_info); + kunit_run_tests(&cam_kunit_update_rear4_module_info); + kunit_run_tests(&cam_kunit_update_front_module_info); + + kunit_run_tests(&cam_kunit_rear_match_crc); + kunit_run_tests(&cam_kunit_rear2_match_crc); + kunit_run_tests(&cam_kunit_rear3_match_crc); + kunit_run_tests(&cam_kunit_rear4_match_crc); + kunit_run_tests(&cam_kunit_front_match_crc); + + kunit_run_tests(&cam_kunit_calc_calmap_size); + kunit_run_tests(&cam_kunit_get_custom_info); + kunit_run_tests(&cam_kunit_fill_config_info); + + CAM_INFO(CAM_UTIL, "End"); + + return 0; +} + +int cam_kunit_clock_data_recovery_test(void) +{ + CAM_INFO(CAM_UTIL, "Start"); + + kunit_run_tests(&cam_kunit_apply_cdr_value); + kunit_run_tests(&cam_kunit_apply_result_value); + + kunit_run_tests(&cam_kunit_cdr_write_normal); + kunit_run_tests(&cam_kunit_cdr_write_overflow1); + kunit_run_tests(&cam_kunit_cdr_write_overflow2); + kunit_run_tests(&cam_kunit_cdr_write_invalid); + + CAM_INFO(CAM_UTIL, "End"); + + return 0; +} + +MODULE_LICENSE("GPL v2"); diff --git a/qcom/opensource/camera-kernel/drivers/kunit_test/camera_kunit_main.h b/qcom/opensource/camera-kernel/drivers/kunit_test/camera_kunit_main.h new file mode 100755 index 0000000000..47d782907d --- /dev/null +++ b/qcom/opensource/camera-kernel/drivers/kunit_test/camera_kunit_main.h @@ -0,0 +1,14 @@ +#ifndef _CAMERA_KUNIT_MAIN_H_ +#define _CAMERA_KUNIT_MAIN_H_ + +#include +#include +#include "cam_hw_bigdata_test.h" +#include "cam_sec_eeprom_core_test.h" +#include "cam_clock_data_recovery_test.h" + +extern int cam_kunit_hw_bigdata_test(void); +extern int cam_kunit_eeprom_test(void); +extern int cam_kunit_clock_data_recovery_test(void); + +#endif /* _CAMERA_KUNIT_MAIN_H_ */ \ No newline at end of file diff --git a/qcom/opensource/camera-kernel/include/uapi/camera/media/cam_sensor.h b/qcom/opensource/camera-kernel/include/uapi/camera/media/cam_sensor.h index 84191bee59..7eec31f2a7 100644 --- a/qcom/opensource/camera-kernel/include/uapi/camera/media/cam_sensor.h +++ b/qcom/opensource/camera-kernel/include/uapi/camera/media/cam_sensor.h @@ -81,6 +81,9 @@ enum cam_ois_packet_opcodes { CAM_OIS_PACKET_OPCODE_OIS_CONTROL, CAM_OIS_PACKET_OPCODE_READ, CAM_OIS_PACKET_OPCODE_WRITE_TIME +#if 1//defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + ,CAM_OIS_PACKET_OPCODE_CONFIG_DRIVER_OUTPUT = 0x100, +#endif }; enum camera_sensor_i2c_op_code { @@ -126,6 +129,9 @@ enum cam_sensor_packet_opcodes { CAM_SENSOR_PACKET_OPCODE_SENSOR_REG_BANK_LOCK, CAM_SENSOR_PACKET_OPCODE_SENSOR_BUBBLE_UPDATE, CAM_SENSOR_PACKET_OPCODE_SENSOR_NOP = 127, +#if 1//defined(CONFIG_CAMERA_ADAPTIVE_MIPI) + CAM_SENSOR_PACKET_OPCODE_SENSOR_MODE = 0x100, +#endif }; enum cam_endianness_type { @@ -384,6 +390,10 @@ struct cam_sensor_res_info { char caps[64]; __u32 num_valid_params; __u32 valid_param_mask; +#if defined(CONFIG_SAMSUNG_DEBUG_SENSOR_TIMING) + __u32 shooting_mode; + char shooting_mode_name[40]; +#endif __u16 params[3]; } __attribute__((packed)); @@ -421,6 +431,12 @@ struct cam_cmd_ois_info { __u8 is_ois_calib; char ois_name[MAX_OIS_NAME_SIZE]; struct cam_ois_opcode opcode; +#if 1//defined(CONFIG_SAMSUNG_OIS_MCU_STM32) + __u32 gyro_raw_x; + __u32 gyro_raw_y; + __u32 gyro_raw_z; + __u32 efs_cal; +#endif } __attribute__((packed)); @@ -487,6 +503,15 @@ struct cam_cmd_ois_fw_info { __u32 params[4]; } __attribute__((packed)); + +#if 1//defined(CONFIG_SAMSUNG_OIS_MCU_STM32) +struct cam_cmd_ois_driver_output { + __u8 onoff; + __u32 driver_output_mask; + __u8 reserved[3]; +} __attribute__((packed)); +#endif + /** * struct cam_cmd_probe - Contains sensor slave info * @@ -823,6 +848,19 @@ struct cam_sensor_acquire_dev { __u64 info_handle; } __attribute__((packed)); +#if 1//defined(CONFIG_SAMSUNG_OIS_MCU_STM32) +/** + * cam_sensor_release_dev : Updates sensor acuire cmd + * @session_handle : Session handle for acquiring device + * @device_handle : Updates device handle + * + */ +struct cam_sensor_release_dev { + __u32 session_handle; + __u32 device_handle; +} __attribute__((packed)); +#endif + /** * cam_tpg_acquire_dev : Updates tpg acuire cmd * @device_handle : Updates device handle