1*d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 23333cb71SPaul Handrigan /* 33333cb71SPaul Handrigan * linux/sound/cs35l33.h -- Platform data for CS35l33 43333cb71SPaul Handrigan * 53333cb71SPaul Handrigan * Copyright (c) 2016 Cirrus Logic Inc. 63333cb71SPaul Handrigan */ 73333cb71SPaul Handrigan 83333cb71SPaul Handrigan #ifndef __CS35L33_H 93333cb71SPaul Handrigan #define __CS35L33_H 103333cb71SPaul Handrigan 113333cb71SPaul Handrigan struct cs35l33_hg { 123333cb71SPaul Handrigan bool enable_hg_algo; 133333cb71SPaul Handrigan unsigned int mem_depth; 143333cb71SPaul Handrigan unsigned int release_rate; 153333cb71SPaul Handrigan unsigned int hd_rm; 163333cb71SPaul Handrigan unsigned int ldo_thld; 173333cb71SPaul Handrigan unsigned int ldo_path_disable; 183333cb71SPaul Handrigan unsigned int ldo_entry_delay; 193333cb71SPaul Handrigan bool vp_hg_auto; 203333cb71SPaul Handrigan unsigned int vp_hg; 213333cb71SPaul Handrigan unsigned int vp_hg_rate; 223333cb71SPaul Handrigan unsigned int vp_hg_va; 233333cb71SPaul Handrigan }; 243333cb71SPaul Handrigan 253333cb71SPaul Handrigan struct cs35l33_pdata { 263333cb71SPaul Handrigan /* Boost Controller Voltage Setting */ 273333cb71SPaul Handrigan unsigned int boost_ctl; 283333cb71SPaul Handrigan 293333cb71SPaul Handrigan /* Boost Controller Peak Current */ 303333cb71SPaul Handrigan unsigned int boost_ipk; 313333cb71SPaul Handrigan 323333cb71SPaul Handrigan /* Amplifier Drive Select */ 333333cb71SPaul Handrigan unsigned int amp_drv_sel; 343333cb71SPaul Handrigan 353333cb71SPaul Handrigan /* soft volume ramp */ 363333cb71SPaul Handrigan unsigned int ramp_rate; 373333cb71SPaul Handrigan 383333cb71SPaul Handrigan /* IMON adc scale */ 393333cb71SPaul Handrigan unsigned int imon_adc_scale; 403333cb71SPaul Handrigan 413333cb71SPaul Handrigan /* H/G algo configuration */ 423333cb71SPaul Handrigan struct cs35l33_hg hg_config; 433333cb71SPaul Handrigan }; 443333cb71SPaul Handrigan 453333cb71SPaul Handrigan #endif /* __CS35L33_H */ 46