mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00

This was a relatively calm cycle, and most of changes are rather small device-specific fixes. Here are highlights: * Core: - Further enhancements of ALSA rawmidi and sequencer APIs for MIDI 2.0 - compress-offload API extensions for ASRC support * ASoC: - Allow clocking on each DAI in an audio graph card to be configured separately - Improved power management for Renesas RZ-SSI - KUnit testing for the Cirrus DSP framework - Memory to meory operation support for Freescale/NXP platforms - Support for pause operations in SOF - Support for Allwinner suinv F1C100s, Awinc AW88083, Realtek ALC5682I-VE * HD- and USB-audio: - Add support for Focusrite Scarlett 4th Gen 16i16, 18i16, and 18i20 interfaces via new FCP driver - TAS2781 SPI HD-audio sub-codec support - Various device-specific quirks as usual -----BEGIN PGP SIGNATURE----- iQJCBAABCAAsFiEEIXTw5fNLNI7mMiVaLtJE4w1nLE8FAmeSRrwOHHRpd2FpQHN1 c2UuZGUACgkQLtJE4w1nLE+mWw//QbiwfdfjNjXVTOBpJOI7auFj408sB2IgoOcM wj3h94ONG+45DZSbzpAB5t8sNN2EBrx7KGtdLcSqlPoehLq3KduIaZhDjnjtYKVL 2GujsSqhsBRr/dr4Qr+48idtlcv1HJsJZGkf/nSHdyHgqVkk9jd42okHOOsOHF6g hn3zocPSVBoAH6UTPnxNmX9jD4sKFu+jBayxTmWXMY+qS+iD9dCRa8kyeLyERqAO uB5IFQdaNM7y4DHmDSgH3sBohGZ/38x/hNpS6sspoMrkVNoLLa7W2g7DL2r2qMtg JMMHlyx1VGqFpQC6TPgFWSb2WJpxo18cVGD5NuXGnT5SjTzKMrHOtp9dmVt+p9Am mqveyEMijV/5lmKo4I515xJM5AllQkYYFHhlEOySFx0iUchNCogEBHwMG8ufTAk6 WwdxR8YPzzE2lxJk5UrVvliA1s/B4pwHtbZEOR29QnfOzQuKttaES+sWisZXHaEG Nqyy+xta4oiixdneeTEp8Dr4bpHBlUaO4gA/f/iJ0apJK+3KeNAuC57Xi5yBJS5p LtbUd+hRYNLQ5mUtRYIiOLLeiKnD62bYRSYgoRC0MOLZiT49G3Kr1BuyUqj2x0OW vLY/Tl4D2c+4aNwPwhsq5tSiTmQqZis9njT7FJL+OFpIHlKXANubZaMZnU+COM1V aa9Mye0= =IBfz -----END PGP SIGNATURE----- Merge tag 'sound-6.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound updates from Takashi Iwai: "This was a relatively calm cycle, and most of changes are rather small device-specific fixes. Here are highlights: Core: - Further enhancements of ALSA rawmidi and sequencer APIs for MIDI 2.0 - compress-offload API extensions for ASRC support ASoC: - Allow clocking on each DAI in an audio graph card to be configured separately - Improved power management for Renesas RZ-SSI - KUnit testing for the Cirrus DSP framework - Memory to meory operation support for Freescale/NXP platforms - Support for pause operations in SOF - Support for Allwinner suinv F1C100s, Awinc AW88083, Realtek ALC5682I-VE HD- and USB-audio: - Add support for Focusrite Scarlett 4th Gen 16i16, 18i16, and 18i20 interfaces via new FCP driver - TAS2781 SPI HD-audio sub-codec support - Various device-specific quirks as usual" * tag 'sound-6.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (235 commits) ALSA: hda: tas2781-spi: Fix bogus error handling in tas2781_hda_spi_probe() ALSA: hda: tas2781-spi: Fix error code in tas2781_read_acpi() ALSA: hda: tas2781-spi: Delete some dead code ALSA: usb: fcp: Fix return code from poll ops ALSA: usb: fcp: Fix incorrect resp->opcode retrieval ALSA: usb: fcp: Fix meter_levels type to __le32 ALSA: hda/realtek: Enable Mute LED on HP Laptop 14s-fq1xxx ALSA: hda: tas2781-spi: Fix -Wsometimes-uninitialized in tasdevice_spi_switch_book() ALSA: ctxfi: Simplify dao_clear_{left,right}_input() functions ALSA: hda: tas2781-spi: select CRC32 instead of CRC32_SARWATE ALSA: usb: fcp: Fix hwdep read ops types ALSA: scarlett2: Add device_setup option to use FCP driver ALSA: FCP: Add Focusrite Control Protocol driver ALSA: hda/tas2781: Add tas2781 hda SPI driver ALSA: hda/realtek - Fixed headphone distorted sound on Acer Aspire A115-31 laptop ASoC: xilinx: xlnx_spdif: Simpify using devm_clk_get_enabled() ALSA: hda: Support for Ideapad hotkey mute LEDs ASoC: Intel: sof_sdw: Fix DMI match for Lenovo 83JX, 83MC and 83NM ASoC: Intel: sof_sdw: Fix DMI match for Lenovo 83LC ASoC: dapm: add support for preparing streams ...
76 lines
3.1 KiB
C
76 lines
3.1 KiB
C
/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */
|
|
/*
|
|
* The MIPI SDCA specification is available for public downloads at
|
|
* https://www.mipi.org/mipi-sdca-v1-0-download
|
|
*
|
|
* Copyright(c) 2024 Intel Corporation
|
|
*/
|
|
|
|
#ifndef __SDCA_FUNCTION_H__
|
|
#define __SDCA_FUNCTION_H__
|
|
|
|
#include <linux/bits.h>
|
|
|
|
/*
|
|
* SDCA Function Types from SDCA specification v1.0a Section 5.1.2
|
|
* all Function types not described are reserved
|
|
* Note that SIMPLE_AMP, SIMPLE_MIC and SIMPLE_JACK Function Types
|
|
* are NOT defined in SDCA 1.0a, but they were defined in earlier
|
|
* drafts and are planned for 1.1.
|
|
*/
|
|
|
|
enum sdca_function_type {
|
|
SDCA_FUNCTION_TYPE_SMART_AMP = 0x01, /* Amplifier with protection features */
|
|
SDCA_FUNCTION_TYPE_SIMPLE_AMP = 0x02, /* subset of SmartAmp */
|
|
SDCA_FUNCTION_TYPE_SMART_MIC = 0x03, /* Smart microphone with acoustic triggers */
|
|
SDCA_FUNCTION_TYPE_SIMPLE_MIC = 0x04, /* subset of SmartMic */
|
|
SDCA_FUNCTION_TYPE_SPEAKER_MIC = 0x05, /* Combination of SmartMic and SmartAmp */
|
|
SDCA_FUNCTION_TYPE_UAJ = 0x06, /* 3.5mm Universal Audio jack */
|
|
SDCA_FUNCTION_TYPE_RJ = 0x07, /* Retaskable jack */
|
|
SDCA_FUNCTION_TYPE_SIMPLE_JACK = 0x08, /* Subset of UAJ */
|
|
SDCA_FUNCTION_TYPE_HID = 0x0A, /* Human Interface Device, for e.g. buttons */
|
|
SDCA_FUNCTION_TYPE_IMP_DEF = 0x1F, /* Implementation-defined function */
|
|
};
|
|
|
|
/* Human-readable names used for kernel logs and Function device registration/bind */
|
|
#define SDCA_FUNCTION_TYPE_SMART_AMP_NAME "SmartAmp"
|
|
#define SDCA_FUNCTION_TYPE_SIMPLE_AMP_NAME "SimpleAmp"
|
|
#define SDCA_FUNCTION_TYPE_SMART_MIC_NAME "SmartMic"
|
|
#define SDCA_FUNCTION_TYPE_SIMPLE_MIC_NAME "SimpleMic"
|
|
#define SDCA_FUNCTION_TYPE_SPEAKER_MIC_NAME "SpeakerMic"
|
|
#define SDCA_FUNCTION_TYPE_UAJ_NAME "UAJ"
|
|
#define SDCA_FUNCTION_TYPE_RJ_NAME "RJ"
|
|
#define SDCA_FUNCTION_TYPE_SIMPLE_NAME "SimpleJack"
|
|
#define SDCA_FUNCTION_TYPE_HID_NAME "HID"
|
|
#define SDCA_FUNCTION_TYPE_IMP_DEF_NAME "ImplementationDefined"
|
|
|
|
enum sdca_entity0_controls {
|
|
SDCA_CTL_ENTITY_0_COMMIT_GROUP_MASK = 0x01,
|
|
SDCA_CTL_ENTITY_0_FUNCTION_SDCA_VERSION = 0x04,
|
|
SDCA_CTL_ENTITY_0_FUNCTION_TYPE = 0x05,
|
|
SDCA_CTL_ENTITY_0_FUNCTION_MANUFACTURER_ID = 0x06,
|
|
SDCA_CTL_ENTITY_0_FUNCTION_ID = 0x07,
|
|
SDCA_CTL_ENTITY_0_FUNCTION_VERSION = 0x08,
|
|
SDCA_CTL_ENTITY_0_FUNCTION_EXTENSION_ID = 0x09,
|
|
SDCA_CTL_ENTITY_0_FUNCTION_EXTENSION_VERSION = 0x0A,
|
|
SDCA_CTL_ENTITY_0_FUNCTION_STATUS = 0x10,
|
|
SDCA_CTL_ENTITY_0_FUNCTION_ACTION = 0x11,
|
|
SDCA_CTL_ENTITY_0_MATCHING_GUID = 0x12,
|
|
SDCA_CTL_ENTITY_0_DEVICE_MANUFACTURER_ID = 0x2C,
|
|
SDCA_CTL_ENTITY_0_DEVICE_PART_ID = 0x2D,
|
|
SDCA_CTL_ENTITY_0_DEVICE_VERSION = 0x2E,
|
|
SDCA_CTL_ENTITY_0_DEVICE_SDCA_VERSION = 0x2F,
|
|
|
|
/* Function Status Bits */
|
|
SDCA_CTL_ENTITY_0_DEVICE_NEWLY_ATTACHED = BIT(0),
|
|
SDCA_CTL_ENTITY_0_INTS_DISABLED_ABNORMALLY = BIT(1),
|
|
SDCA_CTL_ENTITY_0_STREAMING_STOPPED_ABNORMALLY = BIT(2),
|
|
SDCA_CTL_ENTITY_0_FUNCTION_FAULT = BIT(3),
|
|
SDCA_CTL_ENTITY_0_UMP_SEQUENCE_FAULT = BIT(4),
|
|
SDCA_CTL_ENTITY_0_FUNCTION_NEEDS_INITIALIZATION = BIT(5),
|
|
SDCA_CTL_ENTITY_0_FUNCTION_HAS_BEEN_RESET = BIT(6),
|
|
SDCA_CTL_ENTITY_0_FUNCTION_BUSY = BIT(7),
|
|
};
|
|
|
|
#endif
|