Skip to content

Commit f8f359d

Browse files
JiafeiPancarlescufi
authored andcommitted
board: imx8mm_evk: enable ENET ethernet on Cortex-A Core
Enabled ENET ethernet port on Cortex-A Core for imx8mm EVK board. Updated suported featues in board document. Signed-off-by: Jiafei Pan <[email protected]>
1 parent f690b82 commit f8f359d

File tree

8 files changed

+176
-2
lines changed

8 files changed

+176
-2
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Copyright 2024 NXP
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
if BOARD_IMX8MM_EVK
5+
6+
if BOARD_IMX8MM_EVK_MIMX8MM6_A53 || BOARD_IMX8MM_EVK_MIMX8MM6_A53_SMP
7+
8+
if NETWORKING
9+
10+
config NET_L2_ETHERNET
11+
default y
12+
13+
config NET_TX_STACK_SIZE
14+
default 8192
15+
16+
config NET_RX_STACK_SIZE
17+
default 8192
18+
19+
if NET_TCP
20+
21+
config NET_TCP_WORKQ_STACK_SIZE
22+
default 8192
23+
24+
endif # NET_TCP
25+
26+
if NET_MGMT_EVENT
27+
28+
config NET_MGMT_EVENT_STACK_SIZE
29+
default 8192
30+
31+
endif # NET_MGMT_EVENT
32+
33+
if NET_SOCKETS_SERVICE
34+
35+
config NET_SOCKETS_SERVICE_STACK_SIZE
36+
default 8192
37+
38+
endif # NET_SOCKETS_SERVICE
39+
40+
endif # NETWORKING
41+
42+
endif # BOARD_IMX8MM_EVK_MIMX8MM6_A53 || BOARD_IMX8MM_EVK_MIMX8MM6_A53_SMP
43+
44+
endif # BOARD_IMX8MM_EVK

boards/nxp/imx8mm_evk/doc/index.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,18 @@ features:
5555
+-----------+------------+-------------------------------------+
5656
| ARM TIMER | on-chip | system clock |
5757
+-----------+------------+-------------------------------------+
58+
| CLOCK | on-chip | clock_control |
59+
+-----------+------------+-------------------------------------+
60+
| PINMUX | on-chip | pinmux |
61+
+-----------+------------+-------------------------------------+
62+
| RDC | on-chip | Resource Domain Controller |
63+
+-----------+------------+-------------------------------------+
5864
| UART | on-chip | serial port |
5965
+-----------+------------+-------------------------------------+
66+
| GPT | on-chip | timer |
67+
+-----------+------------+-------------------------------------+
68+
| ENET | on-chip | ethernet port |
69+
+-----------+------------+-------------------------------------+
6070

6171
The Zephyr imx8mm_evk board for Cortex-M4 supports the following hardware
6272
features:

boards/nxp/imx8mm_evk/imx8mm_evk-pinctrl.dtsi

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,42 @@
2525
};
2626
};
2727

28+
pinmux_enet: pinmux_enet {
29+
group0 {
30+
pinmux = <&iomuxc_enet_td0_enet_rgmii_td_enet1_rgmii_td0>,
31+
<&iomuxc_enet_td1_enet_rgmii_td_enet1_rgmii_td1>,
32+
<&iomuxc_enet_td2_enet_rgmii_td_enet1_rgmii_td2>,
33+
<&iomuxc_enet_td3_enet_rgmii_td_enet1_rgmii_td3>,
34+
<&iomuxc_enet_txc_enet_rgmii_txc_enet1_rgmii_txc>,
35+
<&iomuxc_enet_tx_ctl_enet_rgmii_tx_ctl_enet1_rgmii_tx_ctl>;
36+
slew-rate = "fast";
37+
drive-strength = "x6";
38+
};
39+
40+
group1 {
41+
pinmux = <&iomuxc_enet_rd0_enet_rgmii_rd_enet1_rgmii_rd0>,
42+
<&iomuxc_enet_rd1_enet_rgmii_rd_enet1_rgmii_rd1>,
43+
<&iomuxc_enet_rd2_enet_rgmii_rd_enet1_rgmii_rd2>,
44+
<&iomuxc_enet_rd3_enet_rgmii_rd_enet1_rgmii_rd3>,
45+
<&iomuxc_enet_rxc_enet_rgmii_rxc_enet1_rgmii_rxc>,
46+
<&iomuxc_enet_rx_ctl_enet_rgmii_rx_ctl_enet1_rgmii_rx_ctl>;
47+
slew-rate = "fast";
48+
drive-strength = "x1";
49+
};
50+
51+
group2 {
52+
pinmux = <&iomuxc_sai2_rxc_gpio_io_gpio4_io22>;
53+
slew-rate = "fast";
54+
drive-strength = "x1";
55+
};
56+
};
57+
58+
pinmux_mdio: pinmux_mdio {
59+
group0 {
60+
pinmux = <&iomuxc_enet_mdc_enet_mdc_enet1_mdc>,
61+
<&iomuxc_enet_mdio_enet_mdio_enet1_mdio>;
62+
slew-rate = "slow";
63+
drive-strength = "x6";
64+
};
65+
};
2866
};

