Skip to content

Commit 6df0e3f

Browse files
committed
ethernet: stm32: remove phy init and config from HAL_ETH_Init
the phy is already configured by the phy driver in zephyr and we don't want to overwrite it in the HAL_ETH_Init function in the stm32 HAL. Signed-off-by: Fin Maaß <[email protected]>
1 parent 5ac8c48 commit 6df0e3f

File tree

2 files changed

+3
-25
lines changed

2 files changed

+3
-25
lines changed

drivers/ethernet/eth_stm32_hal.c

Lines changed: 2 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,6 @@ LOG_MODULE_REGISTER(LOG_MODULE_NAME);
5656

5757
static const struct device *eth_stm32_phy_dev = DEVICE_DT_GET(DT_INST_PHANDLE(0, phy_handle));
5858

59-
#define ETH_STM32_AUTO_NEGOTIATION_ENABLE \
60-
UTIL_NOT(DT_NODE_HAS_PROP(DT_INST_PHANDLE(0, phy_handle), fixed_link))
61-
6259
#if DT_HAS_COMPAT_STATUS_OKAY(st_stm32h7_ethernet)
6360
#define IS_ETH_DMATXDESC_OWN(dma_tx_desc) (dma_tx_desc->DESC3 & \
6461
ETH_DMATXNDESCRF_OWN)
@@ -893,26 +890,10 @@ static int eth_initialize(const struct device *dev)
893890
#if defined(CONFIG_ETH_STM32_HAL_API_V1)
894891
HAL_StatusTypeDef hal_ret = HAL_OK;
895892

896-
if (!ETH_STM32_AUTO_NEGOTIATION_ENABLE) {
897-
struct phy_link_state state;
898-
899-
phy_get_link_state(eth_stm32_phy_dev, &state);
900-
901-
heth->Init.DuplexMode = PHY_LINK_IS_FULL_DUPLEX(state.speed) ? ETH_MODE_FULLDUPLEX
902-
: ETH_MODE_HALFDUPLEX;
903-
heth->Init.Speed =
904-
PHY_LINK_IS_SPEED_100M(state.speed) ? ETH_SPEED_100M : ETH_SPEED_10M;
905-
}
906-
907893
hal_ret = HAL_ETH_Init(heth);
908-
if (hal_ret == HAL_TIMEOUT) {
909-
/* HAL Init time out. This could be linked to */
910-
/* a recoverable error. Log the issue and continue */
911-
/* driver initialisation */
912-
LOG_WRN("HAL_ETH_Init timed out (cable not connected?)");
913-
} else if (hal_ret != HAL_OK) {
894+
if (hal_ret != HAL_OK) {
914895
LOG_ERR("HAL_ETH_Init failed: %d", hal_ret);
915-
return -EINVAL;
896+
return -EIO;
916897
}
917898

918899
/* Initialize semaphores */
@@ -1362,9 +1343,6 @@ static struct eth_stm32_hal_dev_data eth0_data = {
13621343
.Instance = (ETH_TypeDef *)DT_REG_ADDR(DT_INST_PARENT(0)),
13631344
.Init = {
13641345
#if defined(CONFIG_ETH_STM32_HAL_API_V1)
1365-
.AutoNegotiation = ETH_STM32_AUTO_NEGOTIATION_ENABLE ?
1366-
ETH_AUTONEGOTIATION_ENABLE : ETH_AUTONEGOTIATION_DISABLE,
1367-
.PhyAddress = DT_REG_ADDR(DT_INST_PHANDLE(0, phy_handle)),
13681346
.RxMode = ETH_RXINTERRUPT_MODE,
13691347
.ChecksumMode = IS_ENABLED(CONFIG_ETH_STM32_HW_CHECKSUM) ?
13701348
ETH_CHECKSUM_BY_HARDWARE : ETH_CHECKSUM_BY_SOFTWARE,

west.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ manifest:
245245
groups:
246246
- hal
247247
- name: hal_stm32
248-
revision: 1e753266ddfb4b07a8a0b1ec566e9637ea45d5ef
248+
revision: pull/300/head
249249
path: modules/hal/stm32
250250
groups:
251251
- hal

0 commit comments

Comments
 (0)