Lines Matching +full:0 +full:x52
3 * camss-csiphy-3ph-1-0.c
5 * Qualcomm MSM Camera Subsystem - CSIPHY Module 3phase v1.0
18 #define CSIPHY_3PH_LNn_CFG1(n) (0x000 + 0x100 * (n))
20 #define CSIPHY_3PH_LNn_CFG2(n) (0x004 + 0x100 * (n))
22 #define CSIPHY_3PH_LNn_CFG3(n) (0x008 + 0x100 * (n))
23 #define CSIPHY_3PH_LNn_CFG4(n) (0x00c + 0x100 * (n))
24 #define CSIPHY_3PH_LNn_CFG4_T_HS_CLK_MISS 0xa4
25 #define CSIPHY_3PH_LNn_CFG4_T_HS_CLK_MISS_660 0xa5
26 #define CSIPHY_3PH_LNn_CFG5(n) (0x010 + 0x100 * (n))
27 #define CSIPHY_3PH_LNn_CFG5_T_HS_DTERM 0x02
28 #define CSIPHY_3PH_LNn_CFG5_HS_REC_EQ_FQ_INT 0x50
29 #define CSIPHY_3PH_LNn_TEST_IMP(n) (0x01c + 0x100 * (n))
30 #define CSIPHY_3PH_LNn_TEST_IMP_HS_TERM_IMP 0xa
31 #define CSIPHY_3PH_LNn_MISC1(n) (0x028 + 0x100 * (n))
33 #define CSIPHY_3PH_LNn_CFG6(n) (0x02c + 0x100 * (n))
34 #define CSIPHY_3PH_LNn_CFG6_SWI_FORCE_INIT_EXIT BIT(0)
35 #define CSIPHY_3PH_LNn_CFG7(n) (0x030 + 0x100 * (n))
36 #define CSIPHY_3PH_LNn_CFG7_SWI_T_INIT 0x2
37 #define CSIPHY_3PH_LNn_CFG8(n) (0x034 + 0x100 * (n))
38 #define CSIPHY_3PH_LNn_CFG8_SWI_SKIP_WAKEUP BIT(0)
40 #define CSIPHY_3PH_LNn_CFG9(n) (0x038 + 0x100 * (n))
41 #define CSIPHY_3PH_LNn_CFG9_SWI_T_WAKEUP 0x1
42 #define CSIPHY_3PH_LNn_CSI_LANE_CTRL15(n) (0x03c + 0x100 * (n))
43 #define CSIPHY_3PH_LNn_CSI_LANE_CTRL15_SWI_SOT_SYMBOL 0xb8
45 #define CSIPHY_3PH_CMN_CSI_COMMON_CTRLn(n) (0x800 + 0x4 * (n))
46 #define CSIPHY_3PH_CMN_CSI_COMMON_CTRL6_COMMON_PWRDN_B BIT(0)
48 #define CSIPHY_3PH_CMN_CSI_COMMON_STATUSn(n) (0x8b0 + 0x4 * (n))
50 #define CSIPHY_DEFAULT_PARAMS 0
68 {0x0004, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS},
69 {0x002C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
70 {0x0034, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS},
71 {0x001C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS},
72 {0x0014, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
73 {0x0028, 0x00, 0x00, CSIPHY_DNP_PARAMS},
74 {0x003C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS},
75 {0x0000, 0x91, 0x00, CSIPHY_DEFAULT_PARAMS},
76 {0x0008, 0x00, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
77 {0x000c, 0x00, 0x00, CSIPHY_DNP_PARAMS},
78 {0x0010, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
79 {0x0038, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS},
80 {0x0060, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
81 {0x0064, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS},
84 {0x0704, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS},
85 {0x072C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
86 {0x0734, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS},
87 {0x071C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS},
88 {0x0714, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
89 {0x0728, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS},
90 {0x073C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS},
91 {0x0700, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS},
92 {0x0708, 0x14, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
93 {0x070C, 0xA5, 0x00, CSIPHY_DEFAULT_PARAMS},
94 {0x0710, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
95 {0x0738, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS},
96 {0x0760, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
97 {0x0764, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS},
100 {0x0204, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS},
101 {0x022C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
102 {0x0234, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS},
103 {0x021C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS},
104 {0x0214, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
105 {0x0228, 0x00, 0x00, CSIPHY_DNP_PARAMS},
106 {0x023C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS},
107 {0x0200, 0x91, 0x00, CSIPHY_DEFAULT_PARAMS},
108 {0x0208, 0x00, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
109 {0x020C, 0x00, 0x00, CSIPHY_DNP_PARAMS},
110 {0x0210, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
111 {0x0238, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS},
112 {0x0260, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
113 {0x0264, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS},
116 {0x0404, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS},
117 {0x042C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
118 {0x0434, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS},
119 {0x041C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS},
120 {0x0414, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
121 {0x0428, 0x00, 0x00, CSIPHY_DNP_PARAMS},
122 {0x043C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS},
123 {0x0400, 0x91, 0x00, CSIPHY_DEFAULT_PARAMS},
124 {0x0408, 0x00, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
125 {0x040C, 0x00, 0x00, CSIPHY_DNP_PARAMS},
126 {0x0410, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
127 {0x0438, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS},
128 {0x0460, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
129 {0x0464, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS},
132 {0x0604, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS},
133 {0x062C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
134 {0x0634, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS},
135 {0x061C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS},
136 {0x0614, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
137 {0x0628, 0x00, 0x00, CSIPHY_DNP_PARAMS},
138 {0x063C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS},
139 {0x0600, 0x91, 0x00, CSIPHY_DEFAULT_PARAMS},
140 {0x0608, 0x00, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
141 {0x060C, 0x00, 0x00, CSIPHY_DNP_PARAMS},
142 {0x0610, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
143 {0x0638, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS},
144 {0x0660, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
145 {0x0664, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS},
166 dev_err(dev, "CSIPHY 3PH HW Version = 0x%08x\n", hw_version); in csiphy_hw_version_read()
175 writel_relaxed(0x1, csiphy->base + CSIPHY_3PH_CMN_CSI_COMMON_CTRLn(0)); in csiphy_reset()
177 writel_relaxed(0x0, csiphy->base + CSIPHY_3PH_CMN_CSI_COMMON_CTRLn(0)); in csiphy_reset()
185 for (i = 0; i < 11; i++) { in csiphy_isr()
194 writel_relaxed(0x1, csiphy->base + CSIPHY_3PH_CMN_CSI_COMMON_CTRLn(10)); in csiphy_isr()
195 writel_relaxed(0x0, csiphy->base + CSIPHY_3PH_CMN_CSI_COMMON_CTRLn(10)); in csiphy_isr()
198 writel_relaxed(0x0, csiphy->base + in csiphy_isr()
211 * Return settle count value or 0 if the CSI2 link frequency
222 if (link_freq <= 0) in csiphy_settle_cnt_calc()
223 return 0; in csiphy_settle_cnt_calc()
241 int i, l = 0; in csiphy_gen1_config_lanes()
244 for (i = 0; i <= c->num_data; i++) { in csiphy_gen1_config_lanes()
251 val |= 0x17; in csiphy_gen1_config_lanes()
304 for (l = 0; l < 5; l++) { in csiphy_gen2_config_lanes()
305 for (i = 0; i < 14; i++) { in csiphy_gen2_config_lanes()
310 val = settle_cnt & 0xff; in csiphy_gen2_config_lanes()
335 for (i = 0; i < c->num_data; i++) in csiphy_lanes_enable()
343 val = 0x02; in csiphy_lanes_enable()
346 val = 0x00; in csiphy_lanes_enable()
347 writel_relaxed(val, csiphy->base + CSIPHY_3PH_CMN_CSI_COMMON_CTRLn(0)); in csiphy_lanes_enable()
355 val = 0xff; in csiphy_lanes_enable()
358 val = 0xff; in csiphy_lanes_enable()
361 val = 0xfb; in csiphy_lanes_enable()
364 val = 0xff; in csiphy_lanes_enable()
367 val = 0x7f; in csiphy_lanes_enable()
370 val = 0xff; in csiphy_lanes_enable()
373 val = 0xff; in csiphy_lanes_enable()
376 val = 0xef; in csiphy_lanes_enable()
379 val = 0xff; in csiphy_lanes_enable()
382 val = 0xff; in csiphy_lanes_enable()
385 val = 0xff; in csiphy_lanes_enable()
392 writel_relaxed(0, csiphy->base + in csiphy_lanes_disable()
395 writel_relaxed(0, csiphy->base + in csiphy_lanes_disable()