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

56 Commits

Author SHA1 Message Date
MrKevinWeiss
e0fdc3c16c
*Kconfig*: Modify Kconfig to remove dep model 2024-03-27 10:28:12 +01:00
Marian Buschsieweke
043e8cc88e
boards,sys/arduino: major clean up
- Rename all `arduino_pinmap.h` to `arduino_iomap.h`
    - An empty `arduino_pinmap.h` that just includes `arduino_iomap.h`
      is provided for backward compatibility
    - Move all info from `arduino_board.h` into the new file as trivial
      macros, so that they can also be used outside of sketches
    - The new name reflects the fact not just pin mappings, but also
      other I/O features such as PWMs are mapped
- Drop all `arduino_board.h`
    - `arduino_board.h` and `arduino_iomap.h` now provide the exact
      same information, just in a different format
    - a generic `arduino_board.h` is provided instead that just
      uses the info in `arduinio_iomap.h` and provides them in the
      format the code in `sys/arduino` expects it
- Add fine grained features to indicate for mappings
    - availability of mappings for analog pins, DAC pins, PWM pins,
      UART devices, SPI/I2C buses to the corresponding RIOT
      identification can now be expressed:
        - `arduino_pins`: `ARDUINO_PIN_0` etc. are available
        - `arduino_analog`: `ARDUINO_A0` etc. are available
        - `arduino_pwm`: `ARDUINO_PIN_13_PWM_DEV` etc. are available
        - `arduino_dac`: `ARDUINO_DAC0` etc. are available
        - `arduino_uart`: `ARDUINO_UART_D0D1` or similar are available
        - `arduino_spi`: `ARDUINO_SPI_ISP` or similar are available
        - `arduino_i2c`: `ARDUINO_I2C_UNO` or similar are available
    - mechanical/electrical compatibility with specific form factors
      can now be expressed as features:
        - `aruino_shield_nano`: Arduino NANO compatible headers
        - `aruino_shield_uno`: Arduino UNO compatible headers
        - `aruino_shield_mega`: Arduino MEGA compatible headers
        - `aruino_shield_isp`: ISP header is available

