Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

boards/atmega8: new board #19754

Merged
merged 3 commits into from
Jul 12, 2023
Merged

boards/atmega8: new board #19754

merged 3 commits into from
Jul 12, 2023

Conversation

hugueslarrive
Copy link
Contributor

@hugueslarrive hugueslarrive commented Jun 22, 2023

@github-actions github-actions bot added Area: doc Area: Documentation Area: boards Area: Board ports Area: Kconfig Area: Kconfig integration labels Jun 22, 2023
@benpicco benpicco added the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Jul 5, 2023
@benpicco
Copy link
Contributor

benpicco commented Jul 5, 2023

You probably want to run

dist/tools/insufficient_memory/add_insufficient_memory_board.sh atmega8

since this will end up in many Makefile.ci files

@riot-ci
Copy link

riot-ci commented Jul 6, 2023

Murdock results

✔️ PASSED

3c46583 examples and tests: add atmega8 to relevent Makefile.ci

Success Failures Total Runtime
6936 0 6936 08m:55s

Artifacts

@benpicco
Copy link
Contributor

benpicco commented Jul 6, 2023

I think this needs a rebase for static tests to not fail anymore.

@hugueslarrive
Copy link
Contributor Author

You probably want to run

dist/tools/insufficient_memory/add_insufficient_memory_board.sh atmega8

since this will end up in many Makefile.ci files

This has led to some compilation failures. Can I commit the fixes here or do I need to create another PR ?

@benpicco
Copy link
Contributor

benpicco commented Jul 6, 2023

Sure just add the fixes here.

@hugueslarrive
Copy link
Contributor Author

I don't know how to fix this one :

bootloaders/riotboot_tinyusb_dfu        build failed
make : on entre dans le répertoire « /home/hugues/github/boards_atmega8/RIOT/bootloaders/riotboot_tinyusb_dfu »
/bin/sh: 1: arithmetic expression: expecting primary: "(8*1024-) / 2"
/home/hugues/github/boards_atmega8/RIOT/pkg/tinyusb/Makefile.include:36: *** CPU atmega8 or CPU family  not supported. Arrêt.
make : on quitte le répertoire « /home/hugues/github/boards_atmega8/RIOT/bootloaders/riotboot_tinyusb_dfu »

This should result in "not supported" as with other bootloders, as we do not have the required riotboot feature.

@github-actions github-actions bot added Area: tests Area: tests and testing framework Area: pkg Area: External package ports Platform: AVR Platform: This PR/issue effects AVR-based platforms Area: cpu Area: CPU/MCU ports Area: examples Area: Example Applications labels Jul 6, 2023
@hugueslarrive
Copy link
Contributor Author

All the checks are green now.

I have a doubt about the use of FEATURES_BLACKLIST in cpu/atmega8/Makefile.features. It works but normally it's only for modules and applications according to the documentation so it's a trick that probably shouldn't be in a cpu Makefile. I also don't know how to reflect it in Kconfig. However, it's much simpler than removing periph_cpuid from atmega_common and adding it to all atmega cpus except atmega8.

The problem was the lack of definition of the SIGRD bit of the SPMC(S)R register in avr/iom8.h. According to the datasheet, bit 5 of this register is reserved, but this is also the case for the atmega328p, although it is defined in avr/iom328p.h and the driver works correctly for it. So I tried to define it in the driver, which enabled test/periph/cpuid to be compiled for atmega8. However, unlike atmega328p, the values returned were incorrect (0xbc 0xe7 0xe6 instead of 0x1e 0x93 0x07 for atmega8).

@hugueslarrive
Copy link
Contributor Author

The dpgpin feature should be removed as well.

@github-actions github-actions bot added Area: pkg Area: External package ports and removed Area: pkg Area: External package ports labels Jul 7, 2023
@benpicco
Copy link
Contributor

Please squash!

Copy link
Contributor

@benpicco benpicco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bors merge

bors bot added a commit that referenced this pull request Jul 11, 2023
19754: boards/atmega8: new board r=benpicco a=hugueslarrive

### Contribution description
Splitted from:
- #19740

### Testing procedure
Tested on atmega8 with:
- #19755

### Issues/PRs references

Dependencies:
- #19753
- #19752
- #19751



Co-authored-by: Hugues Larrive <hlarrive@pm.me>
@benpicco
Copy link
Contributor

Uh can you keep this at least as 3 commits, one for the board, one for the changes to cpu/ and one to add the board to Makefile.ci?

bors cancel

@bors
Copy link
Contributor

bors bot commented Jul 11, 2023

Canceled.

@benpicco
Copy link
Contributor

There still is a merge conflict in gpio_ll_irq.c that needs to be resolved.

@benpicco
Copy link
Contributor

bors merge

bors bot added a commit that referenced this pull request Jul 11, 2023
19754: boards/atmega8: new board r=benpicco a=hugueslarrive

### Contribution description
Splitted from:
- #19740

### Testing procedure
Tested on atmega8 with:
- #19755

### Issues/PRs references

Dependencies:
- #19753
- #19752
- #19751



19798: cpu/nrf53: add I2C and SPI support r=benpicco a=dylad

### Contribution description

This PR provides support for nRF53 SPI and I2C.
It also moves common structs from each nRF CPU folder to `cpu/nrf5x_common` to avoid duplication.
Moreover, since nRF9160 and nRF5340 have shared IRQ for UART/SPI/I2C. Both this families now use a common file to register and manage these interrupts. Note that nRF9160 have different name for its interrupts than nRF5340 but they have the same purpose.

### Testing procedure

Since some structs were moved around, I think this PR should be carefully tested against nRF52, nRF53 and nRF9160 to avoid any issues.
On nRF5340DK-APP, SPI can be tested with its onboard SPI flash.

### Issues/PRs references



Co-authored-by: Hugues Larrive <hlarrive@pm.me>
Co-authored-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
@benpicco
Copy link
Contributor

bors cancel

@bors
Copy link
Contributor

bors bot commented Jul 11, 2023

Canceled.

- periph/eeprom.c
- periph/wdt.c
- periph/gpio_ll_irq.c

removed unsupported cpuid and dpgpin feature for atmega8 cpu familly

pkg/qdsa: bump the commit hash bump the commit hash after RIOT-OS/qDSA#4
was merged
using dist/tools/insufficient_memory/add_insufficient_memory_board.sh
@benpicco
Copy link
Contributor

bors merge

@bors
Copy link
Contributor

bors bot commented Jul 12, 2023

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.
For more help, visit the forum.

If you want to switch to GitHub's built-in merge queue, visit their help page.

@bors bors bot merged commit 82f4154 into RIOT-OS:master Jul 12, 2023
@benpicco benpicco added this to the Release 2023.07 milestone Aug 2, 2023
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Area: boards Area: Board ports Area: cpu Area: CPU/MCU ports Area: doc Area: Documentation Area: examples Area: Example Applications Area: Kconfig Area: Kconfig integration Area: pkg Area: External package ports Area: tests Area: tests and testing framework CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Platform: AVR Platform: This PR/issue effects AVR-based platforms
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants