Lines Matching refs:max98390

3  * max98390.c  --  MAX98390 ALSA Soc Audio driver
25 #include "max98390.h"
169 struct max98390_priv *max98390 =
182 max98390->master = true;
190 regmap_update_bits(max98390->regmap,
206 regmap_update_bits(max98390->regmap,
229 regmap_update_bits(max98390->regmap,
255 struct max98390_priv *max98390 =
268 if (max98390->master) {
272 if (rate_table[i] >= max98390->sysclk)
280 regmap_update_bits(max98390->regmap,
286 if (!max98390->tdm_mode) {
295 regmap_update_bits(max98390->regmap,
309 struct max98390_priv *max98390 =
332 regmap_update_bits(max98390->regmap,
375 regmap_update_bits(max98390->regmap,
390 struct max98390_priv *max98390 =
397 max98390->tdm_mode = false;
399 max98390->tdm_mode = true;
402 "Tdm mode : %d\n", max98390->tdm_mode);
412 regmap_update_bits(max98390->regmap,
434 regmap_update_bits(max98390->regmap,
439 regmap_write(max98390->regmap,
442 regmap_write(max98390->regmap,
447 regmap_write(max98390->regmap,
450 regmap_write(max98390->regmap,
461 struct max98390_priv *max98390 =
464 max98390->sysclk = freq;
480 struct max98390_priv *max98390 =
485 regmap_update_bits(max98390->regmap,
488 regmap_update_bits(max98390->regmap,
493 regmap_update_bits(max98390->regmap,
496 regmap_update_bits(max98390->regmap,
542 struct max98390_priv *max98390 =
545 max98390->ref_rdc_value = ucontrol->value.integer.value[0];
547 regmap_write(max98390->regmap, DSM_TPROT_RECIP_RDC_ROOM_BYTE0,
548 max98390->ref_rdc_value & 0x000000ff);
549 regmap_write(max98390->regmap, DSM_TPROT_RECIP_RDC_ROOM_BYTE1,
550 (max98390->ref_rdc_value >> 8) & 0x000000ff);
551 regmap_write(max98390->regmap, DSM_TPROT_RECIP_RDC_ROOM_BYTE2,
552 (max98390->ref_rdc_value >> 16) & 0x000000ff);
562 struct max98390_priv *max98390 =
565 ucontrol->value.integer.value[0] = max98390->ref_rdc_value;
575 struct max98390_priv *max98390 =
578 max98390->ambient_temp_value = ucontrol->value.integer.value[0];
580 regmap_write(max98390->regmap, DSM_TPROT_ROOM_TEMPERATURE_BYTE1,
581 (max98390->ambient_temp_value >> 8) & 0x000000ff);
582 regmap_write(max98390->regmap, DSM_TPROT_ROOM_TEMPERATURE_BYTE0,
583 (max98390->ambient_temp_value) & 0x000000ff);
593 struct max98390_priv *max98390 =
596 ucontrol->value.integer.value[0] = max98390->ambient_temp_value;
618 struct max98390_priv *max98390 =
621 regmap_read(max98390->regmap, THERMAL_RDC_RD_BACK_BYTE1, &rdc);
622 regmap_read(max98390->regmap, THERMAL_RDC_RD_BACK_BYTE0, &rdc0);
735 .name = "max98390-aif1",
760 struct max98390_priv *max98390 =
782 "max98390: param fw size %zd\n",
801 regmap_write(max98390->regmap, MAX98390_R203A_AMP_EN, 0x80);
803 regmap_bulk_write(max98390->regmap, param_start_addr,
805 regmap_write(max98390->regmap, MAX98390_R23E1_DSP_GLOBAL_EN, 0x01);
817 struct max98390_priv *max98390 =
820 regmap_write(max98390->regmap, MAX98390_R203A_AMP_EN, 0x81);
821 regmap_write(max98390->regmap, MAX98390_R23FF_GLOBAL_EN, 0x01);
823 regmap_read(max98390->regmap,
825 regmap_read(max98390->regmap,
829 max98390->ref_rdc_value = 268435456U / rdc_cal_result;
831 regmap_read(max98390->regmap, MAX98390_MEAS_ADC_CH2_READ, &temp);
832 max98390->ambient_temp_value = temp * 52 - 1188;
841 regmap_write(max98390->regmap, MAX98390_R23FF_GLOBAL_EN, 0x00);
842 regmap_write(max98390->regmap, MAX98390_R203A_AMP_EN, 0x80);
849 struct max98390_priv *max98390 =
852 regmap_write(max98390->regmap, MAX98390_CLK_MON, 0x6f);
853 regmap_write(max98390->regmap, MAX98390_DAT_MON, 0x00);
854 regmap_write(max98390->regmap, MAX98390_PWR_GATE_CTL, 0x00);
855 regmap_write(max98390->regmap, MAX98390_PCM_RX_EN_A, 0x03);
856 regmap_write(max98390->regmap, MAX98390_ENV_TRACK_VOUT_HEADROOM, 0x0e);
857 regmap_write(max98390->regmap, MAX98390_BOOST_BYPASS1, 0x46);
858 regmap_write(max98390->regmap, MAX98390_FET_SCALING3, 0x03);
863 struct max98390_priv *max98390 =
866 regmap_write(max98390->regmap, MAX98390_SOFTWARE_RESET, 0x01);
876 if (max98390->ref_rdc_value) {
877 regmap_write(max98390->regmap, DSM_TPROT_RECIP_RDC_ROOM_BYTE0,
878 max98390->ref_rdc_value & 0x000000ff);
879 regmap_write(max98390->regmap, DSM_TPROT_RECIP_RDC_ROOM_BYTE1,
880 (max98390->ref_rdc_value >> 8) & 0x000000ff);
881 regmap_write(max98390->regmap, DSM_TPROT_RECIP_RDC_ROOM_BYTE2,
882 (max98390->ref_rdc_value >> 16) & 0x000000ff);
884 if (max98390->ambient_temp_value) {
885 regmap_write(max98390->regmap, DSM_TPROT_ROOM_TEMPERATURE_BYTE1,
886 (max98390->ambient_temp_value >> 8) & 0x000000ff);
887 regmap_write(max98390->regmap, DSM_TPROT_ROOM_TEMPERATURE_BYTE0,
888 (max98390->ambient_temp_value) & 0x000000ff);
897 struct max98390_priv *max98390 = dev_get_drvdata(dev);
901 regcache_cache_only(max98390->regmap, true);
902 regcache_mark_dirty(max98390->regmap);
909 struct max98390_priv *max98390 = dev_get_drvdata(dev);
913 regcache_cache_only(max98390->regmap, false);
914 regcache_sync(max98390->regmap);
955 struct max98390_priv *max98390 = NULL;
966 max98390 = devm_kzalloc(&i2c->dev, sizeof(*max98390), GFP_KERNEL);
967 if (!max98390) {
971 i2c_set_clientdata(i2c, max98390);
974 &max98390->ambient_temp_value);
980 &max98390->ref_rdc_value);
988 __func__, max98390->ref_rdc_value,
989 max98390->ambient_temp_value);
992 max98390->regmap = devm_regmap_init_i2c(i2c, &max98390_regmap);
993 if (IS_ERR(max98390->regmap)) {
994 ret = PTR_ERR(max98390->regmap);
1001 ret = regmap_read(max98390->regmap,
1019 { "max98390", 0},
1027 { .compatible = "maxim,max98390", },
1043 .name = "max98390",