summaryrefslogtreecommitdiff
path: root/firmware/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers')
-rw-r--r--firmware/drivers/audio/wm8731.c24
1 files changed, 23 insertions, 1 deletions
diff --git a/firmware/drivers/audio/wm8731.c b/firmware/drivers/audio/wm8731.c
index a1149c3..a895f4f 100644
--- a/firmware/drivers/audio/wm8731.c
+++ b/firmware/drivers/audio/wm8731.c
@@ -223,8 +223,30 @@ void audiohw_set_nsorder(int order)
void audiohw_set_sample_rate(int sampling_control)
{
+ int rate = 0;
+ switch(sampling_control)
+ {
+ case SAMPR_96:
+ rate = WM8731_USB24_96000HZ;
+ break;
+ case SAMPR_88:
+ rate = WM8731_USB24_88200HZ;
+ break;
+ case SAMPR_48:
+ rate = WM8731_USB24_48000HZ;
+ break;
+ case SAMPR_44:
+ rate = WM8731_USB24_44100HZ;
+ break;
+ case SAMPR_32:
+ rate = WM8731_USB24_32000HZ;
+ break;
+ case SAMPR_8:
+ rate = WM8731_USB24_8000HZ;
+ break;
+ }
codec_set_active(false);
- wmcodec_write(SAMPCTRL, sampling_control);
+ wmcodec_write(SAMPCTRL, rate);
codec_set_active(true);
}