summaryrefslogtreecommitdiffstats
path: root/src/soc/mediatek/mt8195/include/soc/mt6691.h
blob: c347c41d93cd840f2aa0ed392fe1b42f044691da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/* SPDX-License-Identifier: GPL-2.0-only */

#ifndef __SOC_MEDIATEK_MT8195_MT6691_H__
#define __SOC_MEDIATEK_MT8195_MT6691_H__

#include <stdint.h>

void mt6691_probe(uint8_t i2c_num);
int mt6691_set_voltage(uint8_t i2c_num, unsigned int volt_uv);
int mt6691_get_voltage(uint8_t i2c_num);

#define MT6691_CID_CODE		0x01

#define MT6691_VDD2_ID		0x0000
#define MT6691_VDDQ_ID		0x0000
#define MT6691_PGOOD_SHIFT	7
#define MT6691_DN_SR_MASK	0x7
#define MT6691_DN_SR_SHIFT	5

enum {
	/* Voltage setting */
	MT6691_VSEL0 =		0x00,
	MT6691_VSEL1 =		0x01,
	/* Control register */
	MT6691_CONTROL =	0x02,
	/* IC Type */
	MT6691_ID1 =		0x03,
	/* IC mask version */
	MT6691_ID2 =		0x04,
	/* Monitor register */
	MT6691_MONITOR =	0x05,
	MT6691_CTRL2 =		0x06,
	MT6691_CTRL3 =		0x07,
	MT6691_CTRL4 =		0x08,
};

#endif