Loading include/uapi/sound/lsm_params.h +31 −1 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ #include <linux/types.h> #include <sound/asound.h> #define SNDRV_LSM_VERSION SNDRV_PROTOCOL_VERSION(0, 1, 0) #define SNDRV_LSM_VERSION SNDRV_PROTOCOL_VERSION(0, 3, 0) #define LSM_OUT_FORMAT_PCM (0) #define LSM_OUT_FORMAT_ADPCM (1 << 0) Loading Loading @@ -38,6 +38,18 @@ #define LSM_DET_EVENT_TYPE_LEGACY (0) #define LSM_DET_EVENT_TYPE_GENERIC (1) /* Valid sample rates for input hw_params */ #define LSM_INPUT_SAMPLE_RATE_16K 16000 #define LSM_INPUT_SAMPLE_RATE_48K 48000 /* Valid bit-widths for input hw_params */ #define LSM_INPUT_BIT_WIDTH_16 16 #define LSM_INPUT_BIT_WIDTH_24 24 /* Min and Max channels for input hw_params */ #define LSM_INPUT_NUM_CHANNELS_MIN 1 #define LSM_INPUT_NUM_CHANNELS_MAX 9 enum lsm_app_id { LSM_VOICE_WAKEUP_APP_ID = 1, LSM_VOICE_WAKEUP_APP_ID_V2 = 2, Loading Loading @@ -189,6 +201,22 @@ struct snd_lsm_output_format_cfg { __u8 mode; }; /* * Data passed to SNDRV_LSM_SET_INPUT_HW_PARAMS ioctl * * @sample_rate: Sample rate of input to lsm. * valid values are 16000 and 48000 * @bit_width: Bit width of audio samples input to lsm. * valid values are 16 and 24 * @num_channels: Number of channels input to lsm. * valid values are range from 1 to 16 */ struct snd_lsm_input_hw_params { __u32 sample_rate; __u16 bit_width; __u16 num_channels; } __packed; #define SNDRV_LSM_DEREG_SND_MODEL _IOW('U', 0x01, int) #define SNDRV_LSM_EVENT_STATUS _IOW('U', 0x02, struct snd_lsm_event_status) #define SNDRV_LSM_ABORT_EVENT _IOW('U', 0x03, int) Loading @@ -210,5 +238,7 @@ struct snd_lsm_output_format_cfg { #define SNDRV_LSM_EVENT_STATUS_V3 _IOW('U', 0x0F, \ struct snd_lsm_event_status_v3) #define SNDRV_LSM_GENERIC_DET_EVENT _IOW('U', 0x10, struct snd_lsm_event_status) #define SNDRV_LSM_SET_INPUT_HW_PARAMS _IOW('U', 0x11, \ struct snd_lsm_input_hw_params) #endif Loading
include/uapi/sound/lsm_params.h +31 −1 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ #include <linux/types.h> #include <sound/asound.h> #define SNDRV_LSM_VERSION SNDRV_PROTOCOL_VERSION(0, 1, 0) #define SNDRV_LSM_VERSION SNDRV_PROTOCOL_VERSION(0, 3, 0) #define LSM_OUT_FORMAT_PCM (0) #define LSM_OUT_FORMAT_ADPCM (1 << 0) Loading Loading @@ -38,6 +38,18 @@ #define LSM_DET_EVENT_TYPE_LEGACY (0) #define LSM_DET_EVENT_TYPE_GENERIC (1) /* Valid sample rates for input hw_params */ #define LSM_INPUT_SAMPLE_RATE_16K 16000 #define LSM_INPUT_SAMPLE_RATE_48K 48000 /* Valid bit-widths for input hw_params */ #define LSM_INPUT_BIT_WIDTH_16 16 #define LSM_INPUT_BIT_WIDTH_24 24 /* Min and Max channels for input hw_params */ #define LSM_INPUT_NUM_CHANNELS_MIN 1 #define LSM_INPUT_NUM_CHANNELS_MAX 9 enum lsm_app_id { LSM_VOICE_WAKEUP_APP_ID = 1, LSM_VOICE_WAKEUP_APP_ID_V2 = 2, Loading Loading @@ -189,6 +201,22 @@ struct snd_lsm_output_format_cfg { __u8 mode; }; /* * Data passed to SNDRV_LSM_SET_INPUT_HW_PARAMS ioctl * * @sample_rate: Sample rate of input to lsm. * valid values are 16000 and 48000 * @bit_width: Bit width of audio samples input to lsm. * valid values are 16 and 24 * @num_channels: Number of channels input to lsm. * valid values are range from 1 to 16 */ struct snd_lsm_input_hw_params { __u32 sample_rate; __u16 bit_width; __u16 num_channels; } __packed; #define SNDRV_LSM_DEREG_SND_MODEL _IOW('U', 0x01, int) #define SNDRV_LSM_EVENT_STATUS _IOW('U', 0x02, struct snd_lsm_event_status) #define SNDRV_LSM_ABORT_EVENT _IOW('U', 0x03, int) Loading @@ -210,5 +238,7 @@ struct snd_lsm_output_format_cfg { #define SNDRV_LSM_EVENT_STATUS_V3 _IOW('U', 0x0F, \ struct snd_lsm_event_status_v3) #define SNDRV_LSM_GENERIC_DET_EVENT _IOW('U', 0x10, struct snd_lsm_event_status) #define SNDRV_LSM_SET_INPUT_HW_PARAMS _IOW('U', 0x11, \ struct snd_lsm_input_hw_params) #endif