summaryrefslogtreecommitdiffstats
path: root/drivers/regulator/slg51000-regulator.h
blob: 20feb7f9194256fc37a182f1893d37e192654b4d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
/* SPDX-License-Identifier: GPL-2.0+ */
/*
 * SLG51000 High PSRR, Multi-Output Regulators
 * Copyright (C) 2019  Dialog Semiconductor
 *
 * Author: Eric Jeong <eric.jeong.opensource@diasemi.com>
 */

#ifndef __SLG51000_REGISTERS_H__
#define __SLG51000_REGISTERS_H__

/* Registers */

#define SLG51000_SYSCTL_PATN_ID_B0              0x1105
#define SLG51000_SYSCTL_PATN_ID_B1              0x1106
#define SLG51000_SYSCTL_PATN_ID_B2              0x1107
#define SLG51000_SYSCTL_SYS_CONF_A              0x1109
#define SLG51000_SYSCTL_SYS_CONF_D              0x110c
#define SLG51000_SYSCTL_MATRIX_CONF_A           0x110d
#define SLG51000_SYSCTL_MATRIX_CONF_B           0x110e
#define SLG51000_SYSCTL_REFGEN_CONF_C           0x1111
#define SLG51000_SYSCTL_UVLO_CONF_A             0x1112
#define SLG51000_SYSCTL_FAULT_LOG1              0x1115
#define SLG51000_SYSCTL_EVENT                   0x1116
#define SLG51000_SYSCTL_STATUS                  0x1117
#define SLG51000_SYSCTL_IRQ_MASK                0x1118
#define SLG51000_IO_GPIO1_CONF                  0x1500
#define SLG51000_IO_GPIO2_CONF                  0x1501
#define SLG51000_IO_GPIO3_CONF                  0x1502
#define SLG51000_IO_GPIO4_CONF                  0x1503
#define SLG51000_IO_GPIO5_CONF                  0x1504
#define SLG51000_IO_GPIO6_CONF                  0x1505
#define SLG51000_IO_GPIO_STATUS                 0x1506
#define SLG51000_LUTARRAY_LUT_VAL_0             0x1600
#define SLG51000_LUTARRAY_LUT_VAL_1             0x1601
#define SLG51000_LUTARRAY_LUT_VAL_2             0x1602
#define SLG51000_LUTARRAY_LUT_VAL_3             0x1603
#define SLG51000_LUTARRAY_LUT_VAL_4             0x1604
#define SLG51000_LUTARRAY_LUT_VAL_5             0x1605
#define SLG51000_LUTARRAY_LUT_VAL_6             0x1606
#define SLG51000_LUTARRAY_LUT_VAL_7             0x1607
#define SLG51000_LUTARRAY_LUT_VAL_8             0x1608
#define SLG51000_LUTARRAY_LUT_VAL_9             0x1609
#define SLG51000_LUTARRAY_LUT_VAL_10            0x160a
#define SLG51000_LUTARRAY_LUT_VAL_11            0x160b
#define SLG51000_MUXARRAY_INPUT_SEL_0           0x1700
#define SLG51000_MUXARRAY_INPUT_SEL_1           0x1701
#define SLG51000_MUXARRAY_INPUT_SEL_2           0x1702
#define SLG51000_MUXARRAY_INPUT_SEL_3           0x1703
#define SLG51000_MUXARRAY_INPUT_SEL_4           0x1704
#define SLG51000_MUXARRAY_INPUT_SEL_5           0x1705
#define SLG51000_MUXARRAY_INPUT_SEL_6           0x1706
#define SLG51000_MUXARRAY_INPUT_SEL_7           0x1707
#define SLG51000_MUXARRAY_INPUT_SEL_8           0x1708
#define SLG51000_MUXARRAY_INPUT_SEL_9           0x1709
#define SLG51000_MUXARRAY_INPUT_SEL_10          0x170a
#define SLG51000_MUXARRAY_INPUT_SEL_11          0x170b
#define SLG51000_MUXARRAY_INPUT_SEL_12          0x170c
#define SLG51000_MUXARRAY_INPUT_SEL_13          0x170d
#define SLG51000_MUXARRAY_INPUT_SEL_14          0x170e
#define SLG51000_MUXARRAY_INPUT_SEL_15          0x170f
#define SLG51000_MUXARRAY_INPUT_SEL_16          0x1710
#define SLG51000_MUXARRAY_INPUT_SEL_17          0x1711
#define SLG51000_MUXARRAY_INPUT_SEL_18          0x1712
#define SLG51000_MUXARRAY_INPUT_SEL_19          0x1713
#define SLG51000_MUXARRAY_INPUT_SEL_20          0x1714
#define SLG51000_MUXARRAY_INPUT_SEL_21          0x1715
#define SLG51000_MUXARRAY_INPUT_SEL_22          0x1716
#define SLG51000_MUXARRAY_INPUT_SEL_23          0x1717
#define SLG51000_MUXARRAY_INPUT_SEL_24          0x1718
#define SLG51000_MUXARRAY_INPUT_SEL_25          0x1719
#define SLG51000_MUXARRAY_INPUT_SEL_26          0x171a
#define SLG51000_MUXARRAY_INPUT_SEL_27          0x171b
#define SLG51000_MUXARRAY_INPUT_SEL_28          0x171c
#define SLG51000_MUXARRAY_INPUT_SEL_29          0x171d
#define SLG51000_MUXARRAY_INPUT_SEL_30          0x171e
#define SLG51000_MUXARRAY_INPUT_SEL_31          0x171f
#define SLG51000_MUXARRAY_INPUT_SEL_32          0x1720
#define SLG51000_MUXARRAY_INPUT_SEL_33          0x1721
#define SLG51000_MUXARRAY_INPUT_SEL_34          0x1722
#define SLG51000_MUXARRAY_INPUT_SEL_35          0x1723
#define SLG51000_MUXARRAY_INPUT_SEL_36          0x1724
#define SLG51000_MUXARRAY_INPUT_SEL_37          0x1725
#define SLG51000_MUXARRAY_INPUT_SEL_38          0x1726
#define SLG51000_MUXARRAY_INPUT_SEL_39          0x1727
#define SLG51000_MUXARRAY_INPUT_SEL_40          0x1728
#define SLG51000_MUXARRAY_INPUT_SEL_41          0x1729
#define SLG51000_MUXARRAY_INPUT_SEL_42          0x172a
#define SLG51000_MUXARRAY_INPUT_SEL_43          0x172b
#define SLG51000_MUXARRAY_INPUT_SEL_44          0x172c
#define SLG51000_MUXARRAY_INPUT_SEL_45          0x172d
#define SLG51000_MUXARRAY_INPUT_SEL_46          0x172e
#define SLG51000_MUXARRAY_INPUT_SEL_47          0x172f
#define SLG51000_MUXARRAY_INPUT_SEL_48          0x1730
#define SLG51000_MUXARRAY_INPUT_SEL_49          0x1731
#define SLG51000_MUXARRAY_INPUT_SEL_50          0x1732
#define SLG51000_MUXARRAY_INPUT_SEL_51          0x1733
#define SLG51000_MUXARRAY_INPUT_SEL_52          0x1734
#define SLG51000_MUXARRAY_INPUT_SEL_53          0x1735
#define SLG51000_MUXARRAY_INPUT_SEL_54          0x1736
#define SLG51000_MUXARRAY_INPUT_SEL_55          0x1737
#define SLG51000_MUXARRAY_INPUT_SEL_56          0x1738
#define SLG51000_MUXARRAY_INPUT_SEL_57          0x1739
#define SLG51000_MUXARRAY_INPUT_SEL_58          0x173a
#define SLG51000_MUXARRAY_INPUT_SEL_59          0x173b
#define SLG51000_MUXARRAY_INPUT_SEL_60          0x173c
#define SLG51000_MUXARRAY_INPUT_SEL_61          0x173d
#define SLG51000_MUXARRAY_INPUT_SEL_62          0x173e
#define SLG51000_MUXARRAY_INPUT_SEL_63          0x173f
#define SLG51000_PWRSEQ_RESOURCE_EN_0           0x1900
#define SLG51000_PWRSEQ_RESOURCE_EN_1           0x1901
#define SLG51000_PWRSEQ_RESOURCE_EN_2           0x1902
#define SLG51000_PWRSEQ_RESOURCE_EN_3           0x1903
#define SLG51000_PWRSEQ_RESOURCE_EN_4           0x1904
#define SLG51000_PWRSEQ_RESOURCE_EN_5           0x1905
#define SLG51000_PWRSEQ_SLOT_TIME_MIN_UP0       0x1906
#define SLG51000_PWRSEQ_SLOT_TIME_MIN_DOWN0     0x1907
#define SLG51000_PWRSEQ_SLOT_TIME_MIN_UP1       0x1908
#define SLG51000_PWRSEQ_SLOT_TIME_MIN_DOWN1     0x1909
#define SLG51000_PWRSEQ_SLOT_TIME_MIN_UP2       0x190a
#define SLG51000_PWRSEQ_SLOT_TIME_MIN_DOWN2     0x190b
#define SLG51000_PWRSEQ_SLOT_TIME_MIN_UP3       0x190c
#define SLG51000_PWRSEQ_SLOT_TIME_MIN_DOWN3     0x190d
#define SLG51000_PWRSEQ_SLOT_TIME_MIN_UP4       0x190e
#define SLG51000_PWRSEQ_SLOT_TIME_MIN_DOWN4     0x190f
#define SLG51000_PWRSEQ_SLOT_TIME_MIN_UP5       0x1910
#define SLG51000_PWRSEQ_SLOT_TIME_MIN_DOWN5     0x1911
#define SLG51000_PWRSEQ_SLOT_TIME_MAX_CONF_A    0x1912
#define SLG51000_PWRSEQ_SLOT_TIME_MAX_CONF_B    0x1913
#define SLG51000_PWRSEQ_SLOT_TIME_MAX_CONF_C    0x1914
#define SLG51000_PWRSEQ_INPUT_SENSE_CONF_A      0x1915
#define SLG51000_PWRSEQ_INPUT_SENSE_CONF_B      0x1916
#define SLG51000_LDO1_VSEL                      0x2000
#define SLG51000_LDO1_MINV                      0x2060
#define SLG51000_LDO1_MAXV                      0x2061
#define SLG51000_LDO1_MISC1                     0x2064
#define SLG51000_LDO1_VSEL_ACTUAL               0x2065
#define SLG51000_LDO1_EVENT                     0x20c0
#define SLG51000_LDO1_STATUS                    0x20c1
#define SLG51000_LDO1_IRQ_MASK                  0x20c2
#define SLG51000_LDO2_VSEL                      0x2200
#define SLG51000_LDO2_MINV                      0x2260
#define SLG51000_LDO2_MAXV                      0x2261
#define SLG51000_LDO2_MISC1                     0x2264
#define SLG51000_LDO2_VSEL_ACTUAL               0x2265
#define SLG51000_LDO2_EVENT                     0x22c0
#define SLG51000_LDO2_STATUS                    0x22c1
#define SLG51000_LDO2_IRQ_MASK                  0x22c2
#define SLG51000_LDO3_VSEL                      0x2300
#define SLG51000_LDO3_MINV                      0x2360
#define SLG51000_LDO3_MAXV                      0x2361
#define SLG51000_LDO3_CONF1                     0x2364
#define SLG51000_LDO3_CONF2                     0x2365
#define SLG51000_LDO3_VSEL_ACTUAL               0x2366
#define SLG51000_LDO3_EVENT                     0x23c0
#define SLG51000_LDO3_STATUS                    0x23c1
#define SLG51000_LDO3_IRQ_MASK                  0x23c2
#define SLG51000_LDO4_VSEL                      0x2500
#define SLG51000_LDO4_MINV                      0x2560
#define SLG51000_LDO4_MAXV                      0x2561
#define SLG51000_LDO4_CONF1                     0x2564
#define SLG51000_LDO4_CONF2                     0x2565
#define SLG51000_LDO4_VSEL_ACTUAL               0x2566
#define SLG51000_LDO4_EVENT                     0x25c0
#define SLG51000_LDO4_STATUS                    0x25c1
#define SLG51000_LDO4_IRQ_MASK                  0x25c2
#define SLG51000_LDO5_VSEL                      0x2700
#define SLG51000_LDO5_MINV                      0x2760
#define SLG51000_LDO5_MAXV                      0x2761
#define SLG51000_LDO5_TRIM2                     0x2763
#define SLG51000_LDO5_CONF1                     0x2765
#define SLG51000_LDO5_CONF2                     0x2766
#define SLG51000_LDO5_VSEL_ACTUAL               0x2767
#define SLG51000_LDO5_EVENT                     0x27c0
#define SLG51000_LDO5_STATUS                    0x27c1
#define SLG51000_LDO5_IRQ_MASK                  0x27c2
#define SLG51000_LDO6_VSEL                      0x2900
#define SLG51000_LDO6_MINV                      0x2960
#define SLG51000_LDO6_MAXV                      0x2961
#define SLG51000_LDO6_TRIM2                     0x2963
#define SLG51000_LDO6_CONF1                     0x2965
#define SLG51000_LDO6_CONF2                     0x2966
#define SLG51000_LDO6_VSEL_ACTUAL               0x2967
#define SLG51000_LDO6_EVENT                     0x29c0
#define SLG51000_LDO6_STATUS                    0x29c1
#define SLG51000_LDO6_IRQ_MASK                  0x29c2
#define SLG51000_LDO7_VSEL                      0x3100
#define SLG51000_LDO7_MINV                      0x3160
#define SLG51000_LDO7_MAXV                      0x3161
#define SLG51000_LDO7_CONF1                     0x3164
#define SLG51000_LDO7_CONF2                     0x3165
#define SLG51000_LDO7_VSEL_ACTUAL               0x3166
#define SLG51000_LDO7_EVENT                     0x31c0
#define SLG51000_LDO7_STATUS                    0x31c1
#define SLG51000_LDO7_IRQ_MASK                  0x31c2
#define SLG51000_OTP_EVENT                      0x782b
#define SLG51000_OTP_IRQ_MASK                   0x782d
#define SLG51000_OTP_LOCK_OTP_PROG              0x78fe
#define SLG51000_OTP_LOCK_CTRL                  0x78ff
#define SLG51000_LOCK_GLOBAL_LOCK_CTRL1         0x8000

