aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>2013-12-19 04:11:01 -0500
committerMark Brown <broonie@linaro.org>2013-12-19 05:17:38 -0500
commit792b62e705048f4da9a6f570c15093ab669839b6 (patch)
tree64aafe689f3963a9b0d8102eaeabb6f3df2c9691
parent1f4fe272f068813377845a959cab5ce786a155bf (diff)
mfd: wm5110: Expose DRE control registers
Certain use-cases require the DRE to be disabled so expose registers necessary to control the DRE enables. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Acked-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
-rw-r--r--drivers/mfd/wm5110-tables.c2
-rw-r--r--include/linux/mfd/arizona/registers.h4
2 files changed, 6 insertions, 0 deletions
diff --git a/drivers/mfd/wm5110-tables.c b/drivers/mfd/wm5110-tables.c
index 338cfbe6727b..abd6713de7b0 100644
--- a/drivers/mfd/wm5110-tables.c
+++ b/drivers/mfd/wm5110-tables.c
@@ -601,6 +601,7 @@ static const struct reg_default wm5110_reg_default[] = {
601 { 0x0000043D, 0x0180 }, /* R1085 - DAC Digital Volume 6R */ 601 { 0x0000043D, 0x0180 }, /* R1085 - DAC Digital Volume 6R */
602 { 0x0000043E, 0x0080 }, /* R1086 - DAC Volume Limit 6R */ 602 { 0x0000043E, 0x0080 }, /* R1086 - DAC Volume Limit 6R */
603 { 0x0000043F, 0x0800 }, /* R1087 - Noise Gate Select 6R */ 603 { 0x0000043F, 0x0800 }, /* R1087 - Noise Gate Select 6R */
604 { 0x00000440, 0x8FFF }, /* R1088 - DRE Enable */
604 { 0x00000450, 0x0000 }, /* R1104 - DAC AEC Control 1 */ 605 { 0x00000450, 0x0000 }, /* R1104 - DAC AEC Control 1 */
605 { 0x00000458, 0x0000 }, /* R1112 - Noise Gate Control */ 606 { 0x00000458, 0x0000 }, /* R1112 - Noise Gate Control */
606 { 0x00000480, 0x0040 }, /* R1152 - Class W ANC Threshold 1 */ 607 { 0x00000480, 0x0040 }, /* R1152 - Class W ANC Threshold 1 */
@@ -1631,6 +1632,7 @@ static bool wm5110_readable_register(struct device *dev, unsigned int reg)
1631 case ARIZONA_DAC_DIGITAL_VOLUME_6R: 1632 case ARIZONA_DAC_DIGITAL_VOLUME_6R:
1632 case ARIZONA_DAC_VOLUME_LIMIT_6R: 1633 case ARIZONA_DAC_VOLUME_LIMIT_6R:
1633 case ARIZONA_NOISE_GATE_SELECT_6R: 1634 case ARIZONA_NOISE_GATE_SELECT_6R:
1635 case ARIZONA_DRE_ENABLE:
1634 case ARIZONA_DAC_AEC_CONTROL_1: 1636 case ARIZONA_DAC_AEC_CONTROL_1:
1635 case ARIZONA_NOISE_GATE_CONTROL: 1637 case ARIZONA_NOISE_GATE_CONTROL:
1636 case ARIZONA_PDM_SPK1_CTRL_1: 1638 case ARIZONA_PDM_SPK1_CTRL_1:
diff --git a/include/linux/mfd/arizona/registers.h b/include/linux/mfd/arizona/registers.h
index 89878149a43f..22916c0f1ca4 100644
--- a/include/linux/mfd/arizona/registers.h
+++ b/include/linux/mfd/arizona/registers.h
@@ -3207,6 +3207,10 @@
3207/* 3207/*
3208 * R1088 (0x440) - DRE Enable 3208 * R1088 (0x440) - DRE Enable
3209 */ 3209 */
3210#define ARIZONA_DRE3R_ENA 0x0020 /* DRE3R_ENA */
3211#define ARIZONA_DRE3R_ENA_MASK 0x0020 /* DRE3R_ENA */
3212#define ARIZONA_DRE3R_ENA_SHIFT 5 /* DRE3R_ENA */
3213#define ARIZONA_DRE3R_ENA_WIDTH 1 /* DRE3R_ENA */
3210#define ARIZONA_DRE3L_ENA 0x0010 /* DRE3L_ENA */ 3214#define ARIZONA_DRE3L_ENA 0x0010 /* DRE3L_ENA */
3211#define ARIZONA_DRE3L_ENA_MASK 0x0010 /* DRE3L_ENA */ 3215#define ARIZONA_DRE3L_ENA_MASK 0x0010 /* DRE3L_ENA */
3212#define ARIZONA_DRE3L_ENA_SHIFT 4 /* DRE3L_ENA */ 3216#define ARIZONA_DRE3L_ENA_SHIFT 4 /* DRE3L_ENA */