1 /* 2 * platform_sst_audio.h: sst audio platform data header file 3 * 4 * Copyright (C) 2012-14 Intel Corporation 5 * Author: Jeeja KP <jeeja.kp@intel.com> 6 * Omair Mohammed Abdullah <omair.m.abdullah@intel.com> 7 * Vinod Koul ,vinod.koul@intel.com> 8 * 9 * This program is free software; you can redistribute it and/or 10 * modify it under the terms of the GNU General Public License 11 * as published by the Free Software Foundation; version 2 12 * of the License. 13 */ 14 #ifndef _PLATFORM_SST_AUDIO_H_ 15 #define _PLATFORM_SST_AUDIO_H_ 16 17 #include <linux/sfi.h> 18 19 enum sst_audio_task_id_mrfld { 20 SST_TASK_ID_NONE = 0, 21 SST_TASK_ID_SBA = 1, 22 SST_TASK_ID_MEDIA = 3, 23 SST_TASK_ID_MAX = SST_TASK_ID_MEDIA, 24 }; 25 26 /* Device IDs for Merrifield are Pipe IDs, 27 * ref: DSP spec v0.75 */ 28 enum sst_audio_device_id_mrfld { 29 /* Output pipeline IDs */ 30 PIPE_ID_OUT_START = 0x0, 31 PIPE_CODEC_OUT0 = 0x2, 32 PIPE_CODEC_OUT1 = 0x3, 33 PIPE_SPROT_LOOP_OUT = 0x4, 34 PIPE_MEDIA_LOOP1_OUT = 0x5, 35 PIPE_MEDIA_LOOP2_OUT = 0x6, 36 PIPE_VOIP_OUT = 0xC, 37 PIPE_PCM0_OUT = 0xD, 38 PIPE_PCM1_OUT = 0xE, 39 PIPE_PCM2_OUT = 0xF, 40 PIPE_MEDIA0_OUT = 0x12, 41 PIPE_MEDIA1_OUT = 0x13, 42 /* Input Pipeline IDs */ 43 PIPE_ID_IN_START = 0x80, 44 PIPE_CODEC_IN0 = 0x82, 45 PIPE_CODEC_IN1 = 0x83, 46 PIPE_SPROT_LOOP_IN = 0x84, 47 PIPE_MEDIA_LOOP1_IN = 0x85, 48 PIPE_MEDIA_LOOP2_IN = 0x86, 49 PIPE_VOIP_IN = 0x8C, 50 PIPE_PCM0_IN = 0x8D, 51 PIPE_PCM1_IN = 0x8E, 52 PIPE_MEDIA0_IN = 0x8F, 53 PIPE_MEDIA1_IN = 0x90, 54 PIPE_MEDIA2_IN = 0x91, 55 PIPE_RSVD = 0xFF, 56 }; 57 58 /* The stream map for each platform consists of an array of the below 59 * stream map structure. 60 */ 61 struct sst_dev_stream_map { 62 u8 dev_num; /* device id */ 63 u8 subdev_num; /* substream */ 64 u8 direction; 65 u8 device_id; /* fw id */ 66 u8 task_id; /* fw task */ 67 u8 status; 68 }; 69 70 struct sst_platform_data { 71 /* Intel software platform id*/ 72 struct sst_dev_stream_map *pdev_strm_map; 73 unsigned int strm_map_size; 74 }; 75 76 int add_sst_platform_device(void); 77 #endif 78 79