/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (c) 2015, 2017-2020 The Linux Foundation. All rights reserved. * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. */ #ifndef _LINUX_SWR_WCD_H #define _LINUX_SWR_WCD_H #include #include #include #include enum { SWR_CH_MAP, SWR_DEVICE_DOWN, SWR_DEVICE_UP, SWR_SUBSYS_RESTART, SWR_SET_NUM_RX_CH, SWR_CLK_FREQ, SWR_DEVICE_SSR_DOWN, SWR_DEVICE_SSR_UP, SWR_REGISTER_WAKE_IRQ, SWR_SET_PORT_MAP, SWR_REQ_CLK_SWITCH, SWR_REGISTER_WAKEUP, SWR_DEREGISTER_WAKEUP, }; struct swr_mstr_port { int num_port; u8 *port; }; #define MCLK_FREQ 9600000 #define MCLK_FREQ_LP 600000 #define MCLK_FREQ_NATIVE 11289600 #define MCLK_FREQ_12288 12288000 #if (IS_ENABLED(CONFIG_SOUNDWIRE_WCD_CTRL) || \ IS_ENABLED(CONFIG_SOUNDWIRE_MSTR_CTRL)) extern int swrm_wcd_notify(struct platform_device *pdev, u32 id, void *data); #else /* CONFIG_SOUNDWIRE_WCD_CTRL */ static inline int swrm_wcd_notify(struct platform_device *pdev, u32 id, void *data) { return 0; } #endif /* CONFIG_SOUNDWIRE_WCD_CTRL */ #endif /* _LINUX_SWR_WCD_H */