linux/sound/soc/codecs/wm8804.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-only */
   2/*
   3 * wm8804.h  --  WM8804 S/PDIF transceiver driver
   4 *
   5 * Copyright 2010 Wolfson Microelectronics plc
   6 *
   7 * Author: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
   8 */
   9
  10#ifndef _WM8804_H
  11#define _WM8804_H
  12
  13#include <linux/regmap.h>
  14
  15/*
  16 * Register values.
  17 */
  18#define WM8804_RST_DEVID1                       0x00
  19#define WM8804_DEVID2                           0x01
  20#define WM8804_DEVREV                           0x02
  21#define WM8804_PLL1                             0x03
  22#define WM8804_PLL2                             0x04
  23#define WM8804_PLL3                             0x05
  24#define WM8804_PLL4                             0x06
  25#define WM8804_PLL5                             0x07
  26#define WM8804_PLL6                             0x08
  27#define WM8804_SPDMODE                          0x09
  28#define WM8804_INTMASK                          0x0A
  29#define WM8804_INTSTAT                          0x0B
  30#define WM8804_SPDSTAT                          0x0C
  31#define WM8804_RXCHAN1                          0x0D
  32#define WM8804_RXCHAN2                          0x0E
  33#define WM8804_RXCHAN3                          0x0F
  34#define WM8804_RXCHAN4                          0x10
  35#define WM8804_RXCHAN5                          0x11
  36#define WM8804_SPDTX1                           0x12
  37#define WM8804_SPDTX2                           0x13
  38#define WM8804_SPDTX3                           0x14
  39#define WM8804_SPDTX4                           0x15
  40#define WM8804_SPDTX5                           0x16
  41#define WM8804_GPO0                             0x17
  42#define WM8804_GPO1                             0x18
  43#define WM8804_GPO2                             0x1A
  44#define WM8804_AIFTX                            0x1B
  45#define WM8804_AIFRX                            0x1C
  46#define WM8804_SPDRX1                           0x1D
  47#define WM8804_PWRDN                            0x1E
  48
  49#define WM8804_REGISTER_COUNT                   30
  50#define WM8804_MAX_REGISTER                     0x1E
  51
  52#define WM8804_TX_CLKSRC_MCLK                   1
  53#define WM8804_TX_CLKSRC_PLL                    2
  54
  55#define WM8804_CLKOUT_SRC_CLK1                  3
  56#define WM8804_CLKOUT_SRC_OSCCLK                4
  57
  58#define WM8804_CLKOUT_DIV                       1
  59#define WM8804_MCLK_DIV                         2
  60
  61#define WM8804_MCLKDIV_256FS                    0
  62#define WM8804_MCLKDIV_128FS                    1
  63
  64extern const struct regmap_config wm8804_regmap_config;
  65extern const struct dev_pm_ops wm8804_pm;
  66
  67int wm8804_probe(struct device *dev, struct regmap *regmap);
  68void wm8804_remove(struct device *dev);
  69
  70#endif  /* _WM8804_H */
  71