xref: /linux/scripts/dtc/include-prefixes/arm64/freescale/imx93-9x9-qsb-can1.dtso (revision 6589b3d76db2d6adbf8f2084c303fb24252a0dc6)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright 2025 NXP
4 */
5
6#include <dt-bindings/gpio/gpio.h>
7#include "imx93-pinfunc.h"
8
9/dts-v1/;
10/plugin/;
11
12&{/} {
13	flexcan_phy: can-phy {
14		compatible = "nxp,tja1057";
15		#phy-cells = <0>;
16		max-bitrate = <5000000>;
17		silent-gpios = <&pcal6524 23 GPIO_ACTIVE_HIGH>;
18	};
19};
20
21&flexcan1 {
22	phys = <&flexcan_phy>;
23	pinctrl-names = "default";
24	pinctrl-0 = <&pinctrl_flexcan1>;
25	status = "okay";
26};
27
28&iomuxc {
29	pinctrl_flexcan1: flexcan1grp {
30		fsl,pins = <
31			MX93_PAD_PDM_CLK__CAN1_TX		0x139e
32			MX93_PAD_PDM_BIT_STREAM0__CAN1_RX	0x139e
33		>;
34	};
35};
36
37/* micfi1 use the A port, conflict with can1 */
38&micfil {
39	status = "disabled";
40};
41
42&pcal6524 {
43	/*
44	 * mic-can-sel-hog have property 'output-low', dt overlay don't
45	 * support /delete-property/. Both 'output-low' and 'output-high'
46	 * will be exist under hog nodes if overlay file set 'output-high'.
47	 * Workaround is disable this hog and create new hog with
48	 * 'output-high'.
49	 */
50	mic-can-sel-hog {
51		status = "disabled";
52	};
53
54	/*
55	 * Config the MIC/CAN_SEL to high, chose B
56	 * port, connect to CAN.
57	 */
58	mic-can-high-sel-hog {
59		gpio-hog;
60		gpios = <0x11 0x00>;
61		output-high;
62	};
63};
64