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

cpu/gd32v: add periph_gpio_ll and periph_gpio_ll_irq support #19243

Merged
merged 4 commits into from
Feb 7, 2023

Conversation

gschorcht
Copy link
Contributor

@gschorcht gschorcht commented Feb 4, 2023

Contribution description

This PR provides the periph_gpio_ll and periph_gpio_ll_irq support for GD32VF103. Level triggered interrupts are emulated.

periph_gpio_ll_irq could be split off from this PR as a separate PR if necessary.

Testing procedure

Use any GD32V board and connect PA0 -> PB0 and PA1 -> PB1 where PA is the output port and PB the input port. With these connections tests/periph_gpio_ll should work.

BOARD=sipeed-longan-nano make -j8 -C tests/periph_gpio_ll flash term

If necessary, change the input and output pins by setting the environment variables and connect the corresponding pins, for example for seeedstudio-gd32 PA1 -> PB8 and PA8 -> PB9:

PIN_OUT_0=1 PIN_OUT_1=8  PIN_IN_0=8 PIN_IN_1=9 BOARD=seedstudio-gd32 make -j8 -C tests/periph_gpio_ll flash term

Issues/PRs references

@github-actions github-actions bot added Area: cpu Area: CPU/MCU ports Area: drivers Area: Device drivers Area: Kconfig Area: Kconfig integration labels Feb 4, 2023
@gschorcht gschorcht added Type: new feature The issue requests / The PR implemements a new feature for RIOT CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Platform: RISC-V Platform: This PR/issue effects RISC-V-based platforms labels Feb 4, 2023
@gschorcht gschorcht force-pushed the cpu/gd32v/periph_gpio_ll branch from 8ecdca6 to 41289cb Compare February 4, 2023 11:07
@github-actions github-actions bot removed the Platform: RISC-V Platform: This PR/issue effects RISC-V-based platforms label Feb 4, 2023
@gschorcht gschorcht changed the title cpu/gd32v: add support for periph_gpio_ll and periph_gpio_ll_irq cpu/gd32v: add periph_gpio_ll and periph_gpio_ll_irq support Feb 4, 2023
@riot-ci
Copy link

riot-ci commented Feb 4, 2023

Murdock results

✔️ PASSED

712b55e cpu/gd32v: fix a #endif comment in periph_cpu.h

Success Failures Total Runtime
6851 0 6851 10m:33s

Artifacts

@benpicco benpicco requested a review from maribu February 6, 2023 14:30
Copy link
Member

@maribu maribu left a comment

Choose a reason for hiding this comment

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

Thx :) Code looks good and the app should catch any bugs. Please squash right away.

cpu/gd32v/periph/gpio_ll_irq.c Outdated Show resolved Hide resolved
@gschorcht gschorcht force-pushed the cpu/gd32v/periph_gpio_ll branch from 41289cb to 0561e99 Compare February 7, 2023 11:20
@maribu
Copy link
Member

maribu commented Feb 7, 2023

bors merge

@bors
Copy link
Contributor

bors bot commented Feb 7, 2023

🕐 Waiting for PR status (GitHub check) to be set, probably by CI. Bors will automatically try to run when all required PR statuses are set.

bors bot added a commit that referenced this pull request Feb 7, 2023
19243: cpu/gd32v: add periph_gpio_ll and periph_gpio_ll_irq support r=maribu a=gschorcht

### Contribution description

This PR provides the `periph_gpio_ll` and `periph_gpio_ll_irq` support for GD32VF103. Level triggered interrupts are emulated.

`periph_gpio_ll_irq` could be split off from this PR as a separate PR if necessary.

### Testing procedure

Use any GD32V board and connect PA0 -> PB0 and PA1 -> PB1 where PA is the output port and PB the input port. With these connections `tests/periph_gpio_ll` should work.
```
BOARD=sipeed-longan-nano make -j8 -C tests/periph_gpio_ll flash term
```

