12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- /* 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 0x00
- #define WM8804_DEVID2 0x01
- #define WM8804_DEVREV 0x02
- #define WM8804_PLL1 0x03
- #define WM8804_PLL2 0x04
- #define WM8804_PLL3 0x05
- #define WM8804_PLL4 0x06
- #define WM8804_PLL5 0x07
- #define WM8804_PLL6 0x08
- #define WM8804_SPDMODE 0x09
- #define WM8804_INTMASK 0x0A
- #define WM8804_INTSTAT 0x0B
- #define WM8804_SPDSTAT 0x0C
- #define WM8804_RXCHAN1 0x0D
- #define WM8804_RXCHAN2 0x0E
- #define WM8804_RXCHAN3 0x0F
- #define WM8804_RXCHAN4 0x10
- #define WM8804_RXCHAN5 0x11
- #define WM8804_SPDTX1 0x12
- #define WM8804_SPDTX2 0x13
- #define WM8804_SPDTX3 0x14
- #define WM8804_SPDTX4 0x15
- #define WM8804_SPDTX5 0x16
- #define WM8804_GPO0 0x17
- #define WM8804_GPO1 0x18
- #define WM8804_GPO2 0x1A
- #define WM8804_AIFTX 0x1B
- #define WM8804_AIFRX 0x1C
- #define WM8804_SPDRX1 0x1D
- #define WM8804_PWRDN 0x1E
- #define WM8804_REGISTER_COUNT 30
- #define WM8804_MAX_REGISTER 0x1E
- #define WM8804_TX_CLKSRC_MCLK 1
- #define WM8804_TX_CLKSRC_PLL 2
- #define WM8804_CLKOUT_SRC_CLK1 3
- #define WM8804_CLKOUT_SRC_OSCCLK 4
- #define WM8804_CLKOUT_DIV 1
- #define WM8804_MCLK_DIV 2
- #define WM8804_MCLKDIV_256FS 0
- #define WM8804_MCLKDIV_128FS 1
- 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 */
|