piSmasher Configuration Libraries
piSmasher peripheral device configuration libraries

Data Structures

struct  tda998x_aud_packet
 
struct  tda998x_aud_ch_status
 
struct  tda998x_aud_if_pkt
 
struct  tda998x_audin_cfg
 

Enumerations

enum  tda998x_aud_fmt {
  AFMT_SPDIF = 0, AFMT_I2S = 1, AFMT_OBA = 2, AFMT_DST = 3,
  AFMT_HBR = 4
}
 
enum  tda998x_cts_ref { CTSREF_ACLK = 0, CTSREF_MCLK = 1, CTSREF_FS64SPDIF = 2 }
 
enum  tda998x_ctsk {
  CTSK1 = 0, CTSK2 = 1, CTSK3 = 2, CTSK4 = 3,
  CTSK8 = 4, CTSK_USE_CTSX = 5
}
 
enum  tda998x_ctsm {
  CTSMTS = 0, CTSMTS2 = 1, CTSMTS4 = 2, CTSMTS8 = 3,
  CTSMTS_USE_CTSX = 4
}
 
enum  tda998x_aud_rate {
  AFS_32K = 0, AFS_44K = 1, AFS_48K = 2, AFS_88K = 3,
  AFS_96K = 4, AFS_176K = 5, AFS_192K = 6
}
 
enum  tda998x_aud_i2s_wlen { I2S_WLEN_16BITS = 16, I2S_WLEN_32BITS = 32, I2S_WLEN_OTHERS = 0 }
 Audio I2S word length. More...
 
enum  tda998x_aud_i2s_fmt {
  I2S_FMT_PHILIPS_L = 12, I2S_FMT_OTH_L = 14, I2S_FMT_OTH_R_16 = 11, I2S_FMT_OTH_R_20 = 7,
  I2S_FMT_OTH_R = 15
}
 Audio I2S format. More...
 
enum  tda998x_clkpol_dsd { CLKPOLDSD_ACLK = 0, CLKPOLDSD_NACLK = 0x04 }
 DSD clock polarities. More...
 
enum  tda998x_swap_dsd { SWAPDSD_OFF = 0, SWAPDSD_ON = 0x02 }
 DSD data swap values. More...
 
enum  tda998x_dst_rate { DST_RATE_SINGLE = 0, DST_RATE_DOUBLE = 1 }
 DSD data transfer rates. More...
 

Detailed Description

Enumeration Type Documentation

◆ tda998x_aud_fmt

#include <projects/lib/tda998x.h>

Enumerator
AFMT_SPDIF 

SPDIF

AFMT_I2S 

I2S

AFMT_OBA 

One bit audio / DSD

AFMT_DST 

DST

AFMT_HBR 

HBR

