/* SPDX-License-Identifier: GPL-2.0-only */ /* * linux/sound/cs35l35.h -- Platform data for CS35l35 * * Copyright (c) 2016 Cirrus Logic Inc.
*/
#ifndef __CS35L35_H #define __CS35L35_H
struct classh_cfg { /* * Class H Algorithm Control Variables * You can either have it done * automatically or you can adjust * these variables for tuning * * if you do not enable the internal algorithm * you will get a set of mixer controls for * Class H tuning * * Section 4.3 of the datasheet
*/ bool classh_bst_override; bool classh_algo_enable; int classh_bst_max_limit; int classh_mem_depth; int classh_release_rate; int classh_headroom; int classh_wk_fet_disable; int classh_wk_fet_delay; int classh_wk_fet_thld; int classh_vpch_auto; int classh_vpch_rate; int classh_vpch_man;
};
struct monitor_cfg { /* * Signal Monitor Data * highly configurable signal monitoring * data positioning and different types of * monitoring data. * * Section 4.8.2 - 4.8.4 of the datasheet
*/ bool is_present; bool imon_specs; bool vmon_specs; bool vpmon_specs; bool vbstmon_specs; bool vpbrstat_specs; bool zerofill_specs;
u8 imon_dpth;
u8 imon_loc;
u8 imon_frm;
u8 imon_scale;
u8 vmon_dpth;
u8 vmon_loc;
u8 vmon_frm;
u8 vpmon_dpth;
u8 vpmon_loc;
u8 vpmon_frm;
u8 vbstmon_dpth;
u8 vbstmon_loc;
u8 vbstmon_frm;
u8 vpbrstat_dpth;
u8 vpbrstat_loc;
u8 vpbrstat_frm;
u8 zerofill_dpth;
u8 zerofill_loc;
u8 zerofill_frm;
};
struct cs35l35_platform_data {
/* Stereo (2 Device) */ bool stereo; /* serial port drive strength */ int sp_drv_str; /* serial port drive in unused slots */ int sp_drv_unused; /* Boost Power Down with FET */ bool bst_pdn_fet_on; /* Boost Voltage : used if ClassH Algo Enabled */ int bst_vctl; /* Boost Converter Peak Current CTRL */ int bst_ipk; /* Amp Gain Zero Cross */ bool gain_zc; /* Audio Input Location */ int aud_channel; /* Advisory Input Location */ int adv_channel; /* Shared Boost for stereo */ bool shared_bst; /* Specifies this amp is using an external boost supply */ bool ext_bst; /* Inductor Value */ int boost_ind; /* ClassH Algorithm */ struct classh_cfg classh_algo; /* Monitor Config */ struct monitor_cfg mon_cfg;
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.