xref: /openbmc/u-boot/include/fsl_pmic.h (revision b2e5add3)
128bb6d34SStefano Babic /*
228bb6d34SStefano Babic  * (C) Copyright 2010
328bb6d34SStefano Babic  * Stefano Babic, DENX Software Engineering, sbabic@denx.de.
428bb6d34SStefano Babic  *
528bb6d34SStefano Babic  * (C) Copyright 2009 Freescale Semiconductor, Inc.
628bb6d34SStefano Babic  *
728bb6d34SStefano Babic  * See file CREDITS for list of people who contributed to this
828bb6d34SStefano Babic  * project.
928bb6d34SStefano Babic  *
1028bb6d34SStefano Babic  * This program is free software; you can redistribute it and/or
1128bb6d34SStefano Babic  * modify it under the terms of the GNU General Public License as
1228bb6d34SStefano Babic  * published by the Free Software Foundation; either version 2 of
1328bb6d34SStefano Babic  * the License, or (at your option) any later version.
1428bb6d34SStefano Babic  *
1528bb6d34SStefano Babic  * This program is distributed in the hope that it will be useful,
1628bb6d34SStefano Babic  * but WITHOUT ANY WARRANTY; without even the implied warranty of
1728bb6d34SStefano Babic  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1828bb6d34SStefano Babic  * GNU General Public License for more details.
1928bb6d34SStefano Babic  *
2028bb6d34SStefano Babic  * You should have received a copy of the GNU General Public License
2128bb6d34SStefano Babic  * along with this program; if not, write to the Free Software
2228bb6d34SStefano Babic  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
2328bb6d34SStefano Babic  * MA 02111-1307 USA
2428bb6d34SStefano Babic  */
2528bb6d34SStefano Babic 
2628bb6d34SStefano Babic #ifndef __FSL_PMIC_H__
2728bb6d34SStefano Babic #define __FSL_PMIC_H__
2828bb6d34SStefano Babic 
2928bb6d34SStefano Babic /*
3028bb6d34SStefano Babic  * The registers of different PMIC has the same meaning
3128bb6d34SStefano Babic  * but the bit positions of the fields can differ or
3228bb6d34SStefano Babic  * some fields has a meaning only on some devices.
3328bb6d34SStefano Babic  * You have to check with the internal SPI bitmap
3428bb6d34SStefano Babic  * (see Freescale Documentation) to set the registers
3528bb6d34SStefano Babic  * for the device you are using
3628bb6d34SStefano Babic  */
3728bb6d34SStefano Babic enum {
3828bb6d34SStefano Babic 	REG_INT_STATUS0 = 0,
3928bb6d34SStefano Babic 	REG_INT_MASK0,
4028bb6d34SStefano Babic 	REG_INT_SENSE0,
4128bb6d34SStefano Babic 	REG_INT_STATUS1,
4228bb6d34SStefano Babic 	REG_INT_MASK1,
4328bb6d34SStefano Babic 	REG_INT_SENSE1,
4428bb6d34SStefano Babic 	REG_PU_MODE_S,
4528bb6d34SStefano Babic 	REG_IDENTIFICATION,
4628bb6d34SStefano Babic 	REG_UNUSED0,
4728bb6d34SStefano Babic 	REG_ACC0,
4828bb6d34SStefano Babic 	REG_ACC1,		/*10 */
4928bb6d34SStefano Babic 	REG_UNUSED1,
5028bb6d34SStefano Babic 	REG_UNUSED2,
5128bb6d34SStefano Babic 	REG_POWER_CTL0,
5228bb6d34SStefano Babic 	REG_POWER_CTL1,
5328bb6d34SStefano Babic 	REG_POWER_CTL2,
5428bb6d34SStefano Babic 	REG_REGEN_ASSIGN,
5528bb6d34SStefano Babic 	REG_UNUSED3,
5628bb6d34SStefano Babic 	REG_MEM_A,
5728bb6d34SStefano Babic 	REG_MEM_B,
5828bb6d34SStefano Babic 	REG_RTC_TIME,		/*20 */
5928bb6d34SStefano Babic 	REG_RTC_ALARM,
6028bb6d34SStefano Babic 	REG_RTC_DAY,
6128bb6d34SStefano Babic 	REG_RTC_DAY_ALARM,
6228bb6d34SStefano Babic 	REG_SW_0,
6328bb6d34SStefano Babic 	REG_SW_1,
6428bb6d34SStefano Babic 	REG_SW_2,
6528bb6d34SStefano Babic 	REG_SW_3,
6628bb6d34SStefano Babic 	REG_SW_4,
6728bb6d34SStefano Babic 	REG_SW_5,
6828bb6d34SStefano Babic 	REG_SETTING_0,		/*30 */
6928bb6d34SStefano Babic 	REG_SETTING_1,
7028bb6d34SStefano Babic 	REG_MODE_0,
7128bb6d34SStefano Babic 	REG_MODE_1,
7228bb6d34SStefano Babic 	REG_POWER_MISC,
7328bb6d34SStefano Babic 	REG_UNUSED4,
7428bb6d34SStefano Babic 	REG_UNUSED5,
7528bb6d34SStefano Babic 	REG_UNUSED6,
7628bb6d34SStefano Babic 	REG_UNUSED7,
7728bb6d34SStefano Babic 	REG_UNUSED8,
7828bb6d34SStefano Babic 	REG_UNUSED9,		/*40 */
7928bb6d34SStefano Babic 	REG_UNUSED10,
8028bb6d34SStefano Babic 	REG_UNUSED11,
8128bb6d34SStefano Babic 	REG_ADC0,
8228bb6d34SStefano Babic 	REG_ADC1,
8328bb6d34SStefano Babic 	REG_ADC2,
8428bb6d34SStefano Babic 	REG_ADC3,
8528bb6d34SStefano Babic 	REG_ADC4,
8628bb6d34SStefano Babic 	REG_CHARGE,
8728bb6d34SStefano Babic 	REG_USB0,
8828bb6d34SStefano Babic 	REG_USB1,		/*50 */
8928bb6d34SStefano Babic 	REG_LED_CTL0,
9028bb6d34SStefano Babic 	REG_LED_CTL1,
9128bb6d34SStefano Babic 	REG_LED_CTL2,
9228bb6d34SStefano Babic 	REG_LED_CTL3,
9328bb6d34SStefano Babic 	REG_UNUSED12,
9428bb6d34SStefano Babic 	REG_UNUSED13,
9528bb6d34SStefano Babic 	REG_TRIM0,
9628bb6d34SStefano Babic 	REG_TRIM1,
9728bb6d34SStefano Babic 	REG_TEST0,
9828bb6d34SStefano Babic 	REG_TEST1,		/*60 */
9928bb6d34SStefano Babic 	REG_TEST2,
10028bb6d34SStefano Babic 	REG_TEST3,
10128bb6d34SStefano Babic 	REG_TEST4,
102*b2e5add3SStefano Babic 	PMIC_NUM_OF_REGS,
10328bb6d34SStefano Babic };
10428bb6d34SStefano Babic 
10528bb6d34SStefano Babic /* REG_POWER_MISC */
10628bb6d34SStefano Babic #define GPO1EN		(1 << 6)
10728bb6d34SStefano Babic #define GPO1STBY	(1 << 7)
10828bb6d34SStefano Babic #define GPO2EN		(1 << 8)
10928bb6d34SStefano Babic #define GPO2STBY	(1 << 9)
11028bb6d34SStefano Babic #define GPO3EN		(1 << 10)
11128bb6d34SStefano Babic #define GPO3STBY	(1 << 11)
11228bb6d34SStefano Babic #define GPO4EN		(1 << 12)
11328bb6d34SStefano Babic #define GPO4STBY	(1 << 13)
11428bb6d34SStefano Babic #define PWGT1SPIEN	(1 << 15)
11528bb6d34SStefano Babic #define PWGT2SPIEN	(1 << 16)
11628bb6d34SStefano Babic #define PWUP		(1 << 21)
11728bb6d34SStefano Babic 
11828bb6d34SStefano Babic /* Power Control 0 */
11928bb6d34SStefano Babic #define COINCHEN	(1 << 23)
12028bb6d34SStefano Babic #define BATTDETEN	(1 << 19)
12128bb6d34SStefano Babic 
12228bb6d34SStefano Babic /* Interrupt status 1 */
12328bb6d34SStefano Babic #define RTCRSTI		(1 << 7)
12428bb6d34SStefano Babic 
12528bb6d34SStefano Babic #endif
126