/* Register Bit Fields */

/* SLG51000_SYSCTL_PATTERN_ID_BYTE0 = 0x1105 */
#define SLG51000_PATTERN_ID_BYTE0_SHIFT         0
#define SLG51000_PATTERN_ID_BYTE0_MASK          (0xff << 0)

/* SLG51000_SYSCTL_PATTERN_ID_BYTE1 = 0x1106 */
#define SLG51000_PATTERN_ID_BYTE1_SHIFT         0
#define SLG51000_PATTERN_ID_BYTE1_MASK          (0xff << 0)

/* SLG51000_SYSCTL_PATTERN_ID_BYTE2 = 0x1107 */
#define SLG51000_PATTERN_ID_BYTE2_SHIFT         0
#define SLG51000_PATTERN_ID_BYTE2_MASK          (0xff << 0)

/* SLG51000_SYSCTL_SYS_CONF_A = 0x1109 */
#define SLG51000_I2C_ADDRESS_SHIFT              0
#define SLG51000_I2C_ADDRESS_MASK               (0x7f << 0)
#define SLG51000_I2C_DISABLE_SHIFT              7
#define SLG51000_I2C_DISABLE_MASK               (0x01 << 7)

/* SLG51000_SYSCTL_SYS_CONF_D = 0x110c */
#define SLG51000_CS_T_DEB_SHIFT                 6
#define SLG51000_CS_T_DEB_MASK                  (0x03 << 6)
#define SLG51000_I2C_CLR_MODE_SHIFT             5
#define SLG51000_I2C_CLR_MODE_MASK              (0x01 << 5)

