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

TOMOYO Linux Cross Reference
Linux/sound/soc/codecs/cq93vc.c

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 /sound/soc/codecs/cq93vc.c (Version linux-6.12-rc7) and /sound/soc/codecs/cq93vc.c (Version linux-5.4.284)


** Warning: Cannot open xref database.

  1 // SPDX-License-Identifier: GPL-2.0-or-later        1 
  2 /*                                                
  3  * ALSA SoC CQ0093 Voice Codec Driver for DaVi    
  4  *                                                
  5  * Copyright (C) 2010 Texas Instruments, Inc      
  6  *                                                
  7  * Author: Miguel Aguilar <miguel.aguilar@ridg    
  8  */                                               
  9 #include <linux/module.h>                         
 10 #include <linux/moduleparam.h>                    
 11 #include <linux/init.h>                           
 12 #include <linux/io.h>                             
 13 #include <linux/delay.h>                          
 14 #include <linux/pm.h>                             
 15 #include <linux/platform_device.h>                
 16 #include <linux/device.h>                         
 17 #include <linux/slab.h>                           
 18 #include <linux/clk.h>                            
 19 #include <linux/mfd/davinci_voicecodec.h>         
 20 #include <linux/spi/spi.h>                        
 21                                                   
 22 #include <sound/core.h>                           
 23 #include <sound/pcm.h>                            
 24 #include <sound/pcm_params.h>                     
 25 #include <sound/soc.h>                            
 26 #include <sound/initval.h>                        
 27                                                   
 28 static const struct snd_kcontrol_new cq93vc_sn    
 29         SOC_SINGLE("PGA Capture Volume", DAVIN    
 30         SOC_SINGLE("Mono DAC Playback Volume",    
 31 };                                                
 32                                                   
 33 static int cq93vc_mute(struct snd_soc_dai *dai    
 34 {                                                 
 35         struct snd_soc_component *component =     
 36         u8 reg;                                   
 37                                                   
 38         if (mute)                                 
 39                 reg = DAVINCI_VC_REG09_MUTE;      
 40         else                                      
 41                 reg = 0;                          
 42                                                   
 43         snd_soc_component_update_bits(componen    
 44                             reg);                 
 45                                                   
 46         return 0;                                 
 47 }                                                 
 48                                                   
 49 static int cq93vc_set_dai_sysclk(struct snd_so    
 50                                  int clk_id, u    
 51 {                                                 
 52         switch (freq) {                           
 53         case 22579200:                            
 54         case 27000000:                            
 55         case 33868800:                            
 56                 return 0;                         
 57         }                                         
 58                                                   
 59         return -EINVAL;                           
 60 }                                                 
 61                                                   
 62 static int cq93vc_set_bias_level(struct snd_so    
 63                                 enum snd_soc_b    
 64 {                                                 
 65         switch (level) {                          
 66         case SND_SOC_BIAS_ON:                     
 67                 snd_soc_component_write(compon    
 68                              DAVINCI_VC_REG12_    
 69                 break;                            
 70         case SND_SOC_BIAS_PREPARE:                
 71                 break;                            
 72         case SND_SOC_BIAS_STANDBY:                
 73                 snd_soc_component_write(compon    
 74                              DAVINCI_VC_REG12_    
 75                 break;                            
 76         case SND_SOC_BIAS_OFF:                    
 77                 /* force all power off */         
 78                 snd_soc_component_write(compon    
 79                              DAVINCI_VC_REG12_    
 80                 break;                            
 81         }                                         
 82                                                   
 83         return 0;                                 
 84 }                                                 
 85                                                   
 86 #define CQ93VC_RATES    (SNDRV_PCM_RATE_8000 |    
 87 #define CQ93VC_FORMATS  (SNDRV_PCM_FMTBIT_U8 |    
 88                                                   
 89 static const struct snd_soc_dai_ops cq93vc_dai    
 90         .mute_stream    = cq93vc_mute,            
 91         .set_sysclk     = cq93vc_set_dai_syscl    
 92         .no_capture_mute = 1,                     
 93 };                                                
 94                                                   
 95 static struct snd_soc_dai_driver cq93vc_dai =     
 96         .name = "cq93vc-hifi",                    
 97         .playback = {                             
 98                 .stream_name = "Playback",        
 99                 .channels_min = 1,                
100                 .channels_max = 2,                
101                 .rates = CQ93VC_RATES,            
102                 .formats = CQ93VC_FORMATS,},      
103         .capture = {                              
104                 .stream_name = "Capture",         
105                 .channels_min = 1,                
106                 .channels_max = 2,                
107                 .rates = CQ93VC_RATES,            
108                 .formats = CQ93VC_FORMATS,},      
109         .ops = &cq93vc_dai_ops,                   
110 };                                                
111                                                   
112 static int cq93vc_probe(struct snd_soc_compone    
113 {                                                 
114         struct davinci_vc *davinci_vc = compon    
115                                                   
116         snd_soc_component_init_regmap(componen    
117                                                   
118         return 0;                                 
119 }                                                 
120                                                   
121 static const struct snd_soc_component_driver s    
122         .set_bias_level         = cq93vc_set_b    
123         .probe                  = cq93vc_probe    
124         .controls               = cq93vc_snd_c    
125         .num_controls           = ARRAY_SIZE(c    
126         .idle_bias_on           = 1,              
127         .use_pmdown_time        = 1,              
128         .endianness             = 1,              
129 };                                                
130                                                   
131 static int cq93vc_platform_probe(struct platfo    
132 {                                                 
133         return devm_snd_soc_register_component    
134                         &soc_component_dev_cq9    
135 }                                                 
136                                                   
137 static struct platform_driver cq93vc_codec_dri    
138         .driver = {                               
139                         .name = "cq93vc-codec"    
140         },                                        
141                                                   
142         .probe = cq93vc_platform_probe,           
143 };                                                
144                                                   
145 module_platform_driver(cq93vc_codec_driver);      
146                                                   
147 MODULE_DESCRIPTION("Texas Instruments DaVinci     
148 MODULE_AUTHOR("Miguel Aguilar");                  
149 MODULE_LICENSE("GPL");                            
150                                                   

~ [ 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