diff --git a/tests/drivers/uart/uart_pm/src/main.c b/tests/drivers/uart/uart_pm/src/main.c
index 7f3782e..6b64085 100644
--- a/tests/drivers/uart/uart_pm/src/main.c
+++ b/tests/drivers/uart/uart_pm/src/main.c
@@ -203,36 +203,36 @@
 	communication_verify(dev, true);
 }
 
-static void timeout(struct k_timer *timer)
+static void work_handler(struct k_work *work)
 {
-	const struct device *uart = k_timer_user_data_get(timer);
+	const struct device *dev = DEVICE_DT_GET(UART_NODE);
 
-	action_run(uart, PM_DEVICE_ACTION_SUSPEND, 0);
+	action_run(dev, PM_DEVICE_ACTION_SUSPEND, 0);
 }
 
-static K_TIMER_DEFINE(pm_timer, timeout, NULL);
-
 /* Test going into low power state after interrupting poll out. Use various
  * delays to test interruption at multiple places.
  */
 ZTEST(uart_pm, test_uart_pm_poll_tx_interrupted)
 {
+	static struct k_work_delayable dwork;
+	static struct k_work_sync sync;
 	const struct device *dev;
 	char str[] = "test";
 
 	dev = DEVICE_DT_GET(UART_NODE);
 	zassert_true(device_is_ready(dev), "uart device is not ready");
 
-	k_timer_user_data_set(&pm_timer, (void *)dev);
+	k_work_init_delayable(&dwork, work_handler);
 
 	for (int i = 1; i < 100; i++) {
-		k_timer_start(&pm_timer, K_USEC(i * 10), K_NO_WAIT);
+		k_work_schedule(&dwork, K_USEC(i * 10));
 
 		for (int j = 0; j < sizeof(str); j++) {
 			uart_poll_out(dev, str[j]);
 		}
 
-		k_timer_status_sync(&pm_timer);
+		k_work_flush_delayable(&dwork, &sync);
 
 		action_run(dev, PM_DEVICE_ACTION_RESUME, 0);
 
