diff --git a/boards/arm/da1469x_dk_pro/Kconfig b/boards/arm/da1469x_dk_pro/Kconfig
new file mode 100644
index 0000000..0bca665
--- /dev/null
+++ b/boards/arm/da1469x_dk_pro/Kconfig
@@ -0,0 +1,4 @@
+# DA1469x series Development Kit Pro board configuration
+
+# Copyright (c) 2022 Renesas Electronics Corporation
+# SPDX-License-Identifier: Apache-2.0
diff --git a/boards/arm/da1469x_dk_pro/Kconfig.board b/boards/arm/da1469x_dk_pro/Kconfig.board
new file mode 100644
index 0000000..0c7f9e2
--- /dev/null
+++ b/boards/arm/da1469x_dk_pro/Kconfig.board
@@ -0,0 +1,8 @@
+# DA1469x series Development Kit Pro board configuration
+
+# Copyright (c) 2022 Renesas Electronics Corporation
+# SPDX-License-Identifier: Apache-2.0
+
+config BOARD_DA1469X_DK_PRO
+	bool "DA1469x series Development Kit Pro board"
+	depends on SOC_SERIES_DA1469X
diff --git a/boards/arm/da1469x_dk_pro/Kconfig.defconfig b/boards/arm/da1469x_dk_pro/Kconfig.defconfig
new file mode 100644
index 0000000..b0a50f8
--- /dev/null
+++ b/boards/arm/da1469x_dk_pro/Kconfig.defconfig
@@ -0,0 +1,11 @@
+# DA1469x series Development Kit Pro board configuration
+
+# Copyright (c) 2022 Renesas Electronics Corporation
+# SPDX-License-Identifier: Apache-2.0
+
+if BOARD_DA1469X_DK_PRO
+
+config BOARD
+	default "da1469x_dk_pro"
+
+endif # BOARD_DA1469X_DK_PRO
diff --git a/boards/arm/da1469x_dk_pro/board.cmake b/boards/arm/da1469x_dk_pro/board.cmake
new file mode 100644
index 0000000..8c19f0e
--- /dev/null
+++ b/boards/arm/da1469x_dk_pro/board.cmake
@@ -0,0 +1,10 @@
+#
+# Copyright (c) 2022 Renesas Electronics Corporation
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+
+board_runner_args(ezflashcli)
+board_runner_args(jlink --device=DA14699)
+include(${ZEPHYR_BASE}/boards/common/ezflashcli.board.cmake)
+include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
diff --git a/boards/arm/da1469x_dk_pro/da1469x_dk_pro-pinctrl.dtsi b/boards/arm/da1469x_dk_pro/da1469x_dk_pro-pinctrl.dtsi
new file mode 100644
index 0000000..45f0851
--- /dev/null
+++ b/boards/arm/da1469x_dk_pro/da1469x_dk_pro-pinctrl.dtsi
@@ -0,0 +1,18 @@
+/*
+ * Copyright (c) 2022 Renesas Electronics Corporation
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+#include <zephyr/dt-bindings/pinctrl/smartbond-pinctrl.h>
+
+&pinctrl {
+	uart_default: uart_default {
+		group1 {
+			pinmux = <SMARTBOND_PINMUX(UART_TX, 0, 9)>;
+		};
+		group2 {
+			pinmux = <SMARTBOND_PINMUX(UART_RX, 0, 8)>;
+			bias-pull-up;
+		};
+	};
+};
diff --git a/boards/arm/da1469x_dk_pro/da1469x_dk_pro.dts b/boards/arm/da1469x_dk_pro/da1469x_dk_pro.dts
new file mode 100644
index 0000000..e075a04
--- /dev/null
+++ b/boards/arm/da1469x_dk_pro/da1469x_dk_pro.dts
@@ -0,0 +1,115 @@
+/*
+ * Copyright (c) 2022 Renesas Electronics Corporation
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+/dts-v1/;
+#include <renesas/smartbond/da14699.dtsi>
+#include "da1469x_dk_pro-pinctrl.dtsi"
+
+/ {
+	model = "DA1469x series Development Kit Pro";
+	compatible = "renesas,da1469x_dk_pro";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	chosen {
+		zephyr,sram = &sram0;
+		zephyr,flash = &flash0;
+		zephyr,console = &uart;
+		zephyr,shell-uart = &uart;
+	};
+
+	leds {
+		compatible = "gpio-leds";
+		red_led: led_0 {
+			gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
+		};
+	};
+
+	arduino_header: connector {
+		compatible = "arduino-header-r3";
+		#gpio-cells = <2>;
+		gpio-map-mask = <0xffffffff 0xffffffc0>;
+		gpio-map-pass-thru = <0 0x3f>;
+		gpio-map =
+			<0 0 &gpio1 9 0>,	/* A0 */
+			<1 0 &gpio0 25 0>,	/* A1 */
+			<2 0 &gpio0 8 0>,	/* A2 */
+			<3 0 &gpio0 9 0>,	/* A3 */
+			<4 0 &gpio1 13 0>,	/* A4 */
+			<5 0 &gpio1 12 0>,	/* A5 */
+			<6 0 &gpio1 2 0>,	/* D0 */
+			<7 0 &gpio1 3 0>,	/* D1 */
+			<8 0 &gpio1 4 0>,	/* D2 */
+			<9 0 &gpio1 5 0>,	/* D3 */
+			<10 0 &gpio1 7 0>,	/* D4 */
+			<11 0 &gpio1 8 0>,	/* D5 */
+			<12 0 &gpio0 17 0>,	/* D6 */
+			<13 0 &gpio0 18 0>,	/* D7 */
+			<14 0 &gpio0 19 0>,	/* D8 */
+			<15 0 &gpio0 20 0>,	/* D9 */
+			<16 0 &gpio0 21 0>,	/* D10 */
+			<17 0 &gpio0 24 0>,	/* D11 */
+			<18 0 &gpio0 26 0>,	/* D12 */
+			<19 0 &gpio0 27 0>,	/* D13 */
+			<20 0 &gpio0 28 0>,	/* D14 */
+			<21 0 &gpio0 29 0>;	/* D15 */
+	};
+
+	aliases {
+		led0 = &red_led;
+	};
+
+	sysclk: system-clock {
+		compatible = "fixed-clock";
+		clock-frequency = <32000000>;
+		#clock-cells = <0>;
+	};
+};
+
+&flash0 {
+	reg = <0 DT_SIZE_M(1)>;
+
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		boot_partition: partition@2400 {
+			label = "mcuboot";
+			reg = <0x000002400 0x00005c00>;
+		};
+		slot0_partition: partition@8000 {
+			label = "image-0";
+			reg = <0x00008000 0x00060000>;
+		};
+		slot1_partition: partition@68000 {
+			label = "image-1";
+			reg = <0x00068000 0x00060000>;
+		};
+		scratch_partition: partition@c8000 {
+			label = "image-scratch";
+			reg = <0x000c8000 0x00010000>;
+		};
+		storage_partition: partition@dc000 {
+			label = "storage";
+			reg = <0x000dc000 0x00004000>;
+		};
+	};
+};
+
+&gpio0 {
+	status = "okay";
+};
+
+&gpio1 {
+	status = "okay";
+};
+
+&uart {
+	current-speed = <115200>;
+	status = "okay";
+	pinctrl-0 = <&uart_default>;
+	pinctrl-names = "default";
+};
diff --git a/boards/arm/da1469x_dk_pro/da1469x_dk_pro.yaml b/boards/arm/da1469x_dk_pro/da1469x_dk_pro.yaml
new file mode 100644
index 0000000..04935f5
--- /dev/null
+++ b/boards/arm/da1469x_dk_pro/da1469x_dk_pro.yaml
@@ -0,0 +1,12 @@
+identifier: da1469x_dk_pro
+name: DA1469X_DK_PRO
+type: mcu
+arch: arm
+ram: 512
+toolchain:
+  - zephyr
+  - gnuarmemb
+  - xtools
+supported:
+  - arduino_gpio
+  - gpio
diff --git a/boards/arm/da1469x_dk_pro/da1469x_dk_pro_defconfig b/boards/arm/da1469x_dk_pro/da1469x_dk_pro_defconfig
new file mode 100644
index 0000000..7543faa
--- /dev/null
+++ b/boards/arm/da1469x_dk_pro/da1469x_dk_pro_defconfig
@@ -0,0 +1,16 @@
+# SPDX-License-Identifier: Apache-2.0
+
+CONFIG_SOC_FAMILY_SMARTBOND=y
+CONFIG_SOC_SERIES_DA1469X=y
+CONFIG_SOC_DA14699=y
+CONFIG_BOARD_DA1469X_DK_PRO=y
+
+CONFIG_HW_STACK_PROTECTION=y
+
+CONFIG_GPIO=y
+
+CONFIG_CONSOLE=y
+CONFIG_UART_CONSOLE=y
+CONFIG_SERIAL=y
+
+CONFIG_BUILD_OUTPUT_HEX=n
diff --git a/boards/arm/da1469x_dk_pro/doc/da14695-00hqdevkt-board.jpg b/boards/arm/da1469x_dk_pro/doc/da14695-00hqdevkt-board.jpg
new file mode 100644
index 0000000..b8d8417
--- /dev/null
+++ b/boards/arm/da1469x_dk_pro/doc/da14695-00hqdevkt-board.jpg
Binary files differ
diff --git a/boards/arm/da1469x_dk_pro/doc/index.rst b/boards/arm/da1469x_dk_pro/doc/index.rst
new file mode 100644
index 0000000..a29bab1
--- /dev/null
+++ b/boards/arm/da1469x_dk_pro/doc/index.rst
@@ -0,0 +1,117 @@
+.. _da1469x_dk_pro:
+
+DA1469x Development Kit Pro
+###########################
+
+Overview
+********
+
+The DA1469x Development Kit Pro hardware provides support for the Renesas
+DA1469x ARM Cortex-M33 MCU family. The development kit consist of a motherboard
+with connectors and integrated debugger and an interchangeable daughterboard
+with an actual MCU (e.g. DA14695 or DA14699).
+
+.. figure:: da14695-00hqdevkt-board.jpg
+     :width: 442px
+     :align: center
+     :alt: DA14695 Development Kit Pro
+
+     DA14695 Development Kit Pro (Credit: Renesas Electronics Corporation)
+
+Hardware
+********
+
+DA1469x Development Kit Pro has two external oscillators. The frequency of
+the sleep clock is 32768 Hz. The frequency of the system clock is 32 MHz.
+
+Supported Features
+==================
+
+The _da1469x_dk_pro board configuration supports the following
+hardware features:
+
++-----------+------------+----------------------+
+| Interface | Controller | Driver/Component     |
++===========+============+======================+
+| FLASH     | on-chip    | flash                |
++-----------+------------+----------------------+
+| GPIO      | on-chip    | gpio                 |
++-----------+------------+----------------------+
+| MPU       | on-chip    | arch/arm             |
++-----------+------------+----------------------+
+| NVIC      | on-chip    | arch/arm             |
++-----------+------------+----------------------+
+| RTT       | Segger     | console              |
++-----------+------------+----------------------+
+| UART      | on-chip    | serial               |
++-----------+------------+----------------------+
+
+Other hardware features, including the Configurable MAC (CMAC) controller,
+are currently not supported by the port.
+
+For more information about the DA14695 Development Kit see:
+
+- `DA14695 DK website`_
+- `DA14699 daughterboard website`_
+
+System Clock
+============
+
+The DA1469x Development Kit Pro is configured to use the 32 MHz external oscillator
+on the board.
+
+Connections and IOs
+===================
+
+The DA1469x Development Kit Pro has one LED and one push button which can be used
+by applications. The UART is connected to on-board serial converter and accessible
+via USB1 port on motherboard.
+
+The pin connections are as follows:
+
+* LED (red), located on daughterboard = P1.01
+* BUTTON, located on motherboard = P0.06
+* UART RX, via USB1 on motherboard = P0.08
+* UART TX, via USB1 on motherboard = P0.09
+
+Programming and Debugging
+*************************
+
+Applications for the ``da1469x_dk_pro`` board configuration can be
+built, flashed, and debugged in the usual way. See
+:ref:`build_an_application` and :ref:`application_run` for more details on
+building and running.
+
+Flashing
+========
+
+The DA1469x boots from an external flash connected to QSPI interface. The image
+written to flash has to have proper header prepended. The process is simplified
+by using dedicated `eZFlashCLI`_ tool that takes care of writing header and can
+handle different types of flash chips connected to DA1469x MCU. Follow instructions
+on `ezFlashCLI`_ to install the tool. Once installed, flashing can be done in the
+usual way.
+
+.. zephyr-app-commands::
+   :zephyr-app: samples/basic/blinky
+   :board: da1469x_dk_pro
+   :goals: build flash
+
+Debugging
+=========
+
+The DA1469x Development Kit Pro includes a `J-Link`_ adaptor built-in on
+motherboard which provides both debugging interface and serial port.
+Application can be debugged in the usual way once DA1469x Development Kit Pro
+is connected to PC via USB port on motherboard.
+
+References
+**********
+
+.. target-notes::
+
+.. _DA14695 DK website: https://www.renesas.com/eu/en/products/interface-connectivity/wireless-communications/bluetooth-low-energy/da14695-00hqdevkt-p-smartbond-da14695-bluetooth-low-energy-52-development-kit-pro
+.. _DA14699 daughterboard website: https://www.renesas.com/br/en/products/interface-connectivity/wireless-communications/bluetooth-low-energy/da14699-00hrdb-p-smartbond-da14695-bluetooth-low-energy-52-development-kit-pro-vfbga100-daughterboard
+.. _DA1469x Datasheet: https://www.renesas.com/eu/en/document/dst/da1469x-datasheet
+.. _J-Link: https://www.segger.com/jlink-debug-probes.html
+.. _ezFlashCLI: https://github.com/ezflash/ezFlashCLI/
