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

1049 Commits

Author SHA1 Message Date
Marian Buschsieweke
c4ff80b6b9
boards/cc{13xx,26xx}: clean up OpenOCD config
Place common OpenOCD configs for the different cc13xx and cc26xx
families in boards/common/cc26xx_cc13xx/dist and automatically select
the correct one based on the (prefix of the) value of `$(CPU_MODEL)`, if
`OPENOCD_CONFIG` was not specified and no custom `openocd.cfg` is
located in the board's `dist` folder.

The `cc2650-launchpad` and `cc2650stk` have been adapted to use the
common config instead.
2023-01-10 21:58:19 +01:00
Marian Buschsieweke
5fbc5e0705
boards/qn9080dk: Improve doc and add J-Link support
- document that the QN9080DK has an alternative firmware for the
  debugger/programmer that supports J-Link
- allow selecting the debugger firmware via parameter / environment
  variable
- add `JLINK_DEVICE` parameter to allow flashing via J-Link
2023-01-10 16:10:50 +01:00
Marian Buschsieweke
6551b03640
boards/common/nrf52: Fix detection of JLinkExe
For nRF52 J-Link was intended to be preferred as programmer over OpenOCD
when both are available, but falling back to OpenOCD when JLinkExe is
not found in `$PATH`. However, there was call the shell missing to
actually detect `JLinkExe`.
2023-01-08 20:16:27 +01:00
bors[bot]
e51d8285f3
Merge #19037
19037: sys/usb, pkg/tinyusb: move USB board reset from highlevel STDIO to CDC ACM r=dylad a=gschorcht

### Contribution description

The USB board reset function `usb_board_reset_coding_cb` can be used on any CDC-ACM interface, even if the CDC ACM interface is not used as high-level STDIO. Therefore, this PR provides the following changes:

- The call of the board reset function `usb_board_reset_coding_cb` from USBUS stack has been moved from the STDIO CDC ACM implementation to the CDC ACM implementation and is thus a feature of any USBUS CDC ACM interface which does not necessarily have to be used as highlevel STDIO.

- The call of the board reset function `usb_board_reset_coding_cb` from tinyUSB stack been moved from module `tinyusb_stdio_cdc_acm` to module `tinyusb_contrib` and is compiled in if the `tinyusb_class_cdc` module is used together the `tinyusb_device` module. Thus, it is now a feature of the tinyUSB CDC ACM interface, which does not necessarily have to be used as highlevel STDIO.
 
- The `usb_board_reset` module defines the `usb_board_reset_in_bootloader` function as a weak symbol to be used when reset in bootloader if no real implementation of this function is compiled in and the `riotboot_reset` module is not used. It only prints an error message that the reset in bootloader is not supported. This is necessary if the module `usb_board_reset` is used to be able to restart the board with an application via a USB CDC ACM interface, but the board's bootloader does not support the reset in bootloader feature.

- A test application has been added that either uses the highlevel STDIO `stdio_acm_cdc` or creates a CDC-ACM interface to enable board resets via USB. If the `usbus_dfu` module is used, it also initializes the DFU interface to be able to work together with the `riotboot_dfu` bootloader.

### Testing procedure

1. Use a board with a bootloader that supports the reset in bootloader via USB, but don't use the highlevel STDIO to check that it works with `usbus_cdc_acm`, for example:
   ```python
   USEMODULE=stdio_uart BOARD=arduino-mkr1000 make -C tests/usb_board_reset flash
   ```
   After reset in application with command
   ```python
   stty -F /dev/ttyACM0 raw ispeed 600 ospeed 600 cs8 -cstopb ignpar eol 255 eof 255
   ```
   command `dmesg` should give an output like the following with RIOT's test VID/PID:
   ```python
   dmesg
   [1745182.057403] usb 1-4.1.2: new full-speed USB device number 69 using xhci_hcd
   [1745182.160386] usb 1-4.1.2: New USB device found, idVendor=1209, idProduct=7d01, bcdDevice= 1.00
   [1745182.160390] usb 1-4.1.2: New USB device strings: Mfr=3, Product=2, SerialNumber=4
   [1745182.160392] usb 1-4.1.2: Product: arduino-mkr1000
   [1745182.160393] usb 1-4.1.2: Manufacturer: RIOT-os.org
   [1745182.160395] usb 1-4.1.2: SerialNumber: 6B6C2CA5229020D8
   [1745182.170982] cdc_acm 1-4.1.2:1.0: ttyACM0: USB ACM device
   ```
   After reset in bootloader with command
   ```python
   stty -F /dev/ttyACM0 raw ispeed 1200 ospeed 1200 cs8 -cstopb ignpar eol 255 eof 255
   ```
   command `dmesg` should give an output like the following with vendor VID/PID:
   ```python
   [1746220.443792] usb 1-4.1.2: new full-speed USB device number 70 using xhci_hcd
   [1746220.544705] usb 1-4.1.2: New USB device found, idVendor=2341, idProduct=024e, bcdDevice= 2.00
   [1746220.544708] usb 1-4.1.2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
   [1746220.553471] cdc_acm 1-4.1.2:1.0: ttyACM0: USB ACM device
   ```
   
