Skip to content
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

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
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 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