Home | History | Annotate | Download | only in wcd9xxx
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      4  ***   This header was automatically generated from a Linux kernel header
      5  ***   of the same name, to make information necessary for userspace to
      6  ***   call into the kernel available to libc.  It contains only constants,
      7  ***   structures, and macros generated from the original header, and thus,
      8  ***   contains no copyrightable information.
      9  ***
     10  ***   To edit the content of this header, modify the corresponding
     11  ***   source file (e.g. under external/kernel-headers/original/) then
     12  ***   run bionic/libc/kernel/tools/update_all.py
     13  ***
     14  ***   Any manual change here will be lost the next time this script will
     15  ***   be run. You've been warned!
     16  ***
     17  ****************************************************************************
     18  ****************************************************************************/
     19 #ifndef __MFD_TABLA_PDATA_H__
     20 #define __MFD_TABLA_PDATA_H__
     21 #include <linux/slimbus/slimbus.h>
     22 #define MICBIAS_EXT_BYP_CAP 0x00
     23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     24 #define MICBIAS_NO_EXT_BYP_CAP 0x01
     25 #define SITAR_LDOH_1P95_V 0x0
     26 #define SITAR_LDOH_2P35_V 0x1
     27 #define SITAR_LDOH_2P75_V 0x2
     28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     29 #define SITAR_LDOH_2P85_V 0x3
     30 #define SITAR_CFILT1_SEL 0x0
     31 #define SITAR_CFILT2_SEL 0x1
     32 #define SITAR_CFILT3_SEL 0x2
     33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     34 #define TABLA_LDOH_1P95_V 0x0
     35 #define TABLA_LDOH_2P35_V 0x1
     36 #define TABLA_LDOH_2P75_V 0x2
     37 #define TABLA_LDOH_2P85_V 0x3
     38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     39 #define TABLA_CFILT1_SEL 0x0
     40 #define TABLA_CFILT2_SEL 0x1
     41 #define TABLA_CFILT3_SEL 0x2
     42 #define TAIKO_CFILT1_SEL 0x0
     43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     44 #define TAIKO_CFILT2_SEL 0x1
     45 #define TAIKO_CFILT3_SEL 0x2
     46 #define TAIKO_LDOH_1P95_V 0x0
     47 #define TAIKO_LDOH_2P35_V 0x1
     48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     49 #define TAIKO_LDOH_2P75_V 0x2
     50 #define TAIKO_LDOH_2P85_V 0x3
     51 #define MAX_AMIC_CHANNEL 7
     52 #define TABLA_OCP_300_MA 0x0
     53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     54 #define TABLA_OCP_350_MA 0x2
     55 #define TABLA_OCP_365_MA 0x3
     56 #define TABLA_OCP_150_MA 0x4
     57 #define TABLA_OCP_190_MA 0x6
     58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     59 #define TABLA_OCP_220_MA 0x7
     60 #define TABLA_DCYCLE_255 0x0
     61 #define TABLA_DCYCLE_511 0x1
     62 #define TABLA_DCYCLE_767 0x2
     63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     64 #define TABLA_DCYCLE_1023 0x3
     65 #define TABLA_DCYCLE_1279 0x4
     66 #define TABLA_DCYCLE_1535 0x5
     67 #define TABLA_DCYCLE_1791 0x6
     68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     69 #define TABLA_DCYCLE_2047 0x7
     70 #define TABLA_DCYCLE_2303 0x8
     71 #define TABLA_DCYCLE_2559 0x9
     72 #define TABLA_DCYCLE_2815 0xA
     73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     74 #define TABLA_DCYCLE_3071 0xB
     75 #define TABLA_DCYCLE_3327 0xC
     76 #define TABLA_DCYCLE_3583 0xD
     77 #define TABLA_DCYCLE_3839 0xE
     78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     79 #define TABLA_DCYCLE_4095 0xF
     80 struct wcd9xxx_amic {
     81  u8 legacy_mode:MAX_AMIC_CHANNEL;
     82  u8 txfe_enable:MAX_AMIC_CHANNEL;
     83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     84  u8 txfe_buff:MAX_AMIC_CHANNEL;
     85  u8 use_pdata:MAX_AMIC_CHANNEL;
     86 };
     87 struct wcd9xxx_micbias_setting {
     88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     89  u8 ldoh_v;
     90  u32 cfilt1_mv;
     91  u32 cfilt2_mv;
     92  u32 cfilt3_mv;
     93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     94  u8 bias1_cfilt_sel;
     95  u8 bias2_cfilt_sel;
     96  u8 bias3_cfilt_sel;
     97  u8 bias4_cfilt_sel;
     98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     99  u8 bias1_cap_mode;
    100  u8 bias2_cap_mode;
    101  u8 bias3_cap_mode;
    102  u8 bias4_cap_mode;
    103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    104 };
    105 struct wcd9xxx_ocp_setting {
    106  unsigned int use_pdata:1;
    107  unsigned int num_attempts:4;
    108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    109  unsigned int run_time:4;
    110  unsigned int wait_time:4;
    111  unsigned int hph_ocp_limit:3;
    112 };
    113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    114 #define MAX_REGULATOR 7
    115 #define WCD9XXX_CDC_VDDA_CP_CUR_MAX 500000
    116 #define WCD9XXX_CDC_VDDA_RX_CUR_MAX 20000
    117 #define WCD9XXX_CDC_VDDA_TX_CUR_MAX 20000
    118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    119 #define WCD9XXX_VDDIO_CDC_CUR_MAX 5000
    120 #define WCD9XXX_VDDD_CDC_D_CUR_MAX 5000
    121 #define WCD9XXX_VDDD_CDC_A_CUR_MAX 5000
    122 struct wcd9xxx_regulator {
    123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    124  const char *name;
    125  int min_uV;
    126  int max_uV;
    127  int optimum_uA;
    128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    129  struct regulator *regulator;
    130 };
    131 struct wcd9xxx_pdata {
    132  int irq;
    133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    134  int irq_base;
    135  int num_irqs;
    136  int reset_gpio;
    137  struct wcd9xxx_amic amic_settings;
    138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    139  struct slim_device slimbus_slave_device;
    140  struct wcd9xxx_micbias_setting micbias;
    141  struct wcd9xxx_ocp_setting ocp;
    142  struct wcd9xxx_regulator regulator[MAX_REGULATOR];
    143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    144 };
    145 #endif
    146 
    147