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 SOC_JACK_JDSRC(quirk) ((quirk) & GENMASK(3, 0)) 23 #define ASOC_SDW_FOUR_SPK BIT(4) 24 #define ASOC_SDW_ACP_DMIC BIT(5) 25 26 #define AMD_SDW0 0 27 #define AMD_SDW1 1 28 #define ACP63_SW0_AUDIO0_TX 0 29 #define ACP63_SW0_AUDIO1_TX 1 30 #define ACP63_SW0_AUDIO2_TX 2 31 32 #define ACP63_SW0_AUDIO0_RX 3 33 #define ACP63_SW0_AUDIO1_RX 4 34 #define ACP63_SW0_AUDIO2_RX 5 35 36 #define ACP63_SW1_AUDIO0_TX 0 37 #define ACP63_SW1_AUDIO0_RX 1 38 39 #define ACP_DMIC_BE_ID 4 40 41 struct amd_mc_ctx { 42 unsigned int acp_rev; 43 unsigned int max_sdw_links; 44 }; 45 46 int get_acp63_cpu_pin_id(u32 sdw_link_id, int be_id, int *cpu_pin_id, struct device *dev); 47 48 #endif 49