linux-arm-kernel.lists.infradead.org archive mirror
 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 15:34 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).