Skip to content

Commit 7ab0f61

Browse files
committed
drivers: ethernet: phy: ksz8081: use default speeds
use default speeds from dt to configure phy on init. Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
1 parent 1ba3789 commit 7ab0f61

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

drivers/ethernet/phy/phy_microchip_ksz8081.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ struct mc_ksz8081_config {
4444
uint8_t addr;
4545
const struct device *mdio_dev;
4646
enum ksz8081_interface phy_iface;
47+
enum phy_link_speed default_speeds;
4748
#if DT_ANY_INST_HAS_PROP_STATUS_OKAY(reset_gpios)
4849
const struct gpio_dt_spec reset_gpio;
4950
#endif
@@ -489,6 +490,9 @@ static int phy_mc_ksz8081_init(const struct device *dev)
489490
k_work_init_delayable(&data->phy_monitor_work,
490491
phy_mc_ksz8081_monitor_work_handler);
491492

493+
/* Advertise default speeds */
494+
phy_mc_ksz8081_cfg_link(dev, config->default_speeds, 0);
495+
492496
return 0;
493497
}
494498

@@ -519,6 +523,7 @@ static DEVICE_API(ethphy, mc_ksz8081_phy_api) = {
519523
.addr = DT_INST_REG_ADDR(n), \
520524
.mdio_dev = DEVICE_DT_GET(DT_INST_PARENT(n)), \
521525
.phy_iface = DT_INST_ENUM_IDX(n, microchip_interface_type), \
526+
.default_speeds = PHY_INST_GENERATE_DEFAULT_SPEEDS(n), \
522527
RESET_GPIO(n) \
523528
INTERRUPT_GPIO(n) \
524529
}; \

dts/bindings/ethernet/phy/microchip,ksz8081.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,6 @@ properties:
2222
- "mii"
2323
- "rmii"
2424
- "rmii-25MHz"
25+
default-speeds:
26+
default: ["10BASE Half-Duplex", "10BASE Full-Duplex", "100BASE Half-Duplex",
27+
"100BASE Full-Duplex"]

0 commit comments

Comments
 (0)