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
36 changes: 36 additions & 0 deletions boards/nxp/frdm_imx91/frdm_imx91-pinctrl.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,40 @@
drive-strength = "x5";
};
};

pinmux_mdio: pinmux_mdio {
group0 {
pinmux = <&iomuxc1_enet2_mdc_enet_mdc_enet2_mdc>,
<&iomuxc1_enet2_mdio_enet_mdio_enet2_mdio>;
bias-pull-down;
slew-rate = "slightly_fast";
drive-strength = "x6";
};
};

pinmux_enet: pinmux_enet {
group0 {
pinmux = <&iomuxc1_enet2_rd0_enet_rgmii_rd_enet2_rgmii_rd0>,
<&iomuxc1_enet2_rd1_enet_rgmii_rd_enet2_rgmii_rd1>,
<&iomuxc1_enet2_rd2_enet_rgmii_rd_enet2_rgmii_rd2>,
<&iomuxc1_enet2_rd3_enet_rgmii_rd_enet2_rgmii_rd3>,
<&iomuxc1_enet2_rx_ctl_enet_rgmii_rx_ctl_enet2_rgmii_rx_ctl>,
<&iomuxc1_enet2_td0_enet_rgmii_td_enet2_rgmii_td0>,
<&iomuxc1_enet2_td1_enet_rgmii_td_enet2_rgmii_td1>,
<&iomuxc1_enet2_td2_enet_rgmii_td_enet2_rgmii_td2>,
<&iomuxc1_enet2_td3_enet_rgmii_td_enet2_rgmii_td3>,
<&iomuxc1_enet2_tx_ctl_enet_rgmii_tx_ctl_enet2_rgmii_tx_ctl>;
bias-pull-down;
slew-rate = "slightly_fast";
drive-strength = "x6";
};

group1 {
pinmux = <&iomuxc1_enet2_rxc_enet_rgmii_rxc_enet2_rgmii_rxc>,
<&iomuxc1_enet2_txc_enet_rgmii_txc_enet2_rgmii_txc>;
bias-pull-down;
slew-rate = "fast";
drive-strength = "x6";
};
};
};
27 changes: 27 additions & 0 deletions boards/nxp/frdm_imx91/frdm_imx91_mimx9131.dts
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,30 @@
&tpm2 {
status = "okay";
};

&enet {
status = "okay";
};

&enet_mac {
pinctrl-0 = <&pinmux_enet>;
pinctrl-names = "default";
phy-handle = <&phy>;
zephyr,random-mac-address;
phy-connection-type = "rgmii";
status = "okay";
};

&enet_mdio {
pinctrl-0 = <&pinmux_mdio>;
pinctrl-names = "default";
status = "okay";

phy: phy@2 {
compatible = "motorcomm,yt8521";
reg = <2>;
status = "okay";
motorcomm,rx-delay-sel = <13>;
motorcomm,tx-delay-sel = <13>;
};
};
1 change: 1 addition & 0 deletions boards/nxp/frdm_imx91/frdm_imx91_mimx9131.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,6 @@ toolchain:
ram: 1024
supported:
- counter
- net
- uart
vendor: nxp
27 changes: 27 additions & 0 deletions boards/nxp/frdm_imx93/frdm_imx93_mimx9352_a55.dts
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,33 @@
};
};

&enet {
status = "okay";
};

&enet_mac {
pinctrl-0 = <&pinmux_enet>;
pinctrl-names = "default";
phy-handle = <&phy>;
zephyr,random-mac-address;
phy-connection-type = "rgmii";
status = "okay";
};

&enet_mdio {
pinctrl-0 = <&pinmux_mdio>;
pinctrl-names = "default";
status = "okay";

phy: phy@2 {
compatible = "motorcomm,yt8521";
reg = <2>;
status = "okay";
motorcomm,rx-delay-sel = <13>;
motorcomm,tx-delay-sel = <13>;
};
};

&lpuart2 {
current-speed = <115200>;
pinctrl-0 = <&uart2_default>;
Expand Down
4 changes: 2 additions & 2 deletions drivers/clock_control/clock_control_mcux_ccm_rev2.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ static int mcux_ccm_on(const struct device *dev,
switch (peripheral) {
#ifdef CONFIG_ETH_NXP_ENET

#ifdef CONFIG_SOC_MIMX9352
#if defined(CONFIG_SOC_MIMX9352) || defined(CONFIG_SOC_MIMX9131)
#define ENET1G_CLOCK kCLOCK_Enet1
#else
#define ENET_CLOCK kCLOCK_Enet
Expand Down Expand Up @@ -174,7 +174,7 @@ static int mcux_ccm_get_subsys_rate(const struct device *dev,
#ifdef CONFIG_ETH_NXP_ENET
case IMX_CCM_ENET_CLK:
case IMX_CCM_ENET1G_CLK:
#ifdef CONFIG_SOC_MIMX9352
#if defined(CONFIG_SOC_MIMX9352) || defined(CONFIG_SOC_MIMX9131)
clock_root = kCLOCK_Root_WakeupAxi;
#else
clock_root = kCLOCK_Root_Bus;
Expand Down
1 change: 1 addition & 0 deletions drivers/ethernet/phy/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ zephyr_library_sources_ifdef(CONFIG_PHY_DM8806 phy_dm8806.c)
zephyr_library_sources_ifdef(CONFIG_PHY_MICROCHIP_KSZ8081 phy_microchip_ksz8081.c)
zephyr_library_sources_ifdef(CONFIG_PHY_MICROCHIP_T1S phy_microchip_t1s.c)
zephyr_library_sources_ifdef(CONFIG_PHY_MICROCHIP_VSC8541 phy_microchip_vsc8541.c)
zephyr_library_sources_ifdef(CONFIG_PHY_MOTORCOMM_YT8521 phy_motorcomm_yt8521.c)
zephyr_library_sources_ifdef(CONFIG_PHY_OA_TC14_PLCA_LIB phy_oa_tc14_plca.c)
zephyr_library_sources_ifdef(CONFIG_PHY_QUALCOMM_AR8031 phy_qualcomm_ar8031.c)
zephyr_library_sources_ifdef(CONFIG_PHY_REALTEK_RTL8211F phy_realtek_rtl8211f.c)
Expand Down
8 changes: 8 additions & 0 deletions drivers/ethernet/phy/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -129,4 +129,12 @@ config PHY_VERIFY_DEVICE_IDENTIFICATION
Verify the organizationally unique identifier that is reported
by the phy chip.

config PHY_MOTORCOMM_YT8521
bool "Motorcomm YT8521 Ethernet PHY Driver"
default y
depends on DT_HAS_MOTORCOMM_YT8521_ENABLED
select MDIO
help
Enable Motorcomm YT8521 Ethernet PHY Driver

endif # "Ethernet PHY Drivers"
Loading
Loading