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