/* SLG51000_SYSCTL_MATRIX_CTRL_CONF_A = 0x110d */
#define SLG51000_RESOURCE_CTRL_SHIFT            0
#define SLG51000_RESOURCE_CTRL_MASK             (0xff << 0)

/* SLG51000_SYSCTL_MATRIX_CTRL_CONF_B = 0x110e */
#define SLG51000_MATRIX_EVENT_SENSE_SHIFT       0
#define SLG51000_MATRIX_EVENT_SENSE_MASK        (0x07 << 0)

/* SLG51000_SYSCTL_REFGEN_CONF_C = 0x1111 */
#define SLG51000_REFGEN_SEL_TEMP_WARN_DEBOUNCE_SHIFT    2
#define SLG51000_REFGEN_SEL_TEMP_WARN_DEBOUNCE_MASK     (0x03 << 2)
#define SLG51000_REFGEN_SEL_TEMP_WARN_THR_SHIFT         0
#define SLG51000_REFGEN_SEL_TEMP_WARN_THR_MASK          (0x03 << 0)

/* SLG51000_SYSCTL_UVLO_CONF_A = 0x1112 */
#define SLG51000_VMON_UVLO_SEL_THR_SHIFT        0
#define SLG51000_VMON_UVLO_SEL_THR_MASK         (0x1f << 0)