337  {
338  AFMT_SPDIF = 0,
339  AFMT_I2S = 1,
340  AFMT_OBA = 2,
341  AFMT_DST = 3,
342  AFMT_HBR = 4
Definition: tda998x.h:339
Definition: tda998x.h:338
Definition: tda998x.h:341
Definition: tda998x.h:337
Definition: tda998x.h:340

◆ tda998x_aud_i2s_fmt

#include <projects/lib/tda998x.h>

Audio I2S format.

Enumerator
I2S_FMT_PHILIPS_L 

Philips like format

I2S_FMT_OTH_L 

Left justified

I2S_FMT_OTH_R_16 

16-bits right justified

I2S_FMT_OTH_R_20 

20-bits right justified

I2S_FMT_OTH_R 

24-bits right justified

393  {
394  I2S_FMT_PHILIPS_L = 12,
395  I2S_FMT_OTH_L = 14,
396  I2S_FMT_OTH_R_16 = 11,
397  I2S_FMT_OTH_R_20 = 7,
398  I2S_FMT_OTH_R = 15
Definition: tda998x.h:397
Definition: tda998x.h:396
Definition: tda998x.h:395
Definition: tda998x.h:394
Definition: tda998x.h:393

◆ tda998x_aud_i2s_wlen

#include <projects/lib/tda998x.h>

Audio I2S word length.

Enumerator
I2S_WLEN_16BITS 

16 bits

I2S_WLEN_32BITS 

32 bits

I2S_WLEN_OTHERS 

for SPDIF and DSD

384  {
385  I2S_WLEN_16BITS = 16,
386  I2S_WLEN_32BITS = 32,
387  I2S_WLEN_OTHERS = 0
Definition: tda998x.h:384
Definition: tda998x.h:386
Definition: tda998x.h:385

◆ tda998x_aud_rate

#include <projects/lib/tda998x.h>

Enumerator
AFS_32K 

32kHz

AFS_44K 

44.1kHz

AFS_48K 

48kHz

AFS_88K 

88.2kHz

AFS_96K 

96kHz

AFS_176K 

176.4kHz

AFS_192K 

192kHz

371  {
372  AFS_32K = 0,
373  AFS_44K = 1,
374  AFS_48K = 2,
375  AFS_88K = 3,
376  AFS_96K = 4,
377  AFS_176K = 5,
378  AFS_192K = 6
Definition: tda998x.h:373
Definition: tda998x.h:371
Definition: tda998x.h:372
Definition: tda998x.h:376
Definition: tda998x.h:375
Definition: tda998x.h:377
Definition: tda998x.h:374

◆ tda998x_clkpol_dsd

#include <projects/lib/tda998x.h>

DSD clock polarities.

Enumerator
CLKPOLDSD_ACLK 

Same as ACLK

CLKPOLDSD_NACLK 

Not ACLK, i.e. inverted

404  {
405  CLKPOLDSD_ACLK = 0,
406  CLKPOLDSD_NACLK = 0x04,
Definition: tda998x.h:404
Definition: tda998x.h:405

◆ tda998x_cts_ref

#include <projects/lib/tda998x.h>

Clock Time Stamp reference source

Enumerator
CTSREF_ACLK 

Clock input pin for I2S

CTSREF_MCLK 

Clock input pin for EXTREF

CTSREF_FS64SPDIF 

64xsample rate, for SPDIF

346  {
347  CTSREF_ACLK = 0,
348  CTSREF_MCLK = 1,
349  CTSREF_FS64SPDIF = 2,
Definition: tda998x.h:346
Definition: tda998x.h:348
Definition: tda998x.h:347

◆ tda998x_ctsk

#include <projects/lib/tda998x.h>

Clock Time Stamp predivider - scales N

Enumerator
CTSK1 

k=1

CTSK2 

k=2

CTSK3 

k=3

CTSK4 

k=4

CTSK8 

k=8

CTSK_USE_CTSX 

Calculate from ctsX factor

353  {
354  CTSK1 = 0,
355  CTSK2 = 1,
356  CTSK3 = 2,
357  CTSK4 = 3,
358  CTSK8 = 4,
359  CTSK_USE_CTSX = 5,
Definition: tda998x.h:354
Definition: tda998x.h:353
Definition: tda998x.h:356
Definition: tda998x.h:355
Definition: tda998x.h:358
Definition: tda998x.h:357

◆ tda998x_ctsm

#include <projects/lib/tda998x.h>

Clock Time Stamp postdivider measured time stamp

Enumerator
CTSMTS 

=mts

CTSMTS2 

=mts%2

CTSMTS4 

=mts%4

CTSMTS8 

=mts%8

CTSMTS_USE_CTSX 

Calculate from ctsX factor

363  {
364  CTSMTS = 0,
365  CTSMTS2 = 1,
366  CTSMTS4 = 2,
367  CTSMTS8 = 3,
368  CTSMTS_USE_CTSX = 4,
Definition: tda998x.h:363
Definition: tda998x.h:366
Definition: tda998x.h:365
Definition: tda998x.h:364
Definition: tda998x.h:367

◆ tda998x_dst_rate

#include <projects/lib/tda998x.h>

DSD data transfer rates.

Enumerator
DST_RATE_SINGLE 

Single transfer rate

DST_RATE_DOUBLE 

Double data rate

420  {
421  DST_RATE_SINGLE = 0,
422  DST_RATE_DOUBLE = 1
Definition: tda998x.h:420
Definition: tda998x.h:421

◆ tda998x_swap_dsd

#include <projects/lib/tda998x.h>

DSD data swap values.

Enumerator
SWAPDSD_OFF 

No swap

SWAPDSD_ON 

Swap

412  {
413  SWAPDSD_OFF = 0,
414  SWAPDSD_ON = 0x02,
Definition: tda998x.h:413
Definition: tda998x.h:412