1*3333cb71SPaul Handrigan /* 2*3333cb71SPaul Handrigan * linux/sound/cs35l33.h -- Platform data for CS35l33 3*3333cb71SPaul Handrigan * 4*3333cb71SPaul Handrigan * Copyright (c) 2016 Cirrus Logic Inc. 5*3333cb71SPaul Handrigan * 6*3333cb71SPaul Handrigan * This program is free software; you can redistribute it and/or modify 7*3333cb71SPaul Handrigan * it under the terms of the GNU General Public License version 2 as 8*3333cb71SPaul Handrigan * published by the Free Software Foundation. 9*3333cb71SPaul Handrigan */ 10*3333cb71SPaul Handrigan 11*3333cb71SPaul Handrigan #ifndef __CS35L33_H 12*3333cb71SPaul Handrigan #define __CS35L33_H 13*3333cb71SPaul Handrigan 14*3333cb71SPaul Handrigan struct cs35l33_hg { 15*3333cb71SPaul Handrigan bool enable_hg_algo; 16*3333cb71SPaul Handrigan unsigned int mem_depth; 17*3333cb71SPaul Handrigan unsigned int release_rate; 18*3333cb71SPaul Handrigan unsigned int hd_rm; 19*3333cb71SPaul Handrigan unsigned int ldo_thld; 20*3333cb71SPaul Handrigan unsigned int ldo_path_disable; 21*3333cb71SPaul Handrigan unsigned int ldo_entry_delay; 22*3333cb71SPaul Handrigan bool vp_hg_auto; 23*3333cb71SPaul Handrigan unsigned int vp_hg; 24*3333cb71SPaul Handrigan unsigned int vp_hg_rate; 25*3333cb71SPaul Handrigan unsigned int vp_hg_va; 26*3333cb71SPaul Handrigan }; 27*3333cb71SPaul Handrigan 28*3333cb71SPaul Handrigan struct cs35l33_pdata { 29*3333cb71SPaul Handrigan /* Boost Controller Voltage Setting */ 30*3333cb71SPaul Handrigan unsigned int boost_ctl; 31*3333cb71SPaul Handrigan 32*3333cb71SPaul Handrigan /* Boost Controller Peak Current */ 33*3333cb71SPaul Handrigan unsigned int boost_ipk; 34*3333cb71SPaul Handrigan 35*3333cb71SPaul Handrigan /* Amplifier Drive Select */ 36*3333cb71SPaul Handrigan unsigned int amp_drv_sel; 37*3333cb71SPaul Handrigan 38*3333cb71SPaul Handrigan /* soft volume ramp */ 39*3333cb71SPaul Handrigan unsigned int ramp_rate; 40*3333cb71SPaul Handrigan 41*3333cb71SPaul Handrigan /* IMON adc scale */ 42*3333cb71SPaul Handrigan unsigned int imon_adc_scale; 43*3333cb71SPaul Handrigan 44*3333cb71SPaul Handrigan /* H/G algo configuration */ 45*3333cb71SPaul Handrigan struct cs35l33_hg hg_config; 46*3333cb71SPaul Handrigan }; 47*3333cb71SPaul Handrigan 48*3333cb71SPaul Handrigan #endif /* __CS35L33_H */ 49