xref: /linux/scripts/dtc/include-prefixes/arm64/freescale/imx8mn-vhip4-evalboard-ksz8794-common.dtsi (revision 6589b3d76db2d6adbf8f2084c303fb24252a0dc6)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (C) 2025 Fedor Ross <fedor.ross@ifm.com>
4 */
5
6#include <dt-bindings/gpio/gpio.h>
7
8#include "imx8mn-pinfunc.h"
9
10&ecspi1 {
11	#address-cells = <1>;
12	#size-cells = <0>;
13	status = "okay";
14
15	ksz8794: ethernet-switch@1 {
16		compatible = "microchip,ksz8794";
17		pinctrl-names = "default", "reset";
18		pinctrl-0 = <&pinctrl_ks8794>;
19		pinctrl-1 = <&pinctrl_ks8794>;
20		reg = <1>;
21		reset-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>;
22		spi-max-frequency = <5000000>;
23
24		ethernet-ports {
25			#address-cells = <1>;
26			#size-cells = <0>;
27
28			port@0 {
29				reg = <0>;
30				label = "lan1";
31			};
32
33			port@1 {
34				reg = <1>;
35				label = "lan2";
36			};
37
38			port@2 {
39				reg = <2>;
40				label = "lan3";
41			};
42
43			port@4 {
44				reg = <4>;
45				label = "cpu";
46				ethernet = <&fec1>;
47				phy-mode = "rgmii-id";
48				rx-internal-delay-ps = <2000>;
49				tx-internal-delay-ps = <2000>;
50				fixed-link {
51					full-duplex;
52					speed = <1000>;
53				};
54			};
55		};
56	};
57};
58
59&fec1 {
60	pinctrl-names = "default";
61	pinctrl-0 = <&pinctrl_fec1>;
62	phy-mode = "rgmii-id";
63	status = "okay";
64
65	fixed-link {
66		full-duplex;
67		speed = <1000>;
68	};
69};
70
71&iomuxc {
72	pinctrl_fec1: fec1-grp {
73		fsl,pins = <
74			MX8MN_IOMUXC_ENET_MDC_ENET1_MDC			0x16
75			MX8MN_IOMUXC_ENET_MDIO_ENET1_MDIO		0x96
76			MX8MN_IOMUXC_ENET_TD3_ENET1_RGMII_TD3		0x16
77			MX8MN_IOMUXC_ENET_TD2_ENET1_RGMII_TD2		0x16
78			MX8MN_IOMUXC_ENET_TD1_ENET1_RGMII_TD1		0x16
79			MX8MN_IOMUXC_ENET_TD0_ENET1_RGMII_TD0		0x16
80			MX8MN_IOMUXC_ENET_RD3_ENET1_RGMII_RD3		0x96
81			MX8MN_IOMUXC_ENET_RD2_ENET1_RGMII_RD2		0x96
82			MX8MN_IOMUXC_ENET_RD1_ENET1_RGMII_RD1		0x96
83			MX8MN_IOMUXC_ENET_RD0_ENET1_RGMII_RD0		0x96
84			MX8MN_IOMUXC_ENET_TXC_ENET1_RGMII_TXC		0x10
85			MX8MN_IOMUXC_ENET_RXC_ENET1_RGMII_RXC		0x96
86			MX8MN_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL	0x96
87			MX8MN_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL	0x16
88			MX8MN_IOMUXC_SAI3_TXFS_GPIO4_IO31		0x1d6
89		>;
90	};
91
92	pinctrl_ks8794: ks8794-grp {
93		fsl,pins = <
94			/* KSZ8794 reset line */
95			MX8MN_IOMUXC_SAI3_RXFS_GPIO4_IO28		0x16
96		>;
97	};
98};
99