Open main menu

DAVE Developer's Wiki β

Changes

kernel PHY reset
The Linux kernel is assumed to find the two physical transceivers already reset. So, the hardware reset is not implemented at driver nor userspace levels.
For issuing a reset pulse to the PHYs, a dedicated kernel hacking is to be realized; this taking into account:* the status of software protocols stack==== ethernet ====* the component driver** the The ethernet PHY is a Micrel KSZ9031 and so its related kernel driver, i.e. <code>drivers/net/phyethernet/micrelcadence/macb.c</code> kernel driver** the USB PHY is supports a * device tree entrry for generating the PHY re-initialization (see for example [[https://microchipsupporthardware reset pulse.force.com/s/article/KSZ9031-initialization-procedure this]] article
iIt is enough to add the following entries in order to let the kernel to reset the PHY too:  &gem0 { status = "okay"; phy-mode = "rgmii-id"; phy-handle = <&phy0>; <b>phy-reset-gpio = <&gpio0 51 1>; phy-reset-duration = <100>;</b> .e. . ... ==== USB ====For issuing a reset pulse to the USB PHY, a dedicated kernel hacking is to be realized; the USB PHY driver is the ULPI <code>drivers/net/phy/micrel.c</code> kernel driver and then the proper BSP modifications have to be evaluated.
== Software reset ==
8,226
edits