Skip to content

wch: add the CH32V00x series and the CH32V006EVT evaluation board #89361

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

Draft
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

nzmichaelh
Copy link
Collaborator

The WCH CH32V00x series is an evolution of the CH32V003 that adds more RAM, flash, and peripherals. Add support for the series, the CH32V006, and the CH32V006EVT.

Tested via the blinky and watchdog samples that show that the LEDs, UART, and watchdog work.

nzmichaelh added 2 commits May 1, 2025 08:13
The QingKe V2C has an integer multiplier but no divide. Add support
for the corresponding Zmmul extension and, as the extension was added
in GCC 13.0, add a test for the compiler version.

Signed-off-by: Michael Hope <[email protected]>
The CH32V006 and others in the CH32V00x series are an evolution of the
CH32V003 and use different remap offsets for the various peripherals.

In the same way as the CH32V20x, fork the CH32V003 driver and add
CH32V00x support.

Signed-off-by: Michael Hope <[email protected]>
nzmichaelh added 5 commits May 1, 2025 09:24
The CH32V006 is part of the CH32V00x series of 32 bit RISC-V
microcontrollers. This series is an evolution of the CH32V003 which
was used as a basis for this Devicetree definition.

Compared to the CH32V003, thie CH32V006 has an extra GPIO port (PB),
an extra UART (UART2), 8 KiB of RAM, 62 KiB of flash, and uses the
QingKe V2C core.

Signed-off-by: Michael Hope <[email protected]>
Compared to the CH32V003, the CH32V00x series is an evolution that
uses a different microarchitecture (V2C instead of V2A) and different
pinctrl mappings.

Fork the current qingke_v2a and use the new proposed naming convention.

Signed-off-by: Michael Hope <[email protected]>
Expand the current systick compatibility to include the CH32V00x
series. Change the HAL compatibility to include all of the CH32V
family.

Signed-off-by: Michael Hope <[email protected]>
The flash latency needs to be configured before switching to the high
speed clock. Set the latency based on the CH32V003 and CH32V00x
reference manual.

Signed-off-by: Michael Hope <[email protected]>
The WCH CH32V006EVT is an evaluation board for the RISC-V based
CH32V006K8U6 SOC.

The board is equipped with a power LED, reset button, USB port for
power, and two user LEDs.

Add the board definition, documentation, and sample overlay.

Signed-off-by: Michael Hope <[email protected]>
@nzmichaelh
Copy link
Collaborator Author

@nzmichaelh
Copy link
Collaborator Author

It blinks: https://photos.app.goo.gl/4wUFAwzGtCcMNaq96

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant