1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * cs42l42.h -- CS42L42 ALSA SoC audio driver DT bindings header 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright 2016 Cirrus Logic, Inc. 6*4882a593Smuzhiyun * 7*4882a593Smuzhiyun * Author: James Schulman <james.schulman@cirrus.com> 8*4882a593Smuzhiyun * Author: Brian Austin <brian.austin@cirrus.com> 9*4882a593Smuzhiyun * Author: Michael White <michael.white@cirrus.com> 10*4882a593Smuzhiyun */ 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun #ifndef __DT_CS42L42_H 13*4882a593Smuzhiyun #define __DT_CS42L42_H 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun /* HPOUT Load Capacity */ 16*4882a593Smuzhiyun #define CS42L42_HPOUT_LOAD_1NF 0 17*4882a593Smuzhiyun #define CS42L42_HPOUT_LOAD_10NF 1 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun /* HPOUT Clamp to GND Override */ 20*4882a593Smuzhiyun #define CS42L42_HPOUT_CLAMP_EN 0 21*4882a593Smuzhiyun #define CS42L42_HPOUT_CLAMP_DIS 1 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun /* Tip Sense Inversion */ 24*4882a593Smuzhiyun #define CS42L42_TS_INV_DIS 0 25*4882a593Smuzhiyun #define CS42L42_TS_INV_EN 1 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun /* Tip Sense Debounce */ 28*4882a593Smuzhiyun #define CS42L42_TS_DBNCE_0 0 29*4882a593Smuzhiyun #define CS42L42_TS_DBNCE_125 1 30*4882a593Smuzhiyun #define CS42L42_TS_DBNCE_250 2 31*4882a593Smuzhiyun #define CS42L42_TS_DBNCE_500 3 32*4882a593Smuzhiyun #define CS42L42_TS_DBNCE_750 4 33*4882a593Smuzhiyun #define CS42L42_TS_DBNCE_1000 5 34*4882a593Smuzhiyun #define CS42L42_TS_DBNCE_1250 6 35*4882a593Smuzhiyun #define CS42L42_TS_DBNCE_1500 7 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun /* Button Press Software Debounce Times */ 38*4882a593Smuzhiyun #define CS42L42_BTN_DET_INIT_DBNCE_MIN 0 39*4882a593Smuzhiyun #define CS42L42_BTN_DET_INIT_DBNCE_DEFAULT 100 40*4882a593Smuzhiyun #define CS42L42_BTN_DET_INIT_DBNCE_MAX 200 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun #define CS42L42_BTN_DET_EVENT_DBNCE_MIN 0 43*4882a593Smuzhiyun #define CS42L42_BTN_DET_EVENT_DBNCE_DEFAULT 10 44*4882a593Smuzhiyun #define CS42L42_BTN_DET_EVENT_DBNCE_MAX 20 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun /* Button Detect Level Sensitivities */ 47*4882a593Smuzhiyun #define CS42L42_NUM_BIASES 4 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun #define CS42L42_HS_DET_LEVEL_15 0x0F 50*4882a593Smuzhiyun #define CS42L42_HS_DET_LEVEL_8 0x08 51*4882a593Smuzhiyun #define CS42L42_HS_DET_LEVEL_4 0x04 52*4882a593Smuzhiyun #define CS42L42_HS_DET_LEVEL_1 0x01 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun #define CS42L42_HS_DET_LEVEL_MIN 0 55*4882a593Smuzhiyun #define CS42L42_HS_DET_LEVEL_MAX 0x3F 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun /* HS Bias Ramp Rate */ 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun #define CS42L42_HSBIAS_RAMP_FAST_RISE_SLOW_FALL 0 60*4882a593Smuzhiyun #define CS42L42_HSBIAS_RAMP_FAST 1 61*4882a593Smuzhiyun #define CS42L42_HSBIAS_RAMP_SLOW 2 62*4882a593Smuzhiyun #define CS42L42_HSBIAS_RAMP_SLOWEST 3 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun #define CS42L42_HSBIAS_RAMP_TIME0 10 65*4882a593Smuzhiyun #define CS42L42_HSBIAS_RAMP_TIME1 40 66*4882a593Smuzhiyun #define CS42L42_HSBIAS_RAMP_TIME2 90 67*4882a593Smuzhiyun #define CS42L42_HSBIAS_RAMP_TIME3 170 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun #endif /* __DT_CS42L42_H */ 70