2. Test the same as in 1., but this time use the highlevel STDIO to check that there is no regression and it still works with `stdio_cdc_acm`, for example:
   ```python
   BOARD=arduino-mkr1000 make -C tests/usb_board_reset flash
   ```
   
3. Use a board that supports `riotboot_dfu` but doesn't use the highlevel STDIO and flash the `riotboot_dfu` bootloader, for example:
   ```python
   BOARD=stm32f429i-disc1 make -C bootloaders/riotboot_dfu flash term
   ```
   Once the bootloader is flashed, command `dfu-util --list` should give something like the following:
   ```python
   Found DFU: [1209:7d02] ver=0100, devnum=14, cfg=1, intf=0, path="1-2", alt=1, name="RIOT-OS Slot 1", serial="6591620BCB270283"
   Found DFU: [1209:7d02] ver=0100, devnum=14, cfg=1, intf=0, path="1-2", alt=0, name="RIOT-OS Slot 0", serial="6591620BCB270283"
   ```
   If the output gives only
   ```python
   Found Runtime: [1209:7d00] ver=0100, devnum=123, cfg=1, intf=0, path="1-2", alt=0, name="RIOT-OS bootloader", serial="6591620BCB270283"
   ```
   an application is already running in DFU Runtime mode. Use `dfu-util -e` to restart it in bootloader DFU mode.
   Then flash the test application, for example:
   ```python
   FEATURES_REQUIRED=riotboot USEMODULE='usbus_dfu riotboot_reset' \
   BOARD=stm32f429i-disc1 make -C tests/usbus_board_reset PROGRAMMER=dfu-util riotboot/flash-slot0
   ```
   Once the test application is flashed, command `dfu-util --list` should give:
   ```python
   Found Runtime: [1209:7d00] ver=0100, devnum=123, cfg=1, intf=0, path="1-2", alt=0, name="RIOT-OS bootloader", serial="6591620BCB270283"
   ```
   Now, use command
   ```python
   stty -F /dev/ttyACM1 raw ispeed 600 ospeed 600 cs8 -cstopb ignpar eol 255 eof 255
   ``` 
   to restart the board in application. Command `dfu-util --list` should give again the following:
   ```python
   Found Runtime: [1209:7d00] ver=0100, devnum=123, cfg=1, intf=0, path="1-2", alt=0, name="RIOT-OS bootloader", serial="6591620BCB270283"
   ```
   That is, the application is running in DFU Runtime mode. Then use command
   ```python
   stty -F /dev/ttyACM1 raw ispeed 1200 ospeed 1200 cs8 -cstopb ignpar eol 255 eof 255
   ```
   to restart the board in bootloader DFU mode. Command  `dfu-util --list` should now give the following:
   ```python
   Found DFU: [1209:7d02] ver=0100, devnum=50, cfg=1, intf=0, path="1-2", alt=1, name="RIOT-OS Slot 1", serial="7D156425A950A8EB"
   Found DFU: [1209:7d02] ver=0100, devnum=50, cfg=1, intf=0, path="1-2", alt=0, name="RIOT-OS Slot 0", serial="7D156425A950A8EB"
   ```
   That is, the bootloader is in DFU mode and another application can be flash.
   
4. After a hard reset of the board under 3., try the commands `reboot` and `bootloader`. 

5. To check the same for tinyUSB, use the existing tinyUSB application with a CDC ACM interface and add module `usb_board_reset`, for example:
   ```python
   USEMODULE=usb_board_reset BOARD=stm32f429i-disc1 make -C tests/pkg_tinyusb_cdc_msc flash term
   ```
   After flashing, it should be possible to restart the application with command:
   ```python
   stty -F /dev/ttyACM1 raw ispeed 600 ospeed 600 cs8 -cstopb ignpar eol 255 eof 255
   ```
   When using command
   ```python
   stty -F /dev/ttyACM1 raw ispeed 1200 ospeed 1200 cs8 -cstopb ignpar eol 255 eof 255
   ```
   the following error message should be shown in terminal
   ```python
   [cdc-acm] reset in bootloader is not supported
   ```
   
### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-01-03 19:36:16 +00:00
Gunar Schorcht
0fbe9f6dfd boards/common/samdx1-arduino-bootloader: use any CDC ACM interface 2023-01-03 10:05:54 +01:00
Marian Buschsieweke
d2a3ff3d83
boards/{bluepill*,blackpill*}: rename and improve doc
- renamed:
    - `bluepill` --> `bluepill-stm32f103c8`
    - `bluepill-128kib` --> `bluepill-stm32f103cb`
    - `blackpill` --> `blackpill-stm32f103c8`
    - `blackpill-128kib` --> `blackpill-stm32f103cb`
- doc:
    - added link to corresponding hardware page on the STM32-base
      project
    - added picture
2023-01-02 16:23:10 +01:00
bors[bot]
f539035c86
Merge #18756
18756: drivers/usbdev_synopsys_dwc2: add EFM32 support r=chrysn a=gschorcht

### Contribution description

This PR provides the changes for the Synopsys USB OTG IP core DWC2 driver for EFM32 MCUs. It also provides the changes of the board definition for `stk3600` and `stk3700` for testing.

### Testing procedure

`tests/usbus_hid` should work on the EFM32 boards `stk3600` (EFM32LG family) and `stk3700` (EFM32GG family).

