|
@@ -691,9 +691,39 @@ static int wm2000_resume(struct snd_soc_codec *codec)
|
|
|
#define wm2000_resume NULL
|
|
|
#endif
|
|
|
|
|
|
+static bool wm2000_readable_reg(struct device *dev, unsigned int reg)
|
|
|
+{
|
|
|
+ switch (reg) {
|
|
|
+ case WM2000_REG_SYS_START:
|
|
|
+ case WM2000_REG_SPEECH_CLARITY:
|
|
|
+ case WM2000_REG_SYS_WATCHDOG:
|
|
|
+ case WM2000_REG_ANA_VMID_PD_TIME:
|
|
|
+ case WM2000_REG_ANA_VMID_PU_TIME:
|
|
|
+ case WM2000_REG_CAT_FLTR_INDX:
|
|
|
+ case WM2000_REG_CAT_GAIN_0:
|
|
|
+ case WM2000_REG_SYS_STATUS:
|
|
|
+ case WM2000_REG_SYS_MODE_CNTRL:
|
|
|
+ case WM2000_REG_SYS_START0:
|
|
|
+ case WM2000_REG_SYS_START1:
|
|
|
+ case WM2000_REG_ID1:
|
|
|
+ case WM2000_REG_ID2:
|
|
|
+ case WM2000_REG_REVISON:
|
|
|
+ case WM2000_REG_SYS_CTL1:
|
|
|
+ case WM2000_REG_SYS_CTL2:
|
|
|
+ case WM2000_REG_ANC_STAT:
|
|
|
+ case WM2000_REG_IF_CTL:
|
|
|
+ return true;
|
|
|
+ default:
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
static const struct regmap_config wm2000_regmap = {
|
|
|
.reg_bits = 8,
|
|
|
.val_bits = 8,
|
|
|
+
|
|
|
+ .max_register = WM2000_REG_IF_CTL,
|
|
|
+ .readable_reg = wm2000_readable_reg,
|
|
|
};
|
|
|
|
|
|
static int wm2000_probe(struct snd_soc_codec *codec)
|