boards: st: nucleo_h723zg: enable fdcan1

Enable FDCAN1 on the ST Nucleo H723ZG development board.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
diff --git a/boards/st/nucleo_h723zg/doc/index.rst b/boards/st/nucleo_h723zg/doc/index.rst
index 9357453..f138eaa 100644
--- a/boards/st/nucleo_h723zg/doc/index.rst
+++ b/boards/st/nucleo_h723zg/doc/index.rst
@@ -117,6 +117,8 @@
 +-------------+------------+-------------------------------------+
 | RTC         | on-chip    | rtc                                 |
 +-------------+------------+-------------------------------------+
+| FDCAN1      | on-chip    | CAN-FD Controller                   |
++-------------+------------+-------------------------------------+
 
 Other hardware features are not yet supported on this Zephyr port.
 
@@ -138,6 +140,7 @@
 - LD3 : PB14
 - I2C : PB8, PB9
 - SPI1 NSS/SCK/MISO/MOSI : PD14PA5/PA6/PB5 (Arduino SPI)
+- FDCAN1 RX/TX : PD0, PD1
 
 System Clock
 ------------
@@ -158,6 +161,13 @@
 In order to test backup SRAM you may want to disconnect VBAT from VDD. You can
 do it by removing ``SB52`` jumper on the back side of the board.
 
+FDCAN
+=====
+
+The Nucleo H723ZG board does not have any onboard CAN transceiver. In order to
+use the FDCAN bus on this board, an external CAN bus transceiver must be
+connected to pins PD0 (RX) and PD1 (TX).
+
 Programming and Debugging
 *************************
 
diff --git a/boards/st/nucleo_h723zg/nucleo_h723zg.dts b/boards/st/nucleo_h723zg/nucleo_h723zg.dts
index 8fdd4be..0626679 100644
--- a/boards/st/nucleo_h723zg/nucleo_h723zg.dts
+++ b/boards/st/nucleo_h723zg/nucleo_h723zg.dts
@@ -24,6 +24,7 @@
 		zephyr,dtcm = &dtcm;
 		zephyr,sram = &sram0;
 		zephyr,flash = &flash0;
+		zephyr,canbus = &fdcan1;
 	};
 
 	leds: leds {
@@ -97,6 +98,16 @@
 	status = "okay";
 };
 
+&pll2 {
+	div-m = <1>;
+	mul-n = <10>;
+	div-p = <1>;
+	div-q = <1>;
+	div-r = <1>;
+	clocks = <&clk_hse>;
+	status = "okay";
+};
+
 &rcc {
 	clocks = <&pll>;
 	clock-frequency = <DT_FREQ_M(550)>;
@@ -190,3 +201,11 @@
 &rng {
 	status = "okay";
 };
+
+&fdcan1 {
+	pinctrl-0 = <&fdcan1_rx_pd0 &fdcan1_tx_pd1>;
+	pinctrl-names = "default";
+	clocks = <&rcc STM32_CLOCK_BUS_APB1_2 0x00000100>,
+		 <&rcc STM32_SRC_PLL2_Q FDCAN_SEL(2)>;
+	status = "okay";
+};
diff --git a/boards/st/nucleo_h723zg/nucleo_h723zg.yaml b/boards/st/nucleo_h723zg/nucleo_h723zg.yaml
index 698fb32..66161b5 100644
--- a/boards/st/nucleo_h723zg/nucleo_h723zg.yaml
+++ b/boards/st/nucleo_h723zg/nucleo_h723zg.yaml
@@ -22,4 +22,5 @@
   - backup_sram
   - usb_device
   - rtc
+  - can
 vendor: st