Skip to content

Commit

Permalink
wip: gd32 ethernet controller driver
Browse files Browse the repository at this point in the history
  • Loading branch information
Sebastien Bourdelin committed Jul 6, 2022
1 parent 183c902 commit f558a96
Show file tree
Hide file tree
Showing 10 changed files with 919 additions and 0 deletions.
7 changes: 7 additions & 0 deletions boards/arm/gd32f450z_eval/Kconfig.defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,11 @@ if BOARD_GD32F450Z_EVAL
config BOARD
default "gd32f450z_eval"

if NETWORKING

config NET_L2_ETHERNET
default y

endif # NETWORKING

endif # BOARD_GD32F450Z_EVAL
41 changes: 41 additions & 0 deletions boards/arm/gd32f450z_eval/gd32f450z_eval-pinctrl.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,45 @@
<SPI5_IO2_PG10>, <SPI5_IO3_PG11>;
};
};

mac_rmii: mac_rmii {
group1 {
pinmux = <ETH_RMII_REF_CLK_PA1>,
<ETH_RMII_CRS_DV_PA7>,
<ETH_RMII_TX_EN_PB11>,
<ETH_RMII_TXD0_PB12>,
<ETH_RMII_TXD1_PB13>,
<ETH_RMII_RXD0_PC4>,
<ETH_RMII_RXD1_PC5>;
};
};

mac_mii: mac_mii {
group1 {
pinmux = <ETH_MII_CRS_PA0>,
<ETH_MII_COL_PA3>,
<ETH_MII_TX_CLK_PC3>,
<ETH_MII_TX_EN_PB11>,
<ETH_MII_TXD0_PB12>,
<ETH_MII_TXD1_PB13>,
<ETH_MII_TXD2_PC2>,
<ETH_MII_TXD3_PB8>,
<ETH_MII_RX_CLK_PA1>,
<ETH_MII_RX_DV_PA7>,
<ETH_MII_RXD0_PC4>,
<ETH_MII_RXD1_PC5>,
<ETH_MII_RXD2_PB0>,
<ETH_MII_RXD3_PB1>,
<ETH_MII_RX_ER_PB10>;
};
};

mdio_default: mdio_default {
group1 {
pinmux = <CK_OUT0_PA8>,
<ETH_MDC_PC1>,
<ETH_MDIO_PA2>;
};
};

};
16 changes: 16 additions & 0 deletions boards/arm/gd32f450z_eval/gd32f450z_eval.dts
Original file line number Diff line number Diff line change
Expand Up @@ -145,3 +145,19 @@
jedec-id = [c8 40 15];
};
};

&enet {
status = "okay";
pinctrl-0 = <&mac_rmii>;
pinctrl-names = "default";
};

&mdio {
status = "okay";
pinctrl-0 = <&mdio_default>;
pinctrl-names = "default";
};

&phy {
status = "okay";
};
1 change: 1 addition & 0 deletions drivers/ethernet/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ zephyr_library_sources_ifdef(CONFIG_ETH_DWMAC_MMU eth_dwmac_mmu.c)
zephyr_library_sources_ifdef(CONFIG_ETH_E1000 eth_e1000.c)
zephyr_library_sources_ifdef(CONFIG_ETH_ENC28J60 eth_enc28j60.c)
zephyr_library_sources_ifdef(CONFIG_ETH_ENC424J600 eth_enc424j600.c)
zephyr_library_sources_ifdef(CONFIG_ETH_GD32 eth_gd32.c)
zephyr_library_sources_ifdef(CONFIG_DSA_KSZ8XXX dsa_ksz8xxx.c)
zephyr_library_sources_ifdef(CONFIG_ETH_LITEETH eth_liteeth.c)
zephyr_library_sources_ifdef(CONFIG_ETH_MCUX eth_mcux.c)
Expand Down
1 change: 1 addition & 0 deletions drivers/ethernet/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ source "drivers/ethernet/Kconfig.gecko"
source "drivers/ethernet/Kconfig.w5500"
source "drivers/ethernet/Kconfig.dsa"
source "drivers/ethernet/Kconfig.xlnx_gem"
source "drivers/ethernet/Kconfig.gd32"

source "drivers/ethernet/phy/Kconfig"

Expand Down
11 changes: 11 additions & 0 deletions drivers/ethernet/Kconfig.gd32
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# ETH_GD32 Ethernet driver configuration options

# Copyright (c) 2022 Rtone
# SPDX-License-Identifier: Apache-2.0

menuconfig ETH_GD32
bool "GD32 Ethernet Controller"
depends on (SOC_FAMILY_GD32 || SOC_SERIES_GD32VF103)
select MDIO
help
Enable GigaDevice GD32 Ethernet Controller
Loading

0 comments on commit f558a96

Please sign in to comment.