Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/sound/soc/amd/acp/soc_amd_sdw_common.h
26481 views
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
54
struct amd_mc_ctx {
55
unsigned int acp_rev;
56
unsigned int max_sdw_links;
57
};
58
59
int get_acp63_cpu_pin_id(u32 sdw_link_id, int be_id, int *cpu_pin_id, struct device *dev);
60
int get_acp70_cpu_pin_id(u32 sdw_link_id, int be_id, int *cpu_pin_id, struct device *dev);
61
62
#endif
63
64