| /* |
| * (C) Copyright 2006 DENX Software Engineering |
| * |
| * See file CREDITS for list of people who contributed to this |
| * project. |
| * |
| * This program is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU General Public License as |
| * published by the Free Software Foundation; either version 2 of |
| * the License, or (at your option) any later version. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| * |
| * You should have received a copy of the GNU General Public License |
| * along with this program; if not, write to the Free Software |
| * Foundation, Inc., 59 Temple Place, Suite 330, Boston, |
| * MA 02111-1307 USA |
| */ |
| |
| /* DA9030 register definitions */ |
| #define CID 0x00 |
| #define EVENT_A 0x01 |
| #define EVENT_B 0x02 |
| #define EVENT_C 0x03 |
| #define STATUS 0x04 |
| #define IRQ_MASK_A 0x05 |
| #define IRQ_MASK_B 0x06 |
| #define IRQ_MASK_C 0x07 |
| #define SYS_CONTROL_A 0x08 |
| #define SYS_CONTROL_B 0x09 |
| #define FAULT_LOG 0x0A |
| #define LDO_10_11 0x10 |
| #define LDO_15 0x11 |
| #define LDO_14_16 0x12 |
| #define LDO_18_19 0x13 |
| #define LDO_17_SIMCP0 0x14 |
| #define BUCK2_DVC1 0x15 |
| #define BUCK2_DVC2 0x16 |
| #define REG_CONTROL_1_17 0x17 |
| #define REG_CONTROL_2_18 0x18 |
| #define USBPUMP 0x19 |
| #define SLEEP_CONTROL 0x1A |
| #define STARTUP_CONTROL 0x1B |
| #define LED1_CONTROL 0x20 |
| #define LED2_CONTROL 0x21 |
| #define LED3_CONTROL 0x22 |
| #define LED4_CONTROL 0x23 |
| #define LEDPC_CONTROL 0x24 |
| #define WLED_CONTROL 0x25 |
| #define MISC_CONTROLA 0x26 |
| #define MISC_CONTROLB 0x27 |
| #define CHARGE_CONTROL 0x28 |
| #define CCTR_CONTROL 0x29 |
| #define TCTR_CONTROL 0x2A |
| #define CHARGE_PULSE 0x2B |
| |
| /* ... some missing ...*/ |
| |
| #define LDO1 0x90 |
| #define LDO2_3 0x91 |
| #define LDO4_5 0x92 |
| #define LDO6_SIMCP 0x93 |
| #define LDO7_8 0x94 |
| #define LDO9_12 0x95 |
| #define BUCK 0x96 |
| #define REG_CONTROL_1_97 0x97 |
| #define REG_CONTROL_2_98 0x98 |
| #define REG_SLEEP_CONTROL1 0x99 |
| #define REG_SLEEP_CONTROL2 0x9A |
| #define REG_SLEEP_CONTROL3 0x9B |
| #define ADC_MAN_CONTROL 0xA0 |
| #define ADC_AUTO_CONTROL 0xA1 |
| #define VBATMON 0xA2 |
| #define VBATMONTXMON 0xA3 |
| #define TBATHIGHP 0xA4 |
| #define TBATHIGHN 0xA5 |
| #define TBATLOW 0xA6 |
| #define MAN_RES 0xB0 |
| #define VBAT_RES 0xB1 |
| #define VBATMIN_RES 0xB2 |
| #define VBATMINTXON_RES 0xB3 |
| #define ICHMAX_RES 0xB4 |
| #define ICHMIN_RES 0xB5 |
| #define ICHAVERAGE_RES 0xB6 |
| #define VCHMAX_RES 0xB7 |
| #define VCHMIN_RES 0xB8 |
| #define TBAT_RES 0xB9 |
| #define ADC_IN4_RES 0xBA |
| |
| #define STATUS_ONKEY_N 0x1 /* current ONKEY_N value */ |
| #define STATUS_PWREN1 (1<<1) /* PWREN1 value */ |
| #define STATUS_EXTON (1<<2) /* EXTON value */ |
| #define STATUS_CHDET (1<<3) /* Charger detection status */ |
| #define STATUS_TBAT (1<<4) /* Battery over/under temperature status */ |
| #define STATUS_VBATMON (1<<5) /* VBATMON comparison status */ |
| #define STATUS_VBATMONTXON (1<<6) /* VBATMONTXON comparison status */ |
| #define STATUS_CHIOVER (1<<7) /* Charge overcurrent */ |
| |
| #define SYS_CONTROL_A_SLEEP_N_PIN_ENABLE 0x1 |
| #define SYS_CONTROL_A_SHUT_DOWN (1<<1) |
| #define SYS_CONTROL_A_HWRES_ENABLE (1<<2) |
| #define SYS_CONTROL_A_WDOG_ACTION (1<<3) |
| #define SYS_CONTROL_A_WATCHDOG (1<<7) |
| |
| #define MISC_CONTROLB_USB_INT_RISING (1<<2) |
| #define MISC_CONTROLB_SESSION_VALID_EN (1<<3) |
| |
| #define USB_PUMP_USBVE (1<<0) |
| #define USB_PUMP_USBVEP (1<<1) |
| #define USB_PUMP_SRP_DETECT (1<<2) |
| #define USB_PUMP_SESSION_VALID (1<<3) |
| #define USB_PUMP_VBUS_VALID_4_0 (1<<4) |
| #define USB_PUMP_VBUS_VALID_4_4 (1<<5) |
| #define USB_PUMP_EN_USBVE (1<<6) |
| #define USB_PUMP_EN_USBVEP (1<<7) |