Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions MAINTAINERS.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1273,9 +1273,11 @@ Documentation Infrastructure:
collaborators:
- alexanderwachter
- martinjaeger
- rexut
- str4t0m
files:
- boards/shields/mcp2515/
- boards/shields/mikroe_can_fd_6_click/
- boards/shields/tcan4550evm/
- doc/connectivity/canbus/
- doc/hardware/peripherals/can/
Expand Down
6 changes: 6 additions & 0 deletions boards/shields/mikroe_can_fd_6_click/Kconfig.shield
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Copyright (c) 2025 Navimatix GmbH
# Copyright (c) 2025 TiaC Systems
# SPDX-License-Identifier: Apache-2.0

config SHIELD_MIKROE_CAN_FD_6_CLICK
def_bool $(shields_list_contains,mikroe_can_fd_6_click)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
69 changes: 69 additions & 0 deletions boards/shields/mikroe_can_fd_6_click/doc/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
.. _mikroe_can_fd_6_click_shield:

MikroElektronika CAN FD 6 Click
###############################

Overview
--------

The CAN FD 6 Click shield has a `TI TCAN4550-Q1`_ automotive system
basis chip (SBC) with integrated CAN FD controller via a SPI interface
and a integrated high-speed CAN FD transceiver with up to 5 Mbps.

More information about the shield can be found at
`Mikroe CAN FD 6 click`_.

.. figure:: canfd6_click.webp
:align: center
:alt: MikroElektronika CAN FD 6 Click

MikroElektronika CAN FD 6 Click (Credit: MikroElektronika)

Requirements
************

The shield uses a mikroBUS interface. The target board must define the
``mikrobus_spi`` and ``mikrobus_header`` node labels (see :ref:`shields`
for more details). The target board must also support level triggered
interrupts and SPI clock frequency of up to 18 MHz.

Programming
***********

Set ``--shield mikroe_can_fd_6_click`` when you invoke ``west build``,
for example:

.. zephyr-app-commands::
:zephyr-app: tests/drivers/can/api
:board: mikroe_stm32_m4_clicker
:shield: mikroe_can_fd_6_click
:goals: build flash
:gen-args: -DCONFIG_ZTEST_TEST_DELAY_MS=15

.. note::

Under certain circumstances, e.g., when using the Zephyr console via
USB (CDC-ACM class), the execution of Zephyr tests should be slowed
down artificially by a few milliseconds. This requires applying
``-DCONFIG_ZTEST_TEST_DELAY_MS=15``, as shown above.

Also the :ref:`arduino_uno_click` can be used if a board only has a
suitable Arduino UNO R3 header. Include ``--shield arduino_uno_click``
when you invoke ``west build`` with this mikroBUS shield. For example:

.. zephyr-app-commands::
:zephyr-app: tests/drivers/can/api
:board: nucleo_f767zi
:shield: arduino_uno_click,mikroe_can_fd_6_click
:goals: build flash

References
**********

.. target-notes::

.. _Mikroe CAN FD 6 click:
https://www.mikroe.com/can-fd-6-click

.. _TI TCAN4550-Q1:
https://www.ti.com/product/TCAN4550-Q1
37 changes: 37 additions & 0 deletions boards/shields/mikroe_can_fd_6_click/mikroe_can_fd_6_click.overlay
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/*
* Copyright (c) 2025 Navimatix GmbH
* Copyright (c) 2025 TiaC Systems
*
* SPDX-License-Identifier: Apache-2.0
*/

#include <zephyr/dt-bindings/gpio/gpio.h>

/ {
chosen {
zephyr,canbus = &tcan4x5x_mikroe_can_fd_6_click;
};
};

&mikrobus_spi {
status = "okay";
cs-gpios = <&mikrobus_header 2 GPIO_ACTIVE_LOW>;

tcan4x5x_mikroe_can_fd_6_click: can@0 {
compatible = "ti,tcan4x5x";
reg = <0>;
spi-max-frequency = <18000000>;
status = "okay";

clock-frequency = <40000000>;
device-state-gpios = <&mikrobus_header 0 GPIO_ACTIVE_HIGH>;
device-wake-gpios = <&mikrobus_header 6 GPIO_ACTIVE_HIGH>;
reset-gpios = <&mikrobus_header 1 GPIO_ACTIVE_HIGH>;
int-gpios = <&mikrobus_header 7 GPIO_ACTIVE_LOW>;
bosch,mram-cfg = <0x0 15 15 7 7 0 10 10>;

can-transceiver {
max-bitrate = <8000000>;
};
};
};
6 changes: 6 additions & 0 deletions boards/shields/mikroe_can_fd_6_click/shield.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
shield:
name: mikroe_can_fd_6_click
full_name: CAN FD 6 Click
vendor: mikroe
supported_features:
- can
3 changes: 3 additions & 0 deletions tests/drivers/build_all/can/testcase.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ tests:
- arduino_gpio
extra_args: SHIELD=tcan4550evm
platform_allow: frdm_k64f
drivers.can.build_all.tcan4x5x.mikrobus:
extra_args: SHIELD=mikroe_can_fd_6_click
platform_allow: mikroe_stm32_m4_clicker
drivers.can.build_all.mcp251xfd:
extra_args: SHIELD=mikroe_mcp2518fd_click
platform_allow: lpcxpresso55s28
Expand Down
Loading