//
#include "rtc.h"
-
+#include "logger.h"
namespace SA1100 {
case STATUS_ALE_BIT:
if (m_RTAR == m_RCNR)
{
- #if TRACE_RTC
- g_log_file << "RTC: enable alarm: " << std::hex << m_RCNR << std::endl;
- #endif
-
- m_RTSR |= STATUS_AL_BIT;
+ m_RTSR |= STATUS_AL_BIT;
}
break;
case STATUS_HZE_BIT:
- #if TRACE_RTC
- g_log_file << "RTC: enable hz: " << std::hex << m_RCNR << std::endl;
- #endif
-
m_RTSR |= STATUS_HZ_BIT;
break;
case (STATUS_ALE_BIT | STATUS_HZE_BIT):
if (m_RTAR == m_RCNR)
{
- #if TRACE_RTC
- g_log_file << "RTC: enable alarm: " << std::hex << m_RCNR << std::endl;
- #endif
-
- m_RTSR |= STATUS_AL_BIT;
+ m_RTSR |= STATUS_AL_BIT;
}
-
- #if TRACE_RTC
- g_log_file << "RTC: enable hz: " << std::hex << m_RCNR << std::endl;
- #endif
-
+
m_RTSR |= STATUS_HZ_BIT;
break;
}
switch (address)
{
- case RTAR: return m_RTAR;
- case RCNR: return m_RCNR;
- case RTTR: return m_RTTR;
- case RTSR: return m_RTSR;
+ case RTAR:
+ LOG_REG_R("RTC RTAR", address, m_RTAR);
+ return m_RTAR;
+ case RCNR:
+ LOG_REG_R("RTC RCNR", address, m_RCNR);
+ return m_RCNR;
+ case RTTR:
+ LOG_REG_R("RTC RTTR", address, m_RTTR);
+ return m_RTTR;
+ case RTSR:
+ LOG_REG_R("RTC RTSR", address, m_RTSR);
+ return m_RTSR;
default:
- /*assert(!"Should not reach here.");*/
+ LOG_REG_R("RTC Unknown", address, 0);
return 0;
}
}
switch (address)
{
case RTAR:
- #if TRACE_RTC
- g_log_file << "RTC: set alarm: " << std::hex << value << std::endl;
- #endif
-
+ LOG_REG_W("RTC RTAR", address, value);
m_RTAR = value;
break;
case RCNR:
- #if TRACE_RTC
- g_log_file << "RTC: set RCNR: " << std::hex << value << std::endl;
- #endif
-
+ LOG_REG_W("RTC RCNR", address, value);
m_RCNR = value;
break;
case RTTR:
+ LOG_REG_W("RTC RTTR", address, value);
// :NOTE: Wei 2004-Jun-06:
//
// I don't support RTC Trim Procedure yet.
// Thus just let it pass by.
- #if TRACE_RTC
- g_log_file << "RTC: Trim Procedure, using " << value << std::endl;
- #endif
m_RTTR = (value & 0x3FFFFFF);
break;
case RTSR:
- #if TRACE_RTC
- g_log_file << "RTC: setting RTSR: orig: " << std::hex << m_RTSR << ", value: " << value << std::endl;
- #endif
-
+ LOG_REG_W("RTC RTSR", address, value);
// :SA-1110 Developer's Manual: p.90, p.91: Wei 2003-Dec-09:
//
// Each status bit may be cleared by writing a one to the status register in the desired bit position.
// ...
// All reserved bits are read as 0s and are unaffected by writes.
m_RTSR &= ~(value & STATUS_VALID_BIT_MASK);
-
- #if TRACE_RTC
- g_log_file << "RTC: setting RTSR: new: " << std::hex << m_RTSR << std::endl;
- #endif
break;
default:
- /*assert(!"Should not reach here.");*/
+ LOG_REG_W("RTC Unknown", address, value);
break;
}
}