diff options
Diffstat (limited to 'target/linux/layerscape/patches-5.4/801-audio-0047-MLK-17580-ASoC-fsl-dsd-Add-DSD-utilities-helper.patch')
-rw-r--r-- | target/linux/layerscape/patches-5.4/801-audio-0047-MLK-17580-ASoC-fsl-dsd-Add-DSD-utilities-helper.patch | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0047-MLK-17580-ASoC-fsl-dsd-Add-DSD-utilities-helper.patch b/target/linux/layerscape/patches-5.4/801-audio-0047-MLK-17580-ASoC-fsl-dsd-Add-DSD-utilities-helper.patch deleted file mode 100644 index 9290b3b9cb..0000000000 --- a/target/linux/layerscape/patches-5.4/801-audio-0047-MLK-17580-ASoC-fsl-dsd-Add-DSD-utilities-helper.patch +++ /dev/null @@ -1,76 +0,0 @@ -From e28e3e0d01c0fcb628e841977b51c45189b43f47 Mon Sep 17 00:00:00 2001 -From: Viorel Suman <viorel.suman@nxp.com> -Date: Thu, 8 Mar 2018 14:37:30 +0200 -Subject: [PATCH] MLK-17580: ASoC: fsl: dsd: Add DSD utilities helper - -Add DSD utilities helper. - -Signed-off-by: Viorel Suman <viorel.suman@nxp.com> -Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com ---- - sound/soc/fsl/fsl_dsd.h | 59 +++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 59 insertions(+) - create mode 100644 sound/soc/fsl/fsl_dsd.h - ---- /dev/null -+++ b/sound/soc/fsl/fsl_dsd.h -@@ -0,0 +1,59 @@ -+/* -+ * Copyright 2018 NXP -+ * -+ * 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. -+ */ -+ -+#ifndef __FSL_DSD_H -+#define __FSL_DSD_H -+ -+#include <linux/pinctrl/consumer.h> -+#include <sound/pcm_params.h> -+#include <sound/soc.h> -+ -+static bool fsl_is_dsd(struct snd_pcm_hw_params *params) -+{ -+ snd_pcm_format_t format = params_format(params); -+ -+ switch (format) { -+ case SNDRV_PCM_FORMAT_DSD_U8: -+ case SNDRV_PCM_FORMAT_DSD_U16_LE: -+ case SNDRV_PCM_FORMAT_DSD_U16_BE: -+ case SNDRV_PCM_FORMAT_DSD_U32_LE: -+ case SNDRV_PCM_FORMAT_DSD_U32_BE: -+ return true; -+ default: -+ return false; -+ } -+} -+ -+static struct pinctrl_state *fsl_get_pins_state(struct pinctrl *pinctrl, -+ struct snd_pcm_hw_params *params) -+{ -+ int dsd_bclk; -+ struct pinctrl_state *state = 0; -+ -+ if (fsl_is_dsd(params)) { -+ dsd_bclk = params_rate(params) * params_physical_width(params); -+ -+ switch (dsd_bclk) { -+ case 22579200: /* DSD512 */ -+ state = pinctrl_lookup_state(pinctrl, "dsd512"); -+ break; -+ } -+ -+ /* Get default DSD state */ -+ if (IS_ERR_OR_NULL(state)) -+ state = pinctrl_lookup_state(pinctrl, "dsd"); -+ } -+ -+ /* Get default state */ -+ if (IS_ERR_OR_NULL(state)) -+ state = pinctrl_lookup_state(pinctrl, "default"); -+ -+ return state; -+} -+ -+#endif /* __FSL_DSD_H */ |