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

TOMOYO Linux Cross Reference
Linux/sound/soc/fsl/lpc3xxx-i2s.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 /sound/soc/fsl/lpc3xxx-i2s.h (Version linux-6.12-rc7) and /sound/soc/fsl/lpc3xxx-i2s.h (Version linux-6.5.13)


  1 /* SPDX-License-Identifier: GPL-2.0-or-later *      1 
  2 /*                                                
  3  * Author: Kevin Wells <kevin.wells@nxp.com>      
  4  *                                                
  5  * Copyright (C) 2008 NXP Semiconductors          
  6  * Copyright 2023 Timesys Corporation <piotr.w    
  7  */                                               
  8                                                   
  9 #ifndef __SOUND_SOC_LPC3XXX_I2S_H                 
 10 #define __SOUND_SOC_LPC3XXX_I2S_H                 
 11                                                   
 12 #include <linux/bitfield.h>                       
 13 #include <linux/types.h>                          
 14 #include <linux/regmap.h>                         
 15                                                   
 16 struct lpc3xxx_i2s_info {                         
 17         struct device *dev;                       
 18         struct clk *clk;                          
 19         struct mutex lock; /* To serialize use    
 20         struct regmap *regs;                      
 21         u32 streams_in_use;                       
 22         u32 clkrate;                              
 23         int freq;                                 
 24         struct snd_dmaengine_dai_dma_data play    
 25         struct snd_dmaengine_dai_dma_data capt    
 26 };                                                
 27                                                   
 28 int lpc3xxx_pcm_register(struct platform_devic    
 29                                                   
 30 /* I2S controller register offsets */             
 31 #define LPC3XXX_REG_I2S_DAO             0x00      
 32 #define LPC3XXX_REG_I2S_DAI             0x04      
 33 #define LPC3XXX_REG_I2S_TX_FIFO 0x08              
 34 #define LPC3XXX_REG_I2S_RX_FIFO 0x0C              
 35 #define LPC3XXX_REG_I2S_STAT    0x10              
 36 #define LPC3XXX_REG_I2S_DMA0    0x14              
 37 #define LPC3XXX_REG_I2S_DMA1    0x18              
 38 #define LPC3XXX_REG_I2S_IRQ             0x1C      
 39 #define LPC3XXX_REG_I2S_TX_RATE 0x20              
 40 #define LPC3XXX_REG_I2S_RX_RATE 0x24              
 41                                                   
 42 /* i2s_daO i2s_dai register definitions */        
 43 #define LPC3XXX_I2S_WW8      FIELD_PREP(0x3, 0    
 44 #define LPC3XXX_I2S_WW16     FIELD_PREP(0x3, 1    
 45 #define LPC3XXX_I2S_WW32     FIELD_PREP(0x3, 3    
 46 #define LPC3XXX_I2S_MONO     BIT(2)   /* Mono     
 47 #define LPC3XXX_I2S_STOP     BIT(3)   /* Stop,    
 48 #define LPC3XXX_I2S_RESET    BIT(4)   /* Reset    
 49 #define LPC3XXX_I2S_WS_SEL   BIT(5)   /* Chann    
 50 #define LPC3XXX_I2S_WS_HP(s) FIELD_PREP(0x7FC0    
 51 #define LPC3XXX_I2S_MUTE     BIT(15)  /* Mute     
 52                                                   
 53 #define LPC3XXX_I2S_WW32_HP  0x1f /* Word sele    
 54 #define LPC3XXX_I2S_WW16_HP  0x0f /* Word sele    
 55 #define LPC3XXX_I2S_WW8_HP   0x7  /* Word sele    
 56                                                   
 57 /* i2s_stat register definitions */               
 58 #define LPC3XXX_I2S_IRQ_STAT     BIT(0)           
 59 #define LPC3XXX_I2S_DMA0_REQ     BIT(1)           
 60 #define LPC3XXX_I2S_DMA1_REQ     BIT(2)           
 61                                                   
 62 /* i2s_dma0 Configuration register definitions    
 63 #define LPC3XXX_I2S_DMA0_RX_EN     BIT(0)         
 64 #define LPC3XXX_I2S_DMA0_TX_EN     BIT(1)         
 65 #define LPC3XXX_I2S_DMA0_RX_DEPTH(s) FIELD_PRE    
 66 #define LPC3XXX_I2S_DMA0_TX_DEPTH(s) FIELD_PRE    
 67                                                   
 68 /* i2s_dma1 Configuration register definitions    
 69 #define LPC3XXX_I2S_DMA1_RX_EN     BIT(0)         
 70 #define LPC3XXX_I2S_DMA1_TX_EN     BIT(1)         
 71 #define LPC3XXX_I2S_DMA1_RX_DEPTH(s) FIELD_PRE    
 72 #define LPC3XXX_I2S_DMA1_TX_DEPTH(s) FIELD_PRE    
 73                                                   
 74 /* i2s_irq register definitions */                
 75 #define LPC3XXX_I2S_RX_IRQ_EN     BIT(0)          
 76 #define LPC3XXX_I2S_TX_IRQ_EN     BIT(1)          
 77 #define LPC3XXX_I2S_IRQ_RX_DEPTH(s)  FIELD_PRE    
 78 #define LPC3XXX_I2S_IRQ_TX_DEPTH(s)  FIELD_PRE    
 79                                                   
 80 #endif                                            
 81                                                   

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