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