summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorShengjiu Wang <shengjiu.wang@nxp.com>2019-06-03 10:30:44 +0800
committerShengjiu Wang <shengjiu.wang@nxp.com>2019-06-06 18:33:14 +0800
commitb95c32c4d4b51e3e55e1e28269a0e8bce0a04f98 (patch)
tree8cc83acc84c8763d5610b2cf59a1a620d0acfa37 /include
parent34c552ed98426feba91669393a7e35b892844e22 (diff)
MLK-21940-1: ASoC: fsl_asrc: Update mxc_asrc uapi
In order to support the new ASRC in i.MX815, we update the user api file mxc_asrc.h. The reason is that the new ASRC support more sample width, and support endianness, sign, float format, iec958 format setting, All these type can be expressed by snd_pcm_format_t type. So we use the in(out)put_format to instead the in(out)put_word_width. Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com> Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
Diffstat (limited to 'include')
-rw-r--r--include/uapi/linux/mxc_asrc.h16
1 files changed, 5 insertions, 11 deletions
diff --git a/include/uapi/linux/mxc_asrc.h b/include/uapi/linux/mxc_asrc.h
index 837deea53f5b..79059c3be2c4 100644
--- a/include/uapi/linux/mxc_asrc.h
+++ b/include/uapi/linux/mxc_asrc.h
@@ -34,10 +34,9 @@ enum asrc_pair_index {
ASRC_PAIR_A = 0,
ASRC_PAIR_B = 1,
ASRC_PAIR_C = 2,
+ ASRC_PAIR_D = 3,
};
-#define ASRC_PAIR_MAX_NUM (ASRC_PAIR_C + 1)
-
enum asrc_inclk {
INCLK_NONE = 0x03,
INCLK_ESAI_RX = 0x00,
@@ -117,21 +116,14 @@ enum asrc_outclk {
OUTCLK_HDMI_TX_SAI0_TX_BCLK = 0x25,
};
-enum asrc_word_width {
- ASRC_WIDTH_24_BIT = 0,
- ASRC_WIDTH_16_BIT = 1,
- ASRC_WIDTH_8_BIT = 2,
-};
-
struct asrc_config {
enum asrc_pair_index pair;
unsigned int channel_num;
- unsigned int buffer_num;
unsigned int dma_buffer_size;
unsigned int input_sample_rate;
unsigned int output_sample_rate;
- enum asrc_word_width input_word_width;
- enum asrc_word_width output_word_width;
+ snd_pcm_format_t input_format;
+ snd_pcm_format_t output_format;
enum asrc_inclk inclk;
enum asrc_outclk outclk;
};
@@ -139,6 +131,8 @@ struct asrc_config {
struct asrc_req {
unsigned int chn_num;
enum asrc_pair_index index;
+ uint64_t supported_in_format;
+ uint64_t supported_out_format;
};
struct asrc_querybuf {