13333cb71SPaul Handrigan /* 23333cb71SPaul Handrigan * linux/sound/cs35l33.h -- Platform data for CS35l33 33333cb71SPaul Handrigan * 43333cb71SPaul Handrigan * Copyright (c) 2016 Cirrus Logic Inc. 53333cb71SPaul Handrigan * 63333cb71SPaul Handrigan * This program is free software; you can redistribute it and/or modify 73333cb71SPaul Handrigan * it under the terms of the GNU General Public License version 2 as 83333cb71SPaul Handrigan * published by the Free Software Foundation. 93333cb71SPaul Handrigan */ 103333cb71SPaul Handrigan 113333cb71SPaul Handrigan #ifndef __CS35L33_H 123333cb71SPaul Handrigan #define __CS35L33_H 133333cb71SPaul Handrigan 143333cb71SPaul Handrigan struct cs35l33_hg { 153333cb71SPaul Handrigan bool enable_hg_algo; 163333cb71SPaul Handrigan unsigned int mem_depth; 173333cb71SPaul Handrigan unsigned int release_rate; 183333cb71SPaul Handrigan unsigned int hd_rm; 193333cb71SPaul Handrigan unsigned int ldo_thld; 203333cb71SPaul Handrigan unsigned int ldo_path_disable; 213333cb71SPaul Handrigan unsigned int ldo_entry_delay; 223333cb71SPaul Handrigan bool vp_hg_auto; 233333cb71SPaul Handrigan unsigned int vp_hg; 243333cb71SPaul Handrigan unsigned int vp_hg_rate; 253333cb71SPaul Handrigan unsigned int vp_hg_va; 263333cb71SPaul Handrigan }; 273333cb71SPaul Handrigan 283333cb71SPaul Handrigan struct cs35l33_pdata { 293333cb71SPaul Handrigan /* Boost Controller Voltage Setting */ 303333cb71SPaul Handrigan unsigned int boost_ctl; 313333cb71SPaul Handrigan 323333cb71SPaul Handrigan /* Boost Controller Peak Current */ 333333cb71SPaul Handrigan unsigned int boost_ipk; 343333cb71SPaul Handrigan 353333cb71SPaul Handrigan /* Amplifier Drive Select */ 363333cb71SPaul Handrigan unsigned int amp_drv_sel; 373333cb71SPaul Handrigan 383333cb71SPaul Handrigan /* soft volume ramp */ 393333cb71SPaul Handrigan unsigned int ramp_rate; 403333cb71SPaul Handrigan 413333cb71SPaul Handrigan /* IMON adc scale */ 423333cb71SPaul Handrigan unsigned int imon_adc_scale; 433333cb71SPaul Handrigan 443333cb71SPaul Handrigan /* H/G algo configuration */ 453333cb71SPaul Handrigan struct cs35l33_hg hg_config; 463333cb71SPaul Handrigan }; 473333cb71SPaul Handrigan 483333cb71SPaul Handrigan #endif /* __CS35L33_H */ 49