libducky/include/arch/rtc.h.in

Summary

Maintainability
Test Coverage
#ifndef __DUCKY_ARCH_RTC_H__
#define __DUCKY_ARCH_RTC_H__

<%
  import ducky.devices.rtc
%>

#define RTC_IRQ           ${X2(ducky.devices.rtc.DEFAULT_IRQ)}

#define RTC_DEFAULT_FREQ  ${ducky.devices.rtc.DEFAULT_FREQ}

#define RTC_MMIO_ADDRESS  ${X8(ducky.devices.rtc.DEFAULT_MMIO_ADDRESS)}

#define RTC_MMIO_FREQ   ${X8(ducky.devices.rtc.RTCPorts.FREQUENCY)}
#define RTC_MMIO_SECOND ${X8(ducky.devices.rtc.RTCPorts.SECOND)}
#define RTC_MMIO_MINUTE ${X8(ducky.devices.rtc.RTCPorts.MINUTE)}
#define RTC_MMIO_HOUR   ${X8(ducky.devices.rtc.RTCPorts.HOUR)}
#define RTC_MMIO_DAY    ${X8(ducky.devices.rtc.RTCPorts.DAY)}
#define RTC_MMIO_MONTH  ${X8(ducky.devices.rtc.RTCPorts.MONTH)}
#define RTC_MMIO_YEAR   ${X8(ducky.devices.rtc.RTCPorts.YEAR)}

#ifndef __DUCKY_PURE_ASM__

#include <hdt.h>

typedef struct __attribute__((packed)) {
  hdt_entry_device_t e_header;
  u32_t              e_mmio_address;
} hdt_entry_device_rtc_t;

#endif

#endif