From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.forwardemail.net (smtp.forwardemail.net [149.28.215.223]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 74CD3202960 for ; Sun, 27 Jul 2025 21:52:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=149.28.215.223 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753653151; cv=none; b=WEqpheBobFLMhmWaFZbv9O665HF5hc+NTtU/oX1Iyu9ZrFmj7M68wraRGctrvLeW/eUIAHlOiDFM4Ozy2Y6FdYSLpWsN6PeEpCsxoo1s+tE9sg7t67oZu2kAszi0t0NcLIY/gNTOQjV9FLKG4oUa8hDPwBQvnVll+URU6aEgV4A= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753653151; c=relaxed/simple; bh=N0APxAeG9t37xZ9G+TVThe0V8aH45UEZqv6kQFu+QrI=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=gGqHPNBsotXSYPCmnLrGE4Tl9Te+WNpUCRRBET/J02H2xmY/F31OpRl+/C5XGdaJSaXqBmjglK6ytJo5APlsYSOKKrADvvx/36ufRx3/mFXYM1hBqOQ1ItnnxAFbjKb0sXLN9Uzy3oBjK4EKaIC9fjtJQjHCb+8ti1w9M9gfHSM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=kwiboo.se; spf=pass smtp.mailfrom=fe-bounces.kwiboo.se; dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se header.b=RxZ8hJWR; arc=none smtp.client-ip=149.28.215.223 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=kwiboo.se Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fe-bounces.kwiboo.se Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se header.b="RxZ8hJWR" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se; h=Content-Transfer-Encoding: Content-Type: In-Reply-To: From: References: Cc: To: Subject: MIME-Version: Date: Message-ID; q=dns/txt; s=fe-e1b5cab7be; t=1753653147; bh=gG+K+EvdGySBaqP3c+lFA0pUt8fKLg2/x4AVyg5jhrc=; b=RxZ8hJWRSa6BHTWJ/opWUhndZZjKSaw1mBeG+CubZI5vXlmwbf9ymdaYW3rmW5zRwFiDLo2HN wuT4Hmdnak1fIYRvygVBuRBkpTVHsfhOQm9LgHf0rEC1MMqIo7QDJYM5nDD04GxqoRDKobGYikv P51sRvfku0hhq48c04w5qxscNEjpNhWhZfMn1LgPzAIfwU99p+x1fgEQ6ukGe7doT6l2p6TA4BW L1Y1ZGEwYJmFdZZPKHgNH9cnuu+WpZYDHzp/XVZoWJJBEH06FowOj7bDbTxjmhicd+N446b8kRM 8UqTQQJM3bg1pxr+G9i2CjsGEtRY3vHIpvLO7zJdRU1w== X-Forward-Email-ID: 68869f8dc509b9ee169d35e6 X-Forward-Email-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net, 149.28.215.223 X-Forward-Email-Version: 1.1.7 X-Forward-Email-Website: https://forwardemail.net X-Complaints-To: abuse@forwardemail.net X-Report-Abuse: abuse@forwardemail.net X-Report-Abuse-To: abuse@forwardemail.net Message-ID: Date: Sun, 27 Jul 2025 23:52:07 +0200 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH net-next 2/3] net: dsa: realtek: Add support for use of an optional mdio node To: Andrew Lunn , Linus Walleij Cc: =?UTF-8?Q?Alvin_=C5=A0ipraga?= , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Yao Zi , Chukun Pan , Heiko Stuebner , netdev@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org References: <20250727180305.381483-1-jonas@kwiboo.se> <20250727180305.381483-3-jonas@kwiboo.se> <2504b605-24e7-4573-bec0-78f55688a482@lunn.ch> Content-Language: en-US From: Jonas Karlman In-Reply-To: <2504b605-24e7-4573-bec0-78f55688a482@lunn.ch> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Hi Andrew, On 7/27/2025 9:09 PM, Andrew Lunn wrote: > On Sun, Jul 27, 2025 at 06:02:59PM +0000, Jonas Karlman wrote: >> The dt-bindings schema for Realtek switches for unmanaged switches >> contains a restriction on use of a mdio child OF node for MDIO-connected >> switches, i.e.: >> >> if: >> required: >> - reg >> then: >> not: >> required: >> - mdio >> properties: >> mdio: false >> >> However, the driver currently requires the existence of a mdio child OF >> node to successfully probe and properly function. >> >> Relax the requirement of a mdio child OF node and assign the dsa_switch >> user_mii_bus to allow a MDIO-connected switch to probe and function >> when a mdio child OF node is missing. > > I could be getting this wrong.... Maybe Linus knows more. > > It could be the switch does not have its own separate MDIO bus just > for its internal PHYs. They just appear on the parent mdio bus. So > you represent this with: > > &mdio0 { > reset-delay-us = <25000>; > reset-gpios = <&gpio4 RK_PC2 GPIO_ACTIVE_LOW>; > reset-post-delay-us = <100000>; > > phy0: ethernet-phy@0 { > reg = <0>; > }; > > phy1: ethernet-phy@1 { > reg = <0>; > }; > > > ethernet-switch@1d { > compatible = "realtek,rtl8365mb"; > reg = <0x1d>; > pinctrl-names = "default"; > pinctrl-0 = <&rtl8367rb_eint>; > > ethernet-ports { > #address-cells = <1>; > #size-cells = <0>; > > ethernet-port@0 { > reg = <0>; > label = "wan"; > phy-handle = ; > }; > > ethernet-port@1 { > reg = <1>; > label = "lan1"; > phy-handle = ; > }; > > If this is correct, you should not need any driver or DT binding > changes. Something like above does not seem to work, I get following: mdio_bus stmmac-0: MDIO device at address 0 is missing. mdio_bus stmmac-0: MDIO device at address 1 is missing. mdio_bus stmmac-0: MDIO device at address 2 is missing. mdio_bus stmmac-0: MDIO device at address 3 is missing. rtl8365mb-mdio stmmac-0:1d: found an RTL8367RB-VB switch rtl8365mb-mdio stmmac-0:1d: configuring for fixed/rgmii link mode rtl8365mb-mdio stmmac-0:1d wan (uninitialized): failed to connect to PHY: -ENODEV rtl8365mb-mdio stmmac-0:1d: Link is Up - 1Gbps/Full - flow control off rtl8365mb-mdio stmmac-0:1d wan (uninitialized): error -19 setting up PHY for tree 0, switch 0, port 0 rtl8365mb-mdio stmmac-0:1d lan1 (uninitialized): failed to connect to PHY: -ENODEV rtl8365mb-mdio stmmac-0:1d lan1 (uninitialized): error -19 setting up PHY for tree 0, switch 0, port 1 rtl8365mb-mdio stmmac-0:1d lan2 (uninitialized): failed to connect to PHY: -ENODEV rtl8365mb-mdio stmmac-0:1d lan2 (uninitialized): error -19 setting up PHY for tree 0, switch 0, port 2 rtl8365mb-mdio stmmac-0:1d lan3 (uninitialized): failed to connect to PHY: -ENODEV rtl8365mb-mdio stmmac-0:1d lan3 (uninitialized): error -19 setting up PHY for tree 0, switch 0, port 3 And without an explicit 'mdio' child node the driver currently fails to load and the switch is never registered: rtl8365mb-mdio stmmac-0:1d: found an RTL8367RB-VB switch rtl8365mb-mdio stmmac-0:1d: no MDIO bus node rtl8365mb-mdio stmmac-0:1d: could not set up MDIO bus rtl8365mb-mdio stmmac-0:1d: error -ENODEV: unable to register switch With a 'mdio' child node 'make CHECK_DTBS=y' report something like: rockchip/rk3528-radxa-e24c.dtb: ethernet-switch@1d (realtek,rtl8365mb): mdio: False schema does not allow { [snip] } from schema $id: http://devicetree.org/schemas/net/dsa/realtek.yaml# So something should probably be changed, the driver, dt-bindings or possible both. With this patch the last example in net/dsa/realtek.yaml can be made to work. The example the ethernet-switch node in next patch is based on, and something that closely matches how mediatek,mt7530 is described. Please let me know if you want me to drop this and instead try to update the dt-bindings and use a more verbose ethernet-switch node. Regards, Jonas > > Andrew