diff options
-rw-r--r-- | firmware/drivers/audio/wm8721.c | 28 | ||||
-rw-r--r-- | firmware/export/config-ipod1g2g.h | 12 |
2 files changed, 35 insertions, 5 deletions
diff --git a/firmware/drivers/audio/wm8721.c b/firmware/drivers/audio/wm8721.c index 141224a65b..1740a48d18 100644 --- a/firmware/drivers/audio/wm8721.c +++ b/firmware/drivers/audio/wm8721.c | |||
@@ -104,7 +104,7 @@ void audiohw_enable_output(bool enable) | |||
104 | 104 | ||
105 | /* DACSEL=1 */ | 105 | /* DACSEL=1 */ |
106 | wmcodec_write(0x4, 0x10); | 106 | wmcodec_write(0x4, 0x10); |
107 | 107 | ||
108 | /* set power register to POWEROFF=0 on OUTPD=0, DACPD=0 */ | 108 | /* set power register to POWEROFF=0 on OUTPD=0, DACPD=0 */ |
109 | wmcodec_write(PDCTRL, 0x67); | 109 | wmcodec_write(PDCTRL, 0x67); |
110 | 110 | ||
@@ -123,7 +123,7 @@ void audiohw_enable_output(bool enable) | |||
123 | 123 | ||
124 | /* 5. Set DACMU = 0 to soft-un-mute the audio DACs. */ | 124 | /* 5. Set DACMU = 0 to soft-un-mute the audio DACs. */ |
125 | wmcodec_write(DAPCTRL, 0x0); | 125 | wmcodec_write(DAPCTRL, 0x0); |
126 | 126 | ||
127 | audiohw_mute(0); | 127 | audiohw_mute(0); |
128 | } else { | 128 | } else { |
129 | audiohw_mute(1); | 129 | audiohw_mute(1); |
@@ -168,7 +168,29 @@ void audiohw_set_nsorder(int order) | |||
168 | 168 | ||
169 | void audiohw_set_sample_rate(int sampling_control) | 169 | void audiohw_set_sample_rate(int sampling_control) |
170 | { | 170 | { |
171 | int rate = 0; | ||
172 | switch(sampling_control) | ||
173 | { | ||
174 | case SAMPR_96: | ||
175 | rate = WM8721_USB24_96000HZ; | ||
176 | break; | ||
177 | case SAMPR_88: | ||
178 | rate = WM8721_USB24_88200HZ; | ||
179 | break; | ||
180 | case SAMPR_48: | ||
181 | rate = WM8721_USB24_48000HZ; | ||
182 | break; | ||
183 | case SAMPR_44: | ||
184 | rate = WM8721_USB24_44100HZ; | ||
185 | break; | ||
186 | case SAMPR_32: | ||
187 | rate = WM8721_USB24_32000HZ; | ||
188 | break; | ||
189 | case SAMPR_8: | ||
190 | rate = WM8721_USB24_8000HZ; | ||
191 | break; | ||
192 | } | ||
171 | codec_set_active(0x0); | 193 | codec_set_active(0x0); |
172 | wmcodec_write(SAMPCTRL, sampling_control); | 194 | wmcodec_write(SAMPCTRL, rate); |
173 | codec_set_active(0x1); | 195 | codec_set_active(0x1); |
174 | } | 196 | } |
diff --git a/firmware/export/config-ipod1g2g.h b/firmware/export/config-ipod1g2g.h index cbb5267331..2d3dff1edc 100644 --- a/firmware/export/config-ipod1g2g.h +++ b/firmware/export/config-ipod1g2g.h | |||
@@ -13,8 +13,16 @@ | |||
13 | /* define this if you use an ATA controller */ | 13 | /* define this if you use an ATA controller */ |
14 | #define HAVE_ATA | 14 | #define HAVE_ATA |
15 | 15 | ||
16 | /* define this if you have recording possibility */ | 16 | /* define this if you have recording possibility |
17 | /*#define HAVE_RECORDING*/ | 17 | #define HAVE_RECORDING */ |
18 | |||
19 | /* define the bitmask of hardware sample rates */ | ||
20 | #define HW_SAMPR_CAPS (SAMPR_CAP_96 | SAMPR_CAP_88 | SAMPR_CAP_48 | \ | ||
21 | SAMPR_CAP_44 | SAMPR_CAP_32 | SAMPR_CAP_8) | ||
22 | |||
23 | /* define the bitmask of recording sample rates | ||
24 | #define REC_SAMPR_CAPS (SAMPR_CAP_96 | SAMPR_CAP_88 | SAMPR_CAP_48 | \ | ||
25 | SAMPR_CAP_44 | SAMPR_CAP_32 | SAMPR_CAP_8) */ | ||
18 | 26 | ||
19 | /* define this if you have a bitmap LCD display */ | 27 | /* define this if you have a bitmap LCD display */ |
20 | #define HAVE_LCD_BITMAP | 28 | #define HAVE_LCD_BITMAP |