blob: 3e3b2024156d4a07518eaaea25c5f91a95182d23 [file] [log] [blame]
Markus Klotzbuecherba70d6a2006-03-24 12:23:27 +01001/*
2 * (C) Copyright 2006 DENX Software Engineering
3 *
4 * See file CREDITS for list of people who contributed to this
5 * project.
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License as
9 * published by the Free Software Foundation; either version 2 of
10 * the License, or (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
20 * MA 02111-1307 USA
21 */
22
23/* DA9030 register definitions */
24#define CID 0x00
25#define EVENT_A 0x01
26#define EVENT_B 0x02
27#define EVENT_C 0x03
28#define STATUS 0x04
29#define IRQ_MASK_A 0x05
30#define IRQ_MASK_B 0x06
31#define IRQ_MASK_C 0x07
32#define SYS_CONTROL_A 0x08
33#define SYS_CONTROL_B 0x09
34#define FAULT_LOG 0x0A
35#define LDO_10_11 0x10
36#define LDO_15 0x11
37#define LDO_14_16 0x12
38#define LDO_18_19 0x13
39#define LDO_17_SIMCP0 0x14
40#define BUCK2_DVC1 0x15
41#define BUCK2_DVC2 0x16
42#define REG_CONTROL_1_17 0x17
43#define REG_CONTROL_2_18 0x18
44#define USBPUMP 0x19
45#define SLEEP_CONTROL 0x1A
46#define STARTUP_CONTROL 0x1B
47#define LED1_CONTROL 0x20
48#define LED2_CONTROL 0x21
49#define LED3_CONTROL 0x22
50#define LED4_CONTROL 0x23
51#define LEDPC_CONTROL 0x24
52#define WLED_CONTROL 0x25
53#define MISC_CONTROLA 0x26
54#define MISC_CONTROLB 0x27
55#define CHARGE_CONTROL 0x28
56#define CCTR_CONTROL 0x29
57#define TCTR_CONTROL 0x2A
58#define CHARGE_PULSE 0x2B
59
60/* ... some missing ...*/
61
62#define LDO1 0x90
63#define LDO2_3 0x91
64#define LDO4_5 0x92
65#define LDO6_SIMCP 0x93
66#define LDO7_8 0x94
67#define LDO9_12 0x95
68#define BUCK 0x96
69#define REG_CONTROL_1_97 0x97
70#define REG_CONTROL_2_98 0x98
71#define REG_SLEEP_CONTROL1 0x99
72#define REG_SLEEP_CONTROL2 0x9A
73#define REG_SLEEP_CONTROL3 0x9B
74#define ADC_MAN_CONTROL 0xA0
75#define ADC_AUTO_CONTROL 0xA1
76#define VBATMON 0xA2
77#define VBATMONTXMON 0xA3
78#define TBATHIGHP 0xA4
79#define TBATHIGHN 0xA5
80#define TBATLOW 0xA6
81#define MAN_RES 0xB0
82#define VBAT_RES 0xB1
83#define VBATMIN_RES 0xB2
84#define VBATMINTXON_RES 0xB3
85#define ICHMAX_RES 0xB4
86#define ICHMIN_RES 0xB5
87#define ICHAVERAGE_RES 0xB6
88#define VCHMAX_RES 0xB7
89#define VCHMIN_RES 0xB8
90#define TBAT_RES 0xB9
91#define ADC_IN4_RES 0xBA
92
93#define STATUS_ONKEY_N 0x1 /* current ONKEY_N value */
94#define STATUS_PWREN1 (1<<1) /* PWREN1 value */
95#define STATUS_EXTON (1<<2) /* EXTON value */
96#define STATUS_CHDET (1<<3) /* Charger detection status */
97#define STATUS_TBAT (1<<4) /* Battery over/under temperature status */
98#define STATUS_VBATMON (1<<5) /* VBATMON comparison status */
99#define STATUS_VBATMONTXON (1<<6) /* VBATMONTXON comparison status */
100#define STATUS_CHIOVER (1<<7) /* Charge overcurrent */
101
102#define SYS_CONTROL_A_SLEEP_N_PIN_ENABLE 0x1
103#define SYS_CONTROL_A_SHUT_DOWN (1<<1)
104#define SYS_CONTROL_A_HWRES_ENABLE (1<<2)
105#define SYS_CONTROL_A_WDOG_ACTION (1<<3)
106#define SYS_CONTROL_A_WATCHDOG (1<<7)
Markus Klotzbuecher3e326ec2006-05-22 16:33:54 +0200107
108#define MISC_CONTROLB_USB_INT_RISING (1<<2)
109#define MISC_CONTROLB_SESSION_VALID_EN (1<<3)
110
111#define USB_PUMP_USBVE (1<<0)
112#define USB_PUMP_USBVEP (1<<1)
113#define USB_PUMP_SRP_DETECT (1<<2)
114#define USB_PUMP_SESSION_VALID (1<<3)
115#define USB_PUMP_VBUS_VALID_4_0 (1<<4)
116#define USB_PUMP_VBUS_VALID_4_4 (1<<5)
117#define USB_PUMP_EN_USBVE (1<<6)
118#define USB_PUMP_EN_USBVEP (1<<7)