@@ -831,7 +831,7 @@ static const struct reg_default fsl_micfil_reg_defaults[] = {
831
831
{REG_MICFIL_CTRL1 , 0x00000000 },
832
832
{REG_MICFIL_CTRL2 , 0x00000000 },
833
833
{REG_MICFIL_STAT , 0x00000000 },
834
- {REG_MICFIL_FIFO_CTRL , 0x00000007 },
834
+ {REG_MICFIL_FIFO_CTRL , 0x0000001F },
835
835
{REG_MICFIL_FIFO_STAT , 0x00000000 },
836
836
{REG_MICFIL_DATACH0 , 0x00000000 },
837
837
{REG_MICFIL_DATACH1 , 0x00000000 },
@@ -855,6 +855,8 @@ static const struct reg_default fsl_micfil_reg_defaults[] = {
855
855
856
856
static bool fsl_micfil_readable_reg (struct device * dev , unsigned int reg )
857
857
{
858
+ struct fsl_micfil * micfil = dev_get_drvdata (dev );
859
+
858
860
switch (reg ) {
859
861
case REG_MICFIL_CTRL1 :
860
862
case REG_MICFIL_CTRL2 :
@@ -872,9 +874,6 @@ static bool fsl_micfil_readable_reg(struct device *dev, unsigned int reg)
872
874
case REG_MICFIL_DC_CTRL :
873
875
case REG_MICFIL_OUT_CTRL :
874
876
case REG_MICFIL_OUT_STAT :
875
- case REG_MICFIL_FSYNC_CTRL :
876
- case REG_MICFIL_VERID :
877
- case REG_MICFIL_PARAM :
878
877
case REG_MICFIL_VAD0_CTRL1 :
879
878
case REG_MICFIL_VAD0_CTRL2 :
880
879
case REG_MICFIL_VAD0_STAT :
@@ -883,13 +882,21 @@ static bool fsl_micfil_readable_reg(struct device *dev, unsigned int reg)
883
882
case REG_MICFIL_VAD0_NDATA :
884
883
case REG_MICFIL_VAD0_ZCD :
885
884
return true;
885
+ case REG_MICFIL_FSYNC_CTRL :
886
+ case REG_MICFIL_VERID :
887
+ case REG_MICFIL_PARAM :
888
+ if (micfil -> soc -> use_verid )
889
+ return true;
890
+ fallthrough ;
886
891
default :
887
892
return false;
888
893
}
889
894
}
890
895
891
896
static bool fsl_micfil_writeable_reg (struct device * dev , unsigned int reg )
892
897
{
898
+ struct fsl_micfil * micfil = dev_get_drvdata (dev );
899
+
893
900
switch (reg ) {
894
901
case REG_MICFIL_CTRL1 :
895
902
case REG_MICFIL_CTRL2 :
@@ -899,14 +906,17 @@ static bool fsl_micfil_writeable_reg(struct device *dev, unsigned int reg)
899
906
case REG_MICFIL_DC_CTRL :
900
907
case REG_MICFIL_OUT_CTRL :
901
908
case REG_MICFIL_OUT_STAT : /* Write 1 to Clear */
902
- case REG_MICFIL_FSYNC_CTRL :
903
909
case REG_MICFIL_VAD0_CTRL1 :
904
910
case REG_MICFIL_VAD0_CTRL2 :
905
911
case REG_MICFIL_VAD0_STAT : /* Write 1 to Clear */
906
912
case REG_MICFIL_VAD0_SCONFIG :
907
913
case REG_MICFIL_VAD0_NCONFIG :
908
914
case REG_MICFIL_VAD0_ZCD :
909
915
return true;
916
+ case REG_MICFIL_FSYNC_CTRL :
917
+ if (micfil -> soc -> use_verid )
918
+ return true;
919
+ fallthrough ;
910
920
default :
911
921
return false;
912
922
}
0 commit comments