Commit graph

582 commits

Author SHA1 Message Date
Camille BAUD
2013d6e129 dts: wch: Introduce CH32V203
Introduce CH32V203 SoC

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-05-14 11:02:52 +01:00
Camille BAUD
bab50a55de dts: wch: Enable using whole flash with CH32V208
Enables using the whole flash on CH32V208
This also involves limiting frequency of the CPU to 120Mhz
from 144Mhz to meet recommendations.

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-05-12 16:47:33 +02:00
d68c18471e dts: wch: add the Devicetree for the CH32V006
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 <michaelh@juju.nz>
2025-05-09 01:40:22 +02:00
Tim Lin
b4936c587a dts: ite: it51xxx: Change the base address of voltage selection
Change the base address of GPIO and pinctrl voltage selection
The new base address enables more pins to support voltage selection.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-05-07 13:33:14 +02:00
Ruibin Chang
265a0b991a drivers/pwm/it51xxx: implement pwm driver
Implement pwm driver for ITE it51xxx series chip.

Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw>
2025-05-07 08:17:12 +01:00
Henrik Brix Andersen
de2f9ee9b4 dts: bindings: gpio: neorv32: require interrupt property to be set
Require the interrupt property for the NEORV32 GPIO controller to be set.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-05-06 13:01:20 +02:00
Ren Chen
9743a983f8 drivers: i3c: add it51xxx i3cm driver
Add it51xxx i3c controller driver.

Tested with: it51xxx evb board with st_lps22df sensor

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2025-05-06 13:01:13 +02:00
Ren Chen
76efd333cc drivers: i3c: add it51xxx i3cs driver
Add it51xxx i3c target driver.

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2025-05-06 13:01:13 +02:00
b1aadb6729 drivers: pwm: add a CH32V00x General-prupose Timer Module (GPTM) driver
The GPTM is a general purpose module with a 16 bit prescaler, 16 bit
counter, and 4 compare units that can be used for PWM generation.

Use the same style as gd32 where the timer is a counter and the PWM
mode is a child node.

Signed-off-by: Michael Hope <michaelh@juju.nz>
2025-05-05 21:56:38 +02:00
Henrik Brix Andersen
bd409ab231 dts: riscv: neorv32: add GPTMR devicetree node
Add NEORV32 General Purpose Timer (GPTMR) devicetree node.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-05-05 12:20:50 +02:00
aa469e05fe drivers: pinctrl: enable the AFIO clock on the CH32V003/20x/30x
The Alternate Function IO (AFIO) block must have the clock enabled
before configuring. Some remappings seem to work without, but some
like EXTI do not. Fix.

Signed-off-by: Michael Hope <michaelh@juju.nz>
2025-05-02 10:38:54 +02:00
Raffael Rostagno
8167fe381d drivers: can: esp32c6: Add support
Add TWAI support to ESP32-C6.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-05-02 10:38:39 +02:00
Tim Lin
f7d381fef1 drivers/i2c: Add I2C driver of it51xxx
Implement the functions of I2C host and target.
I2CM: supports nine hosts and each one able located at I2C interface
      0~12.
      supports two 32 bytes dedicated FIFO mode for read and write.
I2CS: supports three targets and each one able located at I2C
      interface 0~8.
      supports 16 bytes dedicated FIFO mode that only supports write or
      read mode and the maximum buffer size is 256 bytes.
      support non-FIFO write to shared FIFO read mode. The maximum
      shared FIFO size for read is 256 bytes.
The APIs test include: i2c_write(), i2c_read(), i2c_burst_read(),
                       i2c_burst_write(), i2c_write_read()

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-04-29 16:48:06 +02:00
Henrik Brix Andersen
1b203bdb77 dts: riscv: neorv32: add PWM controller devicetree node
Add devicetree node for the NEORV32 PWM controller.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-04-29 13:00:17 +02:00
Benjamin Cabé
2e881018ac boards: dts: soc: bflb: use proper folder names
Folders should be named after the vendor prefix

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-04-28 13:40:55 +02:00
Tim Lin
c6824e95ff dts: ite: it8xxx2: Add pinctrl extend setting of CEC alternate function
Add pinctrl extend setting of CEC alternate function.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-04-28 09:23:08 +01:00
1d7a095779 soc: wch: move from qingke-v2 to the more specific qingke-v2a
The CH32V003 CPU is a QingKe V2A while others in the CH32V00x series
use the QingKe V2C. Prepare for adding support for the CH32V006 moving
to the more specifc qingke-v2a, moving some cases of SOC_CH32V003
actually meaning SOC_FAMILY_QINGKE_V2A.

