Merge tag 'pwm/for-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry...
[linux-2.6-microblaze.git] / drivers / regulator / pv88060-regulator.h
1 /*
2  * pv88060-regulator.h - Regulator definitions for PV88060
3  * Copyright (C) 2015 Powerventure Semiconductor Ltd.
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License
7  * as published by the Free Software Foundation; either version 2
8  * of the License, or (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  */
15
16 #ifndef __PV88060_REGISTERS_H__
17 #define __PV88060_REGISTERS_H__
18
19 /* System Control and Event Registers */
20 #define PV88060_REG_EVENT_A                     0x04
21 #define PV88060_REG_MASK_A                      0x08
22 #define PV88060_REG_MASK_B                      0x09
23 #define PV88060_REG_MASK_C                      0x0A
24
25 /* Regulator Registers */
26 #define PV88060_REG_BUCK1_CONF0                 0x1B
27 #define PV88060_REG_BUCK1_CONF1                 0x1C
28 #define PV88060_REG_LDO1_CONF                   0x1D
29 #define PV88060_REG_LDO2_CONF                   0x1E
30 #define PV88060_REG_LDO3_CONF                   0x1F
31 #define PV88060_REG_LDO4_CONF                   0x20
32 #define PV88060_REG_LDO5_CONF                   0x21
33 #define PV88060_REG_LDO6_CONF                   0x22
34 #define PV88060_REG_LDO7_CONF                   0x23
35
36 #define PV88060_REG_SW1_CONF                    0x3B
37 #define PV88060_REG_SW2_CONF                    0x3C
38 #define PV88060_REG_SW3_CONF                    0x3D
39 #define PV88060_REG_SW4_CONF                    0x3E
40 #define PV88060_REG_SW5_CONF                    0x3F
41 #define PV88060_REG_SW6_CONF                    0x40
42
43 /* PV88060_REG_EVENT_A (addr=0x04) */
44 #define PV88060_E_VDD_FLT                       0x01
45 #define PV88060_E_OVER_TEMP                     0x02
46
47 /* PV88060_REG_MASK_A (addr=0x08) */
48 #define PV88060_M_VDD_FLT                       0x01
49 #define PV88060_M_OVER_TEMP                     0x02
50
51 /* PV88060_REG_BUCK1_CONF0 (addr=0x1B) */
52 #define PV88060_BUCK_EN                 0x80
53 #define PV88060_VBUCK_MASK                      0x7F
54 /* PV88060_REG_LDO1/2/3/4/5/6/7_CONT */
55 #define PV88060_LDO_EN                  0x40
56 #define PV88060_VLDO_MASK                       0x3F
57 /* PV88060_REG_SW1/2/3/4/5_CONF */
58 #define PV88060_SW_EN                   0x80
59
60 /* PV88060_REG_BUCK1_CONF1 (addr=0x1C) */
61 #define PV88060_BUCK_ILIM_SHIFT                 2
62 #define PV88060_BUCK_ILIM_MASK                  0x0C
63 #define PV88060_BUCK_MODE_SHIFT                 0
64 #define PV88060_BUCK_MODE_MASK                  0x03
65 #define PV88060_BUCK_MODE_SLEEP                 0x00
66 #define PV88060_BUCK_MODE_AUTO                  0x01
67 #define PV88060_BUCK_MODE_SYNC                  0x02
68
69 #endif  /* __PV88060_REGISTERS_H__ */