Joakim Nohlgård
98c465008b
all: Update @gebart family name, email
2015-09-20 13:47:39 +02:00
Hauke Petersen
35aaa62c38
cpu/kinetis_common: s/TIMER_DEV/TIMER_BASE/
2015-09-17 13:57:58 +02:00
c0d3524132
cpu: kinetis_common: remove obsolete hwtimer support
2015-09-16 10:58:52 +02:00
daniel-k
7a86344c4d
cpu/cortexm_common: gather addition information on hardfault
2015-08-19 14:24:54 +02:00
Joakim Gebart
601c3002c3
cpu/kinetis_common: Cast device index enums to unsigned int before comparing for out of range values
...
Suppresses false warning in Clang:
warning: comparison of constant 42 with expression of type 'xxx_t'
is always false [-Wtautological-constant-out-of-range-compare]
See:
- https://llvm.org/bugs/show_bug.cgi?id=16154
- https://llvm.org/bugs/show_bug.cgi?id=22062
2015-07-21 07:21:51 +02:00
Joakim Gebart
624c241ec6
cpu/kinetis_common/spi: Fix byte_in unused.
...
Bug reported by the clang static analyzer.
Description: Value stored to 'byte_in' is never read
File: .../riot/cpu/kinetis_common/spi.c
Line: 1261
2015-07-13 17:24:00 +02:00
Johann Fischer
cb8ff544d5
cpu/kinetis_common/i2c.c: add _i2c_reset function, minor fixes
2015-07-09 23:19:56 +02:00
Joakim Gebart
eef8f25a44
kinetis: i2c: Handle ARBL flag in master mode.
...
The ARBL flag signals that bus master arbitration has been lost.
This may occur if devices on the bus misbehave, or in a multi-master
situation, or if devices are not powered and pull the SDA line down, or
if the communication wires are disconnected while communicating.
2015-07-09 23:19:55 +02:00
Joakim Gebart
cba6a81a73
kinetis: i2c: only send STOP in _i2c_stop()
2015-07-09 23:19:55 +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
253e7ce715
cpu/kinetis_common: optimization of startup code
2015-06-15 16:00:51 +02:00
Hauke Petersen
d7f659db71
cpu/kinetis_common: adjusted to changed GPIO if
2015-06-12 19:10:49 +02:00
Joakim Gebart
65f088a246
kinetis: hwtimer refactor/rewrite
...
- Use hwtimer_set for hwtimer_set_absolute()
- Collect hwtimer statistics with #if ENABLE_STATS
- Assembler optimized functions for CNR handling
- Correct off-by-1 after counter reset
- Defer CMR update from hwtimer_unset until ISR fires
2015-06-04 14:25:29 +02:00
Joakim Gebart
7a9f6f9796
Merge pull request #3140 from gebart/pr/kinetis-hwtimer-isr-off-by-1
...
kinetis: hwtimer fix off-by-1 in LPTMR ISR
2015-06-02 19:23:10 +02:00
Joakim Gebart
06c41108c7
kinetis: hwtimer fix off-by-1 in LPTMR ISR
2015-06-02 11:21:49 +02:00
Johann Fischer
072d0a80c7
cpu/kinetis_common/ldscripts: adapt for newlib module
2015-05-31 18:24:05 +02:00
Peter Kietzmann
6dc0e789e1
Merge pull request #3101 from gebart/pr/warning-fixes
...
Various warning fixes
2015-05-31 17:03:49 +02:00
Hauke Petersen
de31e1f9e8
cpu/kinetis_common: fixes to fault_handlers
2015-05-29 16:42:05 +02:00
Joakim Gebart
697b85c182
kinetis: fix SPI double initialization warnings
2015-05-29 14:23:01 +02:00
Joakim Gebart
ec3679fd13
kinetis: spi_init_slave add missing callback assignment
2015-05-29 14:23:01 +02:00
Joakim Gebart
d4c1436de9
kinetis: fix warnings
...
- find_closest_x: sign-compare
- hwtimer_arch: unused-parameter
- i2c_init_slave: unused-parameter
- rnga: sign-compare
- rngb: sign-compare
- spi_transfer_bytes: sign-compare
- spi_transfer_regs: sign-compare
- timer: unused-parameter
2015-05-29 14:21:52 +02:00
Hauke Petersen
9943f51080
global: renamed cpu-conf.h into cpu_conf.h
2015-05-28 15:45:05 +02:00
Johann Fischer
c56afd9575
kinetis: Add check-fcfield-elf.sh
...
Checks an ELF file for a correctly set flash configuration field.
2015-05-27 10:30:33 +02:00
Joakim Gebart
5afd93f29e
kinetis: Add check-fcfield-hex.sh
...
Checks a .hex file for a correctly set flash configuration field.
2015-05-27 10:30:33 +02:00
Joakim Gebart
a745de3ef5
kinetis: Add watchdog disable code snippet
2015-05-27 10:30:21 +02:00
Johann Fischer
31c0ea7358
Merge pull request #2994 from gebart/pr/kinetis-pwm-refactor
...
kinetis: Refactor PWM periph
2015-05-22 09:51:47 +02:00
Joakim Gebart
e82ba82dc3
kinetis: Use BITBAND_REG32 instead of BITBAND_REG in random_rngb.c
2015-05-21 11:00:49 +02:00
Joakim Gebart
c85cc83a5a
kinetis: Refactor PWM periph implementation
...
- Set the proper prescaler value depending on requested frequency
- Return the actual achieved frequency in pwm_init
- Handle 1-8 channels depending on periph_conf.h instead of 4 fixed
- Perform function argument verification before touching the hardware
- Turn on PORT clock gate before touching PORT registers
- Eliminate some magic numbers
2015-05-20 06:16:42 +02:00
Johann F
1d60d9870d
add support for Freescale MKW2x family devices
2015-05-15 08:05:43 +02:00
Oleg Hahm
5079446beb
Merge pull request #2937 from gebart/pr/kinetis-unsuppress-cppcheck
...
kinetis: unsuppress variable scope warnings in rnga.c
2015-05-12 23:24:09 +02:00
Oleg Hahm
828839316b
core: renamed crash.h to panic.h
2015-05-09 18:44:10 +02:00
Joakim Gebart
64d7a5f55a
kinetis: unsuppress variable scope warnings in rnga.c
2015-05-08 21:25:55 +02:00
Joakim Gebart
fd46cb2364
kinetis: Add SPI_[2-7] to spi_transmission_begin
...
Fix compiler warning about unhandled switch cases.
2015-04-28 22:21:57 +02:00
Johann Fischer
36e89175b8
cpu/kinetis_common/spi.c: add a option to use hardware cs (PCS0 only)
...
minor fixes:
- get rid of compiler warning "value 'SPI_1' not handled in switch"
- add a giant macro to avoid redundant code in spi_init_master
2015-04-17 09:05:37 +02:00
Joakim Gebart
7f64920cd7
kinetis: Refactor GPIO to use a look-up-table
...
Saves a bunch of ROM space
mulle, gcc-4.9.2:
text data bss dec hex filename
20800 216 65320 86336 15140 /data/riotbuild/riotproject/tests/periph_gpio/bin/mulle/periph_gpio.elf
18992 216 65320 84528 14a30 /data/riotbuild/riotproject/tests/periph_gpio/bin/mulle/periph_gpio.elf
diff = 1808
36080 272 65264 101616 18cf0 /data/riotbuild/riotproject/examples/default/bin/mulle/default.elf
34296 272 65264 99832 185f8 /data/riotbuild/riotproject/examples/default/bin/mulle/default.elf
diff = 1784
2015-04-09 13:53:21 +02:00
Joakim Gebart
f8eb76caec
kinetis: Enable UART hardware FIFO buffers.
2015-03-10 17:52:07 +01:00
Joakim Gebart
f317cf42a8
kinetis: Add configuration macros for I2C bus speed parameters.
2015-03-04 08:55:06 +01:00
Ludwig Ortmann
51a4f8a43c
cpu/kinetis_common/i2c: fix indent, trailing space
2015-02-18 13:52:48 +01:00
Ludwig Ortmann
cec87139a5
core, cpu, drivers, tests: remove trailing space
2015-02-18 13:52:48 +01:00
Johann Fischer
8afc8dfdc3
cpu/kinetis_common: add common startup.c
...
cpu/kinetis_common/wdog.c: move wdog disable code to initial wdog driver
cpu/kinetis_common/wdog.c: add COP WDOG
cpu/kinetis_common/include/wdog.h: add configuration example
cpu/kinetis_common: add fault handlers
cpu/kinetis_common: add .ramcode and ISR vector relocation to startup.c
2015-02-15 10:28:13 +01:00
Joakim Gebart
a745c018da
kinetis: Refactor RTC into RTT, add RTC wrapper.
2015-02-14 14:20:26 +01:00
Joakim Gebart
29d3959b10
kinetis: Add shared Kinetis linker script.
2015-02-09 17:52:04 +01:00
Johann F
c0628a3058
cpu/kinetis_common: initial import for kinetis_common
...
add peripheral drivers for Freescale Kinetis MCUs:
adc driver
cpuid driver
gpio driver
hwtimer_arch driver (hwtimer used Low Power Timer)
i2c driver (master mode only)
mcg driver
pwm driver
random_rnga driver
random_rngb driver
rtc driver
spi driver
timer driver (timer used Periodic Interrupt Timer)
uart driver
add doc.txt (configuration examples)
random_rnga: Update RNGA driver in preparation for RNGB driver.
random_rngb: Add RNGB driver.
spi: refactor SPI to work for multiple CTARS, add spi_acquire, spi_release
gpio: Add gpio_irq_enable, gpio_irq_disable. Refactor GPIO.
gpio: Add gpio_irq_enable, gpio_irq_disable.
gpio: Refactor ISR functions to work with all GPIOs (0-31) and all ports (PORTA-PORTH)
adc: Refactor ADC, add calibration and scaling.
Added integer scaling of results in adc_map.
Handle precision setting in adc_init.
Set ADC clock divider depending on module clock.
Add ADC_1 as a possible device.
Add ADC calibration procedure according to K60 ref manual.
Handle ADC pins which are not part of the pin function mux.
Signed-off-by: Joakim Gebart <joakim.gebart@eistec.se>
2015-02-04 14:50:54 +01:00