xref: /linux/include/linux/mfd/max77650.h (revision 597473720f4dc69749542bfcfed4a927a43d935e)
1*d0f60334SBartosz Golaszewski /* SPDX-License-Identifier: GPL-2.0 */
2*d0f60334SBartosz Golaszewski /*
3*d0f60334SBartosz Golaszewski  * Copyright (C) 2018 BayLibre SAS
4*d0f60334SBartosz Golaszewski  * Author: Bartosz Golaszewski <bgolaszewski@baylibre.com>
5*d0f60334SBartosz Golaszewski  *
6*d0f60334SBartosz Golaszewski  * Common definitions for MAXIM 77650/77651 charger/power-supply.
7*d0f60334SBartosz Golaszewski  */
8*d0f60334SBartosz Golaszewski 
9*d0f60334SBartosz Golaszewski #ifndef MAX77650_H
10*d0f60334SBartosz Golaszewski #define MAX77650_H
11*d0f60334SBartosz Golaszewski 
12*d0f60334SBartosz Golaszewski #include <linux/bits.h>
13*d0f60334SBartosz Golaszewski 
14*d0f60334SBartosz Golaszewski #define MAX77650_REG_INT_GLBL		0x00
15*d0f60334SBartosz Golaszewski #define MAX77650_REG_INT_CHG		0x01
16*d0f60334SBartosz Golaszewski #define MAX77650_REG_STAT_CHG_A		0x02
17*d0f60334SBartosz Golaszewski #define MAX77650_REG_STAT_CHG_B		0x03
18*d0f60334SBartosz Golaszewski #define MAX77650_REG_ERCFLAG		0x04
19*d0f60334SBartosz Golaszewski #define MAX77650_REG_STAT_GLBL		0x05
20*d0f60334SBartosz Golaszewski #define MAX77650_REG_INTM_GLBL		0x06
21*d0f60334SBartosz Golaszewski #define MAX77650_REG_INTM_CHG		0x07
22*d0f60334SBartosz Golaszewski #define MAX77650_REG_CNFG_GLBL		0x10
23*d0f60334SBartosz Golaszewski #define MAX77650_REG_CID		0x11
24*d0f60334SBartosz Golaszewski #define MAX77650_REG_CNFG_GPIO		0x12
25*d0f60334SBartosz Golaszewski #define MAX77650_REG_CNFG_CHG_A		0x18
26*d0f60334SBartosz Golaszewski #define MAX77650_REG_CNFG_CHG_B		0x19
27*d0f60334SBartosz Golaszewski #define MAX77650_REG_CNFG_CHG_C		0x1a
28*d0f60334SBartosz Golaszewski #define MAX77650_REG_CNFG_CHG_D		0x1b
29*d0f60334SBartosz Golaszewski #define MAX77650_REG_CNFG_CHG_E		0x1c
30*d0f60334SBartosz Golaszewski #define MAX77650_REG_CNFG_CHG_F		0x1d
31*d0f60334SBartosz Golaszewski #define MAX77650_REG_CNFG_CHG_G		0x1e
32*d0f60334SBartosz Golaszewski #define MAX77650_REG_CNFG_CHG_H		0x1f
33*d0f60334SBartosz Golaszewski #define MAX77650_REG_CNFG_CHG_I		0x20
34*d0f60334SBartosz Golaszewski #define MAX77650_REG_CNFG_SBB_TOP	0x28
35*d0f60334SBartosz Golaszewski #define MAX77650_REG_CNFG_SBB0_A	0x29
36*d0f60334SBartosz Golaszewski #define MAX77650_REG_CNFG_SBB0_B	0x2a
37*d0f60334SBartosz Golaszewski #define MAX77650_REG_CNFG_SBB1_A	0x2b
38*d0f60334SBartosz Golaszewski #define MAX77650_REG_CNFG_SBB1_B	0x2c
39*d0f60334SBartosz Golaszewski #define MAX77650_REG_CNFG_SBB2_A	0x2d
40*d0f60334SBartosz Golaszewski #define MAX77650_REG_CNFG_SBB2_B	0x2e
41*d0f60334SBartosz Golaszewski #define MAX77650_REG_CNFG_LDO_A		0x38
42*d0f60334SBartosz Golaszewski #define MAX77650_REG_CNFG_LDO_B		0x39
43*d0f60334SBartosz Golaszewski #define MAX77650_REG_CNFG_LED0_A	0x40
44*d0f60334SBartosz Golaszewski #define MAX77650_REG_CNFG_LED1_A	0x41
45*d0f60334SBartosz Golaszewski #define MAX77650_REG_CNFG_LED2_A	0x42
46*d0f60334SBartosz Golaszewski #define MAX77650_REG_CNFG_LED0_B	0x43
47*d0f60334SBartosz Golaszewski #define MAX77650_REG_CNFG_LED1_B	0x44
48*d0f60334SBartosz Golaszewski #define MAX77650_REG_CNFG_LED2_B	0x45
49*d0f60334SBartosz Golaszewski #define MAX77650_REG_CNFG_LED_TOP	0x46
50*d0f60334SBartosz Golaszewski 
51*d0f60334SBartosz Golaszewski #define MAX77650_CID_MASK		GENMASK(3, 0)
52*d0f60334SBartosz Golaszewski #define MAX77650_CID_BITS(_reg)		(_reg & MAX77650_CID_MASK)
53*d0f60334SBartosz Golaszewski 
54*d0f60334SBartosz Golaszewski #define MAX77650_CID_77650A		0x03
55*d0f60334SBartosz Golaszewski #define MAX77650_CID_77650C		0x0a
56*d0f60334SBartosz Golaszewski #define MAX77650_CID_77651A		0x06
57*d0f60334SBartosz Golaszewski #define MAX77650_CID_77651B		0x08
58*d0f60334SBartosz Golaszewski 
59*d0f60334SBartosz Golaszewski #endif /* MAX77650_H */
60