]> Pileus Git - ~andy/linux/blob - sound/soc/mid-x86/sst_platform.h
ALSA: usb-audio: add Yamaha MOX6/MOX8 support
[~andy/linux] / sound / soc / mid-x86 / sst_platform.h
1 /*
2  *  sst_platform.h - Intel MID Platform driver header file
3  *
4  *  Copyright (C) 2010 Intel Corp
5  *  Author: Vinod Koul <vinod.koul@intel.com>
6  *  Author: Harsha Priya <priya.harsha@intel.com>
7  *  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
8  *
9  *  This program is free software; you can redistribute it and/or modify
10  *  it under the terms of the GNU General Public License as published by
11  *  the Free Software Foundation; version 2 of the License.
12  *
13  *  This program is distributed in the hope that it will be useful, but
14  *  WITHOUT ANY WARRANTY; without even the implied warranty of
15  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  *  General Public License for more details.
17  *
18  *  You should have received a copy of the GNU General Public License along
19  *  with this program; if not, write to the Free Software Foundation, Inc.,
20  *  59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
21  *
22  * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23  *
24  *
25  */
26
27 #ifndef __SST_PLATFORMDRV_H__
28 #define __SST_PLATFORMDRV_H__
29
30 #define SST_MONO                1
31 #define SST_STEREO              2
32 #define SST_MAX_CAP             5
33
34 #define SST_MIN_RATE            8000
35 #define SST_MAX_RATE            48000
36 #define SST_MIN_CHANNEL         1
37 #define SST_MAX_CHANNEL         5
38 #define SST_MAX_BUFFER          (800*1024)
39 #define SST_MIN_BUFFER          (800*1024)
40 #define SST_MIN_PERIOD_BYTES    32
41 #define SST_MAX_PERIOD_BYTES    SST_MAX_BUFFER
42 #define SST_MIN_PERIODS         2
43 #define SST_MAX_PERIODS         (1024*2)
44 #define SST_FIFO_SIZE           0
45 #define SST_CARD_NAMES          "intel_mid_card"
46 #define MSIC_VENDOR_ID          3
47
48 struct sst_runtime_stream {
49         int     stream_status;
50         struct pcm_stream_info stream_info;
51         struct intel_sst_card_ops *sstdrv_ops;
52         spinlock_t      status_lock;
53 };
54
55 enum sst_drv_status {
56         SST_PLATFORM_INIT = 1,
57         SST_PLATFORM_STARTED,
58         SST_PLATFORM_RUNNING,
59         SST_PLATFORM_PAUSED,
60         SST_PLATFORM_DROPPED,
61 };
62
63 #endif