asoc: codecs: Implement codec driver for WSA884X

Driver implementation for WSA884X.
Use new script to generate register files.
Modify register naming convention.
Add wsa884x-reg-masks.h and wsa884x-reg-shifts.h
Reverting copyrights to 2019 for wsa884x.h file

Change-Id: Ic3652d6138a2f62ba59a36d4307c732ab6e8db89
Signed-off-by: Shazmaan Ali <shazmaan@codeaurora.org>
This commit is contained in:
Junkai Cai
2021-07-27 11:31:42 -07:00
committed by Gerrit - the friendly Code Review server
parent a36cfd915c
commit 179ce4f13f
11 changed files with 4073 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2015-2019, The Linux Foundation. All rights reserved.
*/
#ifndef _WSA884X_H
#define _WSA884X_H
#include <linux/regmap.h>
#include <sound/soc.h>
#include <sound/info.h>
#include "wsa884x-registers.h"
#include "wsa884x-reg-masks.h"
#include "wsa884x-reg-shifts.h"
#define WSA884X_MAX_SWR_PORTS 4
#if IS_ENABLED(CONFIG_SND_SOC_WSA884X)
int wsa884x_set_channel_map(struct snd_soc_component *component,
u8 *port, u8 num_port, unsigned int *ch_mask,
unsigned int *ch_rate, u8 *port_type);
int wsa884x_codec_info_create_codec_entry(
struct snd_info_entry *codec_root,
struct snd_soc_component *component);
int wsa884x_codec_get_dev_num(struct snd_soc_component *component);
#else
static int wsa884x_set_channel_map(struct snd_soc_component *component,
u8 *port, u8 num_port, unsigned int *ch_mask,
unsigned int *ch_rate, u8 *port_type)
{
return 0;
}
static int wsa884x_codec_info_create_codec_entry(
struct snd_info_entry *codec_root,
struct snd_soc_component *component)
{
return 0;
}
static int wsa884x_codec_get_dev_num(struct snd_soc_component *component)
{
return 0;
}
#endif
#endif /* _WSA884X_H */