blob: 73a3a1cd7ee56104f306e7ad77f26574362300dc [file] [log] [blame]
/*******************************************************************************
Copyright (C) Marvell International Ltd. and its affiliates
This software file (the "File") is owned and distributed by Marvell
International Ltd. and/or its affiliates ("Marvell") under the following
alternative licensing terms. Once you have made an election to distribute the
File under one of the following license alternatives, please (i) delete this
introductory statement regarding license alternatives, (ii) delete the two
license alternatives that you have not elected to use and (iii) preserve the
Marvell copyright notice above.
********************************************************************************
Marvell Commercial License Option
If you received this File from Marvell and you have entered into a commercial
license agreement (a "Commercial License") with Marvell, the File is licensed
to you under the terms of the applicable Commercial License.
********************************************************************************
Marvell GPL License Option
If you received this File from Marvell, you may opt to use, redistribute and/or
modify this File in accordance with the terms and conditions of the General
Public License Version 2, June 1991 (the "GPL License"), a copy of which is
available along with the File in the license.txt file or by writing to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 or
on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY
DISCLAIMED. The GPL License provides additional details about this warranty
disclaimer.
********************************************************************************
Marvell BSD License Option
If you received this File from Marvell, you may opt to use, redistribute and/or
modify this File under the following licensing terms.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of Marvell nor the names of its contributors may be
used to endorse or promote products derived from this software without
specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*******************************************************************************/
#ifndef __INCmvDS133xRegh
#define __INCmvDS133xRegh
#ifdef __cplusplus
extern "C" {
#endif
#ifndef MSK
#define MSK(n) ((1 << (n)) - 1)
#endif
#define RTC_CLOCK_SECONDS 0x0
#define RTC_CLOCK_MINUTES 0x1
#define RTC_CLOCK_HOUR 0x2
#define RTC_CLOCK_DAY 0x3
#define RTC_CLOCK_DATE 0x4
#define RTC_CLOCK_MONTH_CENTURY 0x5
#define RTC_CLOCK_YEAR 0x6
#define RTC_ALARM_SECONDS 0x7
#define RTC_ALARM_MINUTES 0x8
#define RTC_ALARM_HOUR 0x9
#define RTC_ALARM_DAY_DATE 0xa
#define RTC_ALARM2_MINUTES 0xb
#define RTC_ALARM2_HOUR 0xc
#define RTC_ALARM2_DAY_DATE 0xd
#define RTC1339_CONTROL 0xe
#define RTC1338_CONTROL 0x7
#define RTC_STATUS 0xf
#define RTC_TRICKLE_CHARGE 0x10
#define FIRST_REG_OFF RTC_CLOCK_SECONDS
#define LAST_REG_OFF RTC_TRICKLE_CHARGE
/* RTC_CLOCK_SECONDS 0x0*/
#define RTC_CLOCK_SECONDS_SHF 0
#define RTC_CLOCK_SECONDS_MSK (MSK(4)<<RTC_CLOCK_SECONDS_SHF)
#define RTC_CLOCK_10SECONDS_SHF 4
#define RTC_CLOCK_10SECONDS_MSK (MSK(3)<<RTC_CLOCK_10SECONDS_SHF)
/* RTC_CLOCK_MINUTES 0x1*/
#define RTC_CLOCK_MINUTES_SHF 0
#define RTC_CLOCK_MINUTES_MSK (MSK(4)<<RTC_CLOCK_MINUTES_SHF)
#define RTC_CLOCK_10MINUTES_SHF 4
#define RTC_CLOCK_10MINUTES_MSK (MSK(3)<<RTC_CLOCK_10MINUTES_SHF)
/* RTC_CLOCK_HOUR 0x2*/
#define RTC_CLOCK_HOURS_SHF 0
#define RTC_CLOCK_HOURS_MSK (MSK(4)<<RTC_CLOCK_HOURS_SHF)
#define RTC_CLOCK_10HOURS_SHF 4
#define RTC_CLOCK_10HOURS_MSK1 (MSK(1)<<RTC_CLOCK_10HOURS_SHF)
#define RTC_CLOCK_10HOURS_MSK2 (MSK(2)<<RTC_CLOCK_10HOURS_SHF)
#define RTC_CLOCK_10HOURS_BIT BIT4
#define RTC_CLOCK_10HOURSAMPM_SHF 5
#define RTC_CLOCK_10HOURSAMPM_MSK (MSK(1)<<RTC_CLOCK_10HOURSAMPM_SHF)
#define RTC_CLOCK_10HOURSAMPM_BIT BIT5
#define RTC_CLOCK_HOUR_12_24 6
#define RTC_CLOCK_HOUR_12_24_MSK (MSK(1)<<RTC_CLOCK_HOUR_12_24_SHF)
#define RTC_CLOCK_HOUR_12_24_BIT BIT6
/* RTC_CLOCK_DAY 0x3*/
#define RTC_CLOCK_DAY_SHF 0
#define RTC_CLOCK_DAY_MSK (MSK(3)<<RTC_CLOCK_DAY_SHF)
/* RTC_CLOCK_DATE 0x4*/
#define RTC_CLOCK_DATE_SHF 0
#define RTC_CLOCK_DATE_MSK (MSK(4)<<RTC_CLOCK_DATE_SHF)
#define RTC_CLOCK_10DATE_SHF 4
#define RTC_CLOCK_10DATE_MSK (MSK(2)<<RTC_CLOCK_10DATE_SHF)
/* RTC_CLOCK_MONTH_CENTURY 0x5*/
#define RTC_CLOCK_MONTH_SHF 0
#define RTC_CLOCK_MONTH_MSK (MSK(4)<<RTC_CLOCK_MONTH_SHF)
#define RTC_CLOCK_10MONTH_SHF 4
#define RTC_CLOCK_10MONTH_MSK (MSK(1)<<RTC_CLOCK_10MONTH_SHF)
#define RTC_CLOCK_10MONTH_BIT BIT4
#define RTC_CLOCK_CENTURY_SHF 7
#define RTC_CLOCK_CENTURY_MSK (MSK(1)<<RTC_CLOCK_CENTURY_SHF)
#define RTC_CLOCK_CENTURY_BIT BIT7
/* RTC_CLOCK_YEAR 0x6*/
#define RTC_CLOCK_YEAR_SHF 0
#define RTC_CLOCK_YEAR_MSK (MSK(4)<<RTC_CLOCK_YEAR_SHF)
#define RTC_CLOCK_10YEAR_SHF 4
#define RTC_CLOCK_10YEAR_MSK (MSK(4)<<RTC_CLOCK_10YEAR_SHF)
/* RTC_ALARM_SECONDS 0x7*/
#define RTC_CLOCK_SECONDS_ALRM1_SHF 0
#define RTC_CLOCK_SECONDS_ALRM1_MSK (MSK(4)<<RTC_CLOCK_SECONDS_ALRM1_SHF)
#define RTC_CLOCK_10SECONDS_ALRM1_SHF 4
#define RTC_CLOCK_10SECONDS_ALRM1_MSK (MSK(3)<<RTC_CLOCK_10SECONDS_ALRM1_SHF)
#define RTC_CLOCK_A1M1_SHF 0
#define RTC_CLOCK_A1M1_MSK (MSK(1)<<RTC_CLOCK_A1M1_SHF)
#define RTC_CLOCK_A1M1_BIT BIT7
/* RTC_ALARM_MINUTES 0x8*/
#define RTC_CLOCK_MINUTES_ALRM1_SHF 0
#define RTC_CLOCK_MINUTES_ALRM1_MSK (MSK(4)<<RTC_CLOCK_MINUTES_ALRM1_SHF)
#define RTC_CLOCK_10MINUTES_ALRM1_SHF 4
#define RTC_CLOCK_10MINUTES_ALRM1_MSK (MSK(3)<<RTC_CLOCK_10MINUTES_ALRM1_SHF)
#define RTC_CLOCK_A1M2_SHF 0
#define RTC_CLOCK_A1M2_MSK (MSK(1)<<RTC_CLOCK_A1M2_SHF)
#define RTC_CLOCK_A1M2_BIT BIT7
/* RTC_ALARM_HOUR 0x9*/
#define RTC_CLOCK_HOURS_ALRM1_SHF 0
#define RTC_CLOCK_HOURS_ALRM1_MSK (MSK(4)<<RTC_CLOCK_HOURS_ALRM1_SHF)
#define RTC_CLOCK_10HOURS_ALRM1_SHF 4
#define RTC_CLOCK_10HOURS_ALRM1_MSK1 (MSK(1)<<RTC_CLOCK_10HOURS_ALRM1_SHF)
#define RTC_CLOCK_10HOURS_ALRM1_MSK2 (MSK(2)<<RTC_CLOCK_10HOURS_ALRM1_SHF)
#define RTC_CLOCK_10HOURS_ALRM1_BIT BIT4
#define RTC_CLOCK_10HOURS_ALRM1AMPM_SHF 5
#define RTC_CLOCK_10HOURS_ALRM1AMPM_MSK (MSK(1)<<RTC_CLOCK_10HOURS_ALRM1AMPM_SHF)
#define RTC_CLOCK_10HOURS_ALRM1AMPM_BIT BIT5
#define RTC_CLOCK_HOUR_ALRM1_12_24 6
#define RTC_CLOCK_HOUR_ALRM1_12_24_MSK (MSK(1)<<RTC_CLOCK_HOUR_ALRM1_12_24_SHF)
#define RTC_CLOCK_HOUR_ALRM1_12_24_BIT BIT6
#define RTC_CLOCK_A1M3_SHF 0
#define RTC_CLOCK_A1M3_MSK (MSK(1)<<RTC_CLOCK_A1M3_SHF)
#define RTC_CLOCK_A1M3_BIT BIT7
/* RTC_ALARM_DAY_DATE 0xa*/
#define RTC_CLOCK_DAY_ALRM1_SHF 0
#define RTC_CLOCK_DAY_ALRM1_MSK (MSK(3)<<RTC_CLOCK_DAY_ALRM1_SHF)
#define RTC_CLOCK_DATE_ALRM1_SHF 0
#define RTC_CLOCK_DATE_ALRM1_MSK (MSK(4)<<RTC_CLOCK_DATE_ALRM1_SHF)
#define RTC_CLOCK_10DATE_ALRM1_SHF 4
#define RTC_CLOCK_10DATE_ALRM1_MSK (MSK(2)<<RTC_CLOCK_10DATE_ALRM1_SHF)
#define RTC_CLOCK_DY_DT_ALRM1_SHF 6
#define RTC_CLOCK_DY_DT_ALRM1_MSK (MSK(1)<<RTC_CLOCK_DY_DT_ALRM1_SHF)
#define RTC_CLOCK_DY_DT_ALRM1_BIT BIT6
#define RTC_CLOCK_A1M4_SHF 0
#define RTC_CLOCK_A1M4_MSK (MSK(1)<<RTC_CLOCK_A1M4_SHF)
#define RTC_CLOCK_A1M4_BIT BIT7
/* RTC_ALARM2_MINUTES 0xb*/
#define RTC_CLOCK_MINUTES_ALRM2_SHF 0
#define RTC_CLOCK_MINUTES_ALRM2_MSK (MSK(4)<<RTC_CLOCK_MINUTES_ALRM2_SHF)
#define RTC_CLOCK_10MINUTES_ALRM2_SHF 4
#define RTC_CLOCK_10MINUTES_ALRM2_MSK (MSK(3)<<RTC_CLOCK_10MINUTES_ALRM2_SHF)
#define RTC_CLOCK_A2M2_SHF 0
#define RTC_CLOCK_A2M2_MSK (MSK(1)<<RTC_CLOCK_A2M2_SHF)
#define RTC_CLOCK_A2M2_BIT BIT7
/* RTC_ALARM2_HOUR 0xc*/
#define RTC_CLOCK_HOURS_ALRM2_SHF 0
#define RTC_CLOCK_HOURS_ALRM2_MSK (MSK(4)<<RTC_CLOCK_HOURS_ALRM2_SHF)
#define RTC_CLOCK_10HOURS_ALRM2_SHF 4
#define RTC_CLOCK_10HOURS_ALRM2_MSK1 (MSK(1)<<RTC_CLOCK_10HOURS_ALRM2_SHF)
#define RTC_CLOCK_10HOURS_ALRM2_MSK2 (MSK(2)<<RTC_CLOCK_10HOURS_ALRM2_SHF)
#define RTC_CLOCK_10HOURS_ALRM2_BIT BIT4
#define RTC_CLOCK_10HOURS_ALRM2AMPM_SHF 5
#define RTC_CLOCK_10HOURS_ALRM2AMPM_MSK (MSK(1)<<RTC_CLOCK_10HOURS_ALRM2AMPM_SHF)
#define RTC_CLOCK_10HOURS_ALRM2AMPM_BIT BIT5
#define RTC_CLOCK_HOUR_ALRM2_12_24 6
#define RTC_CLOCK_HOUR_ALRM2_12_24_MSK (MSK(1)<<RTC_CLOCK_HOUR_ALRM2_12_24_SHF)
#define RTC_CLOCK_HOUR_ALRM2_12_24_BIT BIT6
#define RTC_CLOCK_A2M3_SHF 0
#define RTC_CLOCK_A2M3_MSK (MSK(1)<<RTC_CLOCK_A2M3_SHF)
#define RTC_CLOCK_A2M3_BIT BIT7
/* RTC_ALARM2_DAY_DATE 0xd*/
#define RTC_CLOCK_DAY_ALRM2_SHF 0
#define RTC_CLOCK_DAY_ALRM2_MSK (MSK(3)<<RTC_CLOCK_DAY_ALRM2_SHF)
#define RTC_CLOCK_DATE_ALRM2_SHF 0
#define RTC_CLOCK_DATE_ALRM2_MSK (MSK(4)<<RTC_CLOCK_DATE_ALRM2_SHF)
#define RTC_CLOCK_10DATE_ALRM2_SHF 4
#define RTC_CLOCK_10DATE_ALRM2_MSK (MSK(2)<<RTC_CLOCK_10DATE_ALRM2_SHF)
#define RTC_CLOCK_DY_DT_ALRM2_SHF 6
#define RTC_CLOCK_DY_DT_ALRM2_MSK (MSK(1)<<RTC_CLOCK_DY_DT_ALRM2_SHF)
#define RTC_CLOCK_DY_DT_ALRM2_BIT BIT6
#define RTC_CLOCK_A2M4_SHF 0
#define RTC_CLOCK_A2M4_MSK (MSK(1)<<RTC_CLOCK_A2M4_SHF)
#define RTC_CLOCK_A2M4_BIT BIT7
/* RTC_CONTROL 0xe*/
#define RTC_CONTROL_A1IE_SHF 0
#define RTC_CONTROL_A1IE_MSK (MSK(1)<<RTC_CONTROL_A1IE_SHF)
#define RTC_CONTROL_A1IE_BIT BIT0
#define RTC_CONTROL_A2IE_SHF 1
#define RTC_CONTROL_A2IE_MSK (MSK(1)<<RTC_CONTROL_A2IE_SHF)
#define RTC_CONTROL_A2IE_BIT BIT1
#define RTC_CONTROL_INTCN_SHF 2
#define RTC_CONTROL_INTCN_MSK (MSK(1)<<RTC_CONTROL_INTCN_SHF)
#define RTC_CONTROL_INTCN_BIT BIT2
#define RTC_CONTROL_RS1_SHF 3
#define RTC_CONTROL_RS1_MSK (MSK(1)<<RTC_CONTROL_RS1_SHF)
#define RTC_CONTROL_RS1_BIT BIT3
#define RTC_CONTROL_RS2_SHF 4
#define RTC_CONTROL_RS2_MSK (MSK(1)<<RTC_CONTROL_RS2_SHF)
#define RTC_CONTROL_RS2_BIT BIT4
#define RTC_CONTROL_BBSQI_SHF 5
#define RTC_CONTROL_BBSQI_MSK (MSK(1)<<RTC_CONTROL_BBSQI_SHF)
#define RTC_CONTROL_BBSQI_BIT BIT5
#define RTC_CONTROL_EOSC_SHF 7
#define RTC_CONTROL_EOSC_MSK (MSK(1)<<RTC_CONTROL_EOSC_SHF)
#define RTC_CONTROL_EOSC_BIT BIT7
/* RTC_STATUS 0xf*/
#define RTC_CONTROL_A1F_SHF 0
#define RTC_CONTROL_A1F_MSK (MSK(1)<<RTC_CONTROL_A1F_SHF)
#define RTC_CONTROL_A1F_BIT BIT0
#define RTC_CONTROL_A2F_SHF 1
#define RTC_CONTROL_A2F_MSK (MSK(1)<<RTC_CONTROL_A2F_SHF)
#define RTC_CONTROL_A2F_BIT BIT1
#define RTC_CONTROL_OSF_SHF 7
#define RTC_CONTROL_OSF_MSK (MSK(1)<<RTC_CONTROL_OSF_SHF)
#define RTC_CONTROL_OSF_BIT BIT7
/* RTC_TRICKLE_CHARGE 0x10*/
#define RTC_CONTROL_ROUT0_SHF 0
#define RTC_CONTROL_ROUT0_MSK (MSK(1)<<RTC_CONTROL_ROUT0_SHF)
#define RTC_CONTROL_ROUT0_BIT BIT0
#define RTC_CONTROL_ROUT1_SHF 1
#define RTC_CONTROL_ROUT1_MSK (MSK(1)<<RTC_CONTROL_ROUT1_SHF)
#define RTC_CONTROL_ROUT1_BIT BIT1
#define RTC_CONTROL_DS0_SHF 2
#define RTC_CONTROL_DS0_MSK (MSK(1)<<RTC_CONTROL_DS0_SHF)
#define RTC_CONTROL_DS0_BIT BIT2
#define RTC_CONTROL_DS1_SHF 3
#define RTC_CONTROL_DS1_MSK (MSK(1)<<RTC_CONTROL_DS1_SHF)
#define RTC_CONTROL_DS1_BIT BIT3
#define RTC_CONTROL_TCS0_SHF 4
#define RTC_CONTROL_TCS0_MSK (MSK(1)<<RTC_CONTROL_TCS0_SHF)
#define RTC_CONTROL_TCS0_BIT BIT4
#define RTC_CONTROL_TCS1_SHF 5
#define RTC_CONTROL_TCS1_MSK (MSK(1)<<RTC_CONTROL_TCS1_SHF)
#define RTC_CONTROL_TCS1_BIT BIT5
#define RTC_CONTROL_TCS2_SHF 6
#define RTC_CONTROL_TCS2_MSK (MSK(1)<<RTC_CONTROL_TCS2_SHF)
#define RTC_CONTROL_TCS2_BIT BIT6
#define RTC_CONTROL_TCS3_SHF 7
#define RTC_CONTROL_TCS3_MSK (MSK(1)<<RTC_CONTROL_TCS3_SHF)
#define RTC_CONTROL_TCS3_BIT BIT7
#ifdef __cplusplus
}
#endif
#endif /* __INCmvDS133xRegh */