Werner's Miscellanea
Sign in or create your account | Project List | Help
Werner's Miscellanea Commit Details
Date: | 2012-03-20 10:15:46 (12 years 8 days ago) |
---|---|
Author: | Xiangfu |
Commit: | 901a4836cb3341026b3f50de6d0b946139be39fa |
Message: | m1/patches/rtems/: Milkymist driver: add mic-boost support |
Files: |
m1/patches/rtems/milkymist-audio-add-support-mic-boost.patch (1 diff) m1/patches/rtems/series (1 diff) |
Change Details
m1/patches/rtems/milkymist-audio-add-support-mic-boost.patch | ||
---|---|---|
1 | Index: rtems/c/src/lib/libbsp/lm32/shared/milkymist_ac97/ac97.c | |
2 | =================================================================== | |
3 | --- rtems.orig/c/src/lib/libbsp/lm32/shared/milkymist_ac97/ac97.c 2012-03-20 17:11:20.087160002 +0800 | |
4 | @@ -372,6 +372,39 @@ | |
5 | return sc; | |
6 | } | |
7 | ||
8 | +static rtems_status_code ioctl_read_mic_boost(void *buf, unsigned int chan) | |
9 | +{ | |
10 | + unsigned int *val = (unsigned int *)buf; | |
11 | + int codec; | |
12 | + | |
13 | + codec = read_cr(chan); | |
14 | + if (codec < 0) | |
15 | + return RTEMS_UNSATISFIED; | |
16 | + | |
17 | + *val = (codec & (1 << 6)) >> 6; | |
18 | + return RTEMS_SUCCESSFUL; | |
19 | +} | |
20 | + | |
21 | +static rtems_status_code ioctl_write_mic_boost(void *buf, unsigned int chan) | |
22 | +{ | |
23 | + unsigned int *val = (unsigned int *)buf; | |
24 | + int codec; | |
25 | + | |
26 | + codec = read_cr(chan); | |
27 | + if (codec < 0) | |
28 | + return RTEMS_UNSATISFIED; | |
29 | + | |
30 | + if (*val) | |
31 | + codec |= (1 << 6); | |
32 | + else | |
33 | + codec &= ~(1 << 6); | |
34 | + | |
35 | + if (!write_cr(chan, codec)) | |
36 | + return RTEMS_UNSATISFIED; | |
37 | + | |
38 | + return RTEMS_SUCCESSFUL; | |
39 | +} | |
40 | + | |
41 | rtems_device_driver ac97_control( | |
42 | rtems_device_major_number major, | |
43 | rtems_device_minor_number minor, | |
44 | @@ -419,6 +452,16 @@ | |
45 | if(sc == RTEMS_SUCCESSFUL) | |
46 | args->ioctl_return = 0; | |
47 | return sc; | |
48 | + case SOUND_MIXER_READ(SOUND_MIXER_MIC_BOOST): | |
49 | + sc = ioctl_read_mic_boost(args->buffer, 0x0e); | |
50 | + if(sc == RTEMS_SUCCESSFUL) | |
51 | + args->ioctl_return = 0; | |
52 | + return sc; | |
53 | + case SOUND_MIXER_WRITE(SOUND_MIXER_MIC_BOOST): | |
54 | + sc = ioctl_write_mic_boost(args->buffer, 0x0e); | |
55 | + if(sc == RTEMS_SUCCESSFUL) | |
56 | + args->ioctl_return = 0; | |
57 | + return sc; | |
58 | default: | |
59 | return RTEMS_UNSATISFIED; | |
60 | } | |
61 | Index: rtems/c/src/lib/libbsp/lm32/shared/milkymist_ac97/milkymist_ac97.h | |
62 | =================================================================== | |
63 | --- rtems.orig/c/src/lib/libbsp/lm32/shared/milkymist_ac97/milkymist_ac97.h 2012-03-20 17:11:23.791160002 +0800 | |
64 | @@ -21,6 +21,7 @@ | |
65 | /* Ioctls. 0x41 is 'A' */ | |
66 | #define SOUND_MIXER_MIC 0x0 | |
67 | #define SOUND_MIXER_LINE 0x1 | |
68 | +#define SOUND_MIXER_MIC_BOOST 0x2 | |
69 | #define SOUND_MIXER_READ(x) (0x4100+x) | |
70 | #define SOUND_MIXER_WRITE(x) (0x4110+x) | |
71 |
m1/patches/rtems/series | ||
---|---|---|
24 | 24 | bootp-dhcp-cleanup.patch # https://www.rtems.org/bugzilla/show_bug.cgi?id=2031 |
25 | 25 | # usb-firmware-ioctl.patch - applied 2012-03-04 |
26 | 26 | # fix-pmem-size.patch - applied 2012-03-06 |
27 | milkymist-audio-add-support-mic-boost.patch |
Branches:
master