<div dir="ltr">Hi Chrysn,<div><br></div><div>The two timers are needed, because they run in cascade mode. Only that way, I can generate values for XTIMER_HZ that have sufficient resolution. I don't recall the details, but I haven't found another way. The recommended MCU oscillators are typically 38.4 or 40 MHz, and the prescaler is always a power of two, so I cannot get 1us precision with only one timer.</div><div><br></div><div>The newer chips have an additional 32-bit timer with the same problem, but this frees up timers for PWM. I have a PR that I still need to fix though ;-)</div><div><br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div>Kind regards,</div></div></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr">Op ma 12 nov. 2018 om 17:40 schreef chrysn <<a href="mailto:chrysn@fsfe.org">chrysn@fsfe.org</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello RIOT developers,<br>
<br>
working with the EFM32 port trying to use some PWM pins, I found that of<br>
the four TIMER peripherals (each of which is tied to particular sets of<br>
PWM pins it can drive), two adjacent[1] ones are in use<br>
for a combined RIOT timer peripheral that them forms also the<br>
XTIMER_DEV. This means that two timers (1 and 2 of 0, 1, 2 and 3) are<br>
practically unusable for any PWM.<br>
<br>
Before I go head-first into hacking something together with a timer<br>
implementation based on the RTC or the systick peripheral, was there a<br>
particular rationale behind making this the default timer on EFM32?<br>
<br>
AFAICS, the design does make sense when it comes to creating arbitrary<br>
timers (where the lower timer gets its fine-grained top value output a<br>
precise frequency), but that isn't really required when it comes to<br>
providing a timer for XTIMER which has its own XTIMER_HZ value which<br>
"just" needs to set to an adaequate value. How is the trade-off between<br>
having PWM devices vs. having a fine-grained-fixed-frequency capable<br>
timer usually handled?<br>
<br>
Thanks<br>
chrysn<br>
<br>
[1]:  That's a limitation of the chips, where TIMEROUF only works<br>
between adjacent timers.<br>
<br>
-- <br>
To use raw power is to make yourself infinitely vulnerable to greater powers.<br>
  -- Bene Gesserit axiom<br>
_______________________________________________<br>
devel mailing list<br>
<a href="mailto:devel@riot-os.org" target="_blank">devel@riot-os.org</a><br>
<a href="https://lists.riot-os.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">https://lists.riot-os.org/mailman/listinfo/devel</a><br>
</blockquote></div>