6b13f685e
김민수
BSP 최초 추가
|
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
#ifndef PALMAS_H
#define PALMAS_H
#include <common.h>
#include <i2c.h>
#define TWL603X_CHIP_P1 0x48 /* Page 1 */
#define TWL603X_CHIP_P2 0x49 /* Page 2 */
#define TWL603X_CHIP_P3 0x4a /* Page 3 */
#define TPS65903X_CHIP_P1 0x58 /* Page 1 */
#define LDO1_CTRL 0x50
#define LDO1_VOLTAGE 0x51
#define LDO2_CTRL 0x52
#define LDO2_VOLTAGE 0x53
#define LDO9_CTRL 0x60
#define LDO9_VOLTAGE 0x61
#define LDOUSB_CTRL 0x64
#define LDOUSB_VOLTAGE 0x65
#define LDO_CTRL 0x6a
#define CLK32KGAUDIO_CTRL 0xd5
#define SYSEN2_CTRL 0xd9
#define LDO9_BYP_EN (1 << 6) /* LDO9 only! */
#define RSC_STAT_ON (1 << 4) /* RO status bit! */
#define RSC_MODE_SLEEP (1 << 2)
#define RSC_MODE_ACTIVE (1 << 0)
#define LDO_VOLT_OFF 0
#define LDO_VOLT_1V8 0x13
#define LDO_VOLT_3V0 0x2b
#define LDO_VOLT_3V3 0x31
#define LDO9_BYPASS 0x3f
#define SMPS7_CTRL 0x30
#define SMPS9_CTRL 0x38
#define SMPS9_VOLTAGE 0x3b
#define SMPS10_CTRL 0x3c
#define SMPS10_MODE_ACTIVE_D 0x0d
#define SMPS_MODE_ACT_AUTO 1
#define SMPS_MODE_ACT_ECO 2
#define SMPS_MODE_ACT_FPWM 3
#define SMPS_MODE_SLP_AUTO (1 << 2)
#define SMPS_MODE_SLP_ECO (2 << 2)
#define SMPS_MODE_SLP_FPWM (3 << 2)
#define SMPS_VOLT_OFF 0
#define SMPS_VOLT_1V2 0x90
#define SMPS_VOLT_1V8 0xae
#define SMPS_VOLT_2V1 0xbd
#define SMPS_VOLT_3V0 0xea
#define SMPS_VOLT_3V3 0xf9
#define BB_VRTC_CTRL 0xa8
#define VRTC_EN_SLP (1 << 6)
#define VRTC_EN_OFF (1 << 5)
#define VRTC_PWEN (1 << 4)
#define BB_LOW_ICHRG (1 << 3)
#define BB_HIGH_ICHRG (0 << 3)
#define BB_VSEL_3V0 (0 << 1)
#define BB_VSEL_2V5 (1 << 1)
#define BB_VSEL_3V15 (2 << 1)
#define BB_VSEL_VBAT (3 << 1)
#define BB_CHRG_EN (1 << 0)
static inline int palmas_i2c_write_u8(u8 chip_no, u8 reg, u8 val)
{
return i2c_write(chip_no, reg, 1, &val, 1);
}
static inline int palmas_i2c_read_u8(u8 chip_no, u8 reg, u8 *val)
{
return i2c_read(chip_no, reg, 1, val, 1);
}
void palmas_init_settings(void);
int palmas_mmc1_poweron_ldo(void);
int twl603x_mmc1_set_ldo9(u8 vsel);
int twl603x_audio_power(u8 on);
int twl603x_enable_bb_charge(u8 bb_fields);
int palmas_enable_ss_ldo(void);
#endif /* PALMAS_H */
|