msm: camera: csiphy: Add combo phy settings for csiphy v1.2.2.2
As per HPG revision L, there's a difference in the DPHY combo-mode sequence settings between lito v1 and v2. This change adds a separate sequence for lito v2, csiphy version 1.2.2.2. CRs-Fixed: 2591712 Change-Id: Ic535bd2c98f47c33aa689d0e1bfe07d7dac8d9a2 Signed-off-by: Shravan Nevatia <snevatia@codeaurora.org>
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

parent
d95d140d40
commit
b68a69b788
@@ -9,6 +9,7 @@
|
|||||||
#include "include/cam_csiphy_1_0_hwreg.h"
|
#include "include/cam_csiphy_1_0_hwreg.h"
|
||||||
#include "include/cam_csiphy_1_2_hwreg.h"
|
#include "include/cam_csiphy_1_2_hwreg.h"
|
||||||
#include "include/cam_csiphy_1_2_1_hwreg.h"
|
#include "include/cam_csiphy_1_2_1_hwreg.h"
|
||||||
|
#include "include/cam_csiphy_1_2_2_hwreg.h"
|
||||||
#include "include/cam_csiphy_1_2_3_hwreg.h"
|
#include "include/cam_csiphy_1_2_3_hwreg.h"
|
||||||
#include "include/cam_csiphy_2_0_hwreg.h"
|
#include "include/cam_csiphy_2_0_hwreg.h"
|
||||||
|
|
||||||
@@ -311,6 +312,27 @@ int32_t cam_csiphy_parse_dt_info(struct platform_device *pdev,
|
|||||||
csiphy_dev->clk_lane = 0;
|
csiphy_dev->clk_lane = 0;
|
||||||
csiphy_dev->ctrl_reg->data_rates_settings_table =
|
csiphy_dev->ctrl_reg->data_rates_settings_table =
|
||||||
&data_rate_delta_table_1_2;
|
&data_rate_delta_table_1_2;
|
||||||
|
} else if (of_device_is_compatible(soc_info->dev->of_node,
|
||||||
|
"qcom,csiphy-v1.2.2.2")) {
|
||||||
|
/* settings for lito v2 */
|
||||||
|
csiphy_dev->ctrl_reg->csiphy_2ph_reg = csiphy_2ph_v1_2_reg;
|
||||||
|
csiphy_dev->ctrl_reg->csiphy_2ph_combo_mode_reg =
|
||||||
|
csiphy_2ph_v1_2_2_combo_mode_reg;
|
||||||
|
csiphy_dev->ctrl_reg->csiphy_3ph_reg = csiphy_3ph_v1_2_reg;
|
||||||
|
csiphy_dev->ctrl_reg->csiphy_2ph_3ph_mode_reg = NULL;
|
||||||
|
csiphy_dev->ctrl_reg->csiphy_irq_reg = csiphy_irq_reg_1_2;
|
||||||
|
csiphy_dev->ctrl_reg->csiphy_common_reg =
|
||||||
|
csiphy_common_reg_1_2;
|
||||||
|
csiphy_dev->ctrl_reg->csiphy_reset_reg =
|
||||||
|
csiphy_reset_reg_1_2;
|
||||||
|
csiphy_dev->ctrl_reg->getclockvoting = get_clk_vote_default;
|
||||||
|
csiphy_dev->ctrl_reg->csiphy_reg = csiphy_v1_2;
|
||||||
|
csiphy_dev->is_csiphy_3phase_hw = CSI_3PHASE_HW;
|
||||||
|
csiphy_dev->is_divisor_32_comp = false;
|
||||||
|
csiphy_dev->hw_version = CSIPHY_VERSION_V12;
|
||||||
|
csiphy_dev->clk_lane = 0;
|
||||||
|
csiphy_dev->ctrl_reg->data_rates_settings_table =
|
||||||
|
&data_rate_delta_table_1_2;
|
||||||
} else if (of_device_is_compatible(soc_info->dev->of_node,
|
} else if (of_device_is_compatible(soc_info->dev->of_node,
|
||||||
"qcom,csiphy-v1.2.3")) {
|
"qcom,csiphy-v1.2.3")) {
|
||||||
csiphy_dev->ctrl_reg->csiphy_2ph_reg = csiphy_2ph_v1_2_3_reg;
|
csiphy_dev->ctrl_reg->csiphy_2ph_reg = csiphy_2ph_v1_2_3_reg;
|
||||||
|
@@ -0,0 +1,115 @@
|
|||||||
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2019, The Linux Foundation. All rights reserved.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _CAM_CSIPHY_1_2_2_HWREG_H_
|
||||||
|
#define _CAM_CSIPHY_1_2_2_HWREG_H_
|
||||||
|
|
||||||
|
#include "../cam_csiphy_dev.h"
|
||||||
|
|
||||||
|
struct csiphy_reg_t
|
||||||
|
csiphy_2ph_v1_2_2_combo_mode_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
|
||||||
|
{
|
||||||
|
{0x0030, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x002C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0034, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0010, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x001C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0014, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0028, 0x00, 0x00, CSIPHY_DNP_PARAMS},
|
||||||
|
{0x003C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0000, 0x91, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0004, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0020, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0024, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0008, 0x10, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
|
||||||
|
{0x0038, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x005C, 0xC0, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0060, 0x0D, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0064, 0x7F, 0x00, CSIPHY_DNP_PARAMS},
|
||||||
|
{0x0800, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{0x0730, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x072C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0734, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0710, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x071C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0714, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0728, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x073C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0700, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0704, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0720, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0724, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0708, 0x10, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
|
||||||
|
{0x070C, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0738, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0800, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0000, 0x00, 0x00, CSIPHY_DNP_PARAMS},
|
||||||
|
{0x0000, 0x00, 0x00, CSIPHY_DNP_PARAMS},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{0x0230, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x022C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0234, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0210, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x021C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0214, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0228, 0x00, 0x00, CSIPHY_DNP_PARAMS},
|
||||||
|
{0x023C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0200, 0x91, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0204, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0220, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0224, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0208, 0x10, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
|
||||||
|
{0x0238, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x025C, 0xC0, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0260, 0x0D, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0264, 0x7F, 0x00, CSIPHY_DNP_PARAMS},
|
||||||
|
{0x0800, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{0x0430, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x042C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0434, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0410, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x041C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0414, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0428, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x043C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0400, 0x91, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0404, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0420, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0424, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0408, 0x10, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
|
||||||
|
{0x0438, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x045C, 0xC0, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0460, 0x0D, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0464, 0x7F, 0x00, CSIPHY_DNP_PARAMS},
|
||||||
|
{0x0800, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{0x0630, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x062C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0634, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0610, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x061C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0614, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0628, 0x0E, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x063C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0600, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0604, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0620, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0624, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0608, 0x10, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
|
||||||
|
{0x060C, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0638, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0800, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||||
|
{0x0000, 0x00, 0x00, CSIPHY_DNP_PARAMS},
|
||||||
|
{0x0000, 0x00, 0x00, CSIPHY_DNP_PARAMS},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* _CAM_CSIPHY_1_2_2_HWREG_H_ */
|
Reference in New Issue
Block a user