diff options
Diffstat (limited to 'arch/arm/mach-davinci/include')
-rw-r--r-- | arch/arm/mach-davinci/include/mach/asp.h | 51 |
1 files changed, 50 insertions, 1 deletions
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 |