It is already tested for a `sltb009a` board (EFM32GG12 family).

### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2022-12-19 12:55:57 +00:00
Gunar Schorcht
7651e68db9 boards/common/silabs: add common USB OTG FS config 2022-12-07 16:34:34 +01:00
Gunar Schorcht
0b1b7e8408 boards/arduino-zero: move tinusb_device feature
The `tinyusb_device` feature introduced with PR #18689 has to be moved from `common/arduino-zero` definition to the `arduino-zero` definition because the common `arduino-zero` features are also used by `wemos-zero` which uses `highlevel_stdio` feature via the `stdio_cdc_acm` module.
2022-12-07 13:56:24 +01:00
Gunar Schorcht
44893a37e4 boards/common/weact-f4x1cx: remove tinyUSB feature
weact-f4xcx boards have only a single USB-C connector that is used for `highlevel_stdio` via USBUS CDC ACM so that it conflicts with tinyUSB for the moment.
2022-12-04 16:23:02 +01:00
Gunar Schorcht
93215df868 sys/usb/usbus: enable USBUS stdio_cdc_acm only if tinyUSB is not used 2022-12-03 12:52:45 +01:00
Gunar Schorcht
9fa01d69d8 boards/common/blxxxpill: enable riotboot feature 2022-11-30 19:28:14 +01:00
Gunar Schorcht
941d6be666 boards: make DFU_USB_ID and DFU_USE_DFUSE overridable 2022-11-30 19:28:14 +01:00
Juergen Fitschen
d9cde14669 treewide: fix typos found by recent codespell 2022-11-24 14:53:48 +01:00
Marian Buschsieweke
232c70ba53
Merge pull request #18948 from maribu/boards/common/nrf52
boards/common/nrf52: fix timer config
2022-11-23 10:47:26 +01:00
Marian Buschsieweke
51b6379dee
boards/common/nrf52: fix timer config
The `channels` member should not be set to the number of hardware
channels *n*, but to *n* - 1 instead. The last channel is implicitly
used in `timer_read()`. Hence out of *n* hardware channels, only *n* - 1
are available to the application.

This fixes a bug introduced by 4d02e15247
which incorrectly set the channel number to *n* rather than to
*n* - 1.
2022-11-22 13:20:53 +01:00
Jue
2a81a2ab5c cpu/efm32: provide periph_uart_modecfg feature for every board 2022-11-21 23:20:19 +01:00
64dcfd67ff
Merge pull request #18811 from maribu/boards/common/nrf52
boards/common/nrf52: improve default clock config
2022-11-21 09:33:47 +00:00
MrKevinWeiss
464f57b4a3
boards: Remove PLL overrides in kconfig
Since we know the HSE speed, manual overrides are not needed anymore
2022-11-03 13:38:09 +01:00
MrKevinWeiss
17cce015d4
treewide/stm32: Make CLOCK_HS* configurable 2022-11-03 11:37:28 +01:00
Marian Buschsieweke
4d02e15247
boards/common/nrf52: improve default clock config
- All nRF52 timers support 32 bit mode, so use that
- All nRF52 timers support at least 4 channels, the timers NRF_TIMER3
  and NRF_TIMER4 even support 6 channels.
- Add a warning that `TIMER_DEV(1)` is used by the IEEE 802.15.4 driver
2022-10-27 21:12:19 +02:00
Marian Buschsieweke
051a1f1e32
boards/common/blxxxpill: rework periph configuration
The peripheral configuration has been completely reworked to resolve
pin conflicts while provided as much of the peripherals as possible.
The changes include:

- Move `I2C_DEV(0)` from PB6/PB7 to PB8/PB9 to solve pin conflict with
  `QDEC_DEV(2)`.
- Use pins PB0, PB1, PB4, and PB5 for PWM instead PA8, PA9, PA10, and
  PA11
    - PA9 and PA10 is in pin conflict with `UART_DEV(0)` which is used
      for stdio with `stdio_uart`, PA8 was in conflict with
      `QDEC_DEV(0)`, PA11 was in conflict with USB D-
- Use PB6, PB7 as `QDEC_DEV(0)` (previously `QDEC_DEV(2)`), as this is
  the only completely conflict free setting
- Use PB4/PB5 instead of PA6/PA7 for QDEC_DEV(1)
    - This fixes a pin conflict with `SPI_DEV(0)` MISO (and
      `ADC_LINE(4)`)
- Only provide QDEC at PB4/PB5 when PWM is not used to avoid conflict
- Only provide QDEC at PA8/PA9 when UART is not used to avoid conflict
- Use SPI2 (PB15, PB14, PB13, PB12) as `SPI_DEV(0)` instead of SPI1,
  use SPI1 (PA7, PA6, PA5, PA4) as `SPI_DEV(1)`
- Only provide `SPI_DEV(1)` if the ADC is not in used to resolve a
  pin conflict
- Move PB0 and PB1 at the end of the ADC lines (previously
  `ADC_LINE(6)` and `ADC_LINE(7)`, now `ADC_LINE(8)` and `ADC_LINE(9)`)
   - Only provide them when PWM is not in use (to resolve pin conflict
     with PWM)
   - Also do not provide them for the Blackpill boards, which are
     missing pins PB0 and PB1 on the headers