This provides the groundwork to implement shield support as modules
that can rely on the I/O mappings, rather than having to provide a
configuration per board.
2023-06-26 17:24:07 +02:00
MrKevinWeiss
92794c0eca
boards/*: Model usb and stdio in Kconfig 2023-05-31 13:04:42 +02:00
Benjamin Valentin
2c9a3857d9 boards: convert sam0 boards to new adc_conf_chan_t 2022-09-27 22:43:31 +02:00
Benjamin Valentin
5d111e71aa boards: drop board_init() from board.h 2022-02-25 15:08:58 +01:00
Francisco Molina
464d941a3e boards: drop empty custom board_init & empty board.c 2022-02-22 18:27:37 +01:00
Benjamin Valentin
468ea89953 boards: drop LED init
This is handled by periph_init_leds now
2022-02-18 14:35:43 +01:00
Gunar Schorcht
529c6fa5b4 boards/arduino-mkr: use UART_UNDEF to enable Serial over STDIO 2022-01-06 17:27:53 +01:00
Leandro Lanzieri
7fe6eba806 boards/common/arduino-mkr: model Kconfig 2021-12-15 10:30:51 +01:00
Benjamin Valentin
fc88c4c4e5 boards: drop cpu_init() 2021-10-13 23:36:41 +02:00
Jan Romann
4384795cb9
treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
Benjamin Valentin
8f0fa9411c boards/samd21-arduino-bootloader: rename to samdx1-arduino-bootloader
The bootloader itself is called `uf2-samdx1` and supports both samd21
and samd51.

Rename the module accordingly.
2021-02-09 19:44:03 +01:00
f8822b5f8f
boards: remove not need PORT_LINUX/PORT_DARWIN
They defined the same in serial.inc.mk. Some Darwin default are changed because they are probably wrong
2020-12-02 09:20:57 +01:00
4c290e1f92
boards: remove include of serial.inc.mk 2020-12-02 09:20:57 +01:00
c6ad85a7b0
boards: don't include programmer logic at board level 2020-11-25 22:31:13 +01:00
Benjamin Valentin
0debe57566 common/samd21-arduino-bootloader: use common stdio CDC ACM config 2020-10-20 10:52:50 +02:00
Benjamin Valentin
a863a43207 kconfigs: replace BOOTLOADER_% feature with HIGHLEVEL_STDIO 2020-10-13 10:30:22 +02:00
Benjamin Valentin
971f0f6fee boards: remove the bootloader_% pseudo-feature
This feature is only used to blacklist stdio via CDC ACM.
Introduce the `highlevel_stdio` feature instead to indicate
that stdio functionality requires a running thread to print
anything
2020-10-13 10:30:22 +02:00
Jose Alamos
32103f030c
boards/common/arduino-mkr: Add common Kconfig symbols 2020-07-17 08:43:45 +02:00
benpicco
30ebabb84e
Merge pull request #14007 from benpicco/cpu/sam0_common-pwm
cpu/sam0_common: move PWM to common code, add support for saml21, samd5x
2020-07-09 10:01:08 +02:00
Benjamin Valentin
632d68cebf boards/common/arduino-mkr: update PWM configuration 2020-07-08 21:51:12 +02:00
Francisco Molina
eefb3fa555
cpu/samd21: add unified rtt configuration 2020-06-19 09:16:22 +02:00
51c5497c5a
common/arduino-mkr: add DMA triggers to spi config 2020-06-14 16:21:32 +02:00
Benjamin Valentin
54b57bd97f cpu/sam0_common: drop prescaler from timer config
since c05984b341 the prescaler in the timer
config struct is no longer used.

Let's remove it.
2020-06-11 19:29:43 +02:00
Benjamin Valentin
393105a9e1 boards/common/arduino-mkr: update PWM configuration 2020-04-26 22:52:29 +02:00
0f9e56d0ff
boards/samd21-bootloader: don't use bootloader with slipdev_stdio 2020-04-02 16:42:37 +02:00
Francisco Molina
1387b736b7
boards: conditionally include samd21-arduino-bootloader
samd21-arduino-bootloader and its dependencies will only be
included if no other stdio_% (other than stdio_cdc_acm) is included.
2020-04-01 15:10:32 +02:00
a2c20666f0
boards/arduino-mkr: use bootloader_arduino feature 2020-03-18 10:53:16 +01:00
Francisco
db0452201d
Merge pull request #13567 from aabadie/pr/boards/jlink_export_cleanup
boards: remove exports of jlink related variables
2020-03-10 18:46:58 +01:00
1e9879fbcf
boards: unexport JLINK_DEVICE variable 2020-03-10 16:28:03 +01:00
Dylan Laduranty
88bb019438 boards/sam0: update to use generic uart_hw_fc module 2020-03-10 14:22:34 +01:00
Benjamin Valentin
c4e0ed4b79 boards: use explicit GCLK_SRC defines 2020-02-04 21:17:00 +01:00
Benjamin Valentin
1496149bba cpu/sam0: don't hard-code peripheral clocks
Instead of hard-coding the peripheral clocks to CLOCK_CORECLOCK
introduce helper functions to return the frequency of the individual
GCLKs and use those for baud-rate calculations.

This requires the GCLK to be part of the peripheral's config struct.
While this is already the case for most peripherals, this also adds
it for those where it wasn't used before.

As it defaults to 0 (CLOCK_CORECLOCK) no change is to be expected.
2020-02-04 21:06:21 +01:00
Benjamin Valentin
a51d167a43 cpu/sam0: use GCLK ID instead of bitmask
To simplify board definitions and for unification between samd2x and
newer models, don't use the GCLK bitmask in board definitions.
Instead use the GCLK index and generate the bitmask when needed.
2020-02-04 21:06:21 +01:00
Francisco Molina
74cecf30f0 boards/common/arduino-mkr: remove /Makefile.dep
Makefile.dep is already included for the board no need to do it here.
2020-01-13 11:53:48 +01:00
dylad
fc9549b069 boards/sam0: update sam0-based board to use hw fc 2019-12-20 21:26:56 +01:00
d03c982ddb
boards/arduino-mkr: add mapping for Arduino PWM pins 2019-11-15 17:51:45 +01:00
Benjamin Valentin
0ea2cbf1eb boards: remove RTT_NUMOF/RTC_NUMOF
Those macros are defined but never used.
2019-11-08 14:20:33 +01:00
Kees Bakker
04c84ed158 cpu/sam0: refactor ADC_0 into plain ADC
This change is for all boards with a sam0 cpu. This cpu just has one ADC.
It is unnecessary to have defines with ADC_0_ prefix as if multiple ADCs
are possible.

Some defines were not used, such as ADC_0_EN, ADC_0_CHANNELS,
ADC_MAX_CHANNELS, ADC_0_CLK_SOURCE, ADC_0_CHANNELS

Change all ADC_0_ prefixes to ADC_
2019-10-03 20:45:44 +02:00
f7763438a9
boards/common/arduino-mkr: use common LED0_NAME definition 2019-10-03 09:24:20 +02:00
7bfe086e7c
boards/common/arduino-mkr: split periph_conf file
- periph_conf_common.h contains peripherals configuration common to all mkr boards
- periph_conf.h is specific to a subset of mkr boards (mkr1000 and mkrzero)
2019-10-03 09:24:20 +02:00
cladmi
8305390a05
boards/common: move CPU/CPU_MODEL definition to Makefile.features
cpu/$(CPU)/Makefile.features and cpu/$(CPU)/Makefile.dep are
automatically included

Part of moving CPU/CPU_MODEL definition to Makefile.features to have it
available before Makefile.include.
2019-08-20 16:11:50 +02:00
Benjamin Valentin
8af04cd939 boards: make use of ARRAY_SIZE macro 2019-08-06 19:43:54 +02:00
a68f78bb10
boards/*: remove unused FEATURES_MCU_GROUP variable 2019-06-14 11:32:15 +02:00
3a4dff9ddc
common/arduino-mkr: add usbdev feature 2019-06-06 17:04:35 +02:00
Gaëtan Harter
675bd5eec0
board: remove exporting PORT_LINUX|PORT_DARWIN
PORT_LINUX and PORT_DARWIN are evaluated by
`makefiles/tools/serial.inc.mk` and some boards Makefile.include.
Their value does not need to be exported.

This also globally removes the line saying that the exports are needed
for flash rule.
2019-06-03 16:21:28 +02:00
Benjamin Valentin
849dd4cdce sam0_common: make Timer implementation common across all sam0 MCUs
The currently supported SAM0 MCUs (samd21, saml21, saml1x) share the same
Timer peripheral, yet each of them carries it's own copy of the Timer
driver.

This introduces a new timer driver that is common for all sam0 MCUs and
uses structs for configuration instead of defines.
2019-05-21 11:47:59 +02:00
d95e19af15 boards*: remove periph_gpio/gpio_irq provided feature
It is now provided at cpu level
2018-12-17 20:54:09 +01:00
Joakim Nohlgård
8996cbe313 make: Introduce new feature flag periph_gpio_irq 2018-08-29 08:53:20 +02:00
smlng
500c855017 boards/arduino-mkr*: fix order in struct
C++ requires to init struct attributes in order of there definition
        in the respective struct.
2018-07-25 12:01:40 +02:00