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

62 Commits

Author SHA1 Message Date
Hauke Petersen
3ede8e9d95 cpu: force size of CPU specific vector table 2017-09-04 15:13:43 +02:00
Hauke Petersen
1a20ef8223 cpu: unified cortex-m base interrupt vector 2017-09-04 15:13:32 +02:00
Joakim Nohlgård
efa4f985ef k60: Update to latest vendor headers 2017-08-04 06:32:41 +02:00
Joakim Nohlgård
f3ca4a1ef0 k60: Update to latest vendor headers 2017-08-03 21:18:09 +02:00
Joakim Nohlgård
742bcad912 kinetis: Unify cpu.c, update clocking initialization
Unify cpu_init for all Kinetis CPUs to reduce code duplication.
Updated the MCG driver implementation to make the configuration easier.
Most clock settings are initialized by kinetis_mcg_init() called from
cpu_init. Board specific external clock source initialization
(FRDM-K64F, PhyNode) needs to be performed in board_init instead of
in cpu_init.
2017-08-01 16:30:19 +02:00
Joakim Nohlgård
60a5c85ca8 kinetis: Merge cpu_conf settings into kinetis_common 2017-07-22 15:51:25 +02:00
Joakim Nohlgård
de78f501ea k60: Remove unused macro definitions and typedefs 2017-07-22 15:51:18 +02:00
Joakim Nohlgård
de8f0b62d9 kinetis: Handle ADC modules without extra ADICLK divider
Newer CPUs have alternate clock sources on ADICLK=1 instead of Bus/2
2017-07-18 08:39:21 +02:00
277189ef05 cpu: k60: remove ssp code 2017-06-27 18:05:14 +02:00
Joakim Nohlgård
a63c0a84a6 kinetis: Use bit.h functions 2017-06-09 05:19:13 +02:00
Joakim Nohlgård
7548c509e6 Merge pull request #7101 from haukepetersen/opt_kinetis_rmsymlinks
cpu/kinetis: prevent use of symlinks for ld-scripts
2017-06-01 06:35:43 +02:00
Hauke Petersen
9b7ece6827 cpu/kinetis: prevent use of symlinks for ld-scripts
The use of symbolic links leads to trouble in certain environments
(e.g. vagrant under Win). This PR gets rid of symlinks and uses
variables in the Makefiles to map to the correct linkerscripts
instead.
2017-05-26 16:07:48 +02:00
Joakim Nohlgård
e618e6dfb4 kinetis: Unify default ISR definitions 2017-05-02 10:52:43 +02:00
0e6b957b76 cpu: k60: remove dangling symlink 2017-04-20 11:00:02 +02:00
Joakim Nohlgård
5203ad2643 k60: Use kinetis_common ldscript, rectify CPU_MODEL to full part number 2017-04-13 14:42:56 +02:00
Joakim Nohlgård
a107a416cf kinetis: Refactor UART driver 2017-04-09 17:21:38 +02:00
Joakim Nohlgård
4a9cb807c6 k60: Remove (broken) support for first revision K60 hardware
The CPU has multiple issues and several parts of the platform code
does not even compile cleanly for this CPU in the current state.

This removes support for parts MK60DN256ZVLL10, MK60DN512ZVLL10
(note the Z) CPUs with this part number were used in Mulle v0.60 which
only has been used in some in-house projects at Eistec and LTU.
2017-04-07 08:39:49 +02:00
Martine Lenders
8e54448aea Merge pull request #6867 from gebart/DipSwitch-pr/remove_system_core_clock_update
cpu: remove superfluous SystemCoreClockUpdate
2017-04-06 21:19:36 +02:00
DipSwitch
a322200582 cpu: remove superfluous SystemCoreClockUpdate 2017-04-06 10:19:27 +02:00
89c5507239 Merge pull request #6788 from gebart/pr/kinetis-lptimer-latch-macro
kinetis: Remove LPTIMER_CNR_NEEDS_LATCHING
2017-04-05 16:14:57 +02:00
Francisco Acosta
ffd67cacea Merge pull request #6789 from gebart/pr/cpu-model-redundant
kinetis: Remove duplicate CPU_MODEL CFLAGS definition
2017-04-05 16:08:33 +02:00
Joakim Nohlgård
7f8cde177b kinetis: Remove LPTIMER_CNR_NEEDS_LATCHING
The macro is no longer used after the timer driver was refactored
2017-04-05 09:04:54 +02:00
Joakim Nohlgård
339a4da9dc Makefiles: move to new directory /makefiles 2017-04-04 15:11:54 +02:00
Joakim Nohlgård
d578f9bfdc kinetis: Remove duplicate CPU_MODEL CFLAGS definition
These are already provided by cortexm_common
2017-03-25 18:28:35 +01:00
Joakim Nohlgård
d73e6872ba kinetis: Refactor interrupt vector definition
... to match the vector definition in other Cortex-M platforms
2017-03-24 15:01:20 +01:00
Hauke Petersen
37d4f44379 cpus: mv vendor headers to include/vendor/. 2017-03-07 08:55:15 +01:00
Hauke Petersen
4bfce892d3 drivers/periph&cpu: add and use common periph_init() 2017-01-25 16:46:46 +01:00
Oleg Hahm
3c6678b037 *: fix mismatching endifs for header guards 2017-01-19 18:30:53 +01:00
Oleg Hahm
7ee7801c10 *: remove trailing underscores from header guards 2017-01-19 18:30:53 +01:00
Hauke Petersen
2c5a9a5cbf cpu/kinetis: unified PM implementation 2017-01-18 14:54:16 +01:00
662bec002a cpu: k60: add periph/pm support 2017-01-12 16:26:02 +01:00
0194091673 remove obsolete lpm code 2017-01-12 11:24:15 +01:00
560a509036 make: remove trailing slash from BINDIR variable 2016-10-18 23:27:59 +02:00
d1198b489d cpu: k60: rename vector.c -> vectors.c, add to SRC_NOLTO 2016-08-29 17:29:53 +02:00
c3f7186d4e unify usage of inline assembly 2016-03-31 22:23:35 +02:00
6881f65f46 cpu: cortexm*: move cpu_conf.h stuff from cpu.h into cpu_conf_common.h 2016-03-05 18:20:17 +01:00
Hauke Petersen
d80a661486 Merge pull request #4761 from haukepetersen/opt_cpuid
drivers/cpuid: fixed and unified CPUID driver implementations
2016-02-08 18:18:53 +01:00
Hauke Petersen
940097336a cpu: cleanup and unification of CPUID implementations
- moved definition of CPUID_LEN to periph_cpu.h
- fixed some doxygen
- simplyfied some implementations
2016-02-08 14:36:03 +01:00
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
Johann Fischer
e95afc80fb kinetis_common: use cortexm_common ldscript
kinetis.ld includes cortexm_common ldscript, the fields for the
isr vectors and fcfield remain in kinetis.ld.
2015-10-23 12:01:22 +02:00
Joakim Gebart
96528ea266 cpu/k60: remove leftover files from old syscall implementation 2015-09-21 08:45:07 +02:00
Joakim Nohlgård
98c465008b all: Update @gebart family name, email 2015-09-20 13:47:39 +02:00
d239f3c4fd cpu: k60: remove obsolete hwtimer support 2015-09-16 10:58:52 +02:00
Joakim Gebart
ff05007a6e boards/mulle: cleanup
Remove old syscalls implementation from before cortexm_common unification and sys/newlib introduction.
2015-08-14 20:09:44 +02:00
Hauke Petersen
75472eddf4 cpu: remove transceiver defines from cpu_conf files 2015-08-06 12:13:54 +02:00
Joakim Gebart
ed81e35e4c cpu/kinetis_common: refactor ldscripts
- Merged the two kinetis_common ldscripts into a single script.
 - Updated cpus to use the new script
 - Updated K60 to merge sram_l and sram_u into one segment
2015-07-08 19:20:00 +02:00
Hauke Petersen
8db0a57a81 cpu/k60: optimization of startup code 2015-06-15 16:00:51 +02:00