Part Number: J784S4XEVM
Hello Team,
I'd like to reconfigure existing eth port configuration (speed/role) at runtime.
We have a very similar use case to the author of the given post:
We would like to implement a static (forced) network configuration that can be configured with a specific role (master/slave) and speed (100/1000 Mbps).
Our system boots up with a default configuration, and then we'd like to reconfigure the Ethernet port to use the configuration stored in a JSON file. The user will be able to use the interface after this reconfiguration finishes.
At the PHY level we use RTL9010, which is not a TI core, however driver seems to be working fine.
We tried passing the extended configuration using Enet calls ENET_PER_IOCTL_CLOSE_PORT_LINK/OPEN_PORT_LINK (with the new values). The low-level initialization worked fine - the media converter correctly detected the connection to the PHY - but SSH, ping, and other higher-level functions did not work.
I suspect that the SoC-side SerDes/SGMII for CPSW9G ports is configured only once at boot (EthFwBoard_init with ETHFW_BOARD_SERDES_CONFIG) and is never re-init'd on reopen, so the SoC<->PHY SGMII link fails to re-align: the line side links (media converter) but no frames cross -> SSH/ping is dead.
Does TI provide an API to support this type of runtime reconfiguration? If so, is there a code example we can refer to?