arm64: dts: freescale: imx8mn-var-som: Add MCP251xFD CAN controller

Add support for the Microchip MCP251xFD CAN-FD controller connected
to the SPI bus on the i.MX8MN VAR-SOM.

The controller uses a 40 MHz external oscillator and requires an
interrupt line and a dedicated RX interrupt GPIO.

Add the fixed clock, the MCP251xFD device node with the required
properties, and the corresponding pinctrl configuration.

Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
This commit is contained in:
Stefano Radaelli 2026-07-06 11:34:36 +02:00 committed by Frank Li
parent ed99c5c5c5
commit 42a066c24c

View File

@ -11,6 +11,13 @@ / {
model = "Variscite VAR-SOM-MX8MN module";
compatible = "variscite,var-som-mx8mn", "fsl,imx8mn";
clk40m: oscillator {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <40000000>;
clock-output-names = "can_osc";
};
memory@40000000 {
device_type = "memory";
reg = <0x0 0x40000000 0 0x40000000>;
@ -130,6 +137,19 @@ touchscreen@0 {
ti,keep-vref-on;
wakeup-source;
};
/* CAN controller */
can0: can@1 {
compatible = "microchip,mcp251xfd";
reg = <1>;
clocks = <&clk40m>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_can>;
interrupt-parent = <&gpio1>;
interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
spi-max-frequency = <20000000>;
microchip,rx-int-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
};
};
&fec1 {
@ -391,6 +411,13 @@ &wdog1 {
};
&iomuxc {
pinctrl_can: cangrp {
fsl,pins = <
MX8MN_IOMUXC_GPIO1_IO05_GPIO1_IO5 0x1c0
MX8MN_IOMUXC_SD2_CD_B_GPIO2_IO12 0x16
>;
};
pinctrl_ecspi1: ecspi1grp {
fsl,pins = <
MX8MN_IOMUXC_ECSPI1_SCLK_ECSPI1_SCLK 0x13