To make life of users easier, a Pinout diagram with the new
configuration was added.
2022-10-27 14:28:07 +02:00
0fca912e91
Merge pull request #18714 from gschorcht/drivers/usbdev_synopsys_dwc2_hs_utmi
drivers/usbdev_synopsys_dwc2: add support for internal UTMI HS PHY
2022-10-16 14:05:32 +02:00
Gunar Schorcht
658d6b69b5 boards/common/stm32: add common configuration for internal USB HS PHY 2022-10-16 11:35:42 +02:00
Benjamin Valentin
d3d89aaec8
boards/blxxxpill: configure usbdev_fs 2022-10-13 21:59:47 +02:00
benpicco
d6d8f8dadb
Merge pull request #18679 from gschorcht/drivers/usbdev_synopsys_dwc2_hs
drivers/usbdev_synopsys_dwc2: add USB OTG HS peripheral support for external ULPI HS PHYs
2022-10-07 00:23:29 +02:00
Gunar Schorcht
4384403638 boards/common/esp32{s2,s3}: update USB OTG configuration 2022-10-06 06:26:22 +02:00
Gunar Schorcht
d2f7fd6a0e boards/common/stm32: rename cfg_usb_otg_hs_fs.h to clarify the usage
The `fs` in the file name means that on-chip FS PHY is configured for USB OTG HS. The file is renamed to `cfg_usb_otg_hs_phy_fs.h`
- to clarify that USB OTG HS is just configured with PHY FS and not HS and FS,
- to allow a configuration of USB OTG FS and HS in one file called `cfg_usb_otg_hs_fs.h` or whatever, and
- to allow a configuration of USB OTG HS with ULPI PHY in a file called `cfg_usb_otg_hs_phy_ulpi.h`.
f
2022-10-06 06:25:38 +02:00
Dylan Laduranty
4e39ba4c7a boards/sam0-based: enable tinyusb_device support in Kconfig
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2022-10-05 20:14:02 +02:00
Dylan Laduranty
b17197fe53 boards/sam0-based: enable tinyusb_device support in Makefiles.features
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2022-10-05 19:23:37 +02:00
Gunar Schorcht
990feeec39 boards: enable feature tinyusb_device for STM32 boards 2022-09-30 19:05:51 +02:00
benpicco
45afb8f986
Merge pull request #18644 from gschorcht/drivers/synopsys_dwc2
drivers: add driver for Synopsys DWC2 that is used as USB OTG peripheral on STM32 and ESP32x SoCs
2022-09-29 04:44:32 +02:00
Benjamin Valentin
2c9a3857d9 boards: convert sam0 boards to new adc_conf_chan_t 2022-09-27 22:43:31 +02:00
Gunar Schorcht
293d62ac45 boards/common/esp32: use usbdev_synopsys_dwc2 driver as periph_usbdev 2022-09-27 01:00:57 +02:00
Gunar Schorcht
641e343f7d boards/common/stm32: use usbdev_synopsys_dwc2 driver as periph_usbdev 2022-09-27 01:00:57 +02:00
Benjamin Valentin
f39e502eaf boards: drop unused BTN0_PORT define 2022-09-20 18:08:55 +02:00
Karl Fessel
da51932737 boards: add some missing whitespaces for static tests 2022-09-14 15:11:14 +02:00
Karl Fessel
05f114d0af doc: fix unbalaced grouping
- most were trivial
    - missing group close or open
    - extra space
    - no doxygen comment
- name commad might open an implicit group
    this hould also be implicit cosed but does not happen somtimes
- crazy: internal declared groups have to be closed internal
2022-09-14 15:05:25 +02:00
Marian Buschsieweke
77270e241a
boards/common/stm32: Fix LED configuration
The inverted and non-inverted `LED<num>_ON` and `LED<num>_OFF` macros
are swapped. This didn't reveal in testing as the
`LED<num>_IS_INVERTED` macros where not properly evaluated, due to a
typo in the check. This fixes both.
2022-09-13 08:34:31 +02:00
Gunar Schorcht
d85e9b3cc4 boards/common: add common board definition for ESP32-S2 2022-08-29 17:19:39 +02:00
Marian Buschsieweke
8d1476933b
Merge pull request #18415 from maribu/boards/common/stm32
boards/common/stm32: clean up LED definitions
2022-08-25 20:17:44 +02:00
Gunar Schorcht
84a1dec4f3 boards/common: add common board definition for ESP32-S3 2022-08-17 02:04:07 +02:00
Marian Buschsieweke
a1ed6f3b78
boards/common/blxxxpill: use UART_DEV(0) for stdio
Using `UART_DEV(0)` (UASRT1) for stdio allows to use the same TTL
adapter that is used for programming via `stm32flash` to be used for
serial, without re-wiring after flashing.
2022-08-12 19:13:29 +02:00
Marian Buschsieweke
1fd9913293
boards/common/stm32: clean up LED definitions
Let boards only define the port and pin number of each LEDs. The common
definitions in `stm32_leds.h` will provide `LED<x>_ON`, `LED<x>_OFF`,
`LED<x>_TOGGLE`, `LED<x>_PIN`, `LED<x>_MASK` and `LED<x>_PORT`.

