summaryrefslogtreecommitdiff
path: root/firmware/drivers/audio/rocker_codec.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers/audio/rocker_codec.c')
-rw-r--r--firmware/drivers/audio/rocker_codec.c30
1 files changed, 23 insertions, 7 deletions
diff --git a/firmware/drivers/audio/rocker_codec.c b/firmware/drivers/audio/rocker_codec.c
index 23541a4ddb..5404ff9561 100644
--- a/firmware/drivers/audio/rocker_codec.c
+++ b/firmware/drivers/audio/rocker_codec.c
@@ -29,6 +29,9 @@
29 29
30static int fd_hw; 30static int fd_hw;
31 31
32static long int vol_l_hw = 255;
33static long int vol_r_hw = 255;
34
32static void hw_open(void) 35static void hw_open(void)
33{ 36{
34 fd_hw = open("/dev/snd/controlC0", O_RDWR); 37 fd_hw = open("/dev/snd/controlC0", O_RDWR);
@@ -41,19 +44,32 @@ static void hw_close(void)
41 close(fd_hw); 44 close(fd_hw);
42} 45}
43 46
44void audiohw_preinit(void) 47void audiohw_mute(int mute)
45{ 48{
46 long int hp = 2; 49 if(mute)
50 {
51 long int ps0 = 0;
52 alsa_controls_set_ints("Output Port Switch", 1, &ps0);
53 }
54 else
55 {
56 long int ps2 = 2;
57 alsa_controls_set_ints("Output Port Switch", 1, &ps2);
58 }
59}
47 60
61void audiohw_preinit(void)
62{
48 alsa_controls_init(); 63 alsa_controls_init();
49 hw_open(); 64 hw_open();
50
51 /* Output port switch set to Headphones */
52 alsa_controls_set_ints("Output Port Switch", 1, &hp);
53} 65}
54 66
55void audiohw_postinit(void) 67void audiohw_postinit(void)
56{ 68{
69 long int hp = 2;
70
71 /* Output port switch set to Headphones */
72 alsa_controls_set_ints("Output Port Switch", 1, &hp);
57} 73}
58 74
59void audiohw_close(void) 75void audiohw_close(void)
@@ -69,8 +85,8 @@ void audiohw_set_frequency(int fsel)
69 85
70void audiohw_set_volume(int vol_l, int vol_r) 86void audiohw_set_volume(int vol_l, int vol_r)
71{ 87{
72 long int vol_l_hw = -vol_l/5; 88 vol_l_hw = -vol_l/5;
73 long int vol_r_hw = -vol_r/5; 89 vol_r_hw = -vol_r/5;
74 90
75 alsa_controls_set_ints("Left Playback Volume", 1, &vol_l_hw); 91 alsa_controls_set_ints("Left Playback Volume", 1, &vol_l_hw);
76 alsa_controls_set_ints("Right Playback Volume", 1, &vol_r_hw); 92 alsa_controls_set_ints("Right Playback Volume", 1, &vol_r_hw);