/* SLG51000_SYSCTL_FAULT_LOG1 = 0x1115 */
#define SLG51000_FLT_POR_SHIFT                  5
#define SLG51000_FLT_POR_MASK                   (0x01 << 5)
#define SLG51000_FLT_RST_SHIFT                  4
#define SLG51000_FLT_RST_MASK                   (0x01 << 4)
#define SLG51000_FLT_POWER_SEQ_CRASH_REQ_SHIFT  2
#define SLG51000_FLT_POWER_SEQ_CRASH_REQ_MASK   (0x01 << 2)
#define SLG51000_FLT_OVER_TEMP_SHIFT            1
#define SLG51000_FLT_OVER_TEMP_MASK             (0x01 << 1)

/* SLG51000_SYSCTL_EVENT = 0x1116 */
#define SLG51000_EVT_MATRIX_SHIFT               1
#define SLG51000_EVT_MATRIX_MASK                (0x01 << 1)
#define SLG51000_EVT_HIGH_TEMP_WARN_SHIFT       0
#define SLG51000_EVT_HIGH_TEMP_WARN_MASK        (0x01 << 0)

/* SLG51000_SYSCTL_STATUS = 0x1117 */
#define SLG51000_STA_MATRIX_SHIFT               1
#define SLG51000_STA_MATRIX_MASK                (0x01 << 1)
#define SLG51000_STA_HIGH_TEMP_WARN_SHIFT       0
#define SLG51000_STA_HIGH_TEMP_WARN_MASK        (0x01 << 0)

