aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2013-05-03 07:04:22 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2013-05-03 07:04:22 +0000
commitb02567ddf87fa6fd86069d0f2be22d5fa9bfc019 (patch)
tree1f21d3c0c40965c79bfaad813611d0cc49527fa7 /os/hal
parentcdf9aaf51c61ed0cd83509f734410ed915ff5114 (diff)
downloadChibiOS-b02567ddf87fa6fd86069d0f2be22d5fa9bfc019.tar.gz
ChibiOS-b02567ddf87fa6fd86069d0f2be22d5fa9bfc019.tar.bz2
ChibiOS-b02567ddf87fa6fd86069d0f2be22d5fa9bfc019.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@5659 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/hal')
-rw-r--r--os/hal/platforms/SPC5xx/eTimer_v1/icu_lld.c22
-rw-r--r--os/hal/platforms/SPC5xx/eTimer_v1/icu_lld.h4
2 files changed, 24 insertions, 2 deletions
diff --git a/os/hal/platforms/SPC5xx/eTimer_v1/icu_lld.c b/os/hal/platforms/SPC5xx/eTimer_v1/icu_lld.c
index e429688de..4cdfab8f7 100644
--- a/os/hal/platforms/SPC5xx/eTimer_v1/icu_lld.c
+++ b/os/hal/platforms/SPC5xx/eTimer_v1/icu_lld.c
@@ -285,10 +285,10 @@ static void icu_lld_serve_interrupt(ICUDriver *icup) {
* @param[in] config the architecture-dependent ICU driver configuration
*/
static void spc5_icu_smod_init(ICUDriver *icup) {
- uint32_t psc = (SPC5_ETIMER0_CLK / icup->config->frequency);
+ uint32_t psc = (icup->clock / icup->config->frequency);
chDbgAssert((psc <= 0xFFFF) &&
- ((psc * icup->config->frequency) == SPC5_ETIMER0_CLK) &&
+ ((psc * icup->config->frequency) == icup->clock) &&
((psc == 1) || (psc == 2) || (psc == 4) ||
(psc == 8) || (psc == 16) || (psc == 32) ||
(psc == 64) || (psc == 128)),
@@ -806,6 +806,7 @@ void icu_lld_init(void) {
icuObjectInit(&ICUD1);
ICUD1.etimerp = &SPC5_ETIMER_0;
ICUD1.smod_number = 0U;
+ ICUD1.clock = SPC5_ETIMER0_CLK;
#endif
#if SPC5_ICU_USE_SMOD1
@@ -813,6 +814,7 @@ void icu_lld_init(void) {
icuObjectInit(&ICUD2);
ICUD2.etimerp = &SPC5_ETIMER_0;
ICUD2.smod_number = 1U;
+ ICUD2.clock = SPC5_ETIMER0_CLK;
#endif
#if SPC5_ICU_USE_SMOD2
@@ -820,6 +822,7 @@ void icu_lld_init(void) {
icuObjectInit(&ICUD3);
ICUD3.etimerp = &SPC5_ETIMER_0;
ICUD3.smod_number = 2U;
+ ICUD3.clock = SPC5_ETIMER0_CLK;
#endif
#if SPC5_ICU_USE_SMOD3
@@ -827,6 +830,7 @@ void icu_lld_init(void) {
icuObjectInit(&ICUD4);
ICUD4.etimerp = &SPC5_ETIMER_0;
ICUD4.smod_number = 3U;
+ ICUD4.clock = SPC5_ETIMER0_CLK;
#endif
#if SPC5_ICU_USE_SMOD4
@@ -834,6 +838,7 @@ void icu_lld_init(void) {
icuObjectInit(&ICUD5);
ICUD5.etimerp = &SPC5_ETIMER_0;
ICUD5.smod_number = 4U;
+ ICUD5.clock = SPC5_ETIMER0_CLK;
#endif
#if SPC5_ICU_USE_SMOD5
@@ -841,6 +846,7 @@ void icu_lld_init(void) {
icuObjectInit(&ICUD6);
ICUD6.etimerp = &SPC5_ETIMER_0;
ICUD6.smod_number = 5U;
+ ICUD6.clock = SPC5_ETIMER0_CLK;
#endif
#if SPC5_ICU_USE_SMOD6
@@ -848,6 +854,7 @@ void icu_lld_init(void) {
icuObjectInit(&ICUD7);
ICUD7.etimerp = &SPC5_ETIMER_1;
ICUD7.smod_number = 0U;
+ ICUD7.clock = SPC5_ETIMER1_CLK;
#endif
#if SPC5_ICU_USE_SMOD7
@@ -855,6 +862,7 @@ void icu_lld_init(void) {
icuObjectInit(&ICUD8);
ICUD8.etimerp = &SPC5_ETIMER_1;
ICUD8.smod_number = 1U;
+ ICUD8.clock = SPC5_ETIMER1_CLK;
#endif
#if SPC5_ICU_USE_SMOD8
@@ -862,6 +870,7 @@ void icu_lld_init(void) {
icuObjectInit(&ICUD9);
ICUD9.etimerp = &SPC5_ETIMER_1;
ICUD9.smod_number = 2U;
+ ICUD9.clock = SPC5_ETIMER1_CLK;
#endif
#if SPC5_ICU_USE_SMOD9
@@ -869,6 +878,7 @@ void icu_lld_init(void) {
icuObjectInit(&ICUD10);
ICUD10.etimerp = &SPC5_ETIMER_1;
ICUD10.smod_number = 3U;
+ ICUD10.clock = SPC5_ETIMER1_CLK;
#endif
#if SPC5_ICU_USE_SMOD10
@@ -876,6 +886,7 @@ void icu_lld_init(void) {
icuObjectInit(&ICUD11);
ICUD11.etimerp = &SPC5_ETIMER_1;
ICUD11.smod_number = 4U;
+ ICUD11.clock = SPC5_ETIMER1_CLK;
#endif
#if SPC5_ICU_USE_SMOD11
@@ -883,6 +894,7 @@ void icu_lld_init(void) {
icuObjectInit(&ICUD12);
ICUD12.etimerp = &SPC5_ETIMER_1;
ICUD12.smod_number = 5U;
+ ICUD12.clock = SPC5_ETIMER1_CLK;
#endif
#if SPC5_ICU_USE_SMOD12
@@ -890,6 +902,7 @@ void icu_lld_init(void) {
icuObjectInit(&ICUD13);
ICUD13.etimerp = &SPC5_ETIMER_2;
ICUD13.smod_number = 0U;
+ ICUD13.clock = SPC5_ETIMER2_CLK;
#endif
#if SPC5_ICU_USE_SMOD13
@@ -897,6 +910,7 @@ void icu_lld_init(void) {
icuObjectInit(&ICUD14);
ICUD14.etimerp = &SPC5_ETIMER_2;
ICUD14.smod_number = 1U;
+ ICUD14.clock = SPC5_ETIMER2_CLK;
#endif
#if SPC5_ICU_USE_SMOD14
@@ -904,6 +918,7 @@ void icu_lld_init(void) {
icuObjectInit(&ICUD15);
ICUD15.etimerp = &SPC5_ETIMER_2;
ICUD15.smod_number = 2U;
+ ICUD15.clock = SPC5_ETIMER2_CLK;
#endif
#if SPC5_ICU_USE_SMOD15
@@ -911,6 +926,7 @@ void icu_lld_init(void) {
icuObjectInit(&ICUD16);
ICUD16.etimerp = &SPC5_ETIMER_2;
ICUD16.smod_number = 3U;
+ ICUD16.clock = SPC5_ETIMER2_CLK;
#endif
#if SPC5_ICU_USE_SMOD16
@@ -918,6 +934,7 @@ void icu_lld_init(void) {
icuObjectInit(&ICUD17);
ICUD17.etimerp = &SPC5_ETIMER_2;
ICUD17.smod_number = 4U;
+ ICUD17.clock = SPC5_ETIMER2_CLK;
#endif
#if SPC5_ICU_USE_SMOD17
@@ -925,6 +942,7 @@ void icu_lld_init(void) {
icuObjectInit(&ICUD18);
ICUD18.etimerp = &SPC5_ETIMER_2;
ICUD18.smod_number = 5U;
+ ICUD18.clock = SPC5_ETIMER2_CLK;
#endif
#if SPC5_ICU_USE_ETIMER0
diff --git a/os/hal/platforms/SPC5xx/eTimer_v1/icu_lld.h b/os/hal/platforms/SPC5xx/eTimer_v1/icu_lld.h
index 1e07e7918..f95f5356f 100644
--- a/os/hal/platforms/SPC5xx/eTimer_v1/icu_lld.h
+++ b/os/hal/platforms/SPC5xx/eTimer_v1/icu_lld.h
@@ -468,6 +468,10 @@ struct ICUDriver {
#endif
/* End of the mandatory fields.*/
/**
+ * @brief Clock value for this unit.
+ */
+ uint32_t clock;
+ /**
* @brief eTimer submodule number.
*/
uint32_t smod_number;