File Index
Files and directories
Sign in
FILE

soc_amd_sdw_common.h

File preview with syntax highlighting.

linux-6.19.14/sound/soc/amd/acp/soc_amd_sdw_common.h C
 1/* SPDX-License-Identifier: GPL-2.0-only
 2 *  Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved
 3 */
 4
 5/*
 6 *  soc_amd_sdw_common.h - prototypes for common helpers
 7 */
 8
 9#ifndef SOC_AMD_SDW_COMMON_H
10#define SOC_AMD_SDW_COMMON_H
11
12#include <linux/bits.h>
13#include <linux/types.h>
14#include <sound/soc.h>
15#include <sound/soc_sdw_utils.h>
16
17#define ACP63_SDW_MAX_CPU_DAIS		8
18#define ACP63_SDW_MAX_LINKS		2
19
20#define AMD_SDW_MAX_GROUPS		9
21#define ACP63_PCI_REV			0x63
22#define ACP70_PCI_REV			0x70
23#define ACP71_PCI_REV			0x71
24#define ACP72_PCI_REV			0x72
25
26#define SOC_JACK_JDSRC(quirk)		((quirk) & GENMASK(3, 0))
27#define ASOC_SDW_FOUR_SPK		BIT(4)
28#define ASOC_SDW_ACP_DMIC		BIT(5)
29#define ASOC_SDW_CODEC_SPKR		BIT(15)
30
31#define AMD_SDW0	0
32#define AMD_SDW1	1
33#define ACP63_SW0_AUDIO0_TX	0
34#define ACP63_SW0_AUDIO1_TX	1
35#define ACP63_SW0_AUDIO2_TX	2
36
37#define ACP63_SW0_AUDIO0_RX	3
38#define ACP63_SW0_AUDIO1_RX	4
39#define ACP63_SW0_AUDIO2_RX	5
40
41#define ACP63_SW1_AUDIO0_TX	0
42#define ACP63_SW1_AUDIO0_RX	1
43
44#define ACP_DMIC_BE_ID		4
45
46#define ACP70_SW_AUDIO0_TX	0
47#define ACP70_SW_AUDIO1_TX	1
48#define ACP70_SW_AUDIO2_TX	2
49
50#define ACP70_SW_AUDIO0_RX	3
51#define ACP70_SW_AUDIO1_RX	4
52#define ACP70_SW_AUDIO2_RX	5
53
54struct amd_mc_ctx {
55	unsigned int acp_rev;
56	unsigned int max_sdw_links;
57};
58
59int get_acp63_cpu_pin_id(u32 sdw_link_id, int be_id, int *cpu_pin_id, struct device *dev);
60int get_acp70_cpu_pin_id(u32 sdw_link_id, int be_id, int *cpu_pin_id, struct device *dev);
61
62#endif
~/ Read-only file preview.