xref: /openbmc/linux/include/linux/mfd/lp8788-isink.h (revision d2912cb1)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * TI LP8788 MFD - common definitions for current sinks
4  *
5  * Copyright 2012 Texas Instruments
6  *
7  * Author: Milo(Woogyom) Kim <milo.kim@ti.com>
8  */
9 
10 #ifndef __ISINK_LP8788_H__
11 #define __ISINK_LP8788_H__
12 
13 /* register address */
14 #define LP8788_ISINK_CTRL		0x99
15 #define LP8788_ISINK12_IOUT		0x9A
16 #define LP8788_ISINK3_IOUT		0x9B
17 #define LP8788_ISINK1_PWM		0x9C
18 #define LP8788_ISINK2_PWM		0x9D
19 #define LP8788_ISINK3_PWM		0x9E
20 
21 /* mask bits */
22 #define LP8788_ISINK1_IOUT_M		0x0F	/* Addr 9Ah */
23 #define LP8788_ISINK2_IOUT_M		0xF0
24 #define LP8788_ISINK3_IOUT_M		0x0F	/* Addr 9Bh */
25 
26 /* 6 bits used for PWM code : Addr 9C ~ 9Eh */
27 #define LP8788_ISINK_MAX_PWM		63
28 #define LP8788_ISINK_SCALE_OFFSET	3
29 
30 static const u8 lp8788_iout_addr[] = {
31 	LP8788_ISINK12_IOUT,
32 	LP8788_ISINK12_IOUT,
33 	LP8788_ISINK3_IOUT,
34 };
35 
36 static const u8 lp8788_iout_mask[] = {
37 	LP8788_ISINK1_IOUT_M,
38 	LP8788_ISINK2_IOUT_M,
39 	LP8788_ISINK3_IOUT_M,
40 };
41 
42 static const u8 lp8788_pwm_addr[] = {
43 	LP8788_ISINK1_PWM,
44 	LP8788_ISINK2_PWM,
45 	LP8788_ISINK3_PWM,
46 };
47 
48 #endif
49