/* SLG51000_SYSCTL_IRQ_MASK = 0x1118 */
#define SLG51000_IRQ_MATRIX_SHIFT               1
#define SLG51000_IRQ_MATRIX_MASK                (0x01 << 1)
#define SLG51000_IRQ_HIGH_TEMP_WARN_SHIFT       0
#define SLG51000_IRQ_HIGH_TEMP_WARN_MASK        (0x01 << 0)

/* SLG51000_IO_GPIO1_CONF ~ SLG51000_IO_GPIO5_CONF =
 * 0x1500, 0x1501, 0x1502, 0x1503, 0x1504
 */
#define SLG51000_GPIO_DIR_SHIFT                 7
#define SLG51000_GPIO_DIR_MASK                  (0x01 << 7)
#define SLG51000_GPIO_SENS_SHIFT                5
#define SLG51000_GPIO_SENS_MASK                 (0x03 << 5)
#define SLG51000_GPIO_INVERT_SHIFT              4
#define SLG51000_GPIO_INVERT_MASK               (0x01 << 4)
#define SLG51000_GPIO_BYP_SHIFT                 3
#define SLG51000_GPIO_BYP_MASK                  (0x01 << 3)
#define SLG51000_GPIO_T_DEB_SHIFT               1
#define SLG51000_GPIO_T_DEB_MASK                (0x03 << 1)
#define SLG51000_GPIO_LEVEL_SHIFT               0
#define SLG51000_GPIO_LEVEL_MASK                (0x01 << 0)

/* SLG51000_IO_GPIO6_CONF = 0x1505 */
#define SLG51000_GPIO6_SENS_SHIFT               5
#define SLG51000_GPIO6_SENS_MASK                (0x03 << 5)
#define SLG51000_GPIO6_INVERT_SHIFT             4
#define SLG51000_GPIO6_INVERT_MASK              (0x01 << 4)
#define SLG51000_GPIO6_T_DEB_SHIFT              1
#define SLG51000_GPIO6_T_DEB_MASK               (0x03 << 1)
#define SLG51000_GPIO6_LEVEL_SHIFT              0
#define SLG51000_GPIO6_LEVEL_MASK               (0x01 << 0)

/* SLG51000_IO_GPIO_STATUS = 0x1506 */
#define SLG51000_GPIO6_STATUS_SHIFT             5
#define SLG51000_GPIO6_STATUS_MASK              (0x01 << 5)
#define SLG51000_GPIO5_STATUS_SHIFT             4
#define SLG51000_GPIO5_STATUS_MASK              (0x01 << 4)
#define SLG51000_GPIO4_STATUS_SHIFT             3
#define SLG51000_GPIO4_STATUS_MASK              (0x01 << 3)
#define SLG51000_GPIO3_STATUS_SHIFT             2
#define SLG51000_GPIO3_STATUS_MASK              (0x01 << 2)
#define SLG51000_GPIO2_STATUS_SHIFT             1
#define SLG51000_GPIO2_STATUS_MASK              (0x01 << 1)
#define SLG51000_GPIO1_STATUS_SHIFT             0
#define SLG51000_GPIO1_STATUS_MASK              (0x01 << 0)

