brintos

brintos / linux-shallow public Read only

0
0
Text · 2.2 KiB · 3a770e4 Raw
108 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * linux/sound/cs35l35.h -- Platform data for CS35l354 *5 * Copyright (c) 2016 Cirrus Logic Inc.6 */7 8#ifndef __CS35L35_H9#define __CS35L35_H10 11struct classh_cfg {12	/*13	 * Class H Algorithm Control Variables14	 * You can either have it done15	 * automatically or you can adjust16	 * these variables for tuning17	 *18	 * if you do not enable the internal algorithm19	 * you will get a set of mixer controls for20	 * Class H tuning21	 *22	 * Section 4.3 of the datasheet23	 */24	bool classh_bst_override;25	bool classh_algo_enable;26	int classh_bst_max_limit;27	int classh_mem_depth;28	int classh_release_rate;29	int classh_headroom;30	int classh_wk_fet_disable;31	int classh_wk_fet_delay;32	int classh_wk_fet_thld;33	int classh_vpch_auto;34	int classh_vpch_rate;35	int classh_vpch_man;36};37 38struct monitor_cfg {39	/*40	 * Signal Monitor Data41	 * highly configurable signal monitoring42	 * data positioning and different types of43	 * monitoring data.44	 *45	 * Section 4.8.2 - 4.8.4 of the datasheet46	 */47	bool is_present;48	bool imon_specs;49	bool vmon_specs;50	bool vpmon_specs;51	bool vbstmon_specs;52	bool vpbrstat_specs;53	bool zerofill_specs;54	u8 imon_dpth;55	u8 imon_loc;56	u8 imon_frm;57	u8 imon_scale;58	u8 vmon_dpth;59	u8 vmon_loc;60	u8 vmon_frm;61	u8 vpmon_dpth;62	u8 vpmon_loc;63	u8 vpmon_frm;64	u8 vbstmon_dpth;65	u8 vbstmon_loc;66	u8 vbstmon_frm;67	u8 vpbrstat_dpth;68	u8 vpbrstat_loc;69	u8 vpbrstat_frm;70	u8 zerofill_dpth;71	u8 zerofill_loc;72	u8 zerofill_frm;73};74 75struct cs35l35_platform_data {76 77	/* Stereo (2 Device) */78	bool stereo;79	/* serial port drive strength */80	int sp_drv_str;81	/* serial port drive in unused slots */82	int sp_drv_unused;83	/* Boost Power Down with FET */84	bool bst_pdn_fet_on;85	/* Boost Voltage : used if ClassH Algo Enabled */86	int bst_vctl;87	/* Boost Converter Peak Current CTRL */88	int bst_ipk;89	/* Amp Gain Zero Cross */90	bool gain_zc;91	/* Audio Input Location */92	int aud_channel;93	/* Advisory Input Location */94	int adv_channel;95	/* Shared Boost for stereo */96	bool shared_bst;97	/* Specifies this amp is using an external boost supply */98	bool ext_bst;99	/* Inductor Value */100	int boost_ind;101	/* ClassH Algorithm */102	struct classh_cfg classh_algo;103	/* Monitor Config */104	struct monitor_cfg mon_cfg;105};106 107#endif /* __CS35L35_H */108