All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shawn Guo <shawnguo2@yeah.net>
To: Stefano Radaelli <stefano.radaelli21@gmail.com>
Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	othacehe@gnu.org, andrew@lunn.ch, Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Shawn Guo <shawnguo@kernel.org>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Pengutronix Kernel Team <kernel@pengutronix.de>,
	Fabio Estevam <festevam@gmail.com>,
	imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v3] arm64: dts: freescale: imx93-var-som: update eqos support for MaxLinear PHY
Date: Tue, 1 Jul 2025 21:54:26 +0800	[thread overview]
Message-ID: <aGPokie6sW/FCjWc@dragon> (raw)
In-Reply-To: <20250605085904.12199-1-stefano.radaelli21@gmail.com>

On Thu, Jun 05, 2025 at 10:59:04AM +0200, Stefano Radaelli wrote:
> Variscite has updated the Ethernet PHY on the VAR-SOM-MX93 from the
> ADIN1300BCPZ to the MaxLinear MXL86110, as documented in the
> August 2023 revision changelog.
> Link: https://variwiki.com/index.php?title=VAR-SOM-MX93_rev_changelog
> 
> Update the device tree accordingly:
> - Drop the regulator node used to power the previously PHY.
> - Add support for the reset line using GPIO1_IO07 with proper timings.
> - Configure the PHY LEDs via the LED subsystem under /sys/class/leds/,
>   leveraging the support implemented in the mxl86110 PHY driver
>   (drivers/net/phy/mxl-86110.c).
>   Two LEDs are defined to match the LED configuration on the Variscite
>   VAR-SOM Carrier Boards:
>     * LED@0: Yellow, netdev trigger.
>     * LED@1: Green, netdev trigger.
> - Adjust the RGMII clock pad control settings to match the updated PHY
>   requirements.
> 
> These changes ensure proper PHY initialization and LED status indication
> for the new MaxLinear MXL86110, improving board compatibility with the
> latest hardware revision.
> 
> Signed-off-by: Stefano Radaelli <stefano.radaelli21@gmail.com>
> ---
> v3:
>   - Add "PATCH" to subject line.
>   - Fix wrong reference to previous PHY in commit message.
> 
> v2: https://lore.kernel.org/imx/20250604153510.55689-1-stefano.radaelli21@gmail.com/
>   - Clarified the use of 'rgmii' mode by adding a comment in the DT,
>     explaining that hardware delays are already implemented on the SOM PCB.
> 
> v1: https://lore.kernel.org/imx/20250603221416.74523-1-stefano.radaelli21@gmail.com/
> 
>  .../boot/dts/freescale/imx93-var-som.dtsi     | 45 ++++++++++++-------
>  1 file changed, 30 insertions(+), 15 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx93-var-som.dtsi b/arch/arm64/boot/dts/freescale/imx93-var-som.dtsi
> index 783938245e4f..cea8d792328c 100644
> --- a/arch/arm64/boot/dts/freescale/imx93-var-som.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx93-var-som.dtsi
> @@ -19,26 +19,19 @@ mmc_pwrseq: mmc-pwrseq {
>  		reset-gpios = <&gpio4 14 GPIO_ACTIVE_LOW>,	/* WIFI_RESET */
>  			      <&gpio3 7 GPIO_ACTIVE_LOW>;	/* WIFI_PWR_EN */
>  	};
> -
> -	reg_eqos_phy: regulator-eqos-phy {
> -		compatible = "regulator-fixed";
> -		pinctrl-names = "default";
> -		pinctrl-0 = <&pinctrl_reg_eqos_phy>;
> -		regulator-name = "eth_phy_pwr";
> -		regulator-min-microvolt = <3300000>;
> -		regulator-max-microvolt = <3300000>;
> -		gpio = <&gpio1 7 GPIO_ACTIVE_HIGH>;
> -		enable-active-high;
> -		startup-delay-us = <100000>;
> -		regulator-always-on;
> -	};
>  };
>  
>  &eqos {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&pinctrl_eqos>;
> +	/*
> +	 * The required RGMII TX and RX 2ns delays are implemented directly
> +	 * in hardware via passive delay elements on the SOM PCB.
> +	 * No delay configuration is needed in software via PHY driver.
> +	 */
>  	phy-mode = "rgmii";
>  	phy-handle = <&ethphy0>;
> +	snps,clk-csr = <5>;
>  	status = "okay";
>  
>  	mdio {
> @@ -51,6 +44,27 @@ ethphy0: ethernet-phy@0 {
>  			compatible = "ethernet-phy-ieee802.3-c22";
>  			reg = <0>;
>  			eee-broken-1000t;
> +			reset-gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
> +			reset-assert-us = <10000>;
> +			reset-deassert-us = <100000>;

Missing a newline between property list and child node.

I fixed it up and applied the patch.

Shawn

> +			leds {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				led@0 {
> +					reg = <0>;
> +					color = <LED_COLOR_ID_YELLOW>;
> +					function = LED_FUNCTION_LAN;
> +					linux,default-trigger = "netdev";
> +				};
> +
> +				led@1 {
> +					reg = <1>;
> +					color = <LED_COLOR_ID_GREEN>;
> +					function = LED_FUNCTION_LAN;
> +					linux,default-trigger = "netdev";
> +				};
> +			};
>  		};
>  	};
>  };
> @@ -75,14 +89,15 @@ MX93_PAD_ENET1_RD0__ENET_QOS_RGMII_RD0			0x57e
>  			MX93_PAD_ENET1_RD1__ENET_QOS_RGMII_RD1			0x57e
>  			MX93_PAD_ENET1_RD2__ENET_QOS_RGMII_RD2			0x57e
>  			MX93_PAD_ENET1_RD3__ENET_QOS_RGMII_RD3			0x57e
> -			MX93_PAD_ENET1_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK	0x5fe
> +			MX93_PAD_ENET1_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK	0x58e
>  			MX93_PAD_ENET1_RX_CTL__ENET_QOS_RGMII_RX_CTL		0x57e
>  			MX93_PAD_ENET1_TD0__ENET_QOS_RGMII_TD0			0x57e
>  			MX93_PAD_ENET1_TD1__ENET_QOS_RGMII_TD1			0x57e
>  			MX93_PAD_ENET1_TD2__ENET_QOS_RGMII_TD2			0x57e
>  			MX93_PAD_ENET1_TD3__ENET_QOS_RGMII_TD3			0x57e
> -			MX93_PAD_ENET1_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK	0x5fe
> +			MX93_PAD_ENET1_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK	0x58e
>  			MX93_PAD_ENET1_TX_CTL__ENET_QOS_RGMII_TX_CTL		0x57e
> +			MX93_PAD_UART2_TXD__GPIO1_IO07				0x51e
>  		>;
>  	};
>  
> 
> base-commit: a9dfb7db96f7bc1f30feae673aab7fdbfbc94e9c
> prerequisite-patch-id: 2335ebcc90360b008c840e7edf7e34a595880edf
> -- 
> 2.43.0
> 


      reply	other threads:[~2025-07-01 13:55 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-05  8:59 [PATCH v3] arm64: dts: freescale: imx93-var-som: update eqos support for MaxLinear PHY Stefano Radaelli
2025-07-01 13:54 ` Shawn Guo [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aGPokie6sW/FCjWc@dragon \
    --to=shawnguo2@yeah.net \
    --cc=andrew@lunn.ch \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=festevam@gmail.com \
    --cc=imx@lists.linux.dev \
    --cc=kernel@pengutronix.de \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=othacehe@gnu.org \
    --cc=robh@kernel.org \
    --cc=s.hauer@pengutronix.de \
    --cc=shawnguo@kernel.org \
    --cc=stefano.radaelli21@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.