mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 21:59:12 -04:00
msm: camera: Update csiphy settings for lito
Update the register settings for CPHY 3phase. Change-Id: I5cdc5cd348f9f861215206c59e674efdcdc7159c Signed-off-by: Shankar Ravi <rshankar@codeaurora.org>
This commit is contained in:
parent
f8b0159a3e
commit
391b3fa3d6
2 changed files with 31 additions and 62 deletions
|
|
@ -302,14 +302,13 @@ int32_t cam_csiphy_parse_dt_info(struct platform_device *pdev,
|
|||
csiphy_common_reg_1_2;
|
||||
csiphy_dev->ctrl_reg->csiphy_reset_reg =
|
||||
csiphy_reset_reg_1_2;
|
||||
csiphy_dev->ctrl_reg->getclockvoting = get_clk_voting_dynamic;
|
||||
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 = true;
|
||||
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;
|
||||
csiphy_dev->ctrl_reg->data_rates_settings_table = NULL;
|
||||
} 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;
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@ struct csiphy_reg_parms_t csiphy_v1_2 = {
|
|||
.mipi_csiphy_interrupt_status0_addr = 0x8B0,
|
||||
.mipi_csiphy_interrupt_clear0_addr = 0x858,
|
||||
.mipi_csiphy_glbl_irq_cmd_addr = 0x828,
|
||||
.csiphy_common_array_size = 6,
|
||||
.csiphy_reset_array_size = 5,
|
||||
.csiphy_2ph_config_array_size = 22,
|
||||
.csiphy_3ph_config_array_size = 38,
|
||||
.csiphy_common_array_size = 5,
|
||||
.csiphy_reset_array_size = 4,
|
||||
.csiphy_2ph_config_array_size = 21,
|
||||
.csiphy_3ph_config_array_size = 32,
|
||||
.csiphy_2ph_clock_lane = 0x1,
|
||||
.csiphy_2ph_combo_ck_ln = 0x10,
|
||||
};
|
||||
|
|
@ -23,17 +23,15 @@ struct csiphy_reg_parms_t csiphy_v1_2 = {
|
|||
struct csiphy_reg_t csiphy_common_reg_1_2[] = {
|
||||
{0x0814, 0xd5, 0x00, CSIPHY_LANE_ENABLE},
|
||||
{0x0818, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x081C, 0x02, 0x00, CSIPHY_2PH_REGS},
|
||||
{0x081C, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0800, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x081C, 0x52, 0x00, CSIPHY_3PH_REGS},
|
||||
{0x0800, 0x02, 0x00, CSIPHY_2PH_REGS},
|
||||
{0x0800, 0x0E, 0x00, CSIPHY_3PH_REGS},
|
||||
};
|
||||
|
||||
struct csiphy_reg_t csiphy_reset_reg_1_2[] = {
|
||||
{0x0814, 0x00, 0x05, CSIPHY_LANE_ENABLE},
|
||||
{0x0818, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x081C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0800, 0x01, 0x01, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0800, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
};
|
||||
|
||||
|
|
@ -71,11 +69,10 @@ csiphy_reg_t csiphy_2ph_v1_2_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
|
|||
{0x0000, 0x91, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0004, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0020, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0008, 0x10, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
|
||||
{0x0008, 0x04, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
|
||||
{0x000c, 0x00, 0x00, CSIPHY_DNP_PARAMS},
|
||||
{0x0010, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0038, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0800, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
},
|
||||
{
|
||||
{0x0730, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
|
|
@ -99,7 +96,6 @@ csiphy_reg_t csiphy_2ph_v1_2_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
|
|||
{0x070c, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0710, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0738, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0800, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
},
|
||||
{
|
||||
{0x0230, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
|
|
@ -123,7 +119,6 @@ csiphy_reg_t csiphy_2ph_v1_2_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
|
|||
{0x020c, 0x00, 0x00, CSIPHY_DNP_PARAMS},
|
||||
{0x0210, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0238, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0800, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
},
|
||||
{
|
||||
{0x0430, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
|
|
@ -147,7 +142,6 @@ csiphy_reg_t csiphy_2ph_v1_2_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
|
|||
{0x040c, 0x00, 0x00, CSIPHY_DNP_PARAMS},
|
||||
{0x0410, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0438, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0800, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
},
|
||||
{
|
||||
{0x0630, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
|
|
@ -171,7 +165,6 @@ csiphy_reg_t csiphy_2ph_v1_2_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
|
|||
{0x060c, 0x00, 0x00, CSIPHY_DNP_PARAMS},
|
||||
{0x0610, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0638, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0800, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
},
|
||||
};
|
||||
|
||||
|
|
@ -195,11 +188,10 @@ struct csiphy_reg_t
|
|||
{0x0000, 0x91, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0004, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0020, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0008, 0x10, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
|
||||
{0x0008, 0x04, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
|
||||
{0x000c, 0x00, 0x00, CSIPHY_DNP_PARAMS},
|
||||
{0x0010, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0038, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0800, 0x00, 0x00, CSIPHY_DNP_PARAMS},
|
||||
},
|
||||
{
|
||||
{0x0730, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
|
|
@ -223,7 +215,6 @@ struct csiphy_reg_t
|
|||
{0x070c, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0710, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0738, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0800, 0x00, 0x00, CSIPHY_DNP_PARAMS},
|
||||
},
|
||||
{
|
||||
{0x0230, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
|
|
@ -247,7 +238,6 @@ struct csiphy_reg_t
|
|||
{0x020c, 0x00, 0x00, CSIPHY_DNP_PARAMS},
|
||||
{0x0210, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0238, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0800, 0x00, 0x00, CSIPHY_DNP_PARAMS},
|
||||
},
|
||||
{
|
||||
{0x0430, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
|
|
@ -271,7 +261,6 @@ struct csiphy_reg_t
|
|||
{0x040c, 0x00, 0x00, CSIPHY_DNP_PARAMS},
|
||||
{0x0410, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0438, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0800, 0x00, 0x00, CSIPHY_DNP_PARAMS},
|
||||
},
|
||||
{
|
||||
{0x0630, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
|
|
@ -295,14 +284,13 @@ struct csiphy_reg_t
|
|||
{0x060c, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0610, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0638, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0800, 0x00, 0x00, CSIPHY_DNP_PARAMS},
|
||||
},
|
||||
};
|
||||
|
||||
struct
|
||||
csiphy_reg_t csiphy_3ph_v1_2_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
|
||||
{
|
||||
{0x015C, 0x66, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x015C, 0x40, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0990, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0994, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0998, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
|
|
@ -310,10 +298,10 @@ csiphy_reg_t csiphy_3ph_v1_2_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
|
|||
{0x0994, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0998, 0x1A, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x098C, 0xAF, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0168, 0xAC, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x016C, 0xAD, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0168, 0xA0, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x016C, 0x25, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0104, 0x06, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x010C, 0x07, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
|
||||
{0x010C, 0x12, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
|
||||
{0x0108, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE},
|
||||
{0x0114, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0150, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
|
|
@ -331,29 +319,23 @@ csiphy_reg_t csiphy_3ph_v1_2_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
|
|||
{0x01CC, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0164, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x01DC, 0x50, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x09C0, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x09C4, 0x7D, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x09C8, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0984, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0988, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0980, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x09B0, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x09B4, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0800, 0x0E, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0984, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
},
|
||||
{
|
||||
{0x035C, 0x66, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x035C, 0x40, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A90, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A98, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A90, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A98, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A8C, 0xBF, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0368, 0xAC, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x036C, 0xAD, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A94, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A98, 0x1A, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A8C, 0xAF, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0368, 0xA0, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x036C, 0x25, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0304, 0x06, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x030C, 0x07, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
|
||||
{0x030C, 0x12, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
|
||||
{0x0308, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE},
|
||||
{0x0314, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0350, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
|
|
@ -371,18 +353,12 @@ csiphy_reg_t csiphy_3ph_v1_2_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
|
|||
{0x03CC, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0364, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x03DC, 0x50, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0AC0, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0AC4, 0x7D, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0AC8, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A84, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A88, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A80, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0AB0, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0AB4, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0AB0, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0800, 0x0E, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0A84, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
},
|
||||
{
|
||||
{0x055C, 0x66, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x055C, 0x40, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0B90, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0B94, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0B98, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
|
|
@ -390,10 +366,10 @@ csiphy_reg_t csiphy_3ph_v1_2_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
|
|||
{0x0B94, 0x08, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0B98, 0x1A, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0B8C, 0xAF, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0568, 0xAC, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x056C, 0xAD, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0568, 0xA0, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x056C, 0x25, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0504, 0x06, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x050C, 0x07, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
|
||||
{0x050C, 0x12, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
|
||||
{0x0508, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE},
|
||||
{0x0514, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0550, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
|
|
@ -411,15 +387,9 @@ csiphy_reg_t csiphy_3ph_v1_2_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = {
|
|||
{0x05CC, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0564, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x05DC, 0x50, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0BC0, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0BC4, 0x7D, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0BC8, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0B84, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0B88, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0B80, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0BB0, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0BB4, 0x03, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0BB0, 0x05, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0800, 0x0E, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
{0x0B84, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS},
|
||||
},
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue