brintos

brintos / linux-shallow public Read only

0
0
Text · 1.3 KiB · 8d5a7a9 Raw
64 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * wm8731.h  --  WM8731 Soc Audio driver4 *5 * Copyright 2005 Openedhand Ltd.6 *7 * Author: Richard Purdie <richard@openedhand.com>8 *9 * Based on wm8753.h10 */11 12#ifndef _WM8731_H13#define _WM8731_H14 15#include <linux/mutex.h>16#include <linux/regmap.h>17#include <linux/regulator/consumer.h>18 19struct clk;20struct snd_pcm_hw_constraint_list;21 22/* WM8731 register space */23 24#define WM8731_LINVOL   0x0025#define WM8731_RINVOL   0x0126#define WM8731_LOUT1V   0x0227#define WM8731_ROUT1V   0x0328#define WM8731_APANA    0x0429#define WM8731_APDIGI   0x0530#define WM8731_PWR      0x0631#define WM8731_IFACE    0x0732#define WM8731_SRATE    0x0833#define WM8731_ACTIVE   0x0934#define WM8731_RESET	0x0f35 36#define WM8731_CACHEREGNUM 	1037 38#define WM8731_SYSCLK_MCLK 039#define WM8731_SYSCLK_XTAL 140 41#define WM8731_DAI		042 43#define WM8731_NUM_SUPPLIES 444 45/* codec private data */46struct wm8731_priv {47	struct regmap *regmap;48	struct clk *mclk;49	struct regulator_bulk_data supplies[WM8731_NUM_SUPPLIES];50	const struct snd_pcm_hw_constraint_list *constraints;51	unsigned int sysclk;52	int sysclk_type;53	int playback_fs;54	bool deemph;55 56	struct mutex lock;57};58 59extern const struct regmap_config wm8731_regmap;60 61int wm8731_init(struct device *dev, struct wm8731_priv *wm8731);62 63#endif64