Signed-off-by: Michael Hope <michaelh@juju.nz>
2025-04-26 10:55:45 +02:00
7f21dc2dfa drivers: watchdog: add a CH32V00x Independent Watchdog (IWDT) driver
The CH32V003 has a built-in watchdog that runs off the low speed
internal oscillator. Add a driver.

Signed-off-by: Michael Hope <michaelh@juju.nz>
2025-04-26 10:55:17 +02:00
Lucas Tamborrino
5d74f78332 drivers: gpio: Add LP GPIO
Add LP GPIO support for LP Core

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2025-04-25 14:06:18 +02:00
Ruibin Chang
eb99158a80 drivers/sensor/ite/tach/it51xxx: implement tachometer driver
Implement tachometer driver for ITE it51xxx series chip.

Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw>
2025-04-24 11:56:44 +02:00
Gerson Fernando Budke
531915deda drivers: serial: bouffalolab: Add bflb serial driver
Add Bouffalo Lab serial driver. The driver uses pinctrl to configure
pins and have power management capabilities.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-04-24 01:26:37 +02:00
Gerson Fernando Budke
6520633a90 drivers: pinctrl: bouffalolab: Add bflb pinctrl driver
Add Bouffalo Lab pinctrl driver.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-04-24 01:26:37 +02:00
Gerson Fernando Budke
cb84060409 dts: riscv: bouffalolab: Add bl60x series cpu
Introduce Bouffalo Lab vendor with BL60x cpu.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-04-24 01:26:37 +02:00
Yunshao Chiang
13087ee1b0 drivers: adc: add it515xx_evb board adc driver
Add it515xx analog to digital converter driver which supports 8 channels
ch0 ~ ch7 and 12-bit resolution.

Signed-off-by: Yunshao Chiang <Yunshao.Chiang@ite.com.tw>
2025-04-23 15:02:36 +02:00
Eric Ackermann
e367e1d607 soc: cva6: Add device tree node for RISC-V mtimer
The device tree entry for cva6 is currently missing a device tree node
for the mtime and mtimecmp registers in the core-local interrupt
controllers.
This causes the RISC-V machine timer driver not to be built, causing
build failures as the system clock is missing.
This commit rectifies this by adding the corresponding device tree
entry.

Signed-off-by: Eric Ackermann <eric.ackermann@cispa.de>
2025-04-18 17:46:30 +02:00
Andrei-Edward Popa
502e622644 dts: riscv: wch: added i2c node
added i2c node for ch32v003

Signed-off-by: Andrei-Edward Popa <andrei.popa105@yahoo.com>
2025-04-17 21:17:06 +02:00
Ruibin Chang
41bc8efbee drivers/watchdog/it51xxx: implement watchdog driver
Implement watchdog driver for ITE it51xxx series chip.

Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw>
2025-04-15 09:28:19 +02:00
Ruibin Chang
fb35b6890d drivers/input/it51xxx: implement kbd driver
Implement kbd driver for ITE it51xxx series chip.

Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw>
2025-04-11 14:53:11 +02:00
Lucas Tamborrino
232e2c5a3c drivers: uart: espressif: Add LP UART driver
Add LP UART driver for LP Core

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2025-04-11 13:34:17 +02:00
Eric Ackermann
39babba9a9 soc: add OpenHW Group CVA6 SoC
Adds support for the CVA6 family of RISC-V CPUs.
CVA6 is commonly found as a soft core CPU on FPGA designs.
Different configurations and instruction set extensions can be
configured, and different SoCs targeting various FPGA boards are
available.
This commit adds support for the 32-bit and 64-bit configurations
of CVA6, as well as three slightly different SoCs (a minimal 32-bit
configuration, a 64-bit configuration without FPU, a 64-bit
configuration with FPU).

Signed-off-by: Eric Ackermann <eric.ackermann@cispa.de>
2025-04-11 13:33:50 +02:00
Yunshao Chiang
c6fe84caf2 drivers: counter: add ite it8xxx2 timer driver
The IT8xxx2 timer driver uses timer 7 and timer 8 to implement the alarm
timer and the top timer, respectively.

