handle fixed-link configuration in the device tree.
authordlg <dlg@openbsd.org>
Mon, 24 Apr 2023 01:33:32 +0000 (01:33 +0000)
committerdlg <dlg@openbsd.org>
Mon, 24 Apr 2023 01:33:32 +0000 (01:33 +0000)
commit45f5f3c80b3e678af70abbf179c80635e791abe1
tree01dcd257d3d72779f58d70e16bd669a01be1ce2f
parent8dd0bad43f76bb0f1ae0e31187101d598c74fdc6
handle fixed-link configuration in the device tree.

if fixed-link is present, populate the interface baudrate and link
status (full duplex or half duplex), and then call the statch handler
to apply that config to the MAC. if fixed-link is specified then
do not attach a phy.

note that phy lookup and reset still occurs in case the device tree
still uses the deprecated snps,reset-gpio properties. the fixed
link port on the bpi r2 pro is connected to a switch chip (which
is not really a phy) that needs needs a reset provided by the
snps,reset-gpio handling. an improved device tree would have the
reset properties on the switch node so it could do its own reset,
but we can't have nice things can we?

tested on a nanopi r5s, which has a phy but no fixed-link config,
and a banana pi bpi-r2 pro, which has both (cos it has two dwqes,
one with a phy and one without).
sys/dev/fdt/if_dwqe_fdt.c
sys/dev/ic/dwqe.c
sys/dev/ic/dwqevar.h