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
1Index: 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     }
61Index: 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
2424bootp-dhcp-cleanup.patch # https://www.rtems.org/bugzilla/show_bug.cgi?id=2031
2525# usb-firmware-ioctl.patch - applied 2012-03-04
2626# fix-pmem-size.patch - applied 2012-03-06
27milkymist-audio-add-support-mic-boost.patch

Archive Download the corresponding diff file

Branches:
master



interactive