MCUXpresso SDK API Reference Manual  Rev 2.14.0
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
tfa9xxx_device_t Struct Reference

tfa9xxx device More...

#include <tfa2_dev.h>

Data Fields

int dev_idx
 
int buffer_size
 
short slave_address
 
uint16_t rev
 
int need_hw_init
 
int need_cf_init
 
int need_sb_config
 
enum tfa_hb_role need_hb_config
 
int sw_feature_bits [2]
 
int hw_feature_bits
 
int profile
 
int vstep
 
enum tfa9xxx_DAI daimap
 
int tfadsp_event
 
int verbose
 
enum tfa_state state
 
struct nxpTfaContainer * cnt
 
int partial_enable
 
void * data
 
int convert_dsp32
 
int is_probus_device
 
int is_extern_dsp_device
 
int(* tfa_init )(struct tfa2_device *tfa)
 
uint16_t bf_clks
 
uint16_t bf_manstate
 
uint16_t bf_manaoosc
 
uint16_t bf_noclk
 
uint16_t bf_mtpb
 
uint16_t bf_swprofil
 
uint16_t bf_swvstep
 
uint16_t bf_openmtp
 
uint16_t bf_lpm1mode
 
uint16_t bf_r25c
 
uint16_t status_mask [4]
 
uint16_t status_err [4]
 
struct haptic_data hap_data
 

Detailed Description

This is the main tfa device context structure, it will carry all information that is needed to handle a single I2C device instance. All functions dealing with the device will need access to the fields herein.

Field Documentation

int tfa9xxx_device_t::dev_idx

device container index

int tfa9xxx_device_t::buffer_size

lowest level max buffer size

short tfa9xxx_device_t::slave_address

I2C slave address (not shifted)

uint16_t tfa9xxx_device_t::rev

full revid of this device

int tfa9xxx_device_t::need_hw_init

hardware parameters not initialized

int tfa9xxx_device_t::need_cf_init

CoolFlux not configured/patched

int tfa9xxx_device_t::need_sb_config

SB firmware parameters not configured

enum tfa_hb_role tfa9xxx_device_t::need_hb_config

HB firmware parameters needed

int tfa9xxx_device_t::sw_feature_bits[2]

cached copy of sw feature bits

int tfa9xxx_device_t::hw_feature_bits

cached copy of hw feature bits

int tfa9xxx_device_t::profile

active profile

int tfa9xxx_device_t::vstep

active vstep

enum tfa9xxx_DAI tfa9xxx_device_t::daimap

supported audio interface types

int tfa9xxx_device_t::tfadsp_event

enum tfadsp_event_en is for external registry

int tfa9xxx_device_t::verbose

verbosity level for debug print output

enum tfa_state tfa9xxx_device_t::state

last known state or-ed with optional state_modifier

struct nxpTfaContainer* tfa9xxx_device_t::cnt

the loaded container file

int tfa9xxx_device_t::partial_enable

enable partial updates

void* tfa9xxx_device_t::data

typically pointing to Linux driver structure owning this device

int tfa9xxx_device_t::convert_dsp32

convert 24 bit DSP messages to 32 bit

int tfa9xxx_device_t::is_probus_device

probus device: device without internal DSP

int tfa9xxx_device_t::is_extern_dsp_device

externel (non Coolflux) DSP device

int(* tfa9xxx_device_t::tfa_init)(struct tfa2_device *tfa)

init for POR fixes like loading optimal settings

uint16_t tfa9xxx_device_t::bf_clks

TFA9XXX_BF_CLKS Clocks stable for overload

uint16_t tfa9xxx_device_t::bf_manstate

TFA9XXX_BF_MANSTATE Device Manager status for overload

uint16_t tfa9xxx_device_t::bf_manaoosc

TFA9XXX_BF_MANAOOSC overload

uint16_t tfa9xxx_device_t::bf_noclk

TFA9XXX_BF_NOCLK overload

uint16_t tfa9xxx_device_t::bf_mtpb

TFA9XXX_BF_MTPB overload

uint16_t tfa9xxx_device_t::bf_swprofil

TFA9XXX_BF_SWPROFIL overload

uint16_t tfa9xxx_device_t::bf_swvstep

TFA9XXX_BF_SWVSTEP overload

uint16_t tfa9xxx_device_t::bf_openmtp

TFA9XXX_BF_OPENMTP overload

uint16_t tfa9xxx_device_t::bf_lpm1mode

TFA9XXX_BF_LPM1MODE overload

uint16_t tfa9xxx_device_t::bf_r25c

TFA9XXX_BF_R25C overload

uint16_t tfa9xxx_device_t::status_mask[4]

status masks for tfa2_dev_status()

uint16_t tfa9xxx_device_t::status_err[4]

error status for tfa2_dev_status()

struct haptic_data tfa9xxx_device_t::hap_data

haptic specific data