/* SLG51000_LUTARRAY_LUT_VAL_0 ~ SLG51000_LUTARRAY_LUT_VAL_11
 * 0x1600, 0x1601, 0x1602, 0x1603, 0x1604, 0x1605,
 * 0x1606, 0x1607, 0x1608, 0x1609, 0x160a, 0x160b
 */
#define SLG51000_LUT_VAL_SHIFT                  0
#define SLG51000_LUT_VAL_MASK                   (0xff << 0)

/* SLG51000_MUXARRAY_INPUT_SEL_0 ~ SLG51000_MUXARRAY_INPUT_SEL_63
 * 0x1700, 0x1701, 0x1702, 0x1703, 0x1704, 0x1705,
 * 0x1706, 0x1707, 0x1708, 0x1709, 0x170a, 0x170b,
 * 0x170c, 0x170d, 0x170e, 0x170f, 0x1710, 0x1711,
 * 0x1712, 0x1713, 0x1714, 0x1715, 0x1716, 0x1717,
 * 0x1718, 0x1719, 0x171a, 0x171b, 0x171c, 0x171d,
 * 0x171e, 0x171f, 0x1720, 0x1721, 0x1722, 0x1723,
 * 0x1724, 0x1725, 0x1726, 0x1727, 0x1728, 0x1729,
 * 0x173a, 0x173b, 0x173c, 0x173d, 0x173e, 0x173f,
 */
#define SLG51000_INPUT_SEL_SHIFT                0
#define SLG51000_INPUT_SEL_MASK                 (0x3f << 0)

/* SLG51000_PWRSEQ_RESOURCE_EN_0 ~ SLG51000_PWRSEQ_RESOURCE_EN_5
 * 0x1900, 0x1901, 0x1902, 0x1903, 0x1904, 0x1905
 */
#define SLG51000_RESOURCE_EN_DOWN0_SHIFT        4
#define SLG51000_RESOURCE_EN_DOWN0_MASK         (0x07 << 4)
#define SLG51000_RESOURCE_EN_UP0_SHIFT          0
#define SLG51000_RESOURCE_EN_UP0_MASK           (0x07 << 0)

/* SLG51000_PWRSEQ_SLOT_TIME_MIN_UP0 ~ SLG51000_PWRSEQ_SLOT_TIME_MIN_UP5
 * 0x1906, 0x1908, 0x190a, 0x190c, 0x190e, 0x1910
 */
#define SLG51000_SLOT_TIME_MIN_UP_SHIFT         0
#define SLG51000_SLOT_TIME_MIN_UP_MASK          (0xff << 0)

/* SLG51000_PWRSEQ_SLOT_TIME_MIN_DOWN0 ~ SLG51000_PWRSEQ_SLOT_TIME_MIN_DOWN5
 * 0x1907, 0x1909, 0x190b, 0x190d, 0x190f, 0x1911
 */
#define SLG51000_SLOT_TIME_MIN_DOWN_SHIFT       0
#define SLG51000_SLOT_TIME_MIN_DOWN_MASK        (0xff << 0)

/* SLG51000_PWRSEQ_SLOT_TIME_MAX_CONF_A ~ SLG51000_PWRSEQ_SLOT_TIME_MAX_CONF_C
 * 0x1912, 0x1913, 0x1914
 */
#define SLG51000_SLOT_TIME_MAX_DOWN1_SHIFT      6
#define SLG51000_SLOT_TIME_MAX_DOWN1_MASK       (0x03 << 6)
#define SLG51000_SLOT_TIME_MAX_UP1_SHIFT        4
#define SLG51000_SLOT_TIME_MAX_UP1_MASK         (0x03 << 4)
#define SLG51000_SLOT_TIME_MAX_DOWN0_SHIFT      2
#define SLG51000_SLOT_TIME_MAX_DOWN0_MASK       (0x03 << 2)
#define SLG51000_SLOT_TIME_MAX_UP0_SHIFT        0
#define SLG51000_SLOT_TIME_MAX_UP0_MASK         (0x03 << 0)

