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

37 Commits

Author SHA1 Message Date
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