Loading drivers/cam_sensor_module/cam_csiphy/cam_csiphy_soc.c +2 −1 Original line number Diff line number Diff line Loading @@ -446,7 +446,8 @@ int32_t cam_csiphy_parse_dt_info(struct platform_device *pdev, csiphy_dev->is_divisor_32_comp = false; csiphy_dev->hw_version = CSIPHY_VERSION_V125; csiphy_dev->clk_lane = 0; csiphy_dev->ctrl_reg->data_rates_settings_table = NULL; csiphy_dev->ctrl_reg->data_rates_settings_table = &data_rate_delta_table_1_2_5; } else if (of_device_is_compatible(soc_info->dev->of_node, "qcom,csiphy-v2.0")) { csiphy_dev->ctrl_reg->csiphy_2ph_reg = csiphy_2ph_v2_0_reg; Loading drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_1_2_5_hwreg.h +169 −1 Original line number Diff line number Diff line /* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (c) 2020, The Linux Foundation. All rights reserved. * Copyright (c) 2021, The Linux Foundation. All rights reserved. */ #ifndef _CAM_CSIPHY_1_2_5_HWREG_H_ Loading Loading @@ -392,4 +392,172 @@ csiphy_reg_t csiphy_3ph_v1_2_5_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = { }, }; struct data_rate_settings_t data_rate_delta_table_1_2_5 = { .num_data_rate_settings = 3, .data_rate_settings = { { /* (2.5 * 10**3 * 2.28) rounded value*/ .bandwidth = 5700000000, .data_rate_reg_array_size = 4, .per_lane_info = { { .lane_identifier = CPHY_LANE_0, .csiphy_data_rate_regs = { {0x010C, 0x12, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, {0x0108, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, {0x144, 0x22, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x9B4, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, }, }, { .lane_identifier = CPHY_LANE_1, .csiphy_data_rate_regs = { {0x030C, 0x12, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, {0x0308, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, {0x344, 0x22, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xAB4, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, }, }, { .lane_identifier = CPHY_LANE_2, .csiphy_data_rate_regs = { {0x050C, 0x12, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, {0x0508, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, {0x544, 0x22, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xBB4, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, }, }, }, }, { /* (3.5 * 10**3 * 2.28) rounded value */ .bandwidth = 7980000000, .data_rate_reg_array_size = 6, .per_lane_info = { { .lane_identifier = CPHY_LANE_0, .csiphy_data_rate_regs = { {0x010C, 0x08, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, {0x0108, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, {0x144, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x988, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x980, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x9B4, 0x02, 0x0A, CSIPHY_DEFAULT_PARAMS}, }, }, { .lane_identifier = CPHY_LANE_1, .csiphy_data_rate_regs = { {0x030C, 0x08, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, {0x0308, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, {0x344, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xA88, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xA80, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xAB4, 0x02, 0x0A, CSIPHY_DEFAULT_PARAMS}, }, }, { .lane_identifier = CPHY_LANE_2, .csiphy_data_rate_regs = { {0x050C, 0x08, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, {0x0508, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, {0x544, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xB88, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xB80, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xBB4, 0x02, 0x0A, CSIPHY_DEFAULT_PARAMS}, }, }, }, }, { /* (4.5 * 10**3 * 2.28) rounded value */ .bandwidth = 10260000000, .data_rate_reg_array_size = 6, .per_lane_info = { { .lane_identifier = CPHY_LANE_0, .csiphy_data_rate_regs = { {0x010C, 0x08, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, {0x0108, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, {0x144, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x988, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x980, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x9B4, 0x01, 0x0A, CSIPHY_DEFAULT_PARAMS}, }, }, { .lane_identifier = CPHY_LANE_1, .csiphy_data_rate_regs = { {0x030C, 0x08, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, {0x0308, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, {0x344, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xA88, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xA80, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xAB4, 0x01, 0x0A, CSIPHY_DEFAULT_PARAMS}, }, }, { .lane_identifier = CPHY_LANE_2, .csiphy_data_rate_regs = { {0x050C, 0x08, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, {0x0508, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, {0x544, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xB88, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xB80, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xBB4, 0x01, 0x0A, CSIPHY_DEFAULT_PARAMS}, }, }, }, }, }, }; #endif /* _CAM_CSIPHY_1_2_5_HWREG_H_ */ Loading
drivers/cam_sensor_module/cam_csiphy/cam_csiphy_soc.c +2 −1 Original line number Diff line number Diff line Loading @@ -446,7 +446,8 @@ int32_t cam_csiphy_parse_dt_info(struct platform_device *pdev, csiphy_dev->is_divisor_32_comp = false; csiphy_dev->hw_version = CSIPHY_VERSION_V125; csiphy_dev->clk_lane = 0; csiphy_dev->ctrl_reg->data_rates_settings_table = NULL; csiphy_dev->ctrl_reg->data_rates_settings_table = &data_rate_delta_table_1_2_5; } else if (of_device_is_compatible(soc_info->dev->of_node, "qcom,csiphy-v2.0")) { csiphy_dev->ctrl_reg->csiphy_2ph_reg = csiphy_2ph_v2_0_reg; Loading
drivers/cam_sensor_module/cam_csiphy/include/cam_csiphy_1_2_5_hwreg.h +169 −1 Original line number Diff line number Diff line /* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (c) 2020, The Linux Foundation. All rights reserved. * Copyright (c) 2021, The Linux Foundation. All rights reserved. */ #ifndef _CAM_CSIPHY_1_2_5_HWREG_H_ Loading Loading @@ -392,4 +392,172 @@ csiphy_reg_t csiphy_3ph_v1_2_5_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = { }, }; struct data_rate_settings_t data_rate_delta_table_1_2_5 = { .num_data_rate_settings = 3, .data_rate_settings = { { /* (2.5 * 10**3 * 2.28) rounded value*/ .bandwidth = 5700000000, .data_rate_reg_array_size = 4, .per_lane_info = { { .lane_identifier = CPHY_LANE_0, .csiphy_data_rate_regs = { {0x010C, 0x12, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, {0x0108, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, {0x144, 0x22, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x9B4, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, }, }, { .lane_identifier = CPHY_LANE_1, .csiphy_data_rate_regs = { {0x030C, 0x12, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, {0x0308, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, {0x344, 0x22, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xAB4, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, }, }, { .lane_identifier = CPHY_LANE_2, .csiphy_data_rate_regs = { {0x050C, 0x12, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, {0x0508, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, {0x544, 0x22, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xBB4, 0x03, 0x0A, CSIPHY_DEFAULT_PARAMS}, }, }, }, }, { /* (3.5 * 10**3 * 2.28) rounded value */ .bandwidth = 7980000000, .data_rate_reg_array_size = 6, .per_lane_info = { { .lane_identifier = CPHY_LANE_0, .csiphy_data_rate_regs = { {0x010C, 0x08, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, {0x0108, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, {0x144, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x988, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x980, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x9B4, 0x02, 0x0A, CSIPHY_DEFAULT_PARAMS}, }, }, { .lane_identifier = CPHY_LANE_1, .csiphy_data_rate_regs = { {0x030C, 0x08, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, {0x0308, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, {0x344, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xA88, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xA80, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xAB4, 0x02, 0x0A, CSIPHY_DEFAULT_PARAMS}, }, }, { .lane_identifier = CPHY_LANE_2, .csiphy_data_rate_regs = { {0x050C, 0x08, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, {0x0508, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, {0x544, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xB88, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xB80, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xBB4, 0x02, 0x0A, CSIPHY_DEFAULT_PARAMS}, }, }, }, }, { /* (4.5 * 10**3 * 2.28) rounded value */ .bandwidth = 10260000000, .data_rate_reg_array_size = 6, .per_lane_info = { { .lane_identifier = CPHY_LANE_0, .csiphy_data_rate_regs = { {0x010C, 0x08, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, {0x0108, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, {0x144, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x988, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x980, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x9B4, 0x01, 0x0A, CSIPHY_DEFAULT_PARAMS}, }, }, { .lane_identifier = CPHY_LANE_1, .csiphy_data_rate_regs = { {0x030C, 0x08, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, {0x0308, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, {0x344, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xA88, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xA80, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xAB4, 0x01, 0x0A, CSIPHY_DEFAULT_PARAMS}, }, }, { .lane_identifier = CPHY_LANE_2, .csiphy_data_rate_regs = { {0x050C, 0x08, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, {0x0508, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, {0x544, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xB88, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xB80, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, {0xBB4, 0x01, 0x0A, CSIPHY_DEFAULT_PARAMS}, }, }, }, }, }, }; #endif /* _CAM_CSIPHY_1_2_5_HWREG_H_ */