/* SLG51000_PWRSEQ_INPUT_SENSE_CONF_A = 0x1915 */
#define SLG51000_TRIG_UP_SENSE_SHIFT            6
#define SLG51000_TRIG_UP_SENSE_MASK             (0x01 << 6)
#define SLG51000_UP_EN_SENSE5_SHIFT             5
#define SLG51000_UP_EN_SENSE5_MASK              (0x01 << 5)
#define SLG51000_UP_EN_SENSE4_SHIFT             4
#define SLG51000_UP_EN_SENSE4_MASK              (0x01 << 4)
#define SLG51000_UP_EN_SENSE3_SHIFT             3
#define SLG51000_UP_EN_SENSE3_MASK              (0x01 << 3)
#define SLG51000_UP_EN_SENSE2_SHIFT             2
#define SLG51000_UP_EN_SENSE2_MASK              (0x01 << 2)
#define SLG51000_UP_EN_SENSE1_SHIFT             1
#define SLG51000_UP_EN_SENSE1_MASK              (0x01 << 1)
#define SLG51000_UP_EN_SENSE0_SHIFT             0
#define SLG51000_UP_EN_SENSE0_MASK              (0x01 << 0)

/* SLG51000_PWRSEQ_INPUT_SENSE_CONF_B = 0x1916 */
#define SLG51000_CRASH_DETECT_SENSE_SHIFT       7
#define SLG51000_CRASH_DETECT_SENSE_MASK        (0x01 << 7)
#define SLG51000_TRIG_DOWN_SENSE_SHIFT          6
#define SLG51000_TRIG_DOWN_SENSE_MASK           (0x01 << 6)
#define SLG51000_DOWN_EN_SENSE5_SHIFT           5
#define SLG51000_DOWN_EN_SENSE5_MASK            (0x01 << 5)
#define SLG51000_DOWN_EN_SENSE4_SHIFT           4
#define SLG51000_DOWN_EN_SENSE4_MASK            (0x01 << 4)
#define SLG51000_DOWN_EN_SENSE3_SHIFT           3
#define SLG51000_DOWN_EN_SENSE3_MASK            (0x01 << 3)
#define SLG51000_DOWN_EN_SENSE2_SHIFT           2
#define SLG51000_DOWN_EN_SENSE2_MASK            (0x01 << 2)
#define SLG51000_DOWN_EN_SENSE1_SHIFT           1
#define SLG51000_DOWN_EN_SENSE1_MASK            (0x01 << 1)
#define SLG51000_DOWN_EN_SENSE0_SHIFT           0
#define SLG51000_DOWN_EN_SENSE0_MASK            (0x01 << 0)

/* SLG51000_LDO1_VSEL ~ SLG51000_LDO7_VSEL =
 * 0x2000, 0x2200, 0x2300, 0x2500, 0x2700, 0x2900, 0x3100
 */
#define SLG51000_VSEL_SHIFT                     0
#define SLG51000_VSEL_MASK                      (0xff << 0)

/* SLG51000_LDO1_MINV ~ SLG51000_LDO7_MINV =
 * 0x2060, 0x2260, 0x2360, 0x2560, 0x2760, 0x2960, 0x3160
 */
#define SLG51000_MINV_SHIFT                     0
#define SLG51000_MINV_MASK                      (0xff << 0)

/* SLG51000_LDO1_MAXV ~ SLG51000_LDO7_MAXV =
 * 0x2061, 0x2261, 0x2361, 0x2561, 0x2761, 0x2961, 0x3161
 */
#define SLG51000_MAXV_SHIFT                     0
#define SLG51000_MAXV_MASK                      (0xff << 0)

/* SLG51000_LDO1_MISC1 = 0x2064, SLG51000_LDO2_MISC1 = 0x2264 */
#define SLG51000_SEL_VRANGE_SHIFT               0
#define SLG51000_SEL_VRANGE_MASK                (0x01 << 0)

/* SLG51000_LDO1_VSEL_ACTUAL ~ SLG51000_LDO7_VSEL_ACTUAL =
 * 0x2065, 0x2265, 0x2366, 0x2566, 0x2767, 0x2967, 0x3166
 */
#define SLG51000_VSEL_ACTUAL_SHIFT              0
#define SLG51000_VSEL_ACTUAL_MASK               (0xff << 0)

/* SLG51000_LDO1_EVENT ~ SLG51000_LDO7_EVENT =
 * 0x20c0, 0x22c0, 0x23c0, 0x25c0, 0x27c0, 0x29c0, 0x31c0
 */
#define SLG51000_EVT_ILIM_FLAG_SHIFT            0
#define SLG51000_EVT_ILIM_FLAG_MASK             (0x01 << 0)
#define SLG51000_EVT_VOUT_OK_FLAG_SHIFT         1
#define SLG51000_EVT_VOUT_OK_FLAG_MASK          (0x01 << 1)

