Lines Matching +full:0 +full:x1e

46 static int es7202_adc_num = 0;
60 {0x00, 0x10}, {0x01, 0x00}, {0x02, 0x04}, {0x03, 0x00},
61 {0x04, 0x01}, {0x05, 0x18}, {0x06, 0x00}, {0x07, 0x30},
62 {0x08, 0x02}, {0x10, 0xff}, {0x11, 0x0c}, {0x12, 0x55},
63 {0x13, 0x55}, {0x14, 0x8c}, {0x15, 0x33}, {0x16, 0x33},
64 {0x17, 0x33}, {0x18, 0x44}, {0x19, 0x00}, {0x1a, 0x00},
65 {0x1b, 0x00}, {0x1c, 0xf8}, {0x1d, 0x18}, {0x1e, 0x18},
71 u8 read_cmd[3] = { 0 }; in es7202_read()
72 u8 cmd_len = 0; in es7202_read()
74 read_cmd[0] = reg; in es7202_read()
92 return 0; in es7202_read()
97 int ret = 0; in es7202_write()
98 u8 write_cmd[2] = { 0 }; in es7202_write()
103 write_cmd[0] = reg; in es7202_write()
108 printk("es7202_write error->[REG-0x%02x,val-0x%02x]\n", in es7202_write()
113 return 0; in es7202_write()
119 u8 val_old = 0, val_new = 0; in es7202_update_bits()
127 return 0; in es7202_update_bits()
129 #if 0
134 for (i = 0; i < ADC_DEV_MAXNUM; i++) {
138 return 0;
145 for (i = 0; i < ADC_DEV_MAXNUM; i++) { in es7202_multi_chips_update_bits()
149 return 0; in es7202_multi_chips_update_bits()
154 static const DECLARE_TLV_DB_SCALE(mic_boost_tlv, 0, 300, 0);
156 #if ES7202_CHANNELS_MAX > 0
160 es7202_update_bits(0x1d, 0x0F, in es7202_micboost1_setting_set()
161 ucontrol->value.integer.value[0] & 0x0f, in es7202_micboost1_setting_set()
162 i2c_ctl[0]); in es7202_micboost1_setting_set()
163 return 0; in es7202_micboost1_setting_set()
169 u8 val = 0; in es7202_micboost1_setting_get()
170 es7202_read(0x1d, &val, i2c_ctl[0]); in es7202_micboost1_setting_get()
171 ucontrol->value.integer.value[0] = val & 0x0f; in es7202_micboost1_setting_get()
172 return 0; in es7202_micboost1_setting_get()
178 es7202_update_bits(0x1e, in es7202_micboost2_setting_set()
179 0x0F, in es7202_micboost2_setting_set()
180 ucontrol->value.integer.value[0] & 0x0f, i2c_ctl[0]); in es7202_micboost2_setting_set()
181 return 0; in es7202_micboost2_setting_set()
187 u8 val = 0; in es7202_micboost2_setting_get()
188 es7202_read(0x1e, &val, i2c_ctl[0]); in es7202_micboost2_setting_get()
189 ucontrol->value.integer.value[0] = val & 0x0f; in es7202_micboost2_setting_get()
190 return 0; in es7202_micboost2_setting_get()
197 es7202_update_bits(0x1d, in es7202_micboost3_setting_set()
198 0x0F, in es7202_micboost3_setting_set()
199 ucontrol->value.integer.value[0] & 0x0f, i2c_ctl[1]); in es7202_micboost3_setting_set()
200 return 0; in es7202_micboost3_setting_set()
206 u8 val = 0; in es7202_micboost3_setting_get()
207 es7202_read(0x1d, &val, i2c_ctl[1]); in es7202_micboost3_setting_get()
208 ucontrol->value.integer.value[0] = val & 0x0f; in es7202_micboost3_setting_get()
209 return 0; in es7202_micboost3_setting_get()
215 es7202_update_bits(0x1e, in es7202_micboost4_setting_set()
216 0x0F, in es7202_micboost4_setting_set()
217 ucontrol->value.integer.value[0] & 0x0f, i2c_ctl[1]); in es7202_micboost4_setting_set()
218 return 0; in es7202_micboost4_setting_set()
224 u8 val = 0; in es7202_micboost4_setting_get()
225 es7202_read(0x1e, &val, i2c_ctl[1]); in es7202_micboost4_setting_get()
226 ucontrol->value.integer.value[0] = val & 0x0f; in es7202_micboost4_setting_get()
227 return 0; in es7202_micboost4_setting_get()
234 es7202_update_bits(0x1d, in es7202_micboost5_setting_set()
235 0x0F, in es7202_micboost5_setting_set()
236 ucontrol->value.integer.value[0] & 0x0f, i2c_ctl[2]); in es7202_micboost5_setting_set()
237 return 0; in es7202_micboost5_setting_set()
244 es7202_read(0x1d, &val, i2c_ctl[2]); in es7202_micboost5_setting_get()
245 ucontrol->value.integer.value[0] = val & 0x0f; in es7202_micboost5_setting_get()
246 return 0; in es7202_micboost5_setting_get()
252 es7202_update_bits(0x1e, in es7202_micboost6_setting_set()
253 0x0F, in es7202_micboost6_setting_set()
254 ucontrol->value.integer.value[0] & 0x0f, i2c_ctl[2]); in es7202_micboost6_setting_set()
255 return 0; in es7202_micboost6_setting_set()
262 es7202_read(0x1e, &val, i2c_ctl[2]); in es7202_micboost6_setting_get()
263 ucontrol->value.integer.value[0] = val & 0x0f; in es7202_micboost6_setting_get()
264 return 0; in es7202_micboost6_setting_get()
272 es7202_update_bits(0x1d, in es7202_micboost7_setting_set()
273 0x0F, in es7202_micboost7_setting_set()
274 ucontrol->value.integer.value[0] & 0x0f, i2c_ctl[3]); in es7202_micboost7_setting_set()
275 return 0; in es7202_micboost7_setting_set()
282 es7202_read(0x1d, &val, i2c_ctl[3]); in es7202_micboost7_setting_get()
283 ucontrol->value.integer.value[0] = val & 0x0f; in es7202_micboost7_setting_get()
284 return 0; in es7202_micboost7_setting_get()
290 es7202_update_bits(0x1e, in es7202_micboost8_setting_set()
291 0x0F, in es7202_micboost8_setting_set()
292 ucontrol->value.integer.value[0] & 0x0f, i2c_ctl[3]); in es7202_micboost8_setting_set()
293 return 0; in es7202_micboost8_setting_set()
300 es7202_read(0x1e, &val, i2c_ctl[3]); in es7202_micboost8_setting_get()
301 ucontrol->value.integer.value[0] = val & 0x0f; in es7202_micboost8_setting_get()
302 return 0; in es7202_micboost8_setting_get()
310 es7202_update_bits(0x1d, in es7202_micboost9_setting_set()
311 0x0F, in es7202_micboost9_setting_set()
312 ucontrol->value.integer.value[0] & 0x0f, i2c_ctl[4]); in es7202_micboost9_setting_set()
313 return 0; in es7202_micboost9_setting_set()
320 es7202_read(0x1d, &val, i2c_ctl[4]); in es7202_micboost9_setting_get()
321 ucontrol->value.integer.value[0] = val & 0x0f; in es7202_micboost9_setting_get()
322 return 0; in es7202_micboost9_setting_get()
328 es7202_update_bits(0x1e, in es7202_micboost10_setting_set()
329 0x0F, in es7202_micboost10_setting_set()
330 ucontrol->value.integer.value[0] & 0x0f, i2c_ctl[4]); in es7202_micboost10_setting_set()
331 return 0; in es7202_micboost10_setting_set()
338 es7202_read(0x1e, &val, i2c_ctl[4]); in es7202_micboost10_setting_get()
339 ucontrol->value.integer.value[0] = val & 0x0f; in es7202_micboost10_setting_get()
340 return 0; in es7202_micboost10_setting_get()
348 es7202_update_bits(0x1d, in es7202_micboost11_setting_set()
349 0x0F, in es7202_micboost11_setting_set()
350 ucontrol->value.integer.value[0] & 0x0f, i2c_ctl[5]); in es7202_micboost11_setting_set()
351 return 0; in es7202_micboost11_setting_set()
358 es7202_read(0x1d, &val, i2c_ctl[5]); in es7202_micboost11_setting_get()
359 ucontrol->value.integer.value[0] = val & 0x0f; in es7202_micboost11_setting_get()
360 return 0; in es7202_micboost11_setting_get()
366 es7202_update_bits(0x1e, in es7202_micboost12_setting_set()
367 0x0F, in es7202_micboost12_setting_set()
368 ucontrol->value.integer.value[0] & 0x0f, i2c_ctl[5]); in es7202_micboost12_setting_set()
369 return 0; in es7202_micboost12_setting_set()
376 es7202_read(0x1e, &val, i2c_ctl[5]); in es7202_micboost12_setting_get()
377 ucontrol->value.integer.value[0] = val & 0x0f; in es7202_micboost12_setting_get()
378 return 0; in es7202_micboost12_setting_get()
386 es7202_update_bits(0x1d, in es7202_micboost13_setting_set()
387 0x0F, in es7202_micboost13_setting_set()
388 ucontrol->value.integer.value[0] & 0x0f, i2c_ctl[6]); in es7202_micboost13_setting_set()
389 return 0; in es7202_micboost13_setting_set()
396 es7202_read(0x1d, &val, i2c_ctl[6]); in es7202_micboost13_setting_get()
397 ucontrol->value.integer.value[0] = val & 0x0f; in es7202_micboost13_setting_get()
398 return 0; in es7202_micboost13_setting_get()
404 es7202_update_bits(0x1e, in es7202_micboost14_setting_set()
405 0x0F, in es7202_micboost14_setting_set()
406 ucontrol->value.integer.value[0] & 0x0f, i2c_ctl[6]); in es7202_micboost14_setting_set()
407 return 0; in es7202_micboost14_setting_set()
414 es7202_read(0x1e, &val, i2c_ctl[6]); in es7202_micboost14_setting_get()
415 ucontrol->value.integer.value[0] = val & 0x0f; in es7202_micboost14_setting_get()
416 return 0; in es7202_micboost14_setting_get()
424 es7202_update_bits(0x1d, in es7202_micboost15_setting_set()
425 0x0F, in es7202_micboost15_setting_set()
426 ucontrol->value.integer.value[0] & 0x0f, i2c_ctl[7]); in es7202_micboost15_setting_set()
427 return 0; in es7202_micboost15_setting_set()
434 es7202_read(0x1d, &val, i2c_ctl[7]); in es7202_micboost15_setting_get()
435 ucontrol->value.integer.value[0] = val & 0x0f; in es7202_micboost15_setting_get()
436 return 0; in es7202_micboost15_setting_get()
442 es7202_update_bits(0x1e, in es7202_micboost16_setting_set()
443 0x0F, in es7202_micboost16_setting_set()
444 ucontrol->value.integer.value[0] & 0x0f, i2c_ctl[7]); in es7202_micboost16_setting_set()
445 return 0; in es7202_micboost16_setting_set()
452 es7202_read(0x1e, &val, i2c_ctl[7]); in es7202_micboost16_setting_get()
453 ucontrol->value.integer.value[0] = val & 0x0f; in es7202_micboost16_setting_get()
454 return 0; in es7202_micboost16_setting_get()
459 #if ES7202_CHANNELS_MAX > 0
460 SOC_SINGLE_EXT_TLV("PGA1_setting", 0x1D, 0, 0x0C, 0,
464 SOC_SINGLE_EXT_TLV("PGA2_setting", 0x1E, 0, 0x0C, 0,
470 SOC_SINGLE_EXT_TLV("PGA3_setting", 0x1D, 0, 0x0C, 0,
474 SOC_SINGLE_EXT_TLV("PGA4_setting", 0x1E, 0, 0x0C, 0,
480 SOC_SINGLE_EXT_TLV("PGA5_setting", 0x1D, 0, 0x0C, 0,
484 SOC_SINGLE_EXT_TLV("PGA6_setting", 0x1E, 0, 0x0C, 0,
490 SOC_SINGLE_EXT_TLV("PGA7_setting", 0x1D, 0, 0x0C, 0,
494 SOC_SINGLE_EXT_TLV("PGA8_setting", 0x1E, 0, 0x0C, 0,
500 SOC_SINGLE_EXT_TLV("PGA9_setting", 0x1D, 0, 0x0C, 0,
504 SOC_SINGLE_EXT_TLV("PGA10_setting", 0x1E, 0, 0x0C, 0,
510 SOC_SINGLE_EXT_TLV("PGA11_setting", 0x1D, 0, 0x0C, 0,
514 SOC_SINGLE_EXT_TLV("PGA12_setting", 0x1E, 0, 0x0C, 0,
520 SOC_SINGLE_EXT_TLV("PGA13_setting", 0x1D, 0, 0x0C, 0,
524 SOC_SINGLE_EXT_TLV("PGA14_setting", 0x1E, 0, 0x0C, 0,
530 SOC_SINGLE_EXT_TLV("PGA15_setting", 0x1D, 0, 0x0C, 0,
534 SOC_SINGLE_EXT_TLV("PGA16_setting", 0x1E, 0, 0x0C, 0,
544 return 0; in es7202_mute()
547 es7202_multi_chips_update_bits(ES7202_PDM_INF_CTL_REG07, 0x03,0x03); in es7202_mute()
549 es7202_multi_chips_update_bits(ES7202_PDM_INF_CTL_REG07, 0x03,0x00); in es7202_mute()
552 return 0; in es7202_mute()
560 #if ES7202_CHANNELS_MAX > 0
562 .name = "es7202 pdm 0",
674 #if ES7202_CHANNELS_MAX > 0
702 es7202_multi_chips_update_bits(ES7202_PDM_INF_CTL_REG07, 0x03,0x03); in es7202_suspend()
704 return 0; in es7202_suspend()
710 es7202_multi_chips_update_bits(ES7202_PDM_INF_CTL_REG07, 0x03,0x00); in es7202_resume()
711 return 0; in es7202_resume()
718 int ret = 0; in es7202_probe()
722 for (cnt = 0; cnt < ADC_DEV_MAXNUM; cnt++) { in es7202_probe()
723 es7202_write(ES7202_SOFT_MODE_REG01, 0x01, i2c_ctl[cnt]); in es7202_probe()
726 es7202_write(ES7202_ANALOG_MISC1_REG1B, 0x50, i2c_ctl[cnt]); in es7202_probe()
727 es7202_write(ES7202_PGA1_REG1D, 0x1b, i2c_ctl[cnt]); in es7202_probe()
728 es7202_write(ES7202_PGA2_REG1E, 0x1b, i2c_ctl[cnt]); in es7202_probe()
729 es7202_write(ES7202_ANALOG_EN_REG10, 0x7F, i2c_ctl[cnt]); in es7202_probe()
730 es7202_write(ES7202_BIAS_VMID_REG11, 0x2F, i2c_ctl[cnt]); in es7202_probe()
731 es7202_write(ES7202_ANALOG_EN_REG10, 0x0F, i2c_ctl[cnt]); in es7202_probe()
732 es7202_write(ES7202_ANALOG_EN_REG10, 0x00, i2c_ctl[cnt]); in es7202_probe()
736 es7202_write(ES7202_ANALOG_MISC1_REG1B, 0x40, i2c_ctl[cnt]); in es7202_probe()
737 es7202_write(ES7202_PGA1_REG1D, 0x1b, i2c_ctl[cnt]); in es7202_probe()
738 es7202_write(ES7202_PGA2_REG1E, 0x1b, i2c_ctl[cnt]); in es7202_probe()
739 es7202_write(ES7202_ANALOG_EN_REG10, 0x7F, i2c_ctl[cnt]); in es7202_probe()
740 es7202_write(ES7202_BIAS_VMID_REG11, 0x2F, i2c_ctl[cnt]); in es7202_probe()
741 es7202_write(ES7202_ANALOG_EN_REG10, 0x3F, i2c_ctl[cnt]); in es7202_probe()
742 es7202_write(ES7202_ANALOG_EN_REG10, 0x00, i2c_ctl[cnt]); in es7202_probe()
745 es7202_write(ES7202_MOD1_BIAS_REG14, 0x58, i2c_ctl[cnt]); in es7202_probe()
746 es7202_write(ES7202_CLK_DIV_REG02, 0x01, i2c_ctl[cnt]); in es7202_probe()
747 es7202_write(ES7202_T2_VMID_REG05, 0x01, i2c_ctl[cnt]); in es7202_probe()
748 es7202_write(ES7202_MISC_CTL_REG08, 0x02, i2c_ctl[cnt]); in es7202_probe()
749 es7202_write(ES7202_RESET_REG00, 0x01, i2c_ctl[cnt]); in es7202_probe()
750 es7202_write(ES7202_CLK_EN_REG03, 0x03, i2c_ctl[cnt]); in es7202_probe()
751 es7202_write(ES7202_BIAS_VMID_REG11, 0x2E, i2c_ctl[cnt]); in es7202_probe()
753 es7202_multi_chips_update_bits(ES7202_PDM_INF_CTL_REG07, 0x03, 0x00); in es7202_probe()
760 es7202_multi_chips_update_bits(ES7202_PDM_INF_CTL_REG07, 0x03,0x03); in es7202_remove()
767 .max_register = 0xff,
790 int val=0, flag=0; in es7202_store()
791 u8 i=0, reg, num, value_w, value_r; in es7202_store()
795 flag = (val >> 16) & 0xFF; in es7202_store()
798 reg = (val >> 8) & 0xFF; in es7202_store()
799 value_w = val & 0xFF; in es7202_store()
800 printk("\nWrite: start REG:0x%02x,val:0x%02x,count:0x%02x\n", reg, value_w, flag); in es7202_store()
803 printk("Write 0x%02x to REG:0x%02x\n", value_w, reg); in es7202_store()
807 reg = (val >> 8) & 0xFF; in es7202_store()
808 num = val & 0xff; in es7202_store()
809 printk("\nRead: start REG:0x%02x,count:0x%02x\n", reg, num); in es7202_store()
811 value_r = 0; in es7202_store()
813 printk("REG[0x%02x]: 0x%02x; ", reg, value_r); in es7202_store()
816 if ((i==num) || (i%4==0)) printk("\n"); in es7202_store()
826 printk("eg read star addres=0x06,count 0x10:echo 0610 >es7202\n"); in es7202_show()
827 printk("eg write star addres=0x90,value=0x3c,count=4:echo 4903c >es7202\n"); in es7202_show()
828 return 0; in es7202_show()
876 if (ret < 0) { in es7202_i2c_probe()
891 return 0; in es7202_i2c_remove()
896 es7202_multi_chips_update_bits(ES7202_PDM_INF_CTL_REG07, 0x03,0x03); in es7202_i2c_shutdown()
907 if (client->addr == 0x30) { in es7202_i2c_detect()
909 return 0; in es7202_i2c_detect()
910 } else if (client->addr == 0x31) { in es7202_i2c_detect()
912 return 0; in es7202_i2c_detect()
913 } else if (client->addr == 0x32) { in es7202_i2c_detect()
915 return 0; in es7202_i2c_detect()
916 } else if (client->addr == 0x33) { in es7202_i2c_detect()
918 return 0; in es7202_i2c_detect()
919 }else if (client->addr == 0x34) { in es7202_i2c_detect()
921 return 0; in es7202_i2c_detect()
922 }else if (client->addr == 0x35) { in es7202_i2c_detect()
924 return 0; in es7202_i2c_detect()
925 }else if (client->addr == 0x36) { in es7202_i2c_detect()
927 return 0; in es7202_i2c_detect()
928 }else if (client->addr == 0x37) { in es7202_i2c_detect()
930 return 0; in es7202_i2c_detect()
938 #if ES7202_CHANNELS_MAX > 0
939 0x30,
943 0x31,
947 0x32,
951 0x33,
955 0x34,
959 0x35,
963 0x36,
967 0x37,
979 #if 0
981 #if ES7202_CHANNELS_MAX > 0
982 {I2C_BOARD_INFO("ES7202_PDM_ADC_1", 0x30),},
986 {I2C_BOARD_INFO("ES7202_PDM_ADC_2", 0x31),},
990 {I2C_BOARD_INFO("ES7202_PDM_ADC_3", 0x32),},
994 {I2C_BOARD_INFO("ES7202_PDM_ADC_4", 0x33),},
998 {I2C_BOARD_INFO("ES7202_PDM_ADC_5", 0x34),},
1002 {I2C_BOARD_INFO("ES7202_PDM_ADC_6", 0x35),},
1006 {I2C_BOARD_INFO("ES7202_PDM_ADC_7", 0x36),},
1010 {I2C_BOARD_INFO("ES7202_PDM_ADC_8", 0x37),},
1015 #if ES7202_CHANNELS_MAX > 0
1051 #if ES7202_CHANNELS_MAX > 0
1052 {"ES7202_PDM_ADC_1", 0},
1107 #if 0 in es7202_modinit()
1114 #if 0 in es7202_modinit()
1127 for (i = 0; i < ADC_DEV_MAXNUM; i++) { in es7202_modinit()
1136 if (ret != 0) in es7202_modinit()