Skip to content

Commit 507d123

Browse files
committed
drivers: ethernet: phy: dp83867: 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 e1b6493 commit 507d123

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

drivers/ethernet/phy/phy_ti_dp83867.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ struct ti_dp83867_config {
7070
uint32_t ti_rx_internal_delay;
7171
uint32_t ti_tx_internal_delay;
7272
enum dp83826_interface phy_iface;
73+
enum phy_link_speed default_speeds;
7374
#if DT_ANY_INST_HAS_PROP_STATUS_OKAY(reset_gpios)
7475
const struct gpio_dt_spec reset_gpio;
7576
#endif
@@ -575,6 +576,9 @@ static int phy_ti_dp83867_init(const struct device *dev)
575576
#endif /* DT_ANY_INST_HAS_PROP_STATUS_OKAY(int_gpios) */
576577
phy_ti_dp83867_monitor_work_handler(&data->phy_monitor_work.work);
577578

579+
/* Advertise default speeds */
580+
phy_ti_dp83867_cfg_link(dev, config->default_speeds, 0);
581+
578582
return 0;
579583
}
580584

@@ -607,6 +611,7 @@ static DEVICE_API(ethphy, ti_dp83867_phy_api) = {
607611
.ti_tx_internal_delay = DT_INST_PROP_OR(n, ti_tx_internal_delay, \
608612
DP83867_RGMII_RX_CLK_DELAY_INV), \
609613
.phy_iface = DT_INST_ENUM_IDX(n, ti_interface_type), \
614+
.default_speeds = PHY_INST_GENERATE_DEFAULT_SPEEDS(n), \
610615
RESET_GPIO(n) INTERRUPT_GPIO(n)}; \
611616
\
612617
static struct ti_dp83867_data ti_dp83867_##n##_data; \

dts/bindings/ethernet/phy/ti,dp83867.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,6 @@ properties:
3333
- "rgmii-id"
3434
- "rgmii-rxid"
3535
- "rgmii-txid"
36+
default-speeds:
37+
default: ["10BASE Half-Duplex", "10BASE Full-Duplex", "100BASE Half-Duplex",
38+
"100BASE Full-Duplex", "1000BASE Half-Duplex", "1000BASE Full-Duplex"]

0 commit comments

Comments
 (0)