Sapphire SoC DS Sapphire SoC UG Sapphire HP SoC DS Sapphire HP SoC UG RISC-V Embedded IDE UG Board Support Package
Loading...
Searching...
No Matches
PCF8523.c File Reference
#include <stdio.h>
#include "bsp.h"
#include "rtc/device/PCF8523.h"

Go to the source code of this file.

Overview

pcf8523 RTC driver implementation.

Implements the functions defined in pcf8523.h for controlling pcf8523 RTC input/output and interrupts on the EfxSapphireSoC platform.

Definition in file PCF8523.c.

Macros

#define RTC_CONTROL_1   0X00
#define RTC_CONTROL_2   0X01
#define RTC_CONTROL_3   0X02
#define RTC_SECONDS   0X03
#define RTC_MINUTES   0X04
#define RTC_HOURS   0X05
#define RTC_DAYS   0X06
#define RTC_WEEKDAYS   0X07
#define RTC_MONTH   0X08
#define RTC_YEAR   0X09
#define TIMER_A_FREQ_CTRL   0x10
#define TIMER_A_REG   0x11
#define TIMER_B_FREQ_CTRL   0x12
#define TIMER_B_REG   0x13
#define SECONDS_DATA   0X7F
#define MINUTES_DATA   0X7F
#define HOURS_DATA   0X3F
#define DAYS_DATA   0X3F
#define WEEKDAYS_DATA   0X07
#define MONTHS_DATA   0X1F
#define YEARS_DATA   0XFF

Functions

rtc_status_t PCF8523_getTime (rtc_instance_t *rtc)
 Get time from PCF8523 RTC.
rtc_status_t PCF8523_setTime (rtc_instance_t *rtc)
 Set time on PCF8523 RTC.
rtc_status_t PCF8523_setTimeSystem (rtc_instance_t *rtc, u8 use_12hour_mode)
 Set time system (12-hour or 24-hour) on PCF8523 RTC.
rtc_status_t PCF8523_softreset (rtc_instance_t *rtc)
rtc_status_t PCF8523_getCSR (rtc_instance_t *rtc)
 Get control/status register from PCF8523 RTC.

Variables

const rtc_api_t PCF8523_DRIVER
 PCF8523 Driver Instance. Point your generic RTC pointer to this structure to use the PCF8523 hardware.

Macro Definition Documentation

◆ DAYS_DATA

#define DAYS_DATA   0X3F

Definition at line 47 of file PCF8523.c.

◆ HOURS_DATA

#define HOURS_DATA   0X3F

Definition at line 46 of file PCF8523.c.

◆ MINUTES_DATA

#define MINUTES_DATA   0X7F

Definition at line 45 of file PCF8523.c.

◆ MONTHS_DATA

#define MONTHS_DATA   0X1F

Definition at line 49 of file PCF8523.c.

◆ RTC_CONTROL_1

#define RTC_CONTROL_1   0X00

Definition at line 24 of file PCF8523.c.

◆ RTC_CONTROL_2

#define RTC_CONTROL_2   0X01

Definition at line 25 of file PCF8523.c.

◆ RTC_CONTROL_3

#define RTC_CONTROL_3   0X02

Definition at line 26 of file PCF8523.c.

◆ RTC_DAYS

#define RTC_DAYS   0X06

Definition at line 32 of file PCF8523.c.

◆ RTC_HOURS

#define RTC_HOURS   0X05

Definition at line 31 of file PCF8523.c.

◆ RTC_MINUTES

#define RTC_MINUTES   0X04

Definition at line 30 of file PCF8523.c.

◆ RTC_MONTH

#define RTC_MONTH   0X08

Definition at line 34 of file PCF8523.c.

◆ RTC_SECONDS

#define RTC_SECONDS   0X03

Definition at line 29 of file PCF8523.c.

◆ RTC_WEEKDAYS

#define RTC_WEEKDAYS   0X07

Definition at line 33 of file PCF8523.c.

◆ RTC_YEAR

#define RTC_YEAR   0X09

Definition at line 35 of file PCF8523.c.

◆ SECONDS_DATA

#define SECONDS_DATA   0X7F

Definition at line 44 of file PCF8523.c.

◆ TIMER_A_FREQ_CTRL

#define TIMER_A_FREQ_CTRL   0x10

Definition at line 38 of file PCF8523.c.

◆ TIMER_A_REG

#define TIMER_A_REG   0x11

Definition at line 39 of file PCF8523.c.

◆ TIMER_B_FREQ_CTRL

#define TIMER_B_FREQ_CTRL   0x12

Definition at line 40 of file PCF8523.c.

◆ TIMER_B_REG

#define TIMER_B_REG   0x13

Definition at line 41 of file PCF8523.c.

◆ WEEKDAYS_DATA

#define WEEKDAYS_DATA   0X07

Definition at line 48 of file PCF8523.c.

◆ YEARS_DATA

#define YEARS_DATA   0XFF

Definition at line 50 of file PCF8523.c.

Function Documentation

◆ PCF8523_softreset()

rtc_status_t PCF8523_softreset ( rtc_instance_t * rtc)

Definition at line 168 of file PCF8523.c.