diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-07 20:07:31 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-07 20:07:31 -0400 |
commit | faa38b5e0e092914764cdba9f83d31a3f794d182 (patch) | |
tree | b3e5921bdc36378033b4910eb4f29cb0dfc486e0 /arch/arm/mach-davinci | |
parent | 78417334b5cb6e1f915b8fdcc4fce3f1a1b4420c (diff) | |
parent | 74bf40f0793fed9e01eb6164c2ce63e8c27ca205 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (214 commits)
ALSA: hda - Add pin-fix for HP dc5750
ALSA: als4000: Fix potentially invalid DMA mode setup
ALSA: als4000: enable burst mode
ALSA: hda - Fix initial capsrc selection in patch_alc269()
ASoC: TWL4030: Capture route runtime DAPM ordering fix
ALSA: hda - Add PC-beep whitelist for an Intel board
ALSA: hda - More relax for pending period handling
ALSA: hda - Define AC_FMT_* constants
ALSA: hda - Fix beep frequency on IDT 92HD73xx and 92HD71Bxx codecs
ALSA: hda - Add support for HDMI HBR passthrough
ALSA: hda - Set Stream Type in Stream Format according to AES0
ALSA: hda - Fix Thinkpad X300 so SPDIF is not exposed
ALSA: hda - FIX to not expose SPDIF on Thinkpad X301, since it does not have the ability to use SPDIF
ASoC: wm9081: fix resource reclaim in wm9081_register error path
ASoC: wm8978: fix a memory leak if a wm8978_register fail
ASoC: wm8974: fix a memory leak if another WM8974 is registered
ASoC: wm8961: fix resource reclaim in wm8961_register error path
ASoC: wm8955: fix resource reclaim in wm8955_register error path
ASoC: wm8940: fix a memory leak if wm8940_register return error
ASoC: wm8904: fix resource reclaim in wm8904_register error path
...
Diffstat (limited to 'arch/arm/mach-davinci')
-rw-r--r-- | arch/arm/mach-davinci/board-da830-evm.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-davinci/board-da850-evm.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-davinci/board-dm646x-evm.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-davinci/include/mach/asp.h | 51 |
4 files changed, 54 insertions, 5 deletions
diff --git a/arch/arm/mach-davinci/board-da830-evm.c b/arch/arm/mach-davinci/board-da830-evm.c index 212d97084bd7..bc384d3561da 100644 --- a/arch/arm/mach-davinci/board-da830-evm.c +++ b/arch/arm/mach-davinci/board-da830-evm.c | |||
@@ -208,7 +208,7 @@ static struct snd_platform_data da830_evm_snd_data = { | |||
208 | .num_serializer = ARRAY_SIZE(da830_iis_serializer_direction), | 208 | .num_serializer = ARRAY_SIZE(da830_iis_serializer_direction), |
209 | .tdm_slots = 2, | 209 | .tdm_slots = 2, |
210 | .serial_dir = da830_iis_serializer_direction, | 210 | .serial_dir = da830_iis_serializer_direction, |
211 | .eventq_no = EVENTQ_0, | 211 | .asp_chan_q = EVENTQ_0, |
212 | .version = MCASP_VERSION_2, | 212 | .version = MCASP_VERSION_2, |
213 | .txnumevt = 1, | 213 | .txnumevt = 1, |
214 | .rxnumevt = 1, | 214 | .rxnumevt = 1, |
diff --git a/arch/arm/mach-davinci/board-da850-evm.c b/arch/arm/mach-davinci/board-da850-evm.c index b280efb1fa12..e8c819090268 100644 --- a/arch/arm/mach-davinci/board-da850-evm.c +++ b/arch/arm/mach-davinci/board-da850-evm.c | |||
@@ -343,7 +343,7 @@ static struct snd_platform_data da850_evm_snd_data = { | |||
343 | .num_serializer = ARRAY_SIZE(da850_iis_serializer_direction), | 343 | .num_serializer = ARRAY_SIZE(da850_iis_serializer_direction), |
344 | .tdm_slots = 2, | 344 | .tdm_slots = 2, |
345 | .serial_dir = da850_iis_serializer_direction, | 345 | .serial_dir = da850_iis_serializer_direction, |
346 | .eventq_no = EVENTQ_1, | 346 | .asp_chan_q = EVENTQ_1, |
347 | .version = MCASP_VERSION_2, | 347 | .version = MCASP_VERSION_2, |
348 | .txnumevt = 1, | 348 | .txnumevt = 1, |
349 | .rxnumevt = 1, | 349 | .rxnumevt = 1, |
diff --git a/arch/arm/mach-davinci/board-dm646x-evm.c b/arch/arm/mach-davinci/board-dm646x-evm.c index 6d8889342c9f..87521f2d69c7 100644 --- a/arch/arm/mach-davinci/board-dm646x-evm.c +++ b/arch/arm/mach-davinci/board-dm646x-evm.c | |||
@@ -323,7 +323,7 @@ static struct snd_platform_data dm646x_evm_snd_data[] = { | |||
323 | .num_serializer = ARRAY_SIZE(dm646x_iis_serializer_direction), | 323 | .num_serializer = ARRAY_SIZE(dm646x_iis_serializer_direction), |
324 | .tdm_slots = 2, | 324 | .tdm_slots = 2, |
325 | .serial_dir = dm646x_iis_serializer_direction, | 325 | .serial_dir = dm646x_iis_serializer_direction, |
326 | .eventq_no = EVENTQ_0, | 326 | .asp_chan_q = EVENTQ_0, |
327 | }, | 327 | }, |
328 | { | 328 | { |
329 | .tx_dma_offset = 0x400, | 329 | .tx_dma_offset = 0x400, |
@@ -332,7 +332,7 @@ static struct snd_platform_data dm646x_evm_snd_data[] = { | |||
332 | .num_serializer = ARRAY_SIZE(dm646x_dit_serializer_direction), | 332 | .num_serializer = ARRAY_SIZE(dm646x_dit_serializer_direction), |
333 | .tdm_slots = 32, | 333 | .tdm_slots = 32, |
334 | .serial_dir = dm646x_dit_serializer_direction, | 334 | .serial_dir = dm646x_dit_serializer_direction, |
335 | .eventq_no = EVENTQ_0, | 335 | .asp_chan_q = EVENTQ_0, |
336 | }, | 336 | }, |
337 | }; | 337 | }; |
338 | 338 | ||
diff --git a/arch/arm/mach-davinci/include/mach/asp.h b/arch/arm/mach-davinci/include/mach/asp.h index 834725f1e81d..9aa240909a2c 100644 --- a/arch/arm/mach-davinci/include/mach/asp.h +++ b/arch/arm/mach-davinci/include/mach/asp.h | |||
@@ -52,7 +52,8 @@ | |||
52 | struct snd_platform_data { | 52 | struct snd_platform_data { |
53 | u32 tx_dma_offset; | 53 | u32 tx_dma_offset; |
54 | u32 rx_dma_offset; | 54 | u32 rx_dma_offset; |
55 | enum dma_event_q eventq_no; /* event queue number */ | 55 | enum dma_event_q asp_chan_q; /* event queue number for ASP channel */ |
56 | enum dma_event_q ram_chan_q; /* event queue number for RAM channel */ | ||
56 | unsigned int codec_fmt; | 57 | unsigned int codec_fmt; |
57 | /* | 58 | /* |
58 | * Allowing this is more efficient and eliminates left and right swaps | 59 | * Allowing this is more efficient and eliminates left and right swaps |
@@ -63,6 +64,49 @@ struct snd_platform_data { | |||
63 | unsigned sram_size_playback; | 64 | unsigned sram_size_playback; |
64 | unsigned sram_size_capture; | 65 | unsigned sram_size_capture; |
65 | 66 | ||
67 | /* | ||
68 | * If McBSP peripheral gets the clock from an external pin, | ||
69 | * there are three chooses, that are MCBSP_CLKX, MCBSP_CLKR | ||
70 | * and MCBSP_CLKS. | ||
71 | * Depending on different hardware connections it is possible | ||
72 | * to use this setting to change the behaviour of McBSP | ||
73 | * driver. The dm365_clk_input_pin enum is available for dm365 | ||
74 | */ | ||
75 | int clk_input_pin; | ||
76 | |||
77 | /* | ||
78 | * This flag works when both clock and FS are outputs for the cpu | ||
79 | * and makes clock more accurate (FS is not symmetrical and the | ||
80 | * clock is very fast. | ||
81 | * The clock becoming faster is named | ||
82 | * i2s continuous serial clock (I2S_SCK) and it is an externally | ||
83 | * visible bit clock. | ||
84 | * | ||
85 | * first line : WordSelect | ||
86 | * second line : ContinuousSerialClock | ||
87 | * third line: SerialData | ||
88 | * | ||
89 | * SYMMETRICAL APPROACH: | ||
90 | * _______________________ LEFT | ||
91 | * _| RIGHT |______________________| | ||
92 | * _ _ _ _ _ _ _ _ | ||
93 | * _| |_| |_ x16 _| |_| |_| |_| |_ x16 _| |_| |_ | ||
94 | * _ _ _ _ _ _ _ _ | ||
95 | * _/ \_/ \_ ... _/ \_/ \_/ \_/ \_ ... _/ \_/ \_ | ||
96 | * \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ | ||
97 | * | ||
98 | * ACCURATE CLOCK APPROACH: | ||
99 | * ______________ LEFT | ||
100 | * _| RIGHT |_______________________________| | ||
101 | * _ _ _ _ _ _ _ _ _ | ||
102 | * _| |_ x16 _| |_| |_ x16 _| |_| |_| |_| |_| |_| | | ||
103 | * _ _ _ _ dummy cycles | ||
104 | * _/ \_ ... _/ \_/ \_ ... _/ \__________________ | ||
105 | * \_/ \_/ \_/ \_/ | ||
106 | * | ||
107 | */ | ||
108 | bool i2s_accurate_sck; | ||
109 | |||
66 | /* McASP specific fields */ | 110 | /* McASP specific fields */ |
67 | int tdm_slots; | 111 | int tdm_slots; |
68 | u8 op_mode; | 112 | u8 op_mode; |
@@ -78,6 +122,11 @@ enum { | |||
78 | MCASP_VERSION_2, /* DA8xx/OMAPL1x */ | 122 | MCASP_VERSION_2, /* DA8xx/OMAPL1x */ |
79 | }; | 123 | }; |
80 | 124 | ||
125 | enum dm365_clk_input_pin { | ||
126 | MCBSP_CLKR = 0, /* DM365 */ | ||
127 | MCBSP_CLKS, | ||
128 | }; | ||
129 | |||
81 | #define INACTIVE_MODE 0 | 130 | #define INACTIVE_MODE 0 |
82 | #define TX_MODE 1 | 131 | #define TX_MODE 1 |
83 | #define RX_MODE 2 | 132 | #define RX_MODE 2 |