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