In addition to code de-duplication, this also makes it easier to use
LEDs in GPIO LL, which can be beneficial for super low overhead
debugging output - e.g. when a bug is timing sensitive and `DEBUG()`
would spent to much time for stdio to reproduce a bug.
2022-08-08 23:35:06 +02:00
Gunar Schorcht
0e58666e49 boards/common/esp32: remove SPIFFS defines with default values
All SPIFFS defines are already defined as defaults in
2022-08-05 22:26:44 +02:00
Gunar Schorcht
f8c060e291 boards/common: add common board definition for ESP32-C3 2022-08-05 22:26:22 +02:00
Dylan Laduranty
b278002a8e boards/saml11-xpro: update doc for SERCOM1 fuse
SAML11 needs special handling for enabling SERCOM1 on EXT1. Update board documentation accordingly

Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2022-07-28 22:42:26 +02:00
Leandro Lanzieri
b3ac6b7057
boards select cc2538 Kconfig feature 2022-07-28 09:32:25 +02:00
Leandro Lanzieri
8390641638
drivers/kw41zrf: model Kconfig 2022-07-28 09:32:24 +02:00
Leandro Lanzieri
7d95e9b5a9
drivers/at86rf2xx: model Kconfig 2022-07-28 09:32:24 +02:00
Gunar Schorcht
06d3616710 cpu/esp32: move CPU_FAM definition to board definition
To support ESP32x SoC families with existing Makefiles, CPU_FAM has to be defined by board definition.
2022-07-18 13:05:21 +02:00
Gunar Schorcht
c0becd2819 cpu/esp32: port periph/i2c_hw to ESP-IDF i2c HAL 2022-07-17 18:48:23 +02:00
benpicco
94e9116c04
Merge pull request #18276 from gschorcht/cpu/esp32/periph_hal_esp32_pwm
cpu/esp32: use ESP-IDF ledc HAL for periph/pwm
2022-07-14 18:09:01 +02:00
Gunar Schorcht
2ae2facf90 cpu/esp32: port periph/pwm to ESP-IDF ledc HAL 2022-07-14 15:50:47 +02:00
Peter Kietzmann
9af87803c6
Merge pull request #18137 from Einhornhool/pr/update-cryptoauth-package
pkg/cryptoauthlib: Update package to latest version
2022-07-06 13:30:16 +02:00
Lena Boeckmann
422d81a2b4 pkg/cryptoauthlib: Update package to latest version 2022-07-06 10:45:39 +02:00
krzysztof-cabaj
1e8c7980e3 boards/common/adruino-atmega: fix issue with wrong port for LED0 2022-06-23 09:06:08 -04:00
Marian Buschsieweke
95df0e8315
Merge pull request #18238 from gschorcht/boards/esp32/cleanup_board_init_common
boards/esp32: cleanup board_init_common
2022-06-22 13:53:15 +02:00
Gunar Schorcht
d00c6b0e3c boards/esp32: cleanup board_init_common
board_init_common isn't needed any longer.
2022-06-21 16:21:10 +02:00
Marian Buschsieweke
e3f5ba90fd
boards/{thingy52,ruuvitag}: allow OpenOCD as programmer 2022-06-21 15:04:13 +02:00
Marian Buschsieweke
2bf39e1aca
boards/common/nrf52: fix compilation of thingy52 and ruuvitag 2022-06-08 12:38:23 +02:00
Marian Buschsieweke
f256e48159
Merge pull request #18168 from maribu/boards/common/programmer
boards/common/{nrf52,cc26xx_cc13xx}: improve default programmer selection
2022-06-08 10:15:17 +02:00
Marian Buschsieweke
ed83aa3883
boards/common/cc26xx_cc13xx: improve default PROGRAMMER setting
Only default to uniflash as default programmer if UNIFLASH_PATH is
set. If this isn't the case, `make flash` fails complaining about
missing `UNIFLASH_PATH` anyway.
2022-06-07 16:45:14 +02:00
Marian Buschsieweke
6d39b3c993
boards/common/nrf52: only default PROGRAMMER to jlink if installed 2022-06-07 16:45:13 +02:00
Marian Buschsieweke
8d63b63e7a
boards/common/nucleo: provide TTY_BOARD_FILTER 2022-06-03 19:59:31 +02:00
Marian Buschsieweke
b986279350
boards/common/cc26xx_cc13xx: provide TTY_BOARD_FILTER 2022-06-03 19:59:31 +02:00
benpicco
e1e2b7c5b6
Merge pull request #17601 from gschorcht/cpu/esp32/upgrade_esp-idf_v4.4
cpu/esp32: Upgrade to ESP-IDF v4.4
2022-06-02 10:18:07 +02:00
Gunar Schorcht
1d914d1496 boards/esp32: changes for ESP-IDF v4.4 2022-06-01 13:21:29 +02:00
krzysztof-cabaj
0c2d257b67 boards/nucleo: cpy2remed enabled 2022-05-18 06:30:39 -04:00
benpicco
9ca3dd5d4b
Merge pull request #17656 from benpicco/vfs_default-test
vfs_default: add compile test and add default mount for more boards
2022-03-29 13:47:08 +02:00
Benjamin Valentin
53756e24cb boards/weact-f4x1cx: configure littlefs2 on external flash 2022-03-29 10:24:01 +02:00
fdacb1a118
boards/stm32: adapt I2C configuration where needed 2022-03-23 10:10:08 +01:00
Leandro Lanzieri
5438a967aa
boards/common/qn908x: perfom checksum on shadow copy 2022-03-07 10:28:13 +01:00
Benjamin Valentin
5d111e71aa boards: drop board_init() from board.h 2022-02-25 15:08:58 +01:00
c6151226ad
Merge pull request #17633 from fjmolinas/pr_ztimer_auto_adjust
sys/ztimer: add auto_adjust module
2022-02-23 10:01:05 +01:00
Francisco Molina
464d941a3e boards: drop empty custom board_init & empty board.c 2022-02-22 18:27:37 +01:00
Benjamin Valentin
4d7a3c1dba sys/board_common: add generic board_init() function 2022-02-22 10:04:44 +01:00
Fabian Hüßler
9163d78910 boards: add VBAT for stm32 based boards with ADC 2022-02-21 10:49:43 +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
Francisco Molina
59d069c59d boards: update CONFIG_ZTIMER_USEC_ADJUST% values 2022-02-18 13:07:49 +01:00
Benjamin Valentin
67417ce5a9 drivers/mtd_spi_nor: drop addr_width from mtd_spi_nor_params_t
This is now always determined at run-time.
2022-02-04 12:17:17 +01:00
Gunar Schorcht
529c6fa5b4 boards/arduino-mkr: use UART_UNDEF to enable Serial over STDIO 2022-01-06 17:27:53 +01:00
05da606ea6
Merge pull request #17438 from gschorcht/cpu/esp/feature_cleanup
boards/esp* and cpu/esp: feature definition cleanup
2022-01-04 10:51:33 +01:00
benpicco
40a6000cc5
Merge pull request #17410 from aabadie/pr/cpu/stm32u5
cpu/stm32: add support for U5 family
2022-01-02 18:45:57 +01:00
4465ce1984
boards/common/microbit: fix doxygen grouping 2021-12-23 11:07:58 +01:00
62a682dd2c
boards/b-u585i-iot02a: add initial basic support 2021-12-23 11:04:42 +01:00
Gunar Schorcht
aeb5d1197c boards/esp8266: common periph features moved to cpu/esp_common 2021-12-23 10:33:57 +01:00
Gunar Schorcht
b1d2d46ee4 boards/esp32: common periph features moved to cpu/esp_common 2021-12-23 10:33:35 +01:00
Kevin "Tristate Tom" Weiss
e3f6212708
Merge pull request #17355 from leandrolanzieri/pr/boards/samd21/model_kconfig
boards/samd21-based: model Kconfig
2021-12-15 12:35:32 +01:00
Marian Buschsieweke
26eed0ae5a
Merge pull request #17399 from maribu/boards/common/nrf52xxxdk
boards/common/nrf52xxxdk: Expose LEDs via saul_pwm
2021-12-15 11:08:39 +01:00
Leandro Lanzieri
6ecbfe99f7 boards/common/sodaq: model Kconfig 2021-12-15 10:30:51 +01:00
Leandro Lanzieri
ea0039f7a0 boards/common/arduino-zero: model Kconfig 2021-12-15 10:30:51 +01:00
Leandro Lanzieri
7fe6eba806 boards/common/arduino-mkr: model Kconfig 2021-12-15 10:30:51 +01:00
Leandro Lanzieri
d249fc5ba7 boards/common/samdx1-arduino-bootloader: model Kconfig 2021-12-15 10:30:51 +01:00
MrKevinWeiss
deda2cfb97
boards: Fix stm32 based boards kconfig models 2021-12-15 09:31:45 +01:00
Marian Buschsieweke
c118df3eb2
boards/common/nrf52xxxdk: Expose LEDs via saul_pwm
This allows dimming the LEDs instead of only turning them on and off.
2021-12-14 22:02:56 +01:00
Kevin "Tristate Tom" Weiss
ed94dd7085
Merge pull request #17376 from leandrolanzieri/pr/makefiles/add_board_cpu_config_variables
makefiles/kconfig: add board & CPU config variables
2021-12-13 13:26:40 +01:00
Leandro Lanzieri
df7ce1c647
makefiles/kconfig: use two lists for boards and CPUs default configs
This introduces KCONFIG_BOARD_CONFIG and KCONFIG_CPU_CONFIG variable for
boards and CPUs (including common directories) to add default
configuration files to be merged. The current approach, as it uses
Makefile.features, would include boards first, not allowing them to
override CPU configurations.
2021-12-13 12:33:21 +01:00
Leandro Lanzieri
4be55b7a49
boards/common/esp8266: model Kconfig 2021-12-10 18:54:07 +01:00
Leandro Lanzieri
b3b468ad8b
boards/esp32: model Kconfig 2021-12-10 18:54:07 +01:00
Francisco
7362074f49
Merge pull request #17235 from leandrolanzieri/cpu/kinetis/model_kconfig
cpu/kinetis: model kconfig
2021-12-09 14:22:10 +01:00
Francisco Molina
766bfeace4 boards: model nrf52 boards 2021-12-08 13:25:29 +01:00
Francisco Molina
e25076e370 boards/common/particle-mesh: use nrf52/bootloader_nrfutil.dep.mk 2021-12-08 13:25:29 +01:00
Francisco Molina
7a1758d7f4 boards/particle: use FEATURES_REQUIRED for periph_uart_hw_fc 2021-12-08 13:25:29 +01:00
Francisco Molina
48777f5ba4 boards/common/nrf52xxxdk: align module name with dirname 2021-12-08 13:25:29 +01:00
Leandro Lanzieri
8337d6d762
boards/kinetis: model Kconfig 2021-12-07 11:33:24 +01:00
Leandro Lanzieri
4f51174eb4
Merge pull request #17331 from MrKevinWeiss/pr/kconfig/samd5x
boards/adafruit-itsybitsy-m4: Model kconfig
2021-12-06 10:22:37 +01:00
MrKevinWeiss
b6e7ab3443
boards/adafruit-itsybitsy-m4: Model kconfig 2021-12-06 09:06:12 +01:00
Marian Buschsieweke
7cd9d615fa
cpu/stm32/periph: Use uintptr_t for periph addr
The peripheral register addresses are fixed, properly aligned addresses. Storing
them as uintptr_t makes live easier when casting them to helper structs, as no
intermediate cast to uintptr_t is needed to silence -Wcast-align.
2021-12-03 10:12:32 +01:00
Leandro Lanzieri
d7bf363517
Merge pull request #17290 from fjmolinas/pr_kconfig_msp430
cpu/msp430: add Kconfig
2021-12-03 08:37:11 +01:00
Francisco Molina
7ab05fa129 cpu/msp430: add Kconfig 2021-12-02 16:33:19 +01:00
Leandro Lanzieri
004da59672
sys/ztimer/kconfig: enable xtimer compat only with timer backend
This also moves the selection of MODULE_ZTIMER_PERIPH_TIMER from
MODULE_ZTIMER_USEC to the visible symbol ZTIMER_USEC.
2021-12-02 09:38:06 +01:00
Leandro Lanzieri
14ef4e7aed
boards/qn908x: model Kconfig 2021-11-29 13:56:43 +01:00
Leandro Lanzieri
d962787043
Merge pull request #17274 from fjmolinas/pr_kconfig_nrf51
cpu/nrf51: model kconfig
2021-11-26 12:55:27 +01:00
Francisco Molina
cfb53fef39 boards/common/nrf51: add initial Kconfig modeling
- add airfy-beacon
- add calliope-mini
- add microbit
- add nrf51dk
- add nrf51dongle
- add nrf6310
- add yunjia-nrf51822
2021-11-26 10:39:40 +01:00
Francisco Molina
bbda5fabfe boards/*microbit*: move saul_gpio inclusion to common 2021-11-25 11:55:28 +01:00
Leandro Lanzieri
776875a94c
boards/common/saml1x: model Kconfig 2021-11-25 11:37:26 +01:00
Leandro Lanzieri
3de4b395df
boards/common/arduino-due: model Kconfig 2021-11-23 11:08:40 +01:00
Leandro Lanzieri
845681448d
cpu/atmega_common: move PCINT documentation from boards 2021-11-22 12:25:57 +01:00
Leandro Lanzieri
e5164ca970
boards/common/{atmega,atxmega,arduino-atmega}: model Kconfig 2021-11-22 12:25:30 +01:00
Leandro Lanzieri
0e62d83edb
boards: model efm32 boards Kconfig 2021-11-18 09:03:06 +01:00
2f44452d78
boards/microbit: migrate to ztimer 2021-11-04 15:39:58 +01:00
b0fa356ec6
boards/calliope-mini: use microbit common mineplex module 2021-11-03 12:10:14 +01:00
67add34e75
boards/microbit: put mineplex dependency resolution in common 2021-11-03 11:25:56 +01:00
Marian Buschsieweke
9893efd96f
boards/common/silabs: fix dependencies
The module silabs_pic depends on the feature periph_i2c. However, the
dependency resolution just selected the module implementing that
feature which bypasses feature checks.
2021-11-02 13:34:04 +01:00
Leandro Lanzieri
f64b166319
Merge pull request #16845 from MrKevinWeiss/pr/kconfig/supportstms
.murdock: Add nucleo boards to kconfig test
2021-11-01 09:55:22 +01:00
J. David Ibáñez
c965ce3de6 boards/common/arduino-atmega: define F_CPU
This fixes the following error:

$ BOARD=arduino-mega2560 make -C tests/pkg_arduino_sdi_12/
[...]
[...]/RIOT/build/pkg/arduino_sdi_12/src/SDI12_boards.cpp:35:16: error: ‘preSDI12_TCCR2B’ defined but not used [-Werror=unused-variable
   35 | static uint8_t preSDI12_TCCR2B;
2021-10-28 15:59:40 +02:00
benpicco
f57e2f1e99
Merge pull request #16055 from benpicco/soc_init
cpu: call cpu_init() from startup code, not from board
2021-10-18 20:52:53 +02:00
benpicco
7a413558db
Merge pull request #16305 from iosabi/esp_rts_dtr
boards/common/esp8266: Set RTS and DTR to 0 on pyterm.
2021-10-18 16:42:55 +02:00
ngandrass
ac1250786a boards/nucleo-l152re: Fix Kconfig board name
Kconfig board name for the nucleo-l152re contained a "0" (zero) instead
of the capital letter "O". All faulty occurrences were replaced.
2021-10-18 11:22:27 +02:00
MrKevinWeiss
c7820cf7e5
*/rtt|rtc: Fix Kconfig modeling 2021-10-14 11:28:44 +02:00
MrKevinWeiss
c9ffb8d2af
board/common/nucleo: Use and doc HAVE_* Kconfig 2021-10-14 11:28:42 +02:00
Benjamin Valentin
fc88c4c4e5 boards: drop cpu_init() 2021-10-13 23:36:41 +02:00
Benjamin Valentin
d2fdacd3f3 b/c/particle-mesh: move monofirmware setup to post_startup() 2021-10-13 23:21:56 +02:00
Gunar Schorcht
54c049fe0c boards/esp_common: fix refs to CPU doc section 2021-10-13 17:37:16 +02:00
Marian Buschsieweke
49ab2f0ef2
boards/*esp32*: Fix documentation format
Fix broken references and missing open/closing group commands.
2021-10-10 21:35:31 +02:00
Francisco Molina
3e4b35c445 boards/nrf52840dk-nrf52dk-dwm1000: add kconfig dependencies 2021-09-29 10:19:27 +02:00
Francisco Molina
c9de733c52 cpu/nrf52/Makefile.dep: move radio dependencies from boards/common 2021-09-29 10:16:31 +02:00
MrKevinWeiss
483bca453e
boards/common/remote: Add Kconfig for remote boards 2021-09-08 12:40:32 +02:00
Martine Lenders
873f6936ea
Merge pull request #16788 from benpicco/common/nrf52-netdev_default
boards/nrf52: replace gnrc_netdev_default with netdev_default
2021-09-03 14:37:25 +02:00
Benjamin Valentin
702c3435a8 boards/nrf52: replace gnrc_netdev_default with netdev_default
Only nimble depends on GNRC, but we want to replace gnrc_netdev_default
with netdev_default, so check for gnrc instead.
2021-09-02 14:36:22 +02:00
Benjamin Valentin
87f7e5a963 cpu/atmega_common: move clock init to common code
This code should not be in the realm of the board config, but in
common arch code.
2021-08-27 17:06:50 +02:00
Jan Romann
4384795cb9
treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
Benjamin Valentin
7561d83001 boards/common/kw41z: skip led_init() for riotboot 2021-07-20 22:51:59 +02:00
Benjamin Valentin
90b5d4cfbf boards/common/kw41z: make led_init() static
this saves a few bytes of ROM
2021-07-20 22:51:59 +02:00
MrKevinWeiss
02a2de4916
cpu/stm32: Add Kconfig dependency modeling 2021-07-02 15:11:05 +02:00
Francisco Molina
3269bcef88
boards/common/arduino-atmega: add USEC_ADJUST values 2021-06-15 16:45:34 +02:00
Francisco Molina
d9ee424b7c
cpu/kinetis: use LPTMR as rtt backend 2021-06-15 08:29:09 +02:00
iosabi
52107b2416 esp8266: Support UART1 and other UART0 pins.
The esp8266 CPU has actually two hardware UART peripherals. UART0 is
used by the boot ROM for flashing and serial output during boot,
typically at a baudrate of 74880 bps until the bootloader or application
sets the more standard 115200 baudrate. This UART0 device has two
possible pins for TXD, GPIO1 and GPIO2, which are both set to TXD by the
boot ROM. esp8266 modules will typically have GPIO1 labeled as the TX
pin, but it is possible to use GPIO2 for that purpose even while
flashing the device with esptool.py.

The second device, UART1, also has two options for TXD, GPIO2 and GPIO7,
and only one option for RXD, GPIO8. However, GPIO7 and GPIO8 are used
by the flash internally so those options are not very useful unless
maybe while running from IRAM with the flash disabled, for example for
a debugger over UART1.

This patch allows boards to override UART{0,1}_{R,T}XD in their
periph_conf.h to configure the uart selection. Defining UART1_TX will
make the UART_DEV(1) device available.

Tested with:

```CFLAGS='-DUART1_TXD=GPIO2' make -C tests/periph_uart BOARD=esp8266-esp-12x flash term```

* Connected one USB-UART to the standard GPIO1 and GPIO3 for flashing
  and console. After flashing we see the manual test output at 115200
  bps

* Connected a second USB-UART with RX to GPIO2 running at 74880.

Then run on the first console:
```
> init 1 74880
> send 1 hello
```

The word "hello" appears on the second UART connection.

Note that GPIO2 is used during boot for UART0's TX until the application
or bootloader set it to a regular GPIO, so some boot ROM messages at
74880 bps are visible. After running `init 1 74880` it is set to UART1's
TX.
2021-05-02 12:27:27 +00:00
Francisco
d5f9b99555
Merge pull request #16344 from kfessel/p-efm32-rtt-freq
cpu/efm32: add RTT_FREQUENCY support to efm32
2021-04-21 09:59:10 +02:00