/* sound/soc/samsung/vts/slif_nm.c * * ALSA SoC - Samsung VTS Serial Local Interface driver * * Copyright (c) 2019 Samsung Electronics Co. Ltd. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "slif_util.h" #include "slif_nm.h" /* #define DEBUG */ void slif_dmic_aud_en(struct device *dev, int en) { struct vts_data *data = dev_get_drvdata(dev); dev_info(dev, "%s en(%d)\n", __func__, en); dev_info(dev, "%s vts_state(%d)\n", __func__, data->vts_state); if (en) { } else { } } void slif_dmic_if_en(struct device *dev, int en) { struct vts_data *data = dev_get_drvdata(dev); unsigned int enable_dmic_if = 0; dev_info(dev, "%s en(%d)\n", __func__, en); if (en) { enable_dmic_if = readl(data->sfr_base + VTS_DMIC_IF_ENABLE_DMIC_IF); writel((enable_dmic_if | (0x1 << VTS_DMIC_IF_ENABLE_DMIC_AUD0) | (0x1 << VTS_DMIC_IF_ENABLE_DMIC_AUD1) | (0x1 << VTS_DMIC_IF_ENABLE_DMIC_AUD2)), data->sfr_base + VTS_DMIC_IF_ENABLE_DMIC_IF); } else { enable_dmic_if = readl(data->sfr_base + VTS_DMIC_IF_ENABLE_DMIC_IF); writel(0x0, data->sfr_base + VTS_DMIC_IF_ENABLE_DMIC_IF); } }