Merge branch 'master' of git://git.denx.de/u-boot-nand-flash
[platform/kernel/u-boot.git] / include / da9030.h
1 /*
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)
107
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)