arduino_uno_q: enable CI tests
Enable relevant Twister tests for the Arduino Uno Q board.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
diff --git a/boards/arduino/uno_q/arduino_uno_q.yaml b/boards/arduino/uno_q/arduino_uno_q.yaml
index 5e39bf0..fc1bb28 100644
--- a/boards/arduino/uno_q/arduino_uno_q.yaml
+++ b/boards/arduino/uno_q/arduino_uno_q.yaml
@@ -7,4 +7,19 @@
- gnuarmemb
ram: 786
flash: 2048
+supported:
+ - arduino_i2c
+ - arduino_spi
+ - hts221
+ - dma
+ - spi
+ - dac
+ - adc
+ - watchdog
+ - nvs
+ - pwm
+ - counter
+ - i2c
+ - rtc
+# - usbd # enable usbotg_fs in DTS
vendor: arduino
diff --git a/samples/boards/st/power_mgmt/blinky/boards/arduino_uno_q.overlay b/samples/boards/st/power_mgmt/blinky/boards/arduino_uno_q.overlay
new file mode 100644
index 0000000..d74c3f1
--- /dev/null
+++ b/samples/boards/st/power_mgmt/blinky/boards/arduino_uno_q.overlay
@@ -0,0 +1,22 @@
+&stm32_lp_tick_source {
+ /*
+ * Default LPTIM period is 2 seconds. This means that application will
+ * be woken up every 2 seconds to reload its counter.
+ * This behavior can be tuned in 2 ways:
+ *
+ * A] Extend the default period by setting a prescaler.
+ * New period = 2sec * st,prescaler
+ * Check the lptim bindings to see the impact on CONFIG_SYS_CLOCK_TICKS_PER_SEC
+ * and LPTIM precision.
+ * B] Provide the LPTIM timeout definition.
+ * In this case New period = st,timeout
+ * Then st,prescaler should be defined with the following constraint:
+ * st,timeout < st,prescaler * 2
+ */
+
+ /* The following setting will define LPTIM period as 32 sec */
+ st,prescaler = <16>;
+
+ /* Uncomment this line to have LPTIM period of 5 seconds */
+ /* st,timeout = <5>; */
+};
diff --git a/samples/boards/st/power_mgmt/serial_wakeup/boards/arduino_uno_q.overlay b/samples/boards/st/power_mgmt/serial_wakeup/boards/arduino_uno_q.overlay
new file mode 100644
index 0000000..917fcb5
--- /dev/null
+++ b/samples/boards/st/power_mgmt/serial_wakeup/boards/arduino_uno_q.overlay
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2023 STMicroelectronics
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+&cpu0 {
+ /* USART Wakeup requires automatic HSI16 switch on in deepsleep mode
+ * which isn't possible in Stop Mode 2.
+ * Remove Stop Mode 2 from supported modes
+ */
+ cpu-power-states = <&stop0 &stop1>;
+};
+
+&usart1 {
+ /* Set domain clock to HSI to allow wakeup from Stop mode */
+ clocks = <&rcc STM32_CLOCK_BUS_APB2 0x00004000>,
+ <&rcc STM32_SRC_HSI16 USART1_SEL(2)>;
+
+ /* Configure device as wakeup source */
+ wakeup-source;
+
+ /* Enable FIFO to avoid losing chars on device wakeup */
+ fifo-enable;
+
+ /* Configure sleep pinctrl configuration which will be used when
+ * device is not configured as wakeup source by the application.
+ * This use case is only applicable in PM_DEVICE mode.
+ */
+ pinctrl-1 = <&analog_pa9 &analog_pa10>;
+ pinctrl-names = "default", "sleep";
+};
+
+&clk_hsi {
+ /* Make sure HSI is enabled */
+ status = "okay";
+};
diff --git a/samples/drivers/dac/boards/arduino_uno_q.overlay b/samples/drivers/dac/boards/arduino_uno_q.overlay
new file mode 100644
index 0000000..688d986
--- /dev/null
+++ b/samples/drivers/dac/boards/arduino_uno_q.overlay
@@ -0,0 +1,7 @@
+/ {
+ zephyr,user {
+ dac = <&dac1>;
+ dac-channel-id = <1>;
+ dac-resolution = <12>;
+ };
+};
diff --git a/samples/drivers/i2c/rtio_loopback/boards/arduino_uno_q.conf b/samples/drivers/i2c/rtio_loopback/boards/arduino_uno_q.conf
new file mode 100644
index 0000000..45754c6
--- /dev/null
+++ b/samples/drivers/i2c/rtio_loopback/boards/arduino_uno_q.conf
@@ -0,0 +1 @@
+CONFIG_I2C_STM32_INTERRUPT=y
diff --git a/samples/drivers/i2c/rtio_loopback/boards/arduino_uno_q.overlay b/samples/drivers/i2c/rtio_loopback/boards/arduino_uno_q.overlay
new file mode 100644
index 0000000..42c6c4d
--- /dev/null
+++ b/samples/drivers/i2c/rtio_loopback/boards/arduino_uno_q.overlay
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: Apache-2.0 */
+
+/* One I2C interface (i2c2) is exposed on the SDA/SCL pins from JDIGITAL.
+ * The other (i2c4) is on the Qwiiic connector, pins 3 (SCL) and 4 (SDA).
+ *
+ * Short the same nets together for the test to pass.
+ */
+
+/ {
+ aliases {
+ i2c-controller = &i2c2;
+ i2c-controller-target = &i2c4;
+ };
+};
diff --git a/samples/drivers/uart/async_api/boards/arduino_uno_q.overlay b/samples/drivers/uart/async_api/boards/arduino_uno_q.overlay
new file mode 100644
index 0000000..0a69dc1
--- /dev/null
+++ b/samples/drivers/uart/async_api/boards/arduino_uno_q.overlay
@@ -0,0 +1,11 @@
+/*
+ * Copyright (c) 2025 STMicroelectronics
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+dut: &usart1 {
+ dmas = <&gpdma1 0 25 STM32_DMA_PERIPH_TX>,
+ <&gpdma1 1 24 STM32_DMA_PERIPH_RX>;
+ dma-names = "tx", "rx";
+};
diff --git a/tests/drivers/dac/dac_api/src/test_dac.c b/tests/drivers/dac/dac_api/src/test_dac.c
index 19e2679..6c7b3b2 100644
--- a/tests/drivers/dac/dac_api/src/test_dac.c
+++ b/tests/drivers/dac/dac_api/src/test_dac.c
@@ -35,7 +35,8 @@
defined(CONFIG_BOARD_NUCLEO_U575ZI_Q) || \
defined(CONFIG_BOARD_NUCLEO_U5A5ZJ_Q) || \
defined(CONFIG_BOARD_NUCLEO_WL55JC) || \
- defined(CONFIG_BOARD_RONOTH_LODEV)
+ defined(CONFIG_BOARD_RONOTH_LODEV) || \
+ defined(CONFIG_BOARD_ARDUINO_UNO_Q)
#define DAC_DEVICE_NODE DT_NODELABEL(dac1)
#define DAC_CHANNEL_ID 1