/* * Copyright (C) 2014-2020 NXP Semiconductors, All Rights Reserved. * Copyright 2020 GOODIX, All Rights Reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * */ #ifndef _TFA9874_TFAFIELDNAMES_H #define _TFA9874_TFAFIELDNAMES_H #define TFA9874_I2CVERSION 1.16 enum tfa9874_bf_enum_list { TFA9874_BF_PWDN = 0x0000, TFA9874_BF_I2CR = 0x0010, TFA9874_BF_AMPE = 0x0030, TFA9874_BF_DCA = 0x0040, TFA9874_BF_INTP = 0x0071, TFA9874_BF_BYPOCP = 0x00b0, TFA9874_BF_TSTOCP = 0x00c0, TFA9874_BF_MANSCONF = 0x0120, TFA9874_BF_MANAOOSC = 0x0140, TFA9874_BF_MUTETO = 0x01d0, TFA9874_BF_OPENMTP = 0x01e0, TFA9874_BF_AUDFS = 0x0203, TFA9874_BF_INPLEV = 0x0240, TFA9874_BF_FRACTDEL = 0x0255, TFA9874_BF_REV = 0x030f, TFA9874_BF_REFCKEXT = 0x0401, TFA9874_BF_REFCKSEL = 0x0420, TFA9874_BF_SSFAIME = 0x05c0, TFA9874_BF_AMPOCRT = 0x0802, TFA9874_BF_VDDS = 0x1000, TFA9874_BF_DCOCPOK = 0x1010, TFA9874_BF_OTDS = 0x1020, TFA9874_BF_OCDS = 0x1030, TFA9874_BF_UVDS = 0x1040, TFA9874_BF_MANALARM = 0x1050, TFA9874_BF_TDMERR = 0x1060, TFA9874_BF_NOCLK = 0x1070, TFA9874_BF_DCIL = 0x1100, TFA9874_BF_DCDCA = 0x1110, TFA9874_BF_DCHVBAT = 0x1130, TFA9874_BF_DCH114 = 0x1140, TFA9874_BF_DCH107 = 0x1150, TFA9874_BF_PLLS = 0x1160, TFA9874_BF_CLKS = 0x1170, TFA9874_BF_TDMLUTER = 0x1180, TFA9874_BF_TDMSTAT = 0x1192, TFA9874_BF_MTPB = 0x11c0, TFA9874_BF_SWS = 0x11d0, TFA9874_BF_AMPS = 0x11e0, TFA9874_BF_AREFS = 0x11f0, TFA9874_BF_OCPOAP = 0x1300, TFA9874_BF_OCPOAN = 0x1310, TFA9874_BF_OCPOBP = 0x1320, TFA9874_BF_OCPOBN = 0x1330, TFA9874_BF_OVDS = 0x1380, TFA9874_BF_CLIPS = 0x1390, TFA9874_BF_ADCCR = 0x13a0, TFA9874_BF_MANWAIT1 = 0x13c0, TFA9874_BF_MANMUTE = 0x13e0, TFA9874_BF_MANOPER = 0x13f0, TFA9874_BF_CLKOOR = 0x1420, TFA9874_BF_MANSTATE = 0x1433, TFA9874_BF_DCMODE = 0x1471, TFA9874_BF_BATS = 0x1509, TFA9874_BF_TEMPS = 0x1608, TFA9874_BF_VDDPS = 0x1709, TFA9874_BF_TDME = 0x2040, TFA9874_BF_TDMMODE = 0x2050, TFA9874_BF_TDMCLINV = 0x2060, TFA9874_BF_TDMFSLN = 0x2073, TFA9874_BF_TDMFSPOL = 0x20b0, TFA9874_BF_TDMNBCK = 0x20c3, TFA9874_BF_TDMSLOTS = 0x2103, TFA9874_BF_TDMSLLN = 0x2144, TFA9874_BF_TDMBRMG = 0x2194, TFA9874_BF_TDMDEL = 0x21e0, TFA9874_BF_TDMADJ = 0x21f0, TFA9874_BF_TDMOOMP = 0x2201, TFA9874_BF_TDMSSIZE = 0x2224, TFA9874_BF_TDMTXDFO = 0x2271, TFA9874_BF_TDMTXUS0 = 0x2291, TFA9874_BF_TDMSPKE = 0x2300, TFA9874_BF_TDMDCE = 0x2310, TFA9874_BF_TDMCSE = 0x2330, TFA9874_BF_TDMVSE = 0x2340, TFA9874_BF_TDMSPKS = 0x2603, TFA9874_BF_TDMDCS = 0x2643, TFA9874_BF_TDMCSS = 0x26c3, TFA9874_BF_TDMVSS = 0x2703, TFA9874_BF_ISTVDDS = 0x4000, TFA9874_BF_ISTBSTOC = 0x4010, TFA9874_BF_ISTOTDS = 0x4020, TFA9874_BF_ISTOCPR = 0x4030, TFA9874_BF_ISTUVDS = 0x4040, TFA9874_BF_ISTMANALARM = 0x4050, TFA9874_BF_ISTTDMER = 0x4060, TFA9874_BF_ISTNOCLK = 0x4070, TFA9874_BF_ICLVDDS = 0x4400, TFA9874_BF_ICLBSTOC = 0x4410, TFA9874_BF_ICLOTDS = 0x4420, TFA9874_BF_ICLOCPR = 0x4430, TFA9874_BF_ICLUVDS = 0x4440, TFA9874_BF_ICLMANALARM = 0x4450, TFA9874_BF_ICLTDMER = 0x4460, TFA9874_BF_ICLNOCLK = 0x4470, TFA9874_BF_IEVDDS = 0x4800, TFA9874_BF_IEBSTOC = 0x4810, TFA9874_BF_IEOTDS = 0x4820, TFA9874_BF_IEOCPR = 0x4830, TFA9874_BF_IEUVDS = 0x4840, TFA9874_BF_IEMANALARM = 0x4850, TFA9874_BF_IETDMER = 0x4860, TFA9874_BF_IENOCLK = 0x4870, TFA9874_BF_IPOVDDS = 0x4c00, TFA9874_BF_IPOBSTOC = 0x4c10, TFA9874_BF_IPOOTDS = 0x4c20, TFA9874_BF_IPOOCPR = 0x4c30, TFA9874_BF_IPOUVDS = 0x4c40, TFA9874_BF_IPOMANALARM = 0x4c50, TFA9874_BF_IPOTDMER = 0x4c60, TFA9874_BF_IPONOCLK = 0x4c70, TFA9874_BF_BSSCR = 0x5001, TFA9874_BF_BSST = 0x5023, TFA9874_BF_BSSRL = 0x5061, TFA9874_BF_VBATFLTL = 0x5080, TFA9874_BF_BSSR = 0x50e0, TFA9874_BF_BSSBY = 0x50f0, TFA9874_BF_BSSS = 0x5100, TFA9874_BF_HPFBYP = 0x5150, TFA9874_BF_DPSA = 0x5170, TFA9874_BF_CLIPCTRL = 0x5222, TFA9874_BF_AMPGAIN = 0x5257, TFA9874_BF_SLOPEE = 0x52d0, TFA9874_BF_SLOPESET = 0x52e0, TFA9874_BF_TDMDCG = 0x6123, TFA9874_BF_TDMSPKG = 0x6163, TFA9874_BF_LNMODE = 0x62e1, TFA9874_BF_LPM1MODE = 0x64e1, TFA9874_BF_TDMSRCMAP = 0x6802, TFA9874_BF_TDMSRCAS = 0x6831, TFA9874_BF_TDMSRCBS = 0x6851, TFA9874_BF_TDMSRCACLIP = 0x6871, TFA9874_BF_TDMSRCBCLIP = 0x6891, TFA9874_BF_LP1 = 0x6e10, TFA9874_BF_LA = 0x6e20, TFA9874_BF_VDDPH = 0x6e30, TFA9874_BF_DELCURCOMP = 0x6f02, TFA9874_BF_SIGCURCOMP = 0x6f40, TFA9874_BF_ENCURCOMP = 0x6f50, TFA9874_BF_LVLCLPPWM = 0x6f72, TFA9874_BF_DCMCC = 0x7033, TFA9874_BF_DCCV = 0x7071, TFA9874_BF_DCIE = 0x7090, TFA9874_BF_DCSR = 0x70a0, TFA9874_BF_DCDIS = 0x70e0, TFA9874_BF_DCPWM = 0x70f0, TFA9874_BF_DCTRACK = 0x7430, TFA9874_BF_DCTRIP = 0x7444, TFA9874_BF_DCHOLD = 0x7494, TFA9874_BF_DCINT = 0x74e0, TFA9874_BF_DCTRIP2 = 0x7534, TFA9874_BF_DCTRIPT = 0x7584, TFA9874_BF_DCTRIPHYSTE = 0x75f0, TFA9874_BF_DCVOF = 0x7635, TFA9874_BF_DCVOS = 0x7695, TFA9874_BF_MTPK = 0xa107, TFA9874_BF_KEY1LOCKED = 0xa200, TFA9874_BF_KEY2LOCKED = 0xa210, TFA9874_BF_CIMTP = 0xa360, TFA9874_BF_MTPRDMSB = 0xa50f, TFA9874_BF_MTPRDLSB = 0xa60f, TFA9874_BF_EXTTS = 0xb108, TFA9874_BF_TROS = 0xb190, TFA9874_BF_SWPROFIL = 0xee0f, TFA9874_BF_SWVSTEP = 0xef0f, TFA9874_BF_MTPOTC = 0xf000, TFA9874_BF_MTPEX = 0xf010, TFA9874_BF_DCMCCAPI = 0xf020, TFA9874_BF_DCMCCSB = 0xf030, TFA9874_BF_USERDEF = 0xf042, TFA9874_BF_CUSTINFO = 0xf078, TFA9874_BF_R25C = 0xf50f, }; #define TFA9874_NAMETABLE struct tfa_bf_name \ tfa9874_datasheet_names[] = {\ {0x0, "PWDN"},\ {0x10, "I2CR"},\ {0x30, "AMPE"},\ {0x40, "DCA"},\ {0x71, "INTP"},\ {0xb0, "BYPOCP"},\ {0xc0, "TSTOCP"},\ {0x120, "MANSCONF"},\ {0x140, "MANAOOSC"},\ {0x1d0, "MUTETO"},\ {0x1e0, "OPENMTP"},\ {0x203, "AUDFS"},\ {0x240, "INPLEV"},\ {0x255, "FRACTDEL"},\ {0x30f, "REV"},\ {0x401, "REFCKEXT"},\ {0x420, "REFCKSEL"},\ {0x5c0, "SSFAIME"},\ {0x802, "AMPOCRT"},\ {0x1000, "VDDS"},\ {0x1010, "DCOCPOK"},\ {0x1020, "OTDS"},\ {0x1030, "OCDS"},\ {0x1040, "UVDS"},\ {0x1050, "MANALARM"},\ {0x1060, "TDMERR"},\ {0x1070, "NOCLK"},\ {0x1100, "DCIL"},\ {0x1110, "DCDCA"},\ {0x1130, "DCHVBAT"},\ {0x1140, "DCH114"},\ {0x1150, "DCH107"},\ {0x1160, "PLLS"},\ {0x1170, "CLKS"},\ {0x1180, "TDMLUTER"},\ {0x1192, "TDMSTAT"},\ {0x11c0, "MTPB"},\ {0x11d0, "SWS"},\ {0x11e0, "AMPS"},\ {0x11f0, "AREFS"},\ {0x1300, "OCPOAP"},\ {0x1310, "OCPOAN"},\ {0x1320, "OCPOBP"},\ {0x1330, "OCPOBN"},\ {0x1380, "OVDS"},\ {0x1390, "CLIPS"},\ {0x13a0, "ADCCR"},\ {0x13c0, "MANWAIT1"},\ {0x13e0, "MANMUTE"},\ {0x13f0, "MANOPER"},\ {0x1420, "CLKOOR"},\ {0x1433, "MANSTATE"},\ {0x1471, "DCMODE"},\ {0x1509, "BATS"},\ {0x1608, "TEMPS"},\ {0x1709, "VDDPS"},\ {0x2040, "TDME"},\ {0x2050, "TDMMODE"},\ {0x2060, "TDMCLINV"},\ {0x2073, "TDMFSLN"},\ {0x20b0, "TDMFSPOL"},\ {0x20c3, "TDMNBCK"},\ {0x2103, "TDMSLOTS"},\ {0x2144, "TDMSLLN"},\ {0x2194, "TDMBRMG"},\ {0x21e0, "TDMDEL"},\ {0x21f0, "TDMADJ"},\ {0x2201, "TDMOOMP"},\ {0x2224, "TDMSSIZE"},\ {0x2271, "TDMTXDFO"},\ {0x2291, "TDMTXUS0"},\ {0x2300, "TDMSPKE"},\ {0x2310, "TDMDCE"},\ {0x2330, "TDMCSE"},\ {0x2340, "TDMVSE"},\ {0x2603, "TDMSPKS"},\ {0x2643, "TDMDCS"},\ {0x26c3, "TDMCSS"},\ {0x2703, "TDMVSS"},\ {0x4000, "ISTVDDS"},\ {0x4010, "ISTBSTOC"},\ {0x4020, "ISTOTDS"},\ {0x4030, "ISTOCPR"},\ {0x4040, "ISTUVDS"},\ {0x4050, "ISTMANALARM"},\ {0x4060, "ISTTDMER"},\ {0x4070, "ISTNOCLK"},\ {0x4400, "ICLVDDS"},\ {0x4410, "ICLBSTOC"},\ {0x4420, "ICLOTDS"},\ {0x4430, "ICLOCPR"},\ {0x4440, "ICLUVDS"},\ {0x4450, "ICLMANALARM"},\ {0x4460, "ICLTDMER"},\ {0x4470, "ICLNOCLK"},\ {0x4800, "IEVDDS"},\ {0x4810, "IEBSTOC"},\ {0x4820, "IEOTDS"},\ {0x4830, "IEOCPR"},\ {0x4840, "IEUVDS"},\ {0x4850, "IEMANALARM"},\ {0x4860, "IETDMER"},\ {0x4870, "IENOCLK"},\ {0x4c00, "IPOVDDS"},\ {0x4c10, "IPOBSTOC"},\ {0x4c20, "IPOOTDS"},\ {0x4c30, "IPOOCPR"},\ {0x4c40, "IPOUVDS"},\ {0x4c50, "IPOMANALARM"},\ {0x4c60, "IPOTDMER"},\ {0x4c70, "IPONOCLK"},\ {0x5001, "BSSCR"},\ {0x5023, "BSST"},\ {0x5061, "BSSRL"},\ {0x5080, "VBATFLTL"},\ {0x50e0, "BSSR"},\ {0x50f0, "BSSBY"},\ {0x5100, "BSSS"},\ {0x5150, "HPFBYP"},\ {0x5170, "DPSA"},\ {0x5222, "CLIPCTRL"},\ {0x5257, "AMPGAIN"},\ {0x52d0, "SLOPEE"},\ {0x52e0, "SLOPESET"},\ {0x6123, "TDMDCG"},\ {0x6163, "TDMSPKG"},\ {0x62e1, "LNMODE"},\ {0x64e1, "LPM1MODE"},\ {0x6802, "TDMSRCMAP"},\ {0x6831, "TDMSRCAS"},\ {0x6851, "TDMSRCBS"},\ {0x6871, "TDMSRCACLIP"},\ {0x6891, "TDMSRCBCLIP"},\ {0x6e10, "LP1"},\ {0x6e20, "LA"},\ {0x6e30, "VDDPH"},\ {0x6f02, "DELCURCOMP"},\ {0x6f40, "SIGCURCOMP"},\ {0x6f50, "ENCURCOMP"},\ {0x6f72, "LVLCLPPWM"},\ {0x7033, "DCMCC"},\ {0x7071, "DCCV"},\ {0x7090, "DCIE"},\ {0x70a0, "DCSR"},\ {0x70e0, "DCDIS"},\ {0x70f0, "DCPWM"},\ {0x7430, "DCTRACK"},\ {0x7444, "DCTRIP"},\ {0x7494, "DCHOLD"},\ {0x74e0, "DCINT"},\ {0x7534, "DCTRIP2"},\ {0x7584, "DCTRIPT"},\ {0x75f0, "DCTRIPHYSTE"},\ {0x7635, "DCVOF"},\ {0x7695, "DCVOS"},\ {0xa107, "MTPK"},\ {0xa200, "KEY1LOCKED"},\ {0xa210, "KEY2LOCKED"},\ {0xa360, "CIMTP"},\ {0xa50f, "MTPRDMSB"},\ {0xa60f, "MTPRDLSB"},\ {0xb108, "EXTTS"},\ {0xb190, "TROS"},\ {0xee0f, "SWPROFIL"},\ {0xef0f, "SWVSTEP"},\ {0xf000, "MTPOTC"},\ {0xf010, "MTPEX"},\ {0xf020, "DCMCCAPI"},\ {0xf030, "DCMCCSB"},\ {0xf042, "USERDEF"},\ {0xf078, "CUSTINFO"},\ {0xf50f, "R25C"},\ {0xffff, "Unknown bitfield enum"},\ } #define TFA9874_BITNAMETABLE struct tfa_bf_name \ tfa9874_bit_names[] = {\ {0x0, "powerdown"},\ {0x10, "reset"},\ {0x30, "enbl_amplifier"},\ {0x40, "enbl_boost"},\ {0x71, "int_pad_io"},\ {0xb0, "bypass_ocp"},\ {0xc0, "test_ocp"},\ {0x120, "src_set_configured"},\ {0x140, "enbl_osc1m_auto_off"},\ {0x1d0, "disable_mute_time_out"},\ {0x1e0, "unprotect_faim"},\ {0x203, "audio_fs"},\ {0x240, "input_level"},\ {0x255, "cs_frac_delay"},\ {0x2d0, "sel_hysteresis"},\ {0x30f, "device_rev"},\ {0x401, "pll_clkin_sel"},\ {0x420, "pll_clkin_sel_osc"},\ {0x5c0, "enbl_faim_ss"},\ {0x802, "ctrl_on2off_criterion"},\ {0xe07, "ctrl_digtoana"},\ {0xf0f, "hidden_code"},\ {0x1000, "flag_por"},\ {0x1010, "flag_bst_ocpok"},\ {0x1020, "flag_otpok"},\ {0x1030, "flag_ocp_alarm"},\ {0x1040, "flag_uvpok"},\ {0x1050, "flag_man_alarm_state"},\ {0x1060, "flag_tdm_error"},\ {0x1070, "flag_lost_clk"},\ {0x1100, "flag_bst_bstcur"},\ {0x1110, "flag_bst_hiz"},\ {0x1120, "flag_bst_peakcur"},\ {0x1130, "flag_bst_voutcomp"},\ {0x1140, "flag_bst_voutcomp86"},\ {0x1150, "flag_bst_voutcomp93"},\ {0x1160, "flag_pll_lock"},\ {0x1170, "flag_clocks_stable"},\ {0x1180, "flag_tdm_lut_error"},\ {0x1192, "flag_tdm_status"},\ {0x11c0, "flag_mtp_busy"},\ {0x11d0, "flag_engage"},\ {0x11e0, "flag_enbl_amp"},\ {0x11f0, "flag_enbl_ref"},\ {0x1300, "flag_ocpokap"},\ {0x1310, "flag_ocpokan"},\ {0x1320, "flag_ocpokbp"},\ {0x1330, "flag_ocpokbn"},\ {0x1380, "flag_ovpok"},\ {0x1390, "flag_clip"},\ {0x13a0, "flag_adc10_ready"},\ {0x13c0, "flag_man_wait_src_settings"},\ {0x13e0, "flag_man_start_mute_audio"},\ {0x13f0, "flag_man_operating_state"},\ {0x1420, "flag_clk_out_of_range"},\ {0x1433, "man_state"},\ {0x1471, "status_bst_mode"},\ {0x1509, "bat_adc"},\ {0x1608, "temp_adc"},\ {0x1709, "vddp_adc"},\ {0x2040, "tdm_enable"},\ {0x2050, "tdm_mode"},\ {0x2060, "tdm_clk_inversion"},\ {0x2073, "tdm_fs_ws_length"},\ {0x20b0, "tdm_fs_ws_polarity"},\ {0x20c3, "tdm_nbck"},\ {0x2103, "tdm_nb_of_slots"},\ {0x2144, "tdm_slot_length"},\ {0x2194, "tdm_bits_remaining"},\ {0x21e0, "tdm_data_delay"},\ {0x21f0, "tdm_data_adjustment"},\ {0x2201, "tdm_audio_sample_compression"},\ {0x2224, "tdm_sample_size"},\ {0x2271, "tdm_txdata_format"},\ {0x2291, "tdm_txdata_format_unused_slot_sd0"},\ {0x2300, "tdm_sink0_enable"},\ {0x2310, "tdm_sink1_enable"},\ {0x2330, "tdm_source0_enable"},\ {0x2340, "tdm_source1_enable"},\ {0x2603, "tdm_sink0_slot"},\ {0x2643, "tdm_sink1_slot"},\ {0x26c3, "tdm_source0_slot"},\ {0x2703, "tdm_source1_slot"},\ {0x4000, "int_out_flag_por"},\ {0x4010, "int_out_flag_bst_ocpok"},\ {0x4020, "int_out_flag_otpok"},\ {0x4030, "int_out_flag_ocp_alarm"},\ {0x4040, "int_out_flag_uvpok"},\ {0x4050, "int_out_flag_man_alarm_state"},\ {0x4060, "int_out_flag_tdm_error"},\ {0x4070, "int_out_flag_lost_clk"},\ {0x4400, "int_in_flag_por"},\ {0x4410, "int_in_flag_bst_ocpok"},\ {0x4420, "int_in_flag_otpok"},\ {0x4430, "int_in_flag_ocp_alarm"},\ {0x4440, "int_in_flag_uvpok"},\ {0x4450, "int_in_flag_man_alarm_state"},\ {0x4460, "int_in_flag_tdm_error"},\ {0x4470, "int_in_flag_lost_clk"},\ {0x4800, "int_enable_flag_por"},\ {0x4810, "int_enable_flag_bst_ocpok"},\ {0x4820, "int_enable_flag_otpok"},\ {0x4830, "int_enable_flag_ocp_alarm"},\ {0x4840, "int_enable_flag_uvpok"},\ {0x4850, "int_enable_flag_man_alarm_state"},\ {0x4860, "int_enable_flag_tdm_error"},\ {0x4870, "int_enable_flag_lost_clk"},\ {0x4c00, "int_polarity_flag_por"},\ {0x4c10, "int_polarity_flag_bst_ocpok"},\ {0x4c20, "int_polarity_flag_otpok"},\ {0x4c30, "int_polarity_flag_ocp_alarm"},\ {0x4c40, "int_polarity_flag_uvpok"},\ {0x4c50, "int_polarity_flag_man_alarm_state"},\ {0x4c60, "int_polarity_flag_tdm_error"},\ {0x4c70, "int_polarity_flag_lost_clk"},\ {0x5001, "vbat_prot_attack_time"},\ {0x5023, "vbat_prot_thlevel"},\ {0x5061, "vbat_prot_max_reduct"},\ {0x5080, "vbat_flt_limit"},\ {0x50d0, "rst_min_vbat"},\ {0x50e0, "sel_vbat"},\ {0x50f0, "bypass_clipper"},\ {0x5100, "batsense_steepness"},\ {0x5150, "bypass_hp"},\ {0x5170, "enbl_dpsa"},\ {0x5222, "ctrl_cc"},\ {0x5257, "gain"},\ {0x52d0, "ctrl_slopectrl"},\ {0x52e0, "ctrl_slope"},\ {0x5301, "dpsa_level"},\ {0x5321, "dpsa_release"},\ {0x5340, "clipfast"},\ {0x5350, "bypass_lp"},\ {0x5400, "first_order_mode"},\ {0x5410, "bypass_ctrlloop"},\ {0x5430, "icomp_engage"},\ {0x5440, "ctrl_kickback"},\ {0x5450, "icomp_engage_overrule"},\ {0x5503, "ctrl_dem"},\ {0x5543, "ctrl_dem_mismatch"},\ {0x5582, "dpsa_drive"},\ {0x5690, "sel_pwm_delay_src"},\ {0x56a1, "enbl_odd_up_even_down"},\ {0x570a, "enbl_amp"},\ {0x57b0, "enbl_engage"},\ {0x57c0, "enbl_engage_pst"},\ {0x5810, "hard_mute"},\ {0x5820, "pwm_shape"},\ {0x5844, "pwm_delay"},\ {0x5890, "reclock_pwm"},\ {0x58a0, "reclock_voltsense"},\ {0x58c0, "enbl_pwm_phase_shift"},\ {0x6123, "ctrl_attl"},\ {0x6163, "ctrl_attr"},\ {0x6265, "zero_lvl"},\ {0x62c1, "ctrl_fb_resistor"},\ {0x62e1, "lownoisegain_mode"},\ {0x6305, "threshold_lvl"},\ {0x6365, "hold_time"},\ {0x6405, "lpm1_cal_offset"},\ {0x6465, "lpm1_zero_lvl"},\ {0x64e1, "lpm1_mode"},\ {0x6505, "lpm1_threshold_lvl"},\ {0x6565, "lpm1_hold_time"},\ {0x65c0, "disable_low_power_mode"},\ {0x6600, "dcdc_pfm20khz_limit"},\ {0x6611, "dcdc_ctrl_maxzercnt"},\ {0x6656, "dcdc_vbat_delta_detect"},\ {0x66c0, "dcdc_ignore_vbat"},\ {0x6700, "enbl_minion"},\ {0x6713, "vth_vddpvbat"},\ {0x6750, "lpen_vddpvbat"},\ {0x6761, "ctrl_rfb"},\ {0x6802, "tdm_source_mapping"},\ {0x6831, "tdm_sourcea_frame_sel"},\ {0x6851, "tdm_sourceb_frame_sel"},\ {0x6871, "tdm_source0_clip_sel"},\ {0x6891, "tdm_source1_clip_sel"},\ {0x6a02, "rst_min_vbat_delay"},\ {0x6b00, "disable_auto_engage"},\ {0x6b10, "disable_engage"},\ {0x6c02, "ns_hp2ln_criterion"},\ {0x6c32, "ns_ln2hp_criterion"},\ {0x6c69, "spare_out"},\ {0x6d0f, "spare_in"},\ {0x6e10, "flag_lp_detect_mode1"},\ {0x6e20, "flag_low_amplitude"},\ {0x6e30, "flag_vddp_gt_vbat"},\ {0x6f02, "cursense_comp_delay"},\ {0x6f40, "cursense_comp_sign"},\ {0x6f50, "enbl_cursense_comp"},\ {0x6f72, "pwms_clip_lvl"},\ {0x7033, "boost_cur"},\ {0x7071, "bst_slpcmplvl"},\ {0x7090, "boost_intel"},\ {0x70a0, "boost_speed"},\ {0x70e0, "dcdcoff_mode"},\ {0x70f0, "dcdc_pwmonly"},\ {0x7104, "bst_drive"},\ {0x7151, "bst_scalecur"},\ {0x7174, "bst_slopecur"},\ {0x71c1, "bst_slope"},\ {0x71e0, "bst_bypass_bstcur"},\ {0x71f0, "bst_bypass_bstfoldback"},\ {0x7200, "enbl_bst_engage"},\ {0x7210, "enbl_bst_hizcom"},\ {0x7220, "enbl_bst_peak2avg"},\ {0x7230, "enbl_bst_peakcur"},\ {0x7240, "enbl_bst_power"},\ {0x7250, "enbl_bst_slopecur"},\ {0x7260, "enbl_bst_voutcomp"},\ {0x7270, "enbl_bst_voutcomp86"},\ {0x7280, "enbl_bst_voutcomp93"},\ {0x7290, "enbl_bst_windac"},\ {0x72a5, "bst_windac"},\ {0x7300, "boost_alg"},\ {0x7311, "boost_loopgain"},\ {0x7331, "bst_freq"},\ {0x7360, "bst_use_new_zercur_detect"},\ {0x7430, "boost_track"},\ {0x7444, "boost_trip_lvl_1st"},\ {0x7494, "boost_hold_time"},\ {0x74e0, "sel_dcdc_envelope_8fs"},\ {0x74f0, "ignore_flag_voutcomp86"},\ {0x7534, "boost_trip_lvl_2nd"},\ {0x7584, "boost_trip_lvl_track"},\ {0x75f0, "enbl_trip_hyst"},\ {0x7635, "frst_boost_voltage"},\ {0x7695, "scnd_boost_voltage"},\ {0x8001, "sel_clk_cs"},\ {0x8021, "micadc_speed"},\ {0x8050, "cs_gain_control"},\ {0x8060, "cs_bypass_gc"},\ {0x8087, "cs_gain"},\ {0x8210, "invertpwm"},\ {0x8305, "cs_ktemp"},\ {0x8364, "cs_ktemp2"},\ {0x8400, "cs_adc_bsoinv"},\ {0x8421, "cs_adc_hifreq"},\ {0x8440, "cs_adc_nortz"},\ {0x8453, "cs_adc_offset"},\ {0x8490, "cs_adc_slowdel"},\ {0x84a4, "cs_adc_gain"},\ {0x8500, "cs_resonator_enable"},\ {0x8510, "cs_classd_tran_skip"},\ {0x8530, "cs_inn_short"},\ {0x8540, "cs_inp_short"},\ {0x8550, "cs_ldo_bypass"},\ {0x8560, "cs_ldo_pulldown"},\ {0x8574, "cs_ldo_voset"},\ {0x8700, "enbl_cs_adc"},\ {0x8710, "enbl_cs_inn1"},\ {0x8720, "enbl_cs_inn2"},\ {0x8730, "enbl_cs_inp1"},\ {0x8740, "enbl_cs_inp2"},\ {0x8750, "enbl_cs_ldo"},\ {0x8780, "enbl_cs_vbatldo"},\ {0x8790, "enbl_dc_filter"},\ {0x8801, "volsense_pwm_sel"},\ {0x8850, "vs_gain_control"},\ {0x8860, "vs_bypass_gc"},\ {0x8870, "vs_igen_supply"},\ {0x8887, "vs_gain"},\ {0x8c00, "vs_adc_bsoinv"},\ {0x8c40, "vs_adc_nortz"},\ {0x8c90, "vs_adc_slowdel"},\ {0x8d10, "vs_classd_tran_skip"},\ {0x8d30, "vs_inn_short"},\ {0x8d40, "vs_inp_short"},\ {0x8d50, "vs_ldo_bypass"},\ {0x8d60, "vs_ldo_pulldown"},\ {0x8d74, "vs_ldo_voset"},\ {0x8f00, "enbl_vs_adc"},\ {0x8f10, "enbl_vs_inn1"},\ {0x8f20, "enbl_vs_inn2"},\ {0x8f30, "enbl_vs_inp1"},\ {0x8f40, "enbl_vs_inp2"},\ {0x8f50, "enbl_vs_ldo"},\ {0x8f80, "enbl_vs_vbatldo"},\ {0xa007, "mtpkey1"},\ {0xa107, "mtpkey2"},\ {0xa200, "key01_locked"},\ {0xa210, "key02_locked"},\ {0xa302, "mtp_man_address_in"},\ {0xa330, "man_copy_mtp_to_iic"},\ {0xa340, "man_copy_iic_to_mtp"},\ {0xa350, "auto_copy_mtp_to_iic"},\ {0xa360, "auto_copy_iic_to_mtp"},\ {0xa400, "faim_set_clkws"},\ {0xa410, "faim_sel_evenrows"},\ {0xa420, "faim_sel_oddrows"},\ {0xa430, "faim_program_only"},\ {0xa440, "faim_erase_only"},\ {0xa50f, "mtp_man_data_out_msb"},\ {0xa60f, "mtp_man_data_out_lsb"},\ {0xa70f, "mtp_man_data_in_msb"},\ {0xa80f, "mtp_man_data_in_lsb"},\ {0xb010, "bypass_ocpcounter"},\ {0xb020, "bypass_glitchfilter"},\ {0xb030, "bypass_ovp"},\ {0xb040, "bypass_uvp"},\ {0xb050, "bypass_otp"},\ {0xb060, "bypass_lost_clk"},\ {0xb070, "ctrl_vpalarm"},\ {0xb087, "ocp_threshold"},\ {0xb108, "ext_temp"},\ {0xb190, "ext_temp_sel"},\ {0xc000, "use_direct_ctrls"},\ {0xc010, "rst_datapath"},\ {0xc020, "rst_cgu"},\ {0xc038, "enbl_ref"},\ {0xc0c0, "use_direct_vs_ctrls"},\ {0xc0d0, "enbl_ringo"},\ {0xc0e0, "use_direct_clk_ctrl"},\ {0xc0f0, "use_direct_pll_ctrl"},\ {0xc100, "enbl_tsense"},\ {0xc110, "tsense_hibias"},\ {0xc120, "enbl_flag_vbg"},\ {0xc20f, "abist_offset"},\ {0xc300, "bypasslatch"},\ {0xc311, "sourcea"},\ {0xc331, "sourceb"},\ {0xc350, "inverta"},\ {0xc360, "invertb"},\ {0xc374, "pulselength"},\ {0xc3c0, "tdm_enable_loopback"},\ {0xc400, "bst_bypasslatch"},\ {0xc411, "bst_source"},\ {0xc430, "bst_invertb"},\ {0xc444, "bst_pulselength"},\ {0xc490, "test_bst_ctrlsthv"},\ {0xc4a0, "test_bst_iddq"},\ {0xc4b0, "test_bst_rdson"},\ {0xc4c0, "test_bst_cvi"},\ {0xc4d0, "test_bst_ocp"},\ {0xc4e0, "test_bst_sense"},\ {0xc500, "test_cvi"},\ {0xc510, "test_discrete"},\ {0xc520, "test_iddq"},\ {0xc540, "test_rdson"},\ {0xc550, "test_sdelta"},\ {0xc570, "test_enbl_cs"},\ {0xc580, "test_enbl_vs"},\ {0xc600, "enbl_pwm_dcc"},\ {0xc613, "pwm_dcc_cnt"},\ {0xc650, "enbl_ldo_stress"},\ {0xc707, "digimuxa_sel"},\ {0xc787, "digimuxb_sel"},\ {0xc807, "digimuxc_sel"},\ {0xc981, "int_ehs"},\ {0xc9c0, "hs_mode"},\ {0xca00, "enbl_anamux1"},\ {0xca10, "enbl_anamux2"},\ {0xca20, "enbl_anamux3"},\ {0xca30, "enbl_anamux4"},\ {0xca74, "anamux1"},\ {0xcb04, "anamux2"},\ {0xcb53, "anamux3"},\ {0xcba3, "anamux4"},\ {0xcd05, "pll_seli"},\ {0xcd64, "pll_selp"},\ {0xcdb3, "pll_selr"},\ {0xcdf0, "pll_frm"},\ {0xce09, "pll_ndec"},\ {0xcea0, "pll_mdec_msb"},\ {0xceb0, "enbl_pll"},\ {0xcec0, "enbl_osc"},\ {0xced0, "pll_bypass"},\ {0xcee0, "pll_directi"},\ {0xcef0, "pll_directo"},\ {0xcf0f, "pll_mdec_lsb"},\ {0xd006, "pll_pdec"},\ {0xd10f, "tsig_freq_lsb"},\ {0xd202, "tsig_freq_msb"},\ {0xd230, "inject_tsig"},\ {0xd283, "tsig_gain"},\ {0xd300, "adc10_reset"},\ {0xd311, "adc10_test"},\ {0xd332, "adc10_sel"},\ {0xd364, "adc10_prog_sample"},\ {0xd3b0, "adc10_enbl"},\ {0xd3c0, "bypass_lp_vbat"},\ {0xd409, "data_adc10_tempbat"},\ {0xd507, "ctrl_digtoana_hidden"},\ {0xd580, "enbl_clk_out_of_range"},\ {0xd621, "clkdiv_audio_sel"},\ {0xd641, "clkdiv_muxa_sel"},\ {0xd661, "clkdiv_muxb_sel"},\ {0xd721, "datao_ehs"},\ {0xd740, "bck_ehs"},\ {0xd750, "datai_ehs"},\ {0xd800, "source_in_testmode"},\ {0xd810, "gainatt_feedback"},\ {0xd822, "test_parametric_io"},\ {0xd850, "ctrl_bst_clk_lp1"},\ {0xd861, "test_spare_out1"},\ {0xd880, "bst_dcmbst"},\ {0xd8c3, "test_spare_out2"},\ {0xee0f, "sw_profile"},\ {0xef0f, "sw_vstep"},\ {0xf000, "calibration_onetime"},\ {0xf010, "calibr_ron_done"},\ {0xf020, "calibr_dcdc_api_calibrate"},\ {0xf030, "calibr_dcdc_delta_sign"},\ {0xf042, "calibr_dcdc_delta"},\ {0xf078, "calibr_speaker_info"},\ {0xf105, "calibr_vout_offset"},\ {0xf169, "spare_mpt1_15_6"},\ {0xf203, "calibr_gain"},\ {0xf245, "calibr_offset"},\ {0xf2a5, "spare_mtp2_15_10"},\ {0xf307, "calibr_gain_vs"},\ {0xf387, "calibr_gain_cs"},\ {0xf407, "spare_mtp4_15_0"},\ {0xf487, "vs_trim"},\ {0xf50f, "calibr_R25C_R"},\ {0xf60f, "spare_mpt6_6_0"},\ {0xf706, "ctrl_offset_a"},\ {0xf770, "spare_mtp7_07"},\ {0xf786, "ctrl_offset_b"},\ {0xf7f0, "spare_mtp7_15"},\ {0xf806, "htol_iic_addr"},\ {0xf870, "htol_iic_addr_en"},\ {0xf884, "calibr_temp_offset"},\ {0xf8d2, "calibr_temp_gain"},\ {0xf900, "mtp_lock_dcdcoff_mode"},\ {0xf910, "spare_mtp9_1"},\ {0xf920, "mtp_lock_bypass_clipper"},\ {0xf930, "mtp_lock_max_dcdc_voltage"},\ {0xf943, "calibr_vbg_trim"},\ {0xf980, "spare_mtp9_8"},\ {0xf990, "mtp_enbl_pwm_delay_clock_gating"},\ {0xf9a0, "mtp_enbl_ocp_clock_gating"},\ {0xf9b0, "mtp_gate_cgu_clock_for_test"},\ {0xf9c0, "mtp_tdm_pad_sel"},\ {0xf9d2, "spare_mtp9_15_12"},\ {0xfa0f, "mtpdataA"},\ {0xfb0f, "mtpdataB"},\ {0xfc0f, "mtpdataC"},\ {0xfd0f, "mtpdataD"},\ {0xfe0f, "mtpdataE"},\ {0xff07, "calibr_osc_delta_ndiv"},\ {0xff87, "spare_mtp7_15_08"},\ {0xffff, "Unknown bitfield enum"},\ } enum tfa9874_irq { tfa9874_irq_stvdds = 0, tfa9874_irq_stbstoc = 1, tfa9874_irq_stotds = 2, tfa9874_irq_stocpr = 3, tfa9874_irq_stuvds = 4, tfa9874_irq_stmanalarm = 5, tfa9874_irq_sttdmer = 6, tfa9874_irq_stnoclk = 7, tfa9874_irq_max = 8, tfa9874_irq_all = -1 /* all irqs */ }; #define TFA9874_IRQ_NAMETABLE struct tfa_irq_name \ tfa9874_irq_names[] = {\ {0, "STVDDS"},\ {1, "STBSTOC"},\ {2, "STOTDS"},\ {3, "STOCPR"},\ {4, "STUVDS"},\ {5, "STMANALARM"},\ {6, "STTDMER"},\ {7, "STNOCLK"},\ {8, "8"},\ } #endif /* _TFA9874_TFAFIELDNAMES_H */