linux/sound/soc/codecs/pcm3168a.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-only */
   2/*
   3 * PCM3168A codec driver header
   4 *
   5 * Copyright (C) 2015 Imagination Technologies Ltd.
   6 *
   7 * Author: Damien Horsley <Damien.Horsley@imgtec.com>
   8 */
   9
  10#ifndef __PCM3168A_H__
  11#define __PCM3168A_H__
  12
  13extern const struct dev_pm_ops pcm3168a_pm_ops;
  14extern const struct regmap_config pcm3168a_regmap;
  15
  16extern int pcm3168a_probe(struct device *dev, struct regmap *regmap);
  17extern void pcm3168a_remove(struct device *dev);
  18
  19#define PCM3168A_RST_SMODE                      0x40
  20#define PCM3168A_MRST_MASK                      0x80
  21#define PCM3168A_SRST_MASK                      0x40
  22#define PCM3168A_DAC_SRDA_SHIFT                 0
  23#define PCM3168A_DAC_SRDA_MASK                  0x3
  24
  25#define PCM3168A_DAC_PWR_MST_FMT                0x41
  26#define PCM3168A_DAC_PSMDA_SHIFT                7
  27#define PCM3168A_DAC_PSMDA_MASK                 0x80
  28#define PCM3168A_DAC_MSDA_SHIFT                 4
  29#define PCM3168A_DAC_MSDA_MASK                  0x70
  30#define PCM3168A_DAC_FMT_SHIFT                  0
  31#define PCM3168A_DAC_FMT_MASK                   0xf
  32
  33#define PCM3168A_DAC_OP_FLT                     0x42
  34#define PCM3168A_DAC_OPEDA_SHIFT                4
  35#define PCM3168A_DAC_OPEDA_MASK                 0xf0
  36#define PCM3168A_DAC_FLT_SHIFT                  0
  37#define PCM3168A_DAC_FLT_MASK                   0xf
  38
  39#define PCM3168A_DAC_INV                        0x43
  40
  41#define PCM3168A_DAC_MUTE                       0x44
  42
  43#define PCM3168A_DAC_ZERO                       0x45
  44
  45#define PCM3168A_DAC_ATT_DEMP_ZF                0x46
  46#define PCM3168A_DAC_ATMDDA_MASK                0x80
  47#define PCM3168A_DAC_ATMDDA_SHIFT               7
  48#define PCM3168A_DAC_ATSPDA_MASK                0x40
  49#define PCM3168A_DAC_ATSPDA_SHIFT               6
  50#define PCM3168A_DAC_DEMP_SHIFT                 4
  51#define PCM3168A_DAC_DEMP_MASK                  0x30
  52#define PCM3168A_DAC_AZRO_SHIFT                 1
  53#define PCM3168A_DAC_AZRO_MASK                  0xe
  54#define PCM3168A_DAC_ZREV_MASK                  0x1
  55#define PCM3168A_DAC_ZREV_SHIFT                 0
  56
  57#define PCM3168A_DAC_VOL_MASTER                 0x47
  58
  59#define PCM3168A_DAC_VOL_CHAN_START             0x48
  60
  61#define PCM3168A_ADC_SMODE                      0x50
  62#define PCM3168A_ADC_SRAD_SHIFT                 0
  63#define PCM3168A_ADC_SRAD_MASK                  0x3
  64
  65#define PCM3168A_ADC_MST_FMT                    0x51
  66#define PCM3168A_ADC_MSAD_SHIFT                 4
  67#define PCM3168A_ADC_MSAD_MASK                  0x70
  68#define PCM3168A_ADC_FMTAD_SHIFT                0
  69#define PCM3168A_ADC_FMTAD_MASK                 0x7
  70
  71#define PCM3168A_ADC_PWR_HPFB                   0x52
  72#define PCM3168A_ADC_PSVAD_SHIFT                4
  73#define PCM3168A_ADC_PSVAD_MASK                 0x70
  74#define PCM3168A_ADC_BYP_SHIFT                  0
  75#define PCM3168A_ADC_BYP_MASK                   0x7
  76
  77#define PCM3168A_ADC_SEAD                       0x53
  78
  79#define PCM3168A_ADC_INV                        0x54
  80
  81#define PCM3168A_ADC_MUTE                       0x55
  82
  83#define PCM3168A_ADC_OV                         0x56
  84
  85#define PCM3168A_ADC_ATT_OVF                    0x57
  86#define PCM3168A_ADC_ATMDAD_MASK                0x80
  87#define PCM3168A_ADC_ATMDAD_SHIFT               7
  88#define PCM3168A_ADC_ATSPAD_MASK                0x40
  89#define PCM3168A_ADC_ATSPAD_SHIFT               6
  90#define PCM3168A_ADC_OVFP_MASK                  0x1
  91#define PCM3168A_ADC_OVFP_SHIFT                 0
  92
  93#define PCM3168A_ADC_VOL_MASTER                 0x58
  94
  95#define PCM3168A_ADC_VOL_CHAN_START             0x59
  96
  97#endif
  98