git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@5659 35acf78f-673a-0410-8e92-d51de3d6d3f4

This commit is contained in:
gdisirio 2013-05-03 07:04:22 +00:00
parent cdf9aaf51c
commit b02567ddf8
2 changed files with 24 additions and 2 deletions

View File

@ -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

View File

@ -467,6 +467,10 @@ struct ICUDriver {
ICU_DRIVER_EXT_FIELDS
#endif
/* End of the mandatory fields.*/
/**
* @brief Clock value for this unit.
*/
uint32_t clock;
/**
* @brief eTimer submodule number.
*/