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