1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 #ifndef __MFD_WM831X_PMU_H__
  11 #define __MFD_WM831X_PMU_H__
  12 
  13 
  14 
  15 
  16 #define WM831X_CHIP_ON                          0x8000  
  17 #define WM831X_CHIP_ON_MASK                     0x8000  
  18 #define WM831X_CHIP_ON_SHIFT                        15  
  19 #define WM831X_CHIP_ON_WIDTH                         1  
  20 #define WM831X_CHIP_SLP                         0x4000  
  21 #define WM831X_CHIP_SLP_MASK                    0x4000  
  22 #define WM831X_CHIP_SLP_SHIFT                       14  
  23 #define WM831X_CHIP_SLP_WIDTH                        1  
  24 #define WM831X_REF_LP                           0x1000  
  25 #define WM831X_REF_LP_MASK                      0x1000  
  26 #define WM831X_REF_LP_SHIFT                         12  
  27 #define WM831X_REF_LP_WIDTH                          1  
  28 #define WM831X_PWRSTATE_DLY_MASK                0x0C00  
  29 #define WM831X_PWRSTATE_DLY_SHIFT                   10  
  30 #define WM831X_PWRSTATE_DLY_WIDTH                    2  
  31 #define WM831X_SWRST_DLY                        0x0200  
  32 #define WM831X_SWRST_DLY_MASK                   0x0200  
  33 #define WM831X_SWRST_DLY_SHIFT                       9  
  34 #define WM831X_SWRST_DLY_WIDTH                       1  
  35 #define WM831X_USB100MA_STARTUP_MASK            0x0030  
  36 #define WM831X_USB100MA_STARTUP_SHIFT                4  
  37 #define WM831X_USB100MA_STARTUP_WIDTH                2  
  38 #define WM831X_USB_CURR_STS                     0x0008  
  39 #define WM831X_USB_CURR_STS_MASK                0x0008  
  40 #define WM831X_USB_CURR_STS_SHIFT                    3  
  41 #define WM831X_USB_CURR_STS_WIDTH                    1  
  42 #define WM831X_USB_ILIM_MASK                    0x0007  
  43 #define WM831X_USB_ILIM_SHIFT                        0  
  44 #define WM831X_USB_ILIM_WIDTH                        3  
  45 
  46 
  47 
  48 
  49 #define WM831X_THW_STS                          0x8000  
  50 #define WM831X_THW_STS_MASK                     0x8000  
  51 #define WM831X_THW_STS_SHIFT                        15  
  52 #define WM831X_THW_STS_WIDTH                         1  
  53 #define WM831X_PWR_SRC_BATT                     0x0400  
  54 #define WM831X_PWR_SRC_BATT_MASK                0x0400  
  55 #define WM831X_PWR_SRC_BATT_SHIFT                   10  
  56 #define WM831X_PWR_SRC_BATT_WIDTH                    1  
  57 #define WM831X_PWR_WALL                         0x0200  
  58 #define WM831X_PWR_WALL_MASK                    0x0200  
  59 #define WM831X_PWR_WALL_SHIFT                        9  
  60 #define WM831X_PWR_WALL_WIDTH                        1  
  61 #define WM831X_PWR_USB                          0x0100  
  62 #define WM831X_PWR_USB_MASK                     0x0100  
  63 #define WM831X_PWR_USB_SHIFT                         8  
  64 #define WM831X_PWR_USB_WIDTH                         1  
  65 #define WM831X_MAIN_STATE_MASK                  0x001F  
  66 #define WM831X_MAIN_STATE_SHIFT                      0  
  67 #define WM831X_MAIN_STATE_WIDTH                      5  
  68 
  69 
  70 
  71 
  72 #define WM831X_CHG_ENA                          0x8000  
  73 #define WM831X_CHG_ENA_MASK                     0x8000  
  74 #define WM831X_CHG_ENA_SHIFT                        15  
  75 #define WM831X_CHG_ENA_WIDTH                         1  
  76 #define WM831X_CHG_FRC                          0x4000  
  77 #define WM831X_CHG_FRC_MASK                     0x4000  
  78 #define WM831X_CHG_FRC_SHIFT                        14  
  79 #define WM831X_CHG_FRC_WIDTH                         1  
  80 #define WM831X_CHG_ITERM_MASK                   0x1C00  
  81 #define WM831X_CHG_ITERM_SHIFT                      10  
  82 #define WM831X_CHG_ITERM_WIDTH                       3  
  83 #define WM831X_CHG_FAST                         0x0020  
  84 #define WM831X_CHG_FAST_MASK                    0x0020  
  85 #define WM831X_CHG_FAST_SHIFT                        5  
  86 #define WM831X_CHG_FAST_WIDTH                        1  
  87 #define WM831X_CHG_IMON_ENA                     0x0002  
  88 #define WM831X_CHG_IMON_ENA_MASK                0x0002  
  89 #define WM831X_CHG_IMON_ENA_SHIFT                    1  
  90 #define WM831X_CHG_IMON_ENA_WIDTH                    1  
  91 #define WM831X_CHG_CHIP_TEMP_MON                0x0001  
  92 #define WM831X_CHG_CHIP_TEMP_MON_MASK           0x0001  
  93 #define WM831X_CHG_CHIP_TEMP_MON_SHIFT               0  
  94 #define WM831X_CHG_CHIP_TEMP_MON_WIDTH               1  
  95 
  96 
  97 
  98 
  99 #define WM831X_CHG_OFF_MSK                      0x4000  
 100 #define WM831X_CHG_OFF_MSK_MASK                 0x4000  
 101 #define WM831X_CHG_OFF_MSK_SHIFT                    14  
 102 #define WM831X_CHG_OFF_MSK_WIDTH                     1  
 103 #define WM831X_CHG_TIME_MASK                    0x0F00  
 104 #define WM831X_CHG_TIME_SHIFT                        8  
 105 #define WM831X_CHG_TIME_WIDTH                        4  
 106 #define WM831X_CHG_TRKL_ILIM_MASK               0x00C0  
 107 #define WM831X_CHG_TRKL_ILIM_SHIFT                   6  
 108 #define WM831X_CHG_TRKL_ILIM_WIDTH                   2  
 109 #define WM831X_CHG_VSEL_MASK                    0x0030  
 110 #define WM831X_CHG_VSEL_SHIFT                        4  
 111 #define WM831X_CHG_VSEL_WIDTH                        2  
 112 #define WM831X_CHG_FAST_ILIM_MASK               0x000F  
 113 #define WM831X_CHG_FAST_ILIM_SHIFT                   0  
 114 #define WM831X_CHG_FAST_ILIM_WIDTH                   4  
 115 
 116 
 117 
 118 
 119 #define WM831X_BATT_OV_STS                      0x8000  
 120 #define WM831X_BATT_OV_STS_MASK                 0x8000  
 121 #define WM831X_BATT_OV_STS_SHIFT                    15  
 122 #define WM831X_BATT_OV_STS_WIDTH                     1  
 123 #define WM831X_CHG_STATE_MASK                   0x7000  
 124 #define WM831X_CHG_STATE_SHIFT                      12  
 125 #define WM831X_CHG_STATE_WIDTH                       3  
 126 #define WM831X_BATT_HOT_STS                     0x0800  
 127 #define WM831X_BATT_HOT_STS_MASK                0x0800  
 128 #define WM831X_BATT_HOT_STS_SHIFT                   11  
 129 #define WM831X_BATT_HOT_STS_WIDTH                    1  
 130 #define WM831X_BATT_COLD_STS                    0x0400  
 131 #define WM831X_BATT_COLD_STS_MASK               0x0400  
 132 #define WM831X_BATT_COLD_STS_SHIFT                  10  
 133 #define WM831X_BATT_COLD_STS_WIDTH                   1  
 134 #define WM831X_CHG_TOPOFF                       0x0200  
 135 #define WM831X_CHG_TOPOFF_MASK                  0x0200  
 136 #define WM831X_CHG_TOPOFF_SHIFT                      9  
 137 #define WM831X_CHG_TOPOFF_WIDTH                      1  
 138 #define WM831X_CHG_ACTIVE                       0x0100  
 139 #define WM831X_CHG_ACTIVE_MASK                  0x0100  
 140 #define WM831X_CHG_ACTIVE_SHIFT                      8  
 141 #define WM831X_CHG_ACTIVE_WIDTH                      1  
 142 #define WM831X_CHG_TIME_ELAPSED_MASK            0x00FF  
 143 #define WM831X_CHG_TIME_ELAPSED_SHIFT                0  
 144 #define WM831X_CHG_TIME_ELAPSED_WIDTH                8  
 145 
 146 #define WM831X_CHG_STATE_OFF         (0 << WM831X_CHG_STATE_SHIFT)
 147 #define WM831X_CHG_STATE_TRICKLE     (1 << WM831X_CHG_STATE_SHIFT)
 148 #define WM831X_CHG_STATE_FAST        (2 << WM831X_CHG_STATE_SHIFT)
 149 #define WM831X_CHG_STATE_TRICKLE_OT  (3 << WM831X_CHG_STATE_SHIFT)
 150 #define WM831X_CHG_STATE_FAST_OT     (4 << WM831X_CHG_STATE_SHIFT)
 151 #define WM831X_CHG_STATE_DEFECTIVE   (5 << WM831X_CHG_STATE_SHIFT)
 152 
 153 
 154 
 155 
 156 #define WM831X_BKUP_CHG_ENA                     0x8000  
 157 #define WM831X_BKUP_CHG_ENA_MASK                0x8000  
 158 #define WM831X_BKUP_CHG_ENA_SHIFT                   15  
 159 #define WM831X_BKUP_CHG_ENA_WIDTH                    1  
 160 #define WM831X_BKUP_CHG_STS                     0x4000  
 161 #define WM831X_BKUP_CHG_STS_MASK                0x4000  
 162 #define WM831X_BKUP_CHG_STS_SHIFT                   14  
 163 #define WM831X_BKUP_CHG_STS_WIDTH                    1  
 164 #define WM831X_BKUP_CHG_MODE                    0x1000  
 165 #define WM831X_BKUP_CHG_MODE_MASK               0x1000  
 166 #define WM831X_BKUP_CHG_MODE_SHIFT                  12  
 167 #define WM831X_BKUP_CHG_MODE_WIDTH                   1  
 168 #define WM831X_BKUP_BATT_DET_ENA                0x0800  
 169 #define WM831X_BKUP_BATT_DET_ENA_MASK           0x0800  
 170 #define WM831X_BKUP_BATT_DET_ENA_SHIFT              11  
 171 #define WM831X_BKUP_BATT_DET_ENA_WIDTH               1  
 172 #define WM831X_BKUP_BATT_STS                    0x0400  
 173 #define WM831X_BKUP_BATT_STS_MASK               0x0400  
 174 #define WM831X_BKUP_BATT_STS_SHIFT                  10  
 175 #define WM831X_BKUP_BATT_STS_WIDTH                   1  
 176 #define WM831X_BKUP_CHG_VLIM                    0x0010  
 177 #define WM831X_BKUP_CHG_VLIM_MASK               0x0010  
 178 #define WM831X_BKUP_CHG_VLIM_SHIFT                   4  
 179 #define WM831X_BKUP_CHG_VLIM_WIDTH                   1  
 180 #define WM831X_BKUP_CHG_ILIM_MASK               0x0003  
 181 #define WM831X_BKUP_CHG_ILIM_SHIFT                   0  
 182 #define WM831X_BKUP_CHG_ILIM_WIDTH                   2  
 183 
 184 #endif