~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/sound/sof/dai-intel.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/sound/sof/dai-intel.h (Version linux-6.12-rc7) and /include/sound/sof/dai-intel.h (Version linux-4.10.17)


  1 /* SPDX-License-Identifier: (GPL-2.0-only OR B      1 
  2 /*                                                
  3  * This file is provided under a dual BSD/GPLv    
  4  * redistributing this file, you may do so und    
  5  *                                                
  6  * Copyright(c) 2018 Intel Corporation            
  7  */                                               
  8                                                   
  9 #ifndef __INCLUDE_SOUND_SOF_DAI_INTEL_H__         
 10 #define __INCLUDE_SOUND_SOF_DAI_INTEL_H__         
 11                                                   
 12 #include <sound/sof/header.h>                     
 13                                                   
 14  /* ssc1: TINTE */                                
 15 #define SOF_DAI_INTEL_SSP_QUIRK_TINTE             
 16  /* ssc1: PINTE */                                
 17 #define SOF_DAI_INTEL_SSP_QUIRK_PINTE             
 18  /* ssc2: SMTATF */                               
 19 #define SOF_DAI_INTEL_SSP_QUIRK_SMTATF            
 20  /* ssc2: MMRATF */                               
 21 #define SOF_DAI_INTEL_SSP_QUIRK_MMRATF            
 22  /* ssc2: PSPSTWFDFD */                           
 23 #define SOF_DAI_INTEL_SSP_QUIRK_PSPSTWFDFD        
 24  /* ssc2: PSPSRWFDFD */                           
 25 #define SOF_DAI_INTEL_SSP_QUIRK_PSPSRWFDFD        
 26 /* ssc1: LBM */                                   
 27 #define SOF_DAI_INTEL_SSP_QUIRK_LBM               
 28                                                   
 29  /* here is the possibility to define others a    
 30                                                   
 31 #define SOF_DAI_INTEL_SSP_FRAME_PULSE_WIDTH_MA    
 32 #define SOF_DAI_INTEL_SSP_SLOT_PADDING_MAX        
 33                                                   
 34 /* SSP clocks control settings                    
 35  *                                                
 36  * Macros for clks_control field in sof_ipc_da    
 37  */                                               
 38                                                   
 39 /* mclk 0 disable */                              
 40 #define SOF_DAI_INTEL_SSP_MCLK_0_DISABLE          
 41 /* mclk 1 disable */                              
 42 #define SOF_DAI_INTEL_SSP_MCLK_1_DISABLE          
 43 /* mclk keep active */                            
 44 #define SOF_DAI_INTEL_SSP_CLKCTRL_MCLK_KA         
 45 /* bclk keep active */                            
 46 #define SOF_DAI_INTEL_SSP_CLKCTRL_BCLK_KA         
 47 /* fs keep active */                              
 48 #define SOF_DAI_INTEL_SSP_CLKCTRL_FS_KA           
 49 /* bclk idle */                                   
 50 #define SOF_DAI_INTEL_SSP_CLKCTRL_BCLK_IDLE_HI    
 51 /* mclk early start */                            
 52 #define SOF_DAI_INTEL_SSP_CLKCTRL_MCLK_ES         
 53 /* bclk early start */                            
 54 #define SOF_DAI_INTEL_SSP_CLKCTRL_BCLK_ES         
 55 /* mclk always on */                              
 56 #define SOF_DAI_INTEL_SSP_CLKCTRL_MCLK_AON        
 57                                                   
 58 /* DMIC max. four controllers for eight microp    
 59 #define SOF_DAI_INTEL_DMIC_NUM_CTRL               
 60                                                   
 61 /* SSP Configuration Request - SOF_IPC_DAI_SSP    
 62 struct sof_ipc_dai_ssp_params {                   
 63         struct sof_ipc_hdr hdr;                   
 64         uint16_t reserved1;                       
 65         uint16_t mclk_id;                         
 66                                                   
 67         uint32_t mclk_rate;     /* mclk freque    
 68         uint32_t fsync_rate;    /* fsync frequ    
 69         uint32_t bclk_rate;     /* bclk freque    
 70                                                   
 71         /* TDM */                                 
 72         uint32_t tdm_slots;                       
 73         uint32_t rx_slots;                        
 74         uint32_t tx_slots;                        
 75                                                   
 76         /* data */                                
 77         uint32_t sample_valid_bits;               
 78         uint16_t tdm_slot_width;                  
 79         uint16_t reserved2;     /* alignment *    
 80                                                   
 81         /* MCLK */                                
 82         uint32_t mclk_direction;                  
 83                                                   
 84         uint16_t frame_pulse_width;               
 85         uint16_t tdm_per_slot_padding_flag;       
 86         uint32_t clks_control;                    
 87         uint32_t quirks;                          
 88         uint32_t bclk_delay;    /* guaranteed     
 89                                  * will be dri    
 90                                  */               
 91 } __packed;                                       
 92                                                   
 93 /* HDA Configuration Request - SOF_IPC_DAI_HDA    
 94 struct sof_ipc_dai_hda_params {                   
 95         struct sof_ipc_hdr hdr;                   
 96         uint32_t link_dma_ch;                     
 97         uint32_t rate;                            
 98         uint32_t channels;                        
 99 } __packed;                                       
100                                                   
101 /* ALH Configuration Request - SOF_IPC_DAI_ALH    
102 struct sof_ipc_dai_alh_params {                   
103         struct sof_ipc_hdr hdr;                   
104         uint32_t stream_id;                       
105         uint32_t rate;                            
106         uint32_t channels;                        
107                                                   
108         /* reserved for future use */             
109         uint32_t reserved[13];                    
110 } __packed;                                       
111                                                   
112 /* DMIC Configuration Request - SOF_IPC_DAI_DM    
113                                                   
114 /* This struct is defined per 2ch PDM controll    
115  * Normally it is sufficient to set the used m    
116  * and keep other parameters as zero. The cust    
117  *                                                
118  * 1. If a device mixes different microphones     
119  * and/or the absolute polarity matters the PC    
120  * can be inverted with the controls.             
121  *                                                
122  * 2. If the microphones in a stereo pair do n    
123  * in desired order due to board schematics ch    
124  * the clk_edge parameter.                        
125  *                                                
126  * 3. If PDM bit errors are seen in capture (p    
127  * that delays the sampling time of data by ha    
128  * can be tried for improvement. However there    
129  * data integrity problems.                       
130  */                                               
131 struct sof_ipc_dai_dmic_pdm_ctrl {                
132         struct sof_ipc_hdr hdr;                   
133         uint16_t id;            /**< PDM contr    
134                                                   
135         uint16_t enable_mic_a;  /**< Use A (le    
136         uint16_t enable_mic_b;  /**< Use B (ri    
137                                                   
138         uint16_t polarity_mic_a; /**< Optional    
139         uint16_t polarity_mic_b; /**< Optional    
140                                                   
141         uint16_t clk_edge;      /**< Optionall    
142         uint16_t skew;          /**< Adjust PD    
143                                                   
144         uint16_t reserved[3];   /**< Make sure    
145 } __packed;                                       
146                                                   
147 /* This struct contains the global settings fo    
148  * version number used in configuration data i    
149  * device driver src/drivers/dmic.c need to ma    
150  * initial value 1 if updates done for the to     
151  * of the microphone.                             
152  *                                                
153  * Note: The microphone clock (pdmclk_min, pdm    
154  * parameters need to be set as defined in mic    
155  * range 1.0 - 3.2 MHz is usually supported mi    
156  * multi-mode capable and there may be denied     
157  * the modes. In such case set the clock range    
158  * avoid the driver to set clock to an illegal    
159  *                                                
160  * The duty cycle could be set to 48-52% if no    
161  * parameters can be altered within data sheet    
162  * required audio application performance powe    
163  *                                                
164  * The microphone clock needs to be usually ab    
165  * sample rate. With highest sample rates abov    
166  * somewhat.                                      
167  *                                                
168  * The parameter wake_up_time describes how lo    
169  * for the data line to produce valid output f    
170  * will mute the captured audio for the given     
171  * parameter is used to prevent too short cloc    
172  * will keep the clock active after capture st    
173  * met. The unit for both is microseconds (us)    
174  * treated as an error.                           
175  */                                               
176 struct sof_ipc_dai_dmic_params {                  
177         struct sof_ipc_hdr hdr;                   
178         uint32_t driver_ipc_version;    /**< V    
179                                                   
180         uint32_t pdmclk_min;    /**< Minimum m    
181         uint32_t pdmclk_max;    /**< Maximum m    
182                                                   
183         uint32_t fifo_fs;       /**< FIFO samp    
184         uint32_t reserved_1;    /**< Reserved     
185         uint16_t fifo_bits;     /**< FIFO word    
186         uint16_t fifo_bits_b;   /**< Deprecate    
187                                                   
188         uint16_t duty_min;      /**< Min. mic     
189         uint16_t duty_max;      /**< Max. mic     
190                                                   
191         uint32_t num_pdm_active; /**< Number o    
192                                  /**< Range is    
193                                                   
194         uint32_t wake_up_time;      /**< Time     
195         uint32_t min_clock_on_time; /**< Min.     
196         uint32_t unmute_ramp_time;  /**< Lengt    
197                                                   
198         /* reserved for future use */             
199         uint32_t reserved[5];                     
200                                                   
201         /**< PDM controllers configuration */     
202         struct sof_ipc_dai_dmic_pdm_ctrl pdm[S    
203 } __packed;                                       
204                                                   
205 #endif                                            
206                                                   

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php