summaryrefslogtreecommitdiff
path: root/src/drivers/i2c/pcf8523/chip.h
blob: 3c3259997502078b7228da9188a24d09844df0da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/* SPDX-License-Identifier: GPL-2.0-only */

#include "pcf8523.h"

#ifndef __DRIVERS_I2C_PCF8523_CHIP_H__
#define __DRIVERS_I2C_PCF8523_CHIP_H__

struct drivers_i2c_pcf8523_config {
	unsigned char cap_sel;		/* Internal capacitor selection */
	unsigned char second_int_en;	/* Enable IRQ for seconds */
	unsigned char alarm_int_en;	/* Enable IRQ for alarm */
	unsigned char correction_int_en;/* Enable IRQ for corrections */
	unsigned char wdt_int_en;	/* Enable IRQ for watchdog */
	unsigned char tmrA_int_en;	/* Enable IRQ for timer A */
	unsigned char tmrB_int_en;	/* Enable IRQ for timer B */
	unsigned char power_mode;	/* Set up power mode */
	unsigned char bat_switch_int_en;/* Enable IRQ for battery switch */
	unsigned char bat_low_int_en;	/* Enable IRQ for low battery */
	unsigned char offset_mode;	/* Set up mode how to handle offset */
	unsigned char offset_val;	/* Value for offset adjustment */
	unsigned char tmrA_mode;	/* Operation mode of timer A */
	unsigned char tmrA_int_mode;	/* IRQ mode for timer A */
	unsigned char tmrB_mode;	/* Operation mode for timer B */
	unsigned char tmrB_int_mode;	/* IRQ mode for timer B */
	unsigned char cof_selection;	/* Set up "clock out" frequency */
	unsigned char tmrA_prescaler;	/* Prescaler for timer A */
	unsigned char tmrB_prescaler;	/* Prescaler for timer B */
	unsigned char tmrB_pulse_cfg;	/* Pulse width config for timer B */
	unsigned char set_user_date;	/* Use user date from device tree */
	unsigned char user_year;	/* User year to set */
	unsigned char user_month;	/* User month to set */
	unsigned char user_day;		/* User day to set */
	unsigned char user_weekday;	/* User weekday to set */
};

#endif /* __DRIVERS_I2C_PCF8523_CHIP_H__ */