@@ 1,5 1,5 @@
/*
- * Copyright (c) 2023 Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
+ * Copyright (c) 2023-2024 Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ 23,46 23,46 @@
#ifndef AVR_COMMON_DEVICES_I2C_MCP7940N_H
#define AVR_COMMON_DEVICES_I2C_MCP7940N_H
-#define RTC_ADDR_W 0xde
-#define RTC_ADDR_R 0xdf
+#define MCP7940N_ADDR_W 0xde
+#define MCP7940N_ADDR_R 0xdf
#ifndef _ASM
-struct rtc_timekeeping_regs {
-#define RTC_SEC_ST (1 << 7)
+struct mcp7940n_timekeeping_regs {
+#define MCP7940N_SEC_ST (1 << 7)
uint8_t sec;
uint8_t min;
-#define RTC_HOUR_FMT (1 << 6)
-#define RTC_HOUR_FMT_12H (1 << 6)
-#define RTC_HOUR_FMT_24H (0 << 6)
-#define RTC_HOUR_MASK (0x3f)
+#define MCP7940N_HOUR_FMT (1 << 6)
+#define MCP7940N_HOUR_FMT_12H (1 << 6)
+#define MCP7940N_HOUR_FMT_24H (0 << 6)
+#define MCP7940N_HOUR_MASK (0x3f)
uint8_t hour;
-#define RTC_WKDAY_OSCRUN (1 << 5)
-#define RTC_WKDAY_PWRFAIL (1 << 4)
-#define RTC_WKDAY_VBATEN (1 << 3)
+#define MCP7940N_WKDAY_OSCRUN (1 << 5)
+#define MCP7940N_WKDAY_PWRFAIL (1 << 4)
+#define MCP7940N_WKDAY_VBATEN (1 << 3)
uint8_t wkday;
uint8_t date;
-#define RTC_MONTH_LPYR (1 << 5)
+#define MCP7940N_MONTH_LPYR (1 << 5)
uint8_t month;
uint8_t year;
-#define RTC_CONTROL_OUT (1 << 7)
-#define RTC_CONTROL_SQWEN (1 << 6)
-#define RTC_CONTROL_ALM1EN (1 << 5)
-#define RTC_CONTROL_ALM0EN (1 << 4)
-#define RTC_CONTROL_EXTOSC (1 << 3)
-#define RTC_CONTROL_CRSTRIM (1 << 2)
-#define RTC_CONTROL_SQWFS_MASK (3 << 0)
-#define RTC_CONTROL_SQWFS_1HZ (0 << 0)
-#define RTC_CONTROL_SQWFS_4KHZ (1 << 0)
-#define RTC_CONTROL_SQWFS_8KHZ (2 << 0)
-#define RTC_CONTROL_SQWFS_32KHZ (3 << 0)
+#define MCP7940N_CONTROL_OUT (1 << 7)
+#define MCP7940N_CONTROL_SQWEN (1 << 6)
+#define MCP7940N_CONTROL_ALM1EN (1 << 5)
+#define MCP7940N_CONTROL_ALM0EN (1 << 4)
+#define MCP7940N_CONTROL_EXTOSC (1 << 3)
+#define MCP7940N_CONTROL_CRSTRIM (1 << 2)
+#define MCP7940N_CONTROL_SQWFS_MASK (3 << 0)
+#define MCP7940N_CONTROL_SQWFS_1HZ (0 << 0)
+#define MCP7940N_CONTROL_SQWFS_4KHZ (1 << 0)
+#define MCP7940N_CONTROL_SQWFS_8KHZ (2 << 0)
+#define MCP7940N_CONTROL_SQWFS_32KHZ (3 << 0)
uint8_t control;
uint8_t trim;
uint8_t _pad;
};
-STATIC_ASSERT(sizeof(struct rtc_timekeeping_regs) == 10);
+STATIC_ASSERT(sizeof(struct mcp7940n_timekeeping_regs) == 10);
-struct rtc_alarm_regs {
+struct mcp7940n_alarm_regs {
uint8_t sec;
uint8_t min;
uint8_t hour;
@@ 71,24 71,24 @@ struct rtc_alarm_regs {
uint8_t month;
uint8_t _pad;
};
-STATIC_ASSERT(sizeof(struct rtc_alarm_regs) == 7);
+STATIC_ASSERT(sizeof(struct mcp7940n_alarm_regs) == 7);
-struct rtc_powerfail_regs {
+struct mcp7940n_powerfail_regs {
uint8_t min;
uint8_t hour;
uint8_t date;
uint8_t month;
};
-STATIC_ASSERT(sizeof(struct rtc_powerfail_regs) == 4);
+STATIC_ASSERT(sizeof(struct mcp7940n_powerfail_regs) == 4);
-struct rtc {
- struct rtc_timekeeping_regs timekeeping;
- struct rtc_alarm_regs alarm0;
- struct rtc_alarm_regs alarm1;
- struct rtc_powerfail_regs pdown;
- struct rtc_powerfail_regs pup;
+struct mcp7940n {
+ struct mcp7940n_timekeeping_regs timekeeping;
+ struct mcp7940n_alarm_regs alarm0;
+ struct mcp7940n_alarm_regs alarm1;
+ struct mcp7940n_powerfail_regs pdown;
+ struct mcp7940n_powerfail_regs pup;
};
-STATIC_ASSERT(sizeof(struct rtc) == 32);
+STATIC_ASSERT(sizeof(struct mcp7940n) == 32);
#endif