@@ -831,7 +831,7 @@ static const struct reg_default fsl_micfil_reg_defaults[] = {
831831 {REG_MICFIL_CTRL1 , 0x00000000 },
832832 {REG_MICFIL_CTRL2 , 0x00000000 },
833833 {REG_MICFIL_STAT , 0x00000000 },
834- {REG_MICFIL_FIFO_CTRL , 0x00000007 },
834+ {REG_MICFIL_FIFO_CTRL , 0x0000001F },
835835 {REG_MICFIL_FIFO_STAT , 0x00000000 },
836836 {REG_MICFIL_DATACH0 , 0x00000000 },
837837 {REG_MICFIL_DATACH1 , 0x00000000 },
@@ -855,6 +855,8 @@ static const struct reg_default fsl_micfil_reg_defaults[] = {
855855
856856static bool fsl_micfil_readable_reg (struct device * dev , unsigned int reg )
857857{
858+ struct fsl_micfil * micfil = dev_get_drvdata (dev );
859+
858860 switch (reg ) {
859861 case REG_MICFIL_CTRL1 :
860862 case REG_MICFIL_CTRL2 :
@@ -872,9 +874,6 @@ static bool fsl_micfil_readable_reg(struct device *dev, unsigned int reg)
872874 case REG_MICFIL_DC_CTRL :
873875 case REG_MICFIL_OUT_CTRL :
874876 case REG_MICFIL_OUT_STAT :
875- case REG_MICFIL_FSYNC_CTRL :
876- case REG_MICFIL_VERID :
877- case REG_MICFIL_PARAM :
878877 case REG_MICFIL_VAD0_CTRL1 :
879878 case REG_MICFIL_VAD0_CTRL2 :
880879 case REG_MICFIL_VAD0_STAT :
@@ -883,13 +882,21 @@ static bool fsl_micfil_readable_reg(struct device *dev, unsigned int reg)
883882 case REG_MICFIL_VAD0_NDATA :
884883 case REG_MICFIL_VAD0_ZCD :
885884 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 ;
886891 default :
887892 return false;
888893 }
889894}
890895
891896static bool fsl_micfil_writeable_reg (struct device * dev , unsigned int reg )
892897{
898+ struct fsl_micfil * micfil = dev_get_drvdata (dev );
899+
893900 switch (reg ) {
894901 case REG_MICFIL_CTRL1 :
895902 case REG_MICFIL_CTRL2 :
@@ -899,14 +906,17 @@ static bool fsl_micfil_writeable_reg(struct device *dev, unsigned int reg)
899906 case REG_MICFIL_DC_CTRL :
900907 case REG_MICFIL_OUT_CTRL :
901908 case REG_MICFIL_OUT_STAT : /* Write 1 to Clear */
902- case REG_MICFIL_FSYNC_CTRL :
903909 case REG_MICFIL_VAD0_CTRL1 :
904910 case REG_MICFIL_VAD0_CTRL2 :
905911 case REG_MICFIL_VAD0_STAT : /* Write 1 to Clear */
906912 case REG_MICFIL_VAD0_SCONFIG :
907913 case REG_MICFIL_VAD0_NCONFIG :
908914 case REG_MICFIL_VAD0_ZCD :
909915 return true;
916+ case REG_MICFIL_FSYNC_CTRL :
917+ if (micfil -> soc -> use_verid )
918+ return true;
919+ fallthrough ;
910920 default :
911921 return false;
912922 }
0 commit comments