cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

wm8731.h (1297B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * wm8731.h  --  WM8731 Soc Audio driver
      4 *
      5 * Copyright 2005 Openedhand Ltd.
      6 *
      7 * Author: Richard Purdie <richard@openedhand.com>
      8 *
      9 * Based on wm8753.h
     10 */
     11
     12#ifndef _WM8731_H
     13#define _WM8731_H
     14
     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   0x00
     25#define WM8731_RINVOL   0x01
     26#define WM8731_LOUT1V   0x02
     27#define WM8731_ROUT1V   0x03
     28#define WM8731_APANA    0x04
     29#define WM8731_APDIGI   0x05
     30#define WM8731_PWR      0x06
     31#define WM8731_IFACE    0x07
     32#define WM8731_SRATE    0x08
     33#define WM8731_ACTIVE   0x09
     34#define WM8731_RESET	0x0f
     35
     36#define WM8731_CACHEREGNUM 	10
     37
     38#define WM8731_SYSCLK_MCLK 0
     39#define WM8731_SYSCLK_XTAL 1
     40
     41#define WM8731_DAI		0
     42
     43#define WM8731_NUM_SUPPLIES 4
     44
     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#endif