boards/nxp/imx8mm_evk/imx8mm_evk_mimx8mm6_a53.dts

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2020-2022 NXP
2+
* Copyright 2020-2022,2024 NXP
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*/
@@ -36,6 +36,30 @@
3636
};
3737
};
3838

39+
&enet {
40+
status = "okay";
41+
};
42+
43+
&enet_mac {
44+
pinctrl-0 = <&pinmux_enet>;
45+
pinctrl-names = "default";
46+
phy-handle = <&phy>;
47+
zephyr,random-mac-address;
48+
phy-connection-type = "rgmii";
49+
status = "okay";
50+
};
51+
52+
&enet_mdio {
53+
pinctrl-0 = <&pinmux_mdio>;
54+
pinctrl-names = "default";
55+
status = "okay";
56+
phy: phy@0 {
57+
compatible = "qca,ar8031";
58+
reg = <0>;
59+
status = "okay";
60+
};
61+
};
62+
3963
&uart4 {
4064
current-speed = <115200>;
4165
pinctrl-0 = <&uart4_default>;

boards/nxp/imx8mm_evk/imx8mm_evk_mimx8mm6_a53_defconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ CONFIG_ICACHE_LINE_SIZE_DETECT=y
1313

1414
# Zephyr Kernel Configuration
1515
CONFIG_XIP=n
16+
CONFIG_KERNEL_DIRECT_MAP=y
1617

1718
# Serial Drivers
1819
CONFIG_SERIAL=y

boards/nxp/imx8mm_evk/imx8mm_evk_mimx8mm6_a53_smp.dts

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2021-2022 NXP
2+
* Copyright 2021-2022,2024 NXP
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*/
@@ -38,6 +38,30 @@
3838
};
3939
};
4040

41+
&enet {
42+
status = "okay";
43+
};
44+
45+
&enet_mac {
46+
pinctrl-0 = <&pinmux_enet>;
47+
pinctrl-names = "default";
48+
phy-handle = <&phy>;
49+
zephyr,random-mac-address;
50+
phy-connection-type = "rgmii";
51+
status = "okay";
52+
};
53+
54+
&enet_mdio {
55+
pinctrl-0 = <&pinmux_mdio>;
56+
pinctrl-names = "default";
57+
status = "okay";
58+
phy: phy@0 {
59+
compatible = "qca,ar8031";
60+
reg = <0>;
61+
status = "okay";
62+
};
63+
};
64+
4165
&uart4 {
4266
current-speed = <115200>;
4367
pinctrl-0 = <&uart4_default>;

boards/nxp/imx8mm_evk/imx8mm_evk_mimx8mm6_a53_smp_defconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ CONFIG_ICACHE_LINE_SIZE_DETECT=y
1313

1414
# Zephyr Kernel Configuration
1515
CONFIG_XIP=n
16+
CONFIG_KERNEL_DIRECT_MAP=y
1617

1718
# SMP
1819
CONFIG_SMP=y

dts/arm64/nxp/nxp_mimx8mm_a53.dtsi

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,4 +143,36 @@
143143
compatible = "nxp,rdc";
144144
reg = <0x303d0000 DT_SIZE_K(64)>;
145145
};
146+
147+
enet: enet@30be0000 {
148+
compatible = "nxp,enet1g";
149+
reg = <0x30be0000 DT_SIZE_K(64)>;
150+
clocks = <&ccm IMX_CCM_ENET_CLK 0 0>;
151+
rdc = <RDC_DOMAIN_PERM(A53_DOMAIN_ID, RDC_DOMAIN_PERM_RW)>;
152+
status = "disabled";
153+
154+
enet_mac: ethernet {
155+
compatible = "nxp,enet-mac";
156+
interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
157+
interrupt-names = "COMMON";
158+
interrupt-parent = <&gic>;
159+
nxp,mdio = <&enet_mdio>;
160+
nxp,ptp-clock = <&enet_ptp_clock>;
161+
status = "disabled";
162+
};
163+
enet_mdio: mdio {
164+
compatible = "nxp,enet-mdio";
165+
#address-cells = <1>;
166+
#size-cells = <0>;
167+
status = "disabled";
168+
};
169+
enet_ptp_clock: ptp_clock {
170+
compatible = "nxp,enet-ptp-clock";
171+
interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
172+
interrupt-parent = <&gic>;
173+
clocks = <&ccm IMX_CCM_ENET_PLL 0 0>;
174+
status = "disabled";
175+
};
176+
};
177+
146178
};

0 commit comments

Comments
 (0)