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

TOMOYO Linux Cross Reference
Linux/include/sound/es1688.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/es1688.h (Version linux-6.12-rc7) and /include/sound/es1688.h (Version linux-4.12.14)


  1 /* SPDX-License-Identifier: GPL-2.0-or-later * << 
  2 #ifndef __SOUND_ES1688_H                            1 #ifndef __SOUND_ES1688_H
  3 #define __SOUND_ES1688_H                            2 #define __SOUND_ES1688_H
  4                                                     3 
  5 /*                                                  4 /*
  6  *  Header file for ES488/ES1688                    5  *  Header file for ES488/ES1688
  7  *  Copyright (c) by Jaroslav Kysela <perex@pe      6  *  Copyright (c) by Jaroslav Kysela <perex@perex.cz>
                                                   >>   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; either version 2 of the License, or
                                                   >>  12  *   (at your option) any later version.
                                                   >>  13  *
                                                   >>  14  *   This program is distributed in the hope that it will be useful,
                                                   >>  15  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
                                                   >>  16  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                                                   >>  17  *   GNU General Public License for more details.
                                                   >>  18  *
                                                   >>  19  *   You should have received a copy of the GNU General Public License
                                                   >>  20  *   along with this program; if not, write to the Free Software
                                                   >>  21  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
                                                   >>  22  *
  8  */                                                23  */
  9                                                    24 
 10 #include <sound/control.h>                         25 #include <sound/control.h>
 11 #include <sound/pcm.h>                             26 #include <sound/pcm.h>
 12 #include <linux/interrupt.h>                       27 #include <linux/interrupt.h>
 13                                                    28 
 14 #define ES1688_HW_AUTO          0x0000             29 #define ES1688_HW_AUTO          0x0000
 15 #define ES1688_HW_688           0x0001             30 #define ES1688_HW_688           0x0001
 16 #define ES1688_HW_1688          0x0002             31 #define ES1688_HW_1688          0x0002
 17 #define ES1688_HW_UNDEF 0x0003                     32 #define ES1688_HW_UNDEF 0x0003
 18                                                    33 
 19 struct snd_es1688 {                                34 struct snd_es1688 {
 20         struct snd_card *card;                 << 
 21         unsigned long port;             /* por     35         unsigned long port;             /* port of ESS chip */
 22         struct resource *res_port;                 36         struct resource *res_port;
 23         unsigned long mpu_port;         /* MPU     37         unsigned long mpu_port;         /* MPU-401 port of ESS chip */
 24         int irq;                        /* IRQ     38         int irq;                        /* IRQ number of ESS chip */
 25         int mpu_irq;                    /* MPU     39         int mpu_irq;                    /* MPU IRQ */
 26         int dma8;                       /* 8-b     40         int dma8;                       /* 8-bit DMA */
 27         unsigned short version;         /* ver     41         unsigned short version;         /* version of ESS chip */
 28         unsigned short hardware;        /* see     42         unsigned short hardware;        /* see to ES1688_HW_XXXX */
 29                                                    43 
 30         unsigned short trigger_value;              44         unsigned short trigger_value;
 31         unsigned char pad;                         45         unsigned char pad;
 32         unsigned int dma_size;                     46         unsigned int dma_size;
 33                                                    47 
 34         struct snd_pcm *pcm;                       48         struct snd_pcm *pcm;
 35         struct snd_pcm_substream *playback_sub     49         struct snd_pcm_substream *playback_substream;
 36         struct snd_pcm_substream *capture_subs     50         struct snd_pcm_substream *capture_substream;
 37                                                    51 
 38         spinlock_t reg_lock;                       52         spinlock_t reg_lock;
 39         spinlock_t mixer_lock;                     53         spinlock_t mixer_lock;
 40 };                                                 54 };
 41                                                    55 
 42 /* I/O ports */                                    56 /* I/O ports */
 43                                                    57 
 44 #define ES1688P(codec, x) ((codec)->port + e_s     58 #define ES1688P(codec, x) ((codec)->port + e_s_s_ESS1688##x)
 45                                                    59 
 46 #define e_s_s_ESS1688RESET      0x6                60 #define e_s_s_ESS1688RESET      0x6
 47 #define e_s_s_ESS1688READ       0xa                61 #define e_s_s_ESS1688READ       0xa
 48 #define e_s_s_ESS1688WRITE      0xc                62 #define e_s_s_ESS1688WRITE      0xc
 49 #define e_s_s_ESS1688COMMAND    0xc                63 #define e_s_s_ESS1688COMMAND    0xc
 50 #define e_s_s_ESS1688STATUS     0xc                64 #define e_s_s_ESS1688STATUS     0xc
 51 #define e_s_s_ESS1688DATA_AVAIL 0xe                65 #define e_s_s_ESS1688DATA_AVAIL 0xe
 52 #define e_s_s_ESS1688DATA_AVAIL_16 0xf             66 #define e_s_s_ESS1688DATA_AVAIL_16 0xf
 53 #define e_s_s_ESS1688MIXER_ADDR 0x4                67 #define e_s_s_ESS1688MIXER_ADDR 0x4
 54 #define e_s_s_ESS1688MIXER_DATA 0x5                68 #define e_s_s_ESS1688MIXER_DATA 0x5
 55 #define e_s_s_ESS1688OPL3_LEFT  0x0                69 #define e_s_s_ESS1688OPL3_LEFT  0x0
 56 #define e_s_s_ESS1688OPL3_RIGHT 0x2                70 #define e_s_s_ESS1688OPL3_RIGHT 0x2
 57 #define e_s_s_ESS1688OPL3_BOTH  0x8                71 #define e_s_s_ESS1688OPL3_BOTH  0x8
 58 #define e_s_s_ESS1688ENABLE0    0x0                72 #define e_s_s_ESS1688ENABLE0    0x0
 59 #define e_s_s_ESS1688ENABLE1    0x9                73 #define e_s_s_ESS1688ENABLE1    0x9
 60 #define e_s_s_ESS1688ENABLE2    0xb                74 #define e_s_s_ESS1688ENABLE2    0xb
 61 #define e_s_s_ESS1688INIT1      0x7                75 #define e_s_s_ESS1688INIT1      0x7
 62                                                    76 
 63 #define ES1688_DSP_CMD_DMAOFF   0xd0               77 #define ES1688_DSP_CMD_DMAOFF   0xd0
 64 #define ES1688_DSP_CMD_SPKON    0xd1               78 #define ES1688_DSP_CMD_SPKON    0xd1
 65 #define ES1688_DSP_CMD_SPKOFF   0xd3               79 #define ES1688_DSP_CMD_SPKOFF   0xd3
 66 #define ES1688_DSP_CMD_DMAON    0xd4               80 #define ES1688_DSP_CMD_DMAON    0xd4
 67                                                    81 
 68 #define ES1688_PCM_DEV          0x14               82 #define ES1688_PCM_DEV          0x14
 69 #define ES1688_MIC_DEV          0x1a               83 #define ES1688_MIC_DEV          0x1a
 70 #define ES1688_REC_DEV          0x1c               84 #define ES1688_REC_DEV          0x1c
 71 #define ES1688_MASTER_DEV       0x32               85 #define ES1688_MASTER_DEV       0x32
 72 #define ES1688_FM_DEV           0x36               86 #define ES1688_FM_DEV           0x36
 73 #define ES1688_CD_DEV           0x38               87 #define ES1688_CD_DEV           0x38
 74 #define ES1688_AUX_DEV          0x3a               88 #define ES1688_AUX_DEV          0x3a
 75 #define ES1688_SPEAKER_DEV      0x3c               89 #define ES1688_SPEAKER_DEV      0x3c
 76 #define ES1688_LINE_DEV         0x3e               90 #define ES1688_LINE_DEV         0x3e
 77 #define ES1688_RECLEV_DEV       0xb4               91 #define ES1688_RECLEV_DEV       0xb4
 78                                                    92 
 79 #define ES1688_MIXS_MASK        0x17               93 #define ES1688_MIXS_MASK        0x17
 80 #define ES1688_MIXS_MIC         0x00               94 #define ES1688_MIXS_MIC         0x00
 81 #define ES1688_MIXS_MIC_MASTER  0x01               95 #define ES1688_MIXS_MIC_MASTER  0x01
 82 #define ES1688_MIXS_CD          0x02               96 #define ES1688_MIXS_CD          0x02
 83 #define ES1688_MIXS_AOUT        0x03               97 #define ES1688_MIXS_AOUT        0x03
 84 #define ES1688_MIXS_MIC1        0x04               98 #define ES1688_MIXS_MIC1        0x04
 85 #define ES1688_MIXS_REC_MIX     0x05               99 #define ES1688_MIXS_REC_MIX     0x05
 86 #define ES1688_MIXS_LINE        0x06              100 #define ES1688_MIXS_LINE        0x06
 87 #define ES1688_MIXS_MASTER      0x07              101 #define ES1688_MIXS_MASTER      0x07
 88 #define ES1688_MIXS_MUTE        0x10              102 #define ES1688_MIXS_MUTE        0x10
 89                                                   103 
 90 /*                                                104 /*
 91                                                   105 
 92  */                                               106  */
 93                                                   107 
 94 void snd_es1688_mixer_write(struct snd_es1688     108 void snd_es1688_mixer_write(struct snd_es1688 *chip, unsigned char reg, unsigned char data);
 95                                                   109 
 96 int snd_es1688_create(struct snd_card *card,      110 int snd_es1688_create(struct snd_card *card,
 97                       struct snd_es1688 *chip,    111                       struct snd_es1688 *chip,
 98                       unsigned long port,         112                       unsigned long port,
 99                       unsigned long mpu_port,     113                       unsigned long mpu_port,
100                       int irq,                    114                       int irq,
101                       int mpu_irq,                115                       int mpu_irq,
102                       int dma8,                   116                       int dma8,
103                       unsigned short hardware)    117                       unsigned short hardware);
104 int snd_es1688_pcm(struct snd_card *card, stru    118 int snd_es1688_pcm(struct snd_card *card, struct snd_es1688 *chip, int device);
105 int snd_es1688_mixer(struct snd_card *card, st    119 int snd_es1688_mixer(struct snd_card *card, struct snd_es1688 *chip);
106 int snd_es1688_reset(struct snd_es1688 *chip);    120 int snd_es1688_reset(struct snd_es1688 *chip);
107                                                   121 
108 #endif /* __SOUND_ES1688_H */                     122 #endif /* __SOUND_ES1688_H */
109                                                   123 

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