/* SLG51000_LDO1_STATUS ~ SLG51000_LDO7_STATUS =
 * 0x20c1, 0x22c1, 0x23c1, 0x25c1, 0x27c1, 0x29c1, 0x31c1
 */
#define SLG51000_STA_ILIM_FLAG_SHIFT            0
#define SLG51000_STA_ILIM_FLAG_MASK             (0x01 << 0)
#define SLG51000_STA_VOUT_OK_FLAG_SHIFT         1
#define SLG51000_STA_VOUT_OK_FLAG_MASK          (0x01 << 1)

/* SLG51000_LDO1_IRQ_MASK ~ SLG51000_LDO7_IRQ_MASK =
 * 0x20c2, 0x22c2, 0x23c2, 0x25c2, 0x27c2, 0x29c2, 0x31c2
 */
#define SLG51000_IRQ_ILIM_FLAG_SHIFT            0
#define SLG51000_IRQ_ILIM_FLAG_MASK             (0x01 << 0)

/* SLG51000_LDO3_CONF1 ~ SLG51000_LDO7_CONF1 =
 * 0x2364, 0x2564, 0x2765, 0x2965, 0x3164
 */
#define SLG51000_SEL_START_ILIM_SHIFT           0
#define SLG51000_SEL_START_ILIM_MASK            (0x7f << 0)

/* SLG51000_LDO3_CONF2 ~ SLG51000_LDO7_CONF2 =
 * 0x2365, 0x2565, 0x2766, 0x2966, 0x3165
 */
#define SLG51000_SEL_FUNC_ILIM_SHIFT            0
#define SLG51000_SEL_FUNC_ILIM_MASK             (0x7f << 0)

/* SLG51000_LDO5_TRIM2 = 0x2763, SLG51000_LDO6_TRIM2 = 0x2963 */
#define SLG51000_SEL_BYP_SLEW_RATE_SHIFT        2
#define SLG51000_SEL_BYP_SLEW_RATE_MASK         (0x03 << 2)
#define SLG51000_SEL_BYP_VGATE_SHIFT            1
#define SLG51000_SEL_BYP_VGATE_MASK             (0x01 << 1)
#define SLG51000_SEL_BYP_MODE_SHIFT             0
#define SLG51000_SEL_BYP_MODE_MASK              (0x01 << 0)

/* SLG51000_OTP_EVENT = 0x782b */
#define SLG51000_EVT_CRC_SHIFT                  0
#define SLG51000_EVT_CRC_MASK                   (0x01 << 0)

/* SLG51000_OTP_IRQ_MASK = 0x782d */
#define SLG51000_IRQ_CRC_SHIFT                  0
#define SLG51000_IRQ_CRC_MASK                   (0x01 << 0)

/* SLG51000_OTP_LOCK_OTP_PROG = 0x78fe */
#define SLG51000_LOCK_OTP_PROG_SHIFT            0
#define SLG51000_LOCK_OTP_PROG_MASK             (0x01 << 0)

/* SLG51000_OTP_LOCK_CTRL = 0x78ff */
#define SLG51000_LOCK_DFT_SHIFT                 1
#define SLG51000_LOCK_DFT_MASK                  (0x01 << 1)
#define SLG51000_LOCK_RWT_SHIFT                 0
#define SLG51000_LOCK_RWT_MASK                  (0x01 << 0)

/* SLG51000_LOCK_GLOBAL_LOCK_CTRL1 = 0x8000 */
#define SLG51000_LDO7_LOCK_SHIFT                7
#define SLG51000_LDO7_LOCK_MASK                 (0x01 << 7)
#define SLG51000_LDO6_LOCK_SHIFT                6
#define SLG51000_LDO6_LOCK_MASK                 (0x01 << 6)
#define SLG51000_LDO5_LOCK_SHIFT                5
#define SLG51000_LDO5_LOCK_MASK                 (0x01 << 5)
#define SLG51000_LDO4_LOCK_SHIFT                4
#define SLG51000_LDO4_LOCK_MASK                 (0x01 << 4)
#define SLG51000_LDO3_LOCK_SHIFT                3
#define SLG51000_LDO3_LOCK_MASK                 (0x01 << 3)
#define SLG51000_LDO2_LOCK_SHIFT                2
#define SLG51000_LDO2_LOCK_MASK                 (0x01 << 2)
#define SLG51000_LDO1_LOCK_SHIFT                1
#define SLG51000_LDO1_LOCK_MASK                 (0x01 << 1)

#endif /* __SLG51000_REGISTERS_H__ */

OpenPOWER on IntegriCloud