include/sound/tas2563-tlv.h

Source file repositories/reference/linux-study-clean/include/sound/tas2563-tlv.h

File Facts

System
Linux kernel
Corpus path
include/sound/tas2563-tlv.h
Extension
.h
Size
11638 bytes
Lines
280
Domain
Driver Families
Bucket
include/sound
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

//
// ALSA SoC Texas Instruments TAS2563 Audio Smart Amplifier
//
// Copyright (C) 2022 - 2024 Texas Instruments Incorporated
// https://www.ti.com
//
// The TAS2563 driver implements a flexible and configurable
// algo coefficient setting for one, two, or even multiple
// TAS2563 chips.
//
// Author: Shenghao Ding <shenghao-ding@ti.com>
//

#ifndef __TAS2563_TLV_H__
#define __TAS2563_TLV_H__

static const __maybe_unused DECLARE_TLV_DB_SCALE(tas2563_dvc_tlv, -12150, 50, 1);

/* pow(10, db/20) * pow(2,30) */
static const __maybe_unused unsigned char tas2563_dvc_table[][4] = {
	{ 0X00, 0X00, 0X00, 0X00 }, /* -121.5db */
	{ 0X00, 0X00, 0X03, 0XBC }, /* -121.0db */
	{ 0X00, 0X00, 0X03, 0XF5 }, /* -120.5db */
	{ 0X00, 0X00, 0X04, 0X31 }, /* -120.0db */
	{ 0X00, 0X00, 0X04, 0X71 }, /* -119.5db */
	{ 0X00, 0X00, 0X04, 0XB4 }, /* -119.0db */
	{ 0X00, 0X00, 0X04, 0XFC }, /* -118.5db */
	{ 0X00, 0X00, 0X05, 0X47 }, /* -118.0db */
	{ 0X00, 0X00, 0X05, 0X97 }, /* -117.5db */
	{ 0X00, 0X00, 0X05, 0XEC }, /* -117.0db */
	{ 0X00, 0X00, 0X06, 0X46 }, /* -116.5db */
	{ 0X00, 0X00, 0X06, 0XA5 }, /* -116.0db */
	{ 0X00, 0X00, 0X07, 0X0A }, /* -115.5db */
	{ 0X00, 0X00, 0X07, 0X75 }, /* -115.0db */
	{ 0X00, 0X00, 0X07, 0XE6 }, /* -114.5db */
	{ 0X00, 0X00, 0X08, 0X5E }, /* -114.0db */
	{ 0X00, 0X00, 0X08, 0XDD }, /* -113.5db */
	{ 0X00, 0X00, 0X09, 0X63 }, /* -113.0db */
	{ 0X00, 0X00, 0X09, 0XF2 }, /* -112.5db */
	{ 0X00, 0X00, 0X0A, 0X89 }, /* -112.0db */
	{ 0X00, 0X00, 0X0B, 0X28 }, /* -111.5db */
	{ 0X00, 0X00, 0X0B, 0XD2 }, /* -111.0db */
	{ 0X00, 0X00, 0X0C, 0X85 }, /* -110.5db */
	{ 0X00, 0X00, 0X0D, 0X43 }, /* -110.0db */
	{ 0X00, 0X00, 0X0E, 0X0C }, /* -109.5db */
	{ 0X00, 0X00, 0X0E, 0XE1 }, /* -109.0db */
	{ 0X00, 0X00, 0X0F, 0XC3 }, /* -108.5db */
	{ 0X00, 0X00, 0X10, 0XB2 }, /* -108.0db */
	{ 0X00, 0X00, 0X11, 0XAF }, /* -107.5db */
	{ 0X00, 0X00, 0X12, 0XBC }, /* -107.0db */
	{ 0X00, 0X00, 0X13, 0XD8 }, /* -106.5db */
	{ 0X00, 0X00, 0X15, 0X05 }, /* -106.0db */
	{ 0X00, 0X00, 0X16, 0X44 }, /* -105.5db */
	{ 0X00, 0X00, 0X17, 0X96 }, /* -105.0db */
	{ 0X00, 0X00, 0X18, 0XFB }, /* -104.5db */
	{ 0X00, 0X00, 0X1A, 0X76 }, /* -104.0db */
	{ 0X00, 0X00, 0X1C, 0X08 }, /* -103.5db */
	{ 0X00, 0X00, 0X1D, 0XB1 }, /* -103.0db */
	{ 0X00, 0X00, 0X1F, 0X73 }, /* -102.5db */
	{ 0X00, 0X00, 0X21, 0X51 }, /* -102.0db */
	{ 0X00, 0X00, 0X23, 0X4A }, /* -101.5db */
	{ 0X00, 0X00, 0X25, 0X61 }, /* -101.0db */
	{ 0X00, 0X00, 0X27, 0X98 }, /* -100.5db */
	{ 0X00, 0X00, 0X29, 0XF1 }, /* -100.0db */
	{ 0X00, 0X00, 0X2C, 0X6D }, /* -99.5db */
	{ 0X00, 0X00, 0X2F, 0X0F }, /* -99.0db */
	{ 0X00, 0X00, 0X31, 0XD9 }, /* -98.5db */
	{ 0X00, 0X00, 0X34, 0XCD }, /* -98.0db */
	{ 0X00, 0X00, 0X37, 0XEE }, /* -97.5db */
	{ 0X00, 0X00, 0X3B, 0X3F }, /* -97.0db */
	{ 0X00, 0X00, 0X3E, 0XC1 }, /* -96.5db */
	{ 0X00, 0X00, 0X42, 0X79 }, /* -96.0db */
	{ 0X00, 0X00, 0X46, 0X6A }, /* -95.5db */
	{ 0X00, 0X00, 0X4A, 0X96 }, /* -95.0db */
	{ 0X00, 0X00, 0X4F, 0X01 }, /* -94.5db */
	{ 0X00, 0X00, 0X53, 0XAF }, /* -94.0db */
	{ 0X00, 0X00, 0X58, 0XA5 }, /* -93.5db */
	{ 0X00, 0X00, 0X5D, 0XE6 }, /* -93.0db */
	{ 0X00, 0X00, 0X63, 0X76 }, /* -92.5db */
	{ 0X00, 0X00, 0X69, 0X5B }, /* -92.0db */
	{ 0X00, 0X00, 0X6F, 0X99 }, /* -91.5db */
	{ 0X00, 0X00, 0X76, 0X36 }, /* -91.0db */
	{ 0X00, 0X00, 0X7D, 0X37 }, /* -90.5db */
	{ 0X00, 0X00, 0X84, 0XA2 }, /* -90.0db */
	{ 0X00, 0X00, 0X8C, 0X7E }, /* -89.5db */
	{ 0X00, 0X00, 0X94, 0XD1 }, /* -89.0db */
	{ 0X00, 0X00, 0X9D, 0XA3 }, /* -88.5db */
	{ 0X00, 0X00, 0XA6, 0XFA }, /* -88.0db */
	{ 0X00, 0X00, 0XB0, 0XDF }, /* -87.5db */
	{ 0X00, 0X00, 0XBB, 0X5A }, /* -87.0db */

Annotation

Implementation Notes