blob: 9e0e05c56ac37e8adac9578796c5e1324e9139fe [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Piotr Wilczekca7e5742013-09-24 16:31:22 +02002/*
3 * Copyright (C) 2013 Samsung Electronics
4 * Piotr Wilczek <p.wilczek@samsung.com>
Piotr Wilczekca7e5742013-09-24 16:31:22 +02005 */
6
7#ifndef __MAX77693_PMIC_H_
8#define __MAX77693_PMIC_H_
9
10#include <power/power_chrg.h>
11
Piotr Wilczekca7e5742013-09-24 16:31:22 +020012#define CHARGER_MIN_CURRENT 200
13#define CHARGER_MAX_CURRENT 2000
14
15#define MAX77693_CHG_PREFIX "max77693-chg:"
16
17/* Registers */
18
19#define MAX77693_CHG_BASE 0xB0
20#define MAX77693_CHG_INT_OK 0xB2
21#define MAX77693_CHG_CNFG_00 0xB7
22#define MAX77693_CHG_CNFG_02 0xB9
23#define MAX77693_CHG_CNFG_06 0xBD
24#define MAX77693_SAFEOUT 0xC6
25
26#define PMIC_NUM_OF_REGS 0xC7
27
28#define MAX77693_CHG_DETBAT (0x1 << 7) /* MAX77693_CHG_INT_OK */
29#define MAX77693_CHG_MODE_ON 0x05 /* MAX77693_CHG_CNFG_00 */
30#define MAX77693_CHG_CC 0x3F /* MAX77693_CHG_CNFG_02 */
31#define MAX77693_CHG_LOCK (0x0 << 2) /* MAX77693_CHG_CNFG_06 */
32#define MAX77693_CHG_UNLOCK (0x3 << 2) /* MAX77693_CHG_CNFG_06 */
33
34#define MAX77693_ENSAFEOUT1 (1 << 6)
35#define MAX77693_ENSAFEOUT2 (1 << 7)
36
37#define MAX77693_PMIC_I2C_ADDR (0xCC >> 1)
38
39int pmic_init_max77693(unsigned char bus);
40#endif /* __MAX77693_PMIC_H_ */