123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- /* SPDX-License-Identifier: GPL-2.0-only */
- /*
- * wm8731.h -- WM8731 Soc Audio driver
- *
- * Copyright 2005 Openedhand Ltd.
- *
- * Author: Richard Purdie <[email protected]>
- *
- * Based on wm8753.h
- */
- #ifndef _WM8731_H
- #define _WM8731_H
- #include <linux/mutex.h>
- #include <linux/regmap.h>
- #include <linux/regulator/consumer.h>
- struct clk;
- struct snd_pcm_hw_constraint_list;
- /* WM8731 register space */
- #define WM8731_LINVOL 0x00
- #define WM8731_RINVOL 0x01
- #define WM8731_LOUT1V 0x02
- #define WM8731_ROUT1V 0x03
- #define WM8731_APANA 0x04
- #define WM8731_APDIGI 0x05
- #define WM8731_PWR 0x06
- #define WM8731_IFACE 0x07
- #define WM8731_SRATE 0x08
- #define WM8731_ACTIVE 0x09
- #define WM8731_RESET 0x0f
- #define WM8731_CACHEREGNUM 10
- #define WM8731_SYSCLK_MCLK 0
- #define WM8731_SYSCLK_XTAL 1
- #define WM8731_DAI 0
- #define WM8731_NUM_SUPPLIES 4
- /* codec private data */
- struct wm8731_priv {
- struct regmap *regmap;
- struct clk *mclk;
- struct regulator_bulk_data supplies[WM8731_NUM_SUPPLIES];
- const struct snd_pcm_hw_constraint_list *constraints;
- unsigned int sysclk;
- int sysclk_type;
- int playback_fs;
- bool deemph;
- struct mutex lock;
- };
- extern const struct regmap_config wm8731_regmap;
- int wm8731_init(struct device *dev, struct wm8731_priv *wm8731);
- #endif
|