blob: 3d59e5916e5f8562fe4c9450c72c95d82e0571d6 [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
Piotr Wilczekca7e5742013-09-24 16:31:22 +020013#define CHARGER_MIN_CURRENT 200
14#define CHARGER_MAX_CURRENT 2000
15
16#define MAX77693_CHG_PREFIX "max77693-chg:"
17
18/* Registers */
19
20#define MAX77693_CHG_BASE 0xB0
21#define MAX77693_CHG_INT_OK 0xB2
22#define MAX77693_CHG_CNFG_00 0xB7
23#define MAX77693_CHG_CNFG_02 0xB9
24#define MAX77693_CHG_CNFG_06 0xBD
25#define MAX77693_SAFEOUT 0xC6
26
27#define PMIC_NUM_OF_REGS 0xC7
28
29#define MAX77693_CHG_DETBAT (0x1 << 7) /* MAX77693_CHG_INT_OK */
30#define MAX77693_CHG_MODE_ON 0x05 /* MAX77693_CHG_CNFG_00 */
31#define MAX77693_CHG_CC 0x3F /* MAX77693_CHG_CNFG_02 */
32#define MAX77693_CHG_LOCK (0x0 << 2) /* MAX77693_CHG_CNFG_06 */
33#define MAX77693_CHG_UNLOCK (0x3 << 2) /* MAX77693_CHG_CNFG_06 */
34
35#define MAX77693_ENSAFEOUT1 (1 << 6)
36#define MAX77693_ENSAFEOUT2 (1 << 7)
37
38#define MAX77693_PMIC_I2C_ADDR (0xCC >> 1)
39
40int pmic_init_max77693(unsigned char bus);
41#endif /* __MAX77693_PMIC_H_ */