Signed-off-by: Yunshao Chiang <Yunshao.Chiang@ite.com.tw>
2025-04-08 16:12:11 +02:00
Tim Lin
a531e71376 drivers/timer: Add timer driver of it51xxx
Add timer driver for ITE it51xxx series.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-04-08 10:48:26 +02:00
Tim Lin
d64d87f655 drivers/serial: Add ITE UART wrapper to enable serial driver of ns16550
Add ITE UART wrapper to enable serial driver of ns16550.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-04-08 10:48:26 +02:00
Tim Lin
df56c85e94 drivers/clock: Add clock drivers of it51xxx
Add clock drivers for ITE it51xxx series.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-04-08 10:48:26 +02:00
Tim Lin
f67c2a3d33 drivers/gpio: Add GPIO driver of it51xxx
Add GPIO driver for ITE it51xxx series.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-04-08 10:48:26 +02:00
Tim Lin
8c2f5684bb drivers/flash: Enable flash controller for it51xxx series
Enable flash controller for ITE it51xxx series.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-04-08 10:48:26 +02:00
Tim Lin
d9571f6412 soc: ITE: ilm: Enable instruction memory for it51xxx series
Enable instruction memory for ITE it51xxx series.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-04-08 10:48:26 +02:00
Tim Lin
f0d21fb497 drivers/pinctrl: Enable pinctrl driver for it51xxx series
Enable pinctrl driver for ITE it51xxx series.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-04-08 10:48:26 +02:00
Tim Lin
678adea066 drivers/interrupt: Add interrupt and wake-up control drivers of it51xxx
Add interrupt and wake-up control drivers for ITE it51xxx series.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-04-08 10:48:26 +02:00
Tim Lin
7a06df9cc3 soc: ITE: Add ITE it51xxx SoC
Add support for ITE it51xxx SoC.
NOTE: it51526aw is not support RISCV_ISA_EXT_C.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-04-08 10:48:26 +02:00
Jimmy Zheng
9349d54074 driver: interrupt_controller: intc_clic: rework to standard CLIC driver
Rework intc_clic to standard CLIC driver with Nuclei ECLIC extention.

Signed-off-by: Jimmy Zheng <jimmyzhe@andestech.com>
2025-04-04 14:55:50 +02:00
Patrick Harböck
a67eefd43e drivers: sensor: esp32c6 internal temperature sensor
Support for esp32c6 internal temperature sensor on Zephyr.

Signed-off-by: Patrick Harböck <patrick.harboeck@tngtech.com>
2025-04-01 22:13:50 +02:00
Adam Kondraciuk
4e1b310698 dts: nordic: nrf54: Add nRF54L09 FLPR
Add nrF54L09 FLPR core support.

Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
2025-03-28 08:34:23 +01:00
Fin Maaß
f874253166 boards: litex: vexriscv: add litei2c controller
add litei2c controller.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-03-27 14:01:11 +01:00
Lucas Tamborrino
0b9e4e013a soc: espressif: esp32c6: Add LP Core
Add ULP Coprocessor support for ESP32C6.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2025-03-21 17:05:20 +01:00
Michał Stasiak
b9bcda55c8 dts: nordic: nrf54: add nRF54L20 FLPR core
Added support for nRF54L20 FLPR core in devicetree.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-03-19 10:57:18 +01:00
Sven Ginka
1a8a4fa3fc dts: sy1xx: add support for i2c
adding i2c nodes to sensry soc sy1xx.

Signed-off-by: Sven Ginka <s.ginka@sensry.de>
2025-03-14 14:39:55 +01:00
Camille BAUD
f67b321607 soc: Introduce Qingke V4C-based CH32V208 SoC
This introduces the only CH32 Serie Qingke V4C SoC, CH32V208

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-03-14 14:39:30 +01:00
Henrik Brix Andersen
b4d5fc5cd2 dts: bindings: neorv32: use vendor prefix
Use vendor prefix "neorv32" for all peripherals provided by the NEORV32
RISV-V Processor project.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-03-11 05:36:35 +01:00
Paul Wedeck
1cfec8c19a drivers: dma_wch: add support for the WCH DMA controller
This patch adds an initial driver for the WCH DMA
controller. All hardware features and most interface
features are implemented.

Signed-off-by: Paul Wedeck <paulwedeck@gmail.com>
2025-03-10 21:32:27 +01:00