1 /* SPDX-License-Identifier: GPL-2.0-only
2 * Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved
6 * soc_amd_sdw_common.h - prototypes for common helpers
9 #ifndef SOC_AMD_SDW_COMMON_H
10 #define SOC_AMD_SDW_COMMON_H
12 #include <linux/bits.h>
13 #include <linux/types.h>
14 #include <sound/soc.h>
15 #include <sound/soc_sdw_utils.h>
17 #define ACP63_SDW_MAX_CPU_DAIS 8
18 #define ACP63_SDW_MAX_LINKS 2
20 #define AMD_SDW_MAX_GROUPS 9
21 #define ACP63_PCI_REV 0x63
22 #define SOC_JACK_JDSRC(quirk) ((quirk) & GENMASK(3, 0))
23 #define ASOC_SDW_FOUR_SPK BIT(4)
24 #define ASOC_SDW_ACP_DMIC BIT(5)
28 #define ACP63_SW0_AUDIO0_TX 0
29 #define ACP63_SW0_AUDIO1_TX 1
30 #define ACP63_SW0_AUDIO2_TX 2
32 #define ACP63_SW0_AUDIO0_RX 3
33 #define ACP63_SW0_AUDIO1_RX 4
34 #define ACP63_SW0_AUDIO2_RX 5
36 #define ACP63_SW1_AUDIO0_TX 0
37 #define ACP63_SW1_AUDIO0_RX 1
39 #define ACP_DMIC_BE_ID 4
43 unsigned int max_sdw_links
;
46 int get_acp63_cpu_pin_id(u32 sdw_link_id
, int be_id
, int *cpu_pin_id
, struct device
*dev
);