1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

6 Commits

Author SHA1 Message Date
Joakim Nohlgård
570d188a26 cpu/k60: Add __attribute__((used)) to interrupt vector 2016-02-08 13:07:52 +01:00
Joakim Nohlgård
76bddaf213 Merge pull request #3283 from gebart/pr/kinetis-errata-e4218
k60: Add workaround for errata e4218
2015-10-30 07:33:31 +01:00
Joakim Nohlgård
142c28094e kinetis_common: Refactor GPIO implementation
This is a rewrite of the Kinetis GPIO driver which follows the
refactored API in [1]. Pins are specified using the GPIO_PIN(PORT_x, y)
macro, e.g. GPIO_PIN(PORT_E, 25) for the PTE25 pin.

The interrupt pin handling is now implemented as a linked list, this
is more memory efficient, but with a minor variation in interrupt
latency depending on in what order the pins were initialized at
runtime.

Because the linked list entries are taken from a shared pool, there is
also the possibility of running out of available configuration slots,
define the preprocessor macro GPIO_INT_POOL_SIZE in periph_conf.h if
you need more than 16 pins configured for interrupts in the same
application.

[1]: https://github.com/RIOT-OS/RIOT/pull/3095
2015-10-28 14:12:19 +01:00
Joakim Gebart
c404bd97ad k60: Add workaround for errata e4218
e4218: SIM/FLEXBUS: SIM_SCGC7[FLEXBUS] bit should be cleared when the
FlexBus is not being used.

Errata type: Errata

Description:

The SIM_SCGC7[FLEXBUS] bit is set by default. This means that the
FlexBus will be enabled and come up in global chip select mode. With
some code sequence and register value combinations the core could
attempt to prefetch from the FlexBus even though it might not actually
use the value it prefetched. In the case where the FlexBus is
unconfigured, this can result in a hung bus cycle on the FlexBus.

Workaround:

 - If the FlexBus is not being used, disabled the clock to the FlexBus
   during chip initialization by clearing the SIM_SCGC7[FLEXBUS] bit.
 - If the FlexBus will be used, then enable at least one chip select as
   early in the chip initialization process as possible.
2015-10-25 15:12:22 +01:00
Joakim Nohlgård
98c465008b all: Update @gebart family name, email 2015-09-20 13:47:39 +02:00
Hauke Petersen
8db0a57a81 cpu/k60: optimization of startup code 2015-06-15 16:00:51 +02:00