Merge remote-tracking branches 'asoc/topic/cs35l35', 'asoc/topic/cs53l30', 'asoc/topic/da7213', 'asoc/topic/dio2125' and 'asoc/topic/dwc' into asoc-next
This commit is contained in:
108
include/sound/cs35l35.h
Normal file
108
include/sound/cs35l35.h
Normal file
@@ -0,0 +1,108 @@
|
||||
/*
|
||||
* linux/sound/cs35l35.h -- Platform data for CS35l35
|
||||
*
|
||||
* Copyright (c) 2016 Cirrus Logic Inc.
|
||||
*
|
||||
* 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 __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;
|
||||
/* ClassH Algorithm */
|
||||
struct classh_cfg classh_algo;
|
||||
/* Monitor Config */
|
||||
struct monitor_cfg mon_cfg;
|
||||
};
|
||||
|
||||
#endif /* __CS35L35_H */
|
Reference in New Issue
Block a user