-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cpu/nrf5x_common: rework LFCLK source selection #19803
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Signed-off-by: Dylan Laduranty <[email protected]>
Signed-off-by: Dylan Laduranty <[email protected]>
github-actions
bot
added
Platform: ARM
Platform: This PR/issue effects ARM-based platforms
Area: boards
Area: Board ports
Area: cpu
Area: CPU/MCU ports
labels
Jul 6, 2023
dylad
added
the
CI: ready for build
If set, CI server will compile all applications for all available boards for the labeled PR
label
Jul 6, 2023
benpicco
reviewed
Jul 6, 2023
benpicco
approved these changes
Jul 6, 2023
bors merge |
Build succeeded! The publicly hosted instance of bors-ng is deprecated and will go away soon. If you want to self-host your own instance, instructions are here. If you want to switch to GitHub's built-in merge queue, visit their help page. |
bors bot
added a commit
that referenced
this pull request
Jul 7, 2023
19804: cpu/nrf{53,9160}: add periph_rtt support r=benpicco a=dylad ### Contribution description This PR enables support for `periph_rtt` on both nRF9160 and nRF53. This PR is based on #19803 I was only able to test on nrf5340dk-app as I don't have access to any nrf9160-based board. Here is `test/periph/rtt` output for reference on `nrf5340dk-app`: ### Testing procedure flash `tests/periph/rtt` on `nrf9160dk` or `nrf5340dk-app` and check the results. ``` s 2023-07-06 16:11:16,471 # START 2023-07-06 16:11:16,479 # main(): This is RIOT! (Version: 2023.07-devel-765-g02c65-cpu/nrf53/add_rtt_support) 2023-07-06 16:11:16,480 # 2023-07-06 16:11:16,482 # RIOT RTT low-level driver test 2023-07-06 16:11:16,483 # RTT configuration: 2023-07-06 16:11:16,485 # RTT_MAX_VALUE: 0x00ffffff 2023-07-06 16:11:16,487 # RTT_FREQUENCY: 1024 2023-07-06 16:11:16,487 # 2023-07-06 16:11:16,494 # Testing the tick conversion (with rounding if RTT_FREQUENCY is not power of 2) 2023-07-06 16:11:16,498 # Trying to convert 1 to seconds and back 2023-07-06 16:11:16,501 # Trying to convert 256 to seconds and back 2023-07-06 16:11:16,505 # Trying to convert 65536 to seconds and back 2023-07-06 16:11:16,509 # Trying to convert 16777216 to seconds and back 2023-07-06 16:11:16,514 # Trying to convert 2147483648 to seconds and back 2023-07-06 16:11:16,514 # All ok 2023-07-06 16:11:16,514 # 2023-07-06 16:11:16,517 # Initializing the RTT driver 2023-07-06 16:11:16,835 # This test will now display 'Hello' every 5 seconds 2023-07-06 16:11:16,835 # 2023-07-06 16:11:16,836 # RTT now: 4 2023-07-06 16:11:16,840 # Setting initial alarm to now + 5 s (5124) 2023-07-06 16:11:16,841 # rtt_get_alarm() PASSED 2023-07-06 16:11:16,846 # Done setting up the RTT, wait for many Hellos 2023-07-06 16:11:16,852 # { "threads": [{ "name": "main", "stack_size": 1536, "stack_used": 404 }]} 2023-07-06 16:11:21,833 # Hello 2023-07-06 16:11:26,831 # Hello 2023-07-06 16:11:31,830 # Hello 2023-07-06 16:11:36,828 # Hello 2023-07-06 16:11:41,826 # Hello 2023-07-06 16:11:46,825 # Hello 2023-07-06 16:11:51,823 # Hello 2023-07-06 16:11:56,821 # Hello 2023-07-06 16:12:01,821 # Hello 2023-07-06 16:12:06,819 # Hello 2023-07-06 16:12:11,817 # Hello 2023-07-06 16:12:16,815 # Hello 2023-07-06 16:12:21,813 # Hello 2023-07-06 16:12:26,811 # Hello ``` ### Issues/PRs references based on #19803 19807: boards/esp32s2-lilygo-ttgo-t8: fix display configuration r=benpicco a=gschorcht ### Contribution description This PR fixes the display configuration for the ESP32-S2 LilyGO TTGO T8 (also known as LilyGo T-Display S2) which uses a ST7789 as display driver IC that is compatible with the ST7735. For that purpose the ST7735 driver is extended by a pseudomodule definition `st7789` for the ST7789 which is enabled by the board and enables automatically the `st7789` (f57b6b7). Vise versa, board's `Makefile.dep` enables automatically the `st7789` pseudomodule if the `st7735` is used. The pseudomodule `st7789` is just used to increase the upper limit for supported lines. ### Testing procedure ``` BOARD=esp32s2-lilygo-ttgo-t8 make -C tests/drivers/st7735/ flash ``` should work: ![IMG_20230707_112616](https://github.com/RIOT-OS/RIOT/assets/31932013/4393866b-27d9-4a6a-96fc-7c460be35cde) ### Issues/PRs references 19809: cpu/nrf53: add usbdev support r=benpicco a=dylad ### Contribution description This PR enables `periph_usbdev` support on nRF5340DK-app board. Since the IP is the same as nRF52, the driver and its related data and structs were moved from `cpu/nrf52` to `cpu/nrf5x_common` ### Testing procedure Test any USBUS related test application on `nrf5340dk-app` `CFLAGS='-DSECTOR_COUNT=64' USEMODULE='mtd_emulated' make BOARD=nrf5340dk-app -C tests/sys/usbus_msc flash` dmesg output: ``` [ 7466.262760] usb 1-2.1: new full-speed USB device number 16 using xhci_hcd [ 7466.483916] usb 1-2.1: New USB device found, idVendor=1209, idProduct=7d01, bcdDevice= 1.00 [ 7466.483925] usb 1-2.1: New USB device strings: Mfr=3, Product=2, SerialNumber=4 [ 7466.483928] usb 1-2.1: Product: nrf5340dk-app [ 7466.483931] usb 1-2.1: Manufacturer: RIOT-os.org [ 7466.483933] usb 1-2.1: SerialNumber: AD0FD4AE806080C2 [ 7466.487010] usb-storage 1-2.1:1.0: USB Mass Storage device detected [ 7466.487348] scsi host2: usb-storage 1-2.1:1.0 [ 7467.516789] scsi 2:0:0:0: Direct-Access RIOT-OS RIOT_MSC_DISK 1.0 PQ: 0 ANSI: 1 [ 7467.517152] sd 2:0:0:0: Attached scsi generic sg3 type 0 [ 7467.517501] sd 2:0:0:0: [sdd] 64 512-byte logical blocks: (32.8 kB/32.0 KiB) [ 7467.517732] sd 2:0:0:0: [sdd] Write Protect is off [ 7467.517733] sd 2:0:0:0: [sdd] Mode Sense: 03 00 00 00 [ 7467.517906] sd 2:0:0:0: [sdd] No Caching mode page found [ 7467.517910] sd 2:0:0:0: [sdd] Assuming drive cache: write through [ 7467.532159] sd 2:0:0:0: [sdd] Attached SCSI removable disk ``` I also tested `tests/sys/usbus_cdc_ecm` and `tests/sys/usbus/usbus_hid` succesfully. ### Issues/PRs references Co-authored-by: Dylan Laduranty <[email protected]> Co-authored-by: Gunar Schorcht <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Area: boards
Area: Board ports
Area: cpu
Area: CPU/MCU ports
CI: ready for build
If set, CI server will compile all applications for all available boards for the labeled PR
Platform: ARM
Platform: This PR/issue effects ARM-based platforms
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Contribution description
This PR changes the source selection of LFCLK for all nRF families.
This idea is to use the values provided by Nordic vendor files to properly populate the source of the LFCLK. Then setup a per CPU check to ensure the value provided at board level is fine. In the end, the LFCLK source selection is a mere assignment.
The selection of the LFCLK source is still done at board level. I also add a bit of documentation to help users to select another value if needed.
I'll provide in a followup PR,
periph_rtt
support for both nRF9160 and nRF53.Testing procedure
CI should be enough I think. Otherwise, one can ran tests/periph/rtt on any nRF51-based board and any nRF52-based board.
You can also change the LFCLK source at board level to ensure the guards are doing their jobs.
Issues/PRs references
None.