linux/sound/soc/codecs/wm8804.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * wm8804.h  --  WM8804 S/PDIF transceiver driver
 *
 * Copyright 2010 Wolfson Microelectronics plc
 *
 * Author: Dimitris Papastamos <[email protected]>
 */

#ifndef _WM8804_H
#define _WM8804_H

#include <linux/regmap.h>

/*
 * Register values.
 */
#define WM8804_RST_DEVID1
#define WM8804_DEVID2
#define WM8804_DEVREV
#define WM8804_PLL1
#define WM8804_PLL2
#define WM8804_PLL3
#define WM8804_PLL4
#define WM8804_PLL5
#define WM8804_PLL6
#define WM8804_SPDMODE
#define WM8804_INTMASK
#define WM8804_INTSTAT
#define WM8804_SPDSTAT
#define WM8804_RXCHAN1
#define WM8804_RXCHAN2
#define WM8804_RXCHAN3
#define WM8804_RXCHAN4
#define WM8804_RXCHAN5
#define WM8804_SPDTX1
#define WM8804_SPDTX2
#define WM8804_SPDTX3
#define WM8804_SPDTX4
#define WM8804_SPDTX5
#define WM8804_GPO0
#define WM8804_GPO1
#define WM8804_GPO2
#define WM8804_AIFTX
#define WM8804_AIFRX
#define WM8804_SPDRX1
#define WM8804_PWRDN

#define WM8804_REGISTER_COUNT
#define WM8804_MAX_REGISTER

#define WM8804_TX_CLKSRC_MCLK
#define WM8804_TX_CLKSRC_PLL

#define WM8804_CLKOUT_SRC_CLK1
#define WM8804_CLKOUT_SRC_OSCCLK

#define WM8804_CLKOUT_DIV
#define WM8804_MCLK_DIV

#define WM8804_MCLKDIV_256FS
#define WM8804_MCLKDIV_128FS

extern const struct regmap_config wm8804_regmap_config;
extern const struct dev_pm_ops wm8804_pm;

int wm8804_probe(struct device *dev, struct regmap *regmap);
void wm8804_remove(struct device *dev);

#endif  /* _WM8804_H */