If necessary, change the input and output pins by setting the environment variables and connect the corresponding pins, for example for `seeedstudio-gd32` PA1 -> PB8 and PA8 -> PB9:
```
PIN_OUT_0=1 PIN_OUT_1=8  PIN_IN_0=8 PIN_IN_1=9 BOARD=seedstudio-gd32 make -j8 -C tests/periph_gpio_ll flash term
```

### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
@maribu
Copy link
Member

maribu commented Feb 7, 2023

manual merge train packing 🚂 🚋 🚋

bors retry

@bors
Copy link
Contributor

bors bot commented Feb 7, 2023

Already running a review

@maribu
Copy link
Member

maribu commented Feb 7, 2023

bors cancel
bors retry

Come on, let's get two PRs in the merge train :)

@bors
Copy link
Contributor

bors bot commented Feb 7, 2023

Canceled.

bors bot added a commit that referenced this pull request Feb 7, 2023
19243: cpu/gd32v: add periph_gpio_ll and periph_gpio_ll_irq support r=maribu a=gschorcht

### Contribution description

This PR provides the `periph_gpio_ll` and `periph_gpio_ll_irq` support for GD32VF103. Level triggered interrupts are emulated.

`periph_gpio_ll_irq` could be split off from this PR as a separate PR if necessary.

### Testing procedure

Use any GD32V board and connect PA0 -> PB0 and PA1 -> PB1 where PA is the output port and PB the input port. With these connections `tests/periph_gpio_ll` should work.
```
BOARD=sipeed-longan-nano make -j8 -C tests/periph_gpio_ll flash term
```

If necessary, change the input and output pins by setting the environment variables and connect the corresponding pins, for example for `seeedstudio-gd32` PA1 -> PB8 and PA8 -> PB9:
```
PIN_OUT_0=1 PIN_OUT_1=8  PIN_IN_0=8 PIN_IN_1=9 BOARD=seedstudio-gd32 make -j8 -C tests/periph_gpio_ll flash term
```

### Issues/PRs references


19257: pkg/lvgl: bump to 8.3.5 r=maribu a=aabadie



Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
Co-authored-by: Alexandre Abadie <alexandre.abadie@inria.fr>
@bors
Copy link
Contributor

bors bot commented Feb 7, 2023

Build failed (retrying...):

@bors
Copy link
Contributor

bors bot commented Feb 7, 2023

Canceled.

@gschorcht
Copy link
Contributor Author

Build failed (retrying...):

Cool, Rust catched a problem in #endif DOXYGEN that the preprocessor was accpeting.

@gschorcht
Copy link
Contributor Author

bors merge

@bors
Copy link
Contributor

bors bot commented Feb 7, 2023

🕐 Waiting for PR status (GitHub check) to be set, probably by CI. Bors will automatically try to run when all required PR statuses are set.

@benpicco
Copy link
Contributor

benpicco commented Feb 7, 2023

bors merge

@bors
Copy link
Contributor

bors bot commented Feb 7, 2023

🕐 Waiting for PR status (GitHub check) to be set, probably by CI. Bors will automatically try to run when all required PR statuses are set.

@benpicco
Copy link
Contributor

benpicco commented Feb 7, 2023

bors merge

@bors
Copy link
Contributor

bors bot commented Feb 7, 2023

Build succeeded:

@bors bors bot merged commit f341ad6 into RIOT-OS:master Feb 7, 2023
@gschorcht
Copy link
Contributor Author

Thanks for reviewing.

@gschorcht gschorcht deleted the cpu/gd32v/periph_gpio_ll branch February 8, 2023 20:49
@MrKevinWeiss MrKevinWeiss added this to the Release 2023.04 milestone Apr 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: cpu Area: CPU/MCU ports Area: drivers Area: Device drivers Area: Kconfig Area: Kconfig integration CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Type: new feature The issue requests / The PR implemements a new feature for RIOT
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants