]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ALSA: Add definitions for the bits in IEC958 subframe
authorShengjiu Wang <shengjiu.wang@nxp.com>
Tue, 23 Sep 2025 05:29:56 +0000 (13:29 +0800)
committerLiu Ying <victor.liu@nxp.com>
Mon, 29 Sep 2025 01:46:03 +0000 (09:46 +0800)
The IEC958 subframe format SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_LE are used
in HDMI and DisplayPort to describe the audio stream, but hardware device
may need to reorder the IEC958 bits for internal transmission, so need
these standard bits definitions for IEC958 subframe format.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Tested-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Liu Ying <victor.liu@nxp.com>
Link: https://lore.kernel.org/r/20250923053001.2678596-3-shengjiu.wang@nxp.com
include/sound/asoundef.h

index 09b2c3dffb305794688529fc8ce9df5b663284a0..c4a929d4fd51d983e6229b56cfddb63daed35332 100644 (file)
  *        Digital audio interface                                          *
  *                                                                          *
  ****************************************************************************/
+/* IEC958 subframe format */
+#define IEC958_SUBFRAME_PREAMBLE_MASK  (0xfU)
+#define IEC958_SUBFRAME_AUXILIARY_MASK (0xfU << 4)
+#define IEC958_SUBFRAME_SAMPLE_24_MASK (0xffffffU << 4)
+#define IEC958_SUBFRAME_SAMPLE_20_MASK (0xfffffU << 8)
+#define IEC958_SUBFRAME_VALIDITY       (0x1U << 28)
+#define IEC958_SUBFRAME_USER_DATA      (0x1U << 29)
+#define IEC958_SUBFRAME_CHANNEL_STATUS (0x1U << 30)
+#define IEC958_SUBFRAME_PARITY         (0x1U << 31)
 
 /* AES/IEC958 channel status bits */
 #define IEC958_AES0_PROFESSIONAL       (1<<0)  /* 0 = consumer, 1 = professional */