18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * linux/sound/cs35l33.h -- Platform data for CS35l33
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Copyright (c) 2016 Cirrus Logic Inc.
68c2ecf20Sopenharmony_ci */
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci#ifndef __CS35L33_H
98c2ecf20Sopenharmony_ci#define __CS35L33_H
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_cistruct cs35l33_hg {
128c2ecf20Sopenharmony_ci	bool enable_hg_algo;
138c2ecf20Sopenharmony_ci	unsigned int mem_depth;
148c2ecf20Sopenharmony_ci	unsigned int release_rate;
158c2ecf20Sopenharmony_ci	unsigned int hd_rm;
168c2ecf20Sopenharmony_ci	unsigned int ldo_thld;
178c2ecf20Sopenharmony_ci	unsigned int ldo_path_disable;
188c2ecf20Sopenharmony_ci	unsigned int ldo_entry_delay;
198c2ecf20Sopenharmony_ci	bool vp_hg_auto;
208c2ecf20Sopenharmony_ci	unsigned int vp_hg;
218c2ecf20Sopenharmony_ci	unsigned int vp_hg_rate;
228c2ecf20Sopenharmony_ci	unsigned int vp_hg_va;
238c2ecf20Sopenharmony_ci};
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_cistruct cs35l33_pdata {
268c2ecf20Sopenharmony_ci	/* Boost Controller Voltage Setting */
278c2ecf20Sopenharmony_ci	unsigned int boost_ctl;
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci	/* Boost Controller Peak Current */
308c2ecf20Sopenharmony_ci	unsigned int boost_ipk;
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci	/* Amplifier Drive Select */
338c2ecf20Sopenharmony_ci	unsigned int amp_drv_sel;
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci	/* soft volume ramp */
368c2ecf20Sopenharmony_ci	unsigned int ramp_rate;
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci	/* IMON adc scale */
398c2ecf20Sopenharmony_ci	unsigned int imon_adc_scale;
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci	/* H/G algo configuration */
428c2ecf20Sopenharmony_ci	struct cs35l33_hg hg_config;
438c2ecf20Sopenharmony_ci};
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci#endif /* __CS35L33_H */
46