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

31 Commits

Author SHA1 Message Date
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
Joakim Nohlgård
a63c0a84a6 kinetis: Use bit.h functions 2017-06-09 05:19:13 +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
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
Hauke Petersen
37d4f44379 cpus: mv vendor headers to include/vendor/. 2017-03-07 08:55:15 +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
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
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
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
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
Hauke Petersen
75472eddf4 cpu: remove transceiver defines from cpu_conf files 2015-08-06 12:13:54 +02:00
Hauke Petersen
d4d34a782e cpu/k60: adapted to centralized cpu conf 2015-05-29 16:42:05 +02:00
Hauke Petersen
9943f51080 global: renamed cpu-conf.h into cpu_conf.h 2015-05-28 15:45:05 +02:00
Oleg Hahm
d0790ad034 Merge pull request #2993 from gebart/pr/kinetis-bitband-reg
kinetis: remove ambiguous BITBAND_REG macro
2015-05-21 19:18:33 +02:00
Joakim Gebart
af3263b0a2 k60: Use BITBAND_REG32
- Use BITBAND_REG32 instead of BITBAND_REG for improved code readability.
 - Remove BITBAND_PERIPH* from cpu-conf.h
 - Remove BITBAND_REG from MK60D10.h, MK60DZ10.h
2015-05-21 11:00:50 +02:00
Joakim Gebart
82d1432e07 k60: Add BITBAND_REG8,16,32 macros to MK60DZ10.h
For specifying the register access width. Copied from MK60D10.h.
2015-05-21 11:00:49 +02:00
Lucas Jenss
426170b064 Improve naming of thread stacksize/priority constants
As discussed in #2725, this commit renames a number of stacksize constants to
better convey their intended usage. In addition, constants for thread priority
are given a `THREAD_` prefix. Changes are:

* KERNEL_CONF_STACKSIZE_PRINTF renamed to THREAD_EXTRA_STACKSIZE_PRINTF
* KERNEL_CONF_STACKSIZE_DEFAULT renamed to THREAD_STACKSIZE_DEFAULT
* KERNEL_CONF_STACKSIZE_IDLE renamed to THREAD_STACKSIZE_IDLE
* KERNEL_CONF_STACKSIZE_MAIN renamed to THREAD_STACKSIZE_MAIN
* Move thread stacksizes from kernel.h to thread.h, since the prefix changed
* PRIORITY_MIN renamed to THREAD_PRIORITY_MIN
* PRIORITY_IDLE renamed to THREAD_PRIORITY_IDLE
* PRIORITY_MAIN renamed to THREAD_PRIORITY_MAIN
* Move thread priorities from kernel.h to thread.h since the prefix has changed
* MINIMUM_STACK_SIZE renamed to THREAD_STACKSIZE_MINIMUM for consistency
2015-05-21 00:14:23 +02:00
Joakim Gebart
de486ff79f k60: Initial commit of K60 CPU.
Tested on the following Freescale Kinetis K60 CPUs:

 - MK60DN512VLL10

The port should with a high probability also support the following variations of the above CPUs (untested):

 - MK60DN256VLL10

And possibly also:

 - MK60DX256VLL10
 - MK60DX512VLL10
 - MK60DN512VLQ10
 - MK60DN256VLQ10
 - MK60DX256VLQ10
 - MK60DN512VMC10
 - MK60DN256VMC10
 - MK60DX256VMC10
 - MK60DN512VMD10
 - MK60DX256VMD10
 - MK60DN256VMD10

Currently not working on the following CPUs (Missing PIT channel
chaining necessary for kinetis_common/periph/timer implementation):

 - MK60DN256ZVLL10
 - MK60DN512ZVLL10
 - MK60DX256ZVLL10
 - MK60DX512ZVLL10
 - MK60DN512ZVLQ10
 - MK60DN256ZVLQ10
 - MK60DX256ZVLQ10
 - MK60DN512ZVMC10
 - MK60DN256ZVMC10
 - MK60DX256ZVMC10
 - MK60DN512ZVMD10
 - MK60DX256ZVMD10
 - MK60DN256ZVMD10

Regarding header files from Freescale:

   dist/tools/licenses: Add Freescale CMSIS PAL license pattern

Redistribution is OK according to:

https://community.freescale.com/message/477976?et=watches.email.thread#477976

Archive copy in case the above link disappears:

https://web.archive.org/web/20150328073057/https://community.freescale.com/message/477976?et=watches.email.thread

Applies to:
 - MK60DZ10.h (K60 variant)
2015-03-28 08:30:13 +01:00