[PATCH v5 3/4] riscv: dts: starfive: visionfive-v1: Setup ethernet phy
Emil Renner Berthing
emil.renner.berthing at canonical.com
Wed Dec 20 05:48:07 PST 2023
Cristian Ciocaltea wrote:
> The StarFive VisionFive V1 SBC uses a Motorcomm YT8521 PHY supporting
> RGMII-ID, but requires manual adjustment of the RX internal delay to
> work properly.
>
> The default RX delay provided by the driver is 1.95 ns, which proves to
> be too high. Applying a 50% reduction seems to mitigate the issue.
>
> Also note this adjustment is not necessary on BeagleV Starlight SBC,
> which uses a Microchip PHY. Hence, there is no indication of a
> misbehaviour on the GMAC side, but most likely the issue stems from
> the Motorcomm PHY.
>
> While at it, drop the redundant gpio include, which is already provided
> by jh7100-common.dtsi.
>
> Co-developed-by: Emil Renner Berthing <emil.renner.berthing at canonical.com>
> Signed-off-by: Emil Renner Berthing <emil.renner.berthing at canonical.com>
> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea at collabora.com>
> Reviewed-by: Jacob Keller <jacob.e.keller at intel.com>
> Reviewed-by: Andrew Lunn <andrew at lunn.ch>
> ---
> .../jh7100-starfive-visionfive-v1.dts | 22 ++++++++++++++++++-
> 1 file changed, 21 insertions(+), 1 deletion(-)
>
> diff --git a/arch/riscv/boot/dts/starfive/jh7100-starfive-visionfive-v1.dts b/arch/riscv/boot/dts/starfive/jh7100-starfive-visionfive-v1.dts
> index e82af72f1aaf..4e396f820660 100644
> --- a/arch/riscv/boot/dts/starfive/jh7100-starfive-visionfive-v1.dts
> +++ b/arch/riscv/boot/dts/starfive/jh7100-starfive-visionfive-v1.dts
> @@ -6,7 +6,6 @@
>
> /dts-v1/;
> #include "jh7100-common.dtsi"
> -#include <dt-bindings/gpio/gpio.h>
>
> / {
> model = "StarFive VisionFive V1";
> @@ -18,3 +17,24 @@ gpio-restart {
> priority = <224>;
> };
> };
> +
> +/*
> + * The board uses a Motorcomm YT8521 PHY supporting RGMII-ID, but requires
> + * manual adjustment of the RX internal delay to work properly. The default
> + * RX delay provided by the driver (1.95ns) is too high, but applying a 50%
> + * reduction seems to mitigate the issue.
> + *
> + * It is worth noting the adjustment is not necessary on BeagleV Starlight SBC,
> + * which uses a Microchip PHY. Hence, most likely the Motorcomm PHY is the one
> + * responsible for the misbehaviour, not the GMAC.
> + */
> +&mdio {
> + phy: ethernet-phy at 0 {
> + reg = <0>;
> + rx-internal-delay-ps = <900>;
> + };
> +};
> +
> +&gmac {
> + phy-handle = <&phy>;
> +};
Alphabetical ordering here, please.
/Emil
More information about the linux-riscv
mailing list