1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * Device Tree defines for Arizona devices 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright 2015 Cirrus Logic Inc. 6*4882a593Smuzhiyun * 7*4882a593Smuzhiyun * Author: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> 8*4882a593Smuzhiyun */ 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun #ifndef _DT_BINDINGS_MFD_ARIZONA_H 11*4882a593Smuzhiyun #define _DT_BINDINGS_MFD_ARIZONA_H 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun /* GPIO Function Definitions */ 14*4882a593Smuzhiyun #define ARIZONA_GP_FN_TXLRCLK 0x00 15*4882a593Smuzhiyun #define ARIZONA_GP_FN_GPIO 0x01 16*4882a593Smuzhiyun #define ARIZONA_GP_FN_IRQ1 0x02 17*4882a593Smuzhiyun #define ARIZONA_GP_FN_IRQ2 0x03 18*4882a593Smuzhiyun #define ARIZONA_GP_FN_OPCLK 0x04 19*4882a593Smuzhiyun #define ARIZONA_GP_FN_FLL1_OUT 0x05 20*4882a593Smuzhiyun #define ARIZONA_GP_FN_FLL2_OUT 0x06 21*4882a593Smuzhiyun #define ARIZONA_GP_FN_PWM1 0x08 22*4882a593Smuzhiyun #define ARIZONA_GP_FN_PWM2 0x09 23*4882a593Smuzhiyun #define ARIZONA_GP_FN_SYSCLK_UNDERCLOCKED 0x0A 24*4882a593Smuzhiyun #define ARIZONA_GP_FN_ASYNCCLK_UNDERCLOCKED 0x0B 25*4882a593Smuzhiyun #define ARIZONA_GP_FN_FLL1_LOCK 0x0C 26*4882a593Smuzhiyun #define ARIZONA_GP_FN_FLL2_LOCK 0x0D 27*4882a593Smuzhiyun #define ARIZONA_GP_FN_FLL1_CLOCK_OK 0x0F 28*4882a593Smuzhiyun #define ARIZONA_GP_FN_FLL2_CLOCK_OK 0x10 29*4882a593Smuzhiyun #define ARIZONA_GP_FN_HEADPHONE_DET 0x12 30*4882a593Smuzhiyun #define ARIZONA_GP_FN_MIC_DET 0x13 31*4882a593Smuzhiyun #define ARIZONA_GP_FN_WSEQ_STATUS 0x15 32*4882a593Smuzhiyun #define ARIZONA_GP_FN_CIF_ADDRESS_ERROR 0x16 33*4882a593Smuzhiyun #define ARIZONA_GP_FN_ASRC1_LOCK 0x1A 34*4882a593Smuzhiyun #define ARIZONA_GP_FN_ASRC2_LOCK 0x1B 35*4882a593Smuzhiyun #define ARIZONA_GP_FN_ASRC_CONFIG_ERROR 0x1C 36*4882a593Smuzhiyun #define ARIZONA_GP_FN_DRC1_SIGNAL_DETECT 0x1D 37*4882a593Smuzhiyun #define ARIZONA_GP_FN_DRC1_ANTICLIP 0x1E 38*4882a593Smuzhiyun #define ARIZONA_GP_FN_DRC1_DECAY 0x1F 39*4882a593Smuzhiyun #define ARIZONA_GP_FN_DRC1_NOISE 0x20 40*4882a593Smuzhiyun #define ARIZONA_GP_FN_DRC1_QUICK_RELEASE 0x21 41*4882a593Smuzhiyun #define ARIZONA_GP_FN_DRC2_SIGNAL_DETECT 0x22 42*4882a593Smuzhiyun #define ARIZONA_GP_FN_DRC2_ANTICLIP 0x23 43*4882a593Smuzhiyun #define ARIZONA_GP_FN_DRC2_DECAY 0x24 44*4882a593Smuzhiyun #define ARIZONA_GP_FN_DRC2_NOISE 0x25 45*4882a593Smuzhiyun #define ARIZONA_GP_FN_DRC2_QUICK_RELEASE 0x26 46*4882a593Smuzhiyun #define ARIZONA_GP_FN_MIXER_DROPPED_SAMPLE 0x27 47*4882a593Smuzhiyun #define ARIZONA_GP_FN_AIF1_CONFIG_ERROR 0x28 48*4882a593Smuzhiyun #define ARIZONA_GP_FN_AIF2_CONFIG_ERROR 0x29 49*4882a593Smuzhiyun #define ARIZONA_GP_FN_AIF3_CONFIG_ERROR 0x2A 50*4882a593Smuzhiyun #define ARIZONA_GP_FN_SPK_TEMP_SHUTDOWN 0x2B 51*4882a593Smuzhiyun #define ARIZONA_GP_FN_SPK_TEMP_WARNING 0x2C 52*4882a593Smuzhiyun #define ARIZONA_GP_FN_UNDERCLOCKED 0x2D 53*4882a593Smuzhiyun #define ARIZONA_GP_FN_OVERCLOCKED 0x2E 54*4882a593Smuzhiyun #define ARIZONA_GP_FN_DSP_IRQ1 0x35 55*4882a593Smuzhiyun #define ARIZONA_GP_FN_DSP_IRQ2 0x36 56*4882a593Smuzhiyun #define ARIZONA_GP_FN_ASYNC_OPCLK 0x3D 57*4882a593Smuzhiyun #define ARIZONA_GP_FN_BOOT_DONE 0x44 58*4882a593Smuzhiyun #define ARIZONA_GP_FN_DSP1_RAM_READY 0x45 59*4882a593Smuzhiyun #define ARIZONA_GP_FN_SYSCLK_ENA_STATUS 0x4B 60*4882a593Smuzhiyun #define ARIZONA_GP_FN_ASYNCCLK_ENA_STATUS 0x4C 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun /* GPIO Configuration Bits */ 63*4882a593Smuzhiyun #define ARIZONA_GPN_DIR 0x8000 64*4882a593Smuzhiyun #define ARIZONA_GPN_PU 0x4000 65*4882a593Smuzhiyun #define ARIZONA_GPN_PD 0x2000 66*4882a593Smuzhiyun #define ARIZONA_GPN_LVL 0x0800 67*4882a593Smuzhiyun #define ARIZONA_GPN_POL 0x0400 68*4882a593Smuzhiyun #define ARIZONA_GPN_OP_CFG 0x0200 69*4882a593Smuzhiyun #define ARIZONA_GPN_DB 0x0100 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun /* Provide some defines for the most common configs */ 72*4882a593Smuzhiyun #define ARIZONA_GP_DEFAULT 0xffffffff 73*4882a593Smuzhiyun #define ARIZONA_GP_OUTPUT (ARIZONA_GP_FN_GPIO) 74*4882a593Smuzhiyun #define ARIZONA_GP_INPUT (ARIZONA_GP_FN_GPIO | \ 75*4882a593Smuzhiyun ARIZONA_GPN_DIR) 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun #define ARIZONA_32KZ_MCLK1 1 78*4882a593Smuzhiyun #define ARIZONA_32KZ_MCLK2 2 79*4882a593Smuzhiyun #define ARIZONA_32KZ_NONE 3 80*4882a593Smuzhiyun 81*4882a593Smuzhiyun #define ARIZONA_DMIC_MICVDD 0 82*4882a593Smuzhiyun #define ARIZONA_DMIC_MICBIAS1 1 83*4882a593Smuzhiyun #define ARIZONA_DMIC_MICBIAS2 2 84*4882a593Smuzhiyun #define ARIZONA_DMIC_MICBIAS3 3 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun #define ARIZONA_INMODE_DIFF 0 87*4882a593Smuzhiyun #define ARIZONA_INMODE_SE 1 88*4882a593Smuzhiyun #define ARIZONA_INMODE_DMIC 2 89*4882a593Smuzhiyun 90*4882a593Smuzhiyun #define ARIZONA_MICD_TIME_CONTINUOUS 0 91*4882a593Smuzhiyun #define ARIZONA_MICD_TIME_250US 1 92*4882a593Smuzhiyun #define ARIZONA_MICD_TIME_500US 2 93*4882a593Smuzhiyun #define ARIZONA_MICD_TIME_1MS 3 94*4882a593Smuzhiyun #define ARIZONA_MICD_TIME_2MS 4 95*4882a593Smuzhiyun #define ARIZONA_MICD_TIME_4MS 5 96*4882a593Smuzhiyun #define ARIZONA_MICD_TIME_8MS 6 97*4882a593Smuzhiyun #define ARIZONA_MICD_TIME_16MS 7 98*4882a593Smuzhiyun #define ARIZONA_MICD_TIME_32MS 8 99*4882a593Smuzhiyun #define ARIZONA_MICD_TIME_64MS 9 100*4882a593Smuzhiyun #define ARIZONA_MICD_TIME_128MS 10 101*4882a593Smuzhiyun #define ARIZONA_MICD_TIME_256MS 11 102*4882a593Smuzhiyun #define ARIZONA_MICD_TIME_512MS 12 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun #define ARIZONA_ACCDET_MODE_MIC 0 105*4882a593Smuzhiyun #define ARIZONA_ACCDET_MODE_HPL 1 106*4882a593Smuzhiyun #define ARIZONA_ACCDET_MODE_HPR 2 107*4882a593Smuzhiyun #define ARIZONA_ACCDET_MODE_HPM 4 108*4882a593Smuzhiyun #define ARIZONA_ACCDET_MODE_ADC 7 109*4882a593Smuzhiyun 110*4882a593Smuzhiyun #define ARIZONA_GPSW_OPEN 0 111*4882a593Smuzhiyun #define ARIZONA_GPSW_CLOSED 1 112*4882a593Smuzhiyun #define ARIZONA_GPSW_CLAMP_ENABLED 2 113*4882a593Smuzhiyun #define ARIZONA_GPSW_CLAMP_DISABLED 3 114*4882a593Smuzhiyun 115*4882a593Smuzhiyun #endif 116