]> git.ipfire.org Git - thirdparty/kernel/stable.git/blob - include/linux/mfd/hi6421-pmic.h
2580c08db7b11fccec23a208231dfb65037ec292
[thirdparty/kernel/stable.git] / include / linux / mfd / hi6421-pmic.h
1 /*
2 * Header file for device driver Hi6421 PMIC
3 *
4 * Copyright (c) <2011-2014> HiSilicon Technologies Co., Ltd.
5 * http://www.hisilicon.com
6 * Copyright (c) <2013-2014> Linaro Ltd.
7 * http://www.linaro.org
8 *
9 * Author: Guodong Xu <guodong.xu@linaro.org>
10 *
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License version 2 as
13 * published by the Free Software Foundation.
14 */
15
16 #ifndef __HI6421_PMIC_H
17 #define __HI6421_PMIC_H
18
19 /* Hi6421 registers are mapped to memory bus in 4 bytes stride */
20 #define HI6421_REG_TO_BUS_ADDR(x) (x << 2)
21
22 /* Hi6421 maximum register number */
23 #define HI6421_REG_MAX 0xFF
24
25 /* Hi6421 OCP (over current protection) and DEB (debounce) control register */
26 #define HI6421_OCP_DEB_CTRL_REG HI6421_REG_TO_BUS_ADDR(0x51)
27 #define HI6421_OCP_DEB_SEL_MASK 0x0C
28 #define HI6421_OCP_DEB_SEL_8MS 0x00
29 #define HI6421_OCP_DEB_SEL_16MS 0x04
30 #define HI6421_OCP_DEB_SEL_32MS 0x08
31 #define HI6421_OCP_DEB_SEL_64MS 0x0C
32 #define HI6421_OCP_EN_DEBOUNCE_MASK 0x02
33 #define HI6421_OCP_EN_DEBOUNCE_ENABLE 0x02
34 #define HI6421_OCP_AUTO_STOP_MASK 0x01
35 #define HI6421_OCP_AUTO_STOP_ENABLE 0x01
36
37 struct hi6421_pmic {
38 struct regmap *regmap;
39 };
40
41 enum hi6421_type {
42 HI6421 = 0,
43 HI6421_V530,
44 };
45
46 #endif /* __HI6421_PMIC_H */