From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.cjdns.fr (mail.cjdns.fr [5.135.140.105]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DA0DC36F8FD; Tue, 15 Sep 2026 17:47:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=5.135.140.105 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789494425; cv=none; b=M8y48ElzCbahlDWkcSVXIbMMK7Wgs79Rma5U3zkL+cQ6ElNRyCVo3pIfKwyzClfISTDljygPT+P0qiG4RmCgNptcXuRlwKM5mWtzT2RweEh0tcbdDmnUY7B9kIil7C45dwz+Lwc4bj5I/xpi8WITjJp7rLVt4q+o91d/HNnpN2A= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789494425; c=relaxed/simple; bh=CCmZIqzrfwFytRG6L0cbeORjISrBssAVbSF98DeNhtQ=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=dfaMUGSmUX2Hd4hx0KDocfFXvpnHEko1Xxy35obZFJGbj8pmp+nq6dBDu4kLYcngGn/X18qTvn/5yzzt3ngj4meLjWeAthRFi/A24wcDoiFUNbAHpPEOmC2hqFUjKcOBiIRQ0iq9B9QuKDoj10SRjMe5apTRkpaVj2sgc+d3Sz8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=cjdns.fr; spf=pass smtp.mailfrom=cjdns.fr; dkim=pass (2048-bit key) header.d=cjdns.fr header.i=@cjdns.fr header.b=VsT5V0S/; arc=none smtp.client-ip=5.135.140.105 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=cjdns.fr Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=cjdns.fr Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=cjdns.fr header.i=@cjdns.fr header.b="VsT5V0S/" Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 806E848F43B; Tue, 15 Sep 2026 19:46:49 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cjdns.fr; s=dkim; t=1789494419; h=from:subject:date:message-id:to:cc:mime-version: content-transfer-encoding; bh=80mtWLE6jZ2+9O6Z6Io20KcPF/T+lsToZLYgR/f9/Vs=; b=VsT5V0S/YUshGGGxyIcT8aFxRgIf+DyMDNsS0nnZgoUquHANyyIGR6/En7f1FT7m/RsBZl smcfiLxIbO+JC18H0IlJmSGzp/eXo/ox2ZzymCZj2J50sLp/KNQUB7gR0MtJUAByFD24Rg JAbcX4PLptxHHg5eNzKJavX4zf72WbXmBGezuowO7RSTcS4JcQLoYZO8LFApYIomCkBe2n 9QMBfJA85xfZu+WXH/ybSKEjZN/ktGVc4QyabuPhaoWbstVbDSl3SSXPI1o73rd2HAaQWB 3sv5r0aHjvBUM5SaEhfO4A+AhHekkxuIjuVGaPLx4yrXHGyqXXOVz1MCEHPRvQ== From: Caleb James DeLisle To: netdev@vger.kernel.org Cc: andrew@lunn.ch, olteanv@gmail.com, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, matthias.bgg@gmail.com, angelogioacchino.delregno@collabora.com, chester.a.unal@arinc9.com, daniel@makrotopia.org, linux@armlinux.org.uk, arinc.unal@arinc9.com, Landen.Chao@mediatek.com, dqfext@gmail.com, sean.wang@mediatek.com, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, naseefkm@gmail.com, b.larsson@gmx.com, Caleb James DeLisle Subject: [PATCH v2 net-next 0/7] net: dsa: mt7530: support EcoNet EN751221 Date: Tue, 15 Sep 2026 17:46:36 +0000 Message-Id: <20260915174643.253660-1-cjd@cjdns.fr> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Last-TLS-Session-Version: TLSv1.3 The EcoNet EN751221 has a unique switch configuration. Every chip made with an EN751221 die has at least one on-die MT7530 that is MMIO based. This switch has 3x 10/100 ports and 1x gigabit port. Some popular chip packages such as the EN7513G and EN7526G have another MT7530 implemented as a multi-chip-module that connects to port 5 of the on-die switch and is controlled via the MDIO controller integrated in the on-die MT7530. In this configurations, the upstream switch is put into a "passthrough" mode in which all traffic is forwarded between port 5 and port 6 without altering its DSA tags. Furthermore, since the DSA core does not call mt753x_setup until all switches are present, and the downstream switch only becomes available when the upstream switch has configured its MDIO controller, the MDIO controller setup on MMIO implementations must be done before mt753x_setup, or else it will never complete. Finally, the on-die switch and the MCM switch connect via a TRGMII link which requires calibration. In order to calibrate this, PLL adjustment must be possible on the on-die switch, necessitating changes to the core_(set|clear|write|rmw) functions to support MMIO implementations. Solve all of these issues, add the TRGMII calibration, and add support for both switches. Since this patchset will probably be subject to some discussion, please consider accepting any patches that are non-controversial since it will make future re-submissions easier. Thanks! Changes since v1: * Move mt7530_setup_mdio_irq out of mt7530_setup_mdio because mt7530_setup_mdio may be called before mt753x_setup * Do not return error in mt7988_probe if mt7530_setup_mdio fails because doing so leaks the DSA switch registration, and in any case mt7530_setup_mdio will be called again. * default_taps_ondie not being used en751221_trgmii_cal_ok unused args * Use clk_drvp / clk_drvp instead of drvp / drvn (typo) * en751221_set_tx_drive ext values too large for fields - values taken from reference implementation, reduced from 16 to 15. v1: https://lore.kernel.org/netdev/20260909140346.2861572-1-cjd@cjdns.fr/ Caleb James DeLisle (7): net: dsa: mt7530: get ctrl phy addr using a function dt-bindings: net: dsa: mediatek,mt7530: add passthrough mode net: dsa: mediatek: add support for passthrough mode net: dsa: mediatek: support PLL setup on MMIO MT7530 net: dsa: mediatek: support MDIO switch downstream of MMIO switch dt-bindings: net: dsa: mediatek,mt7530: add econet,en751221 net: dsa: mediatek: support EN751221 switch .../bindings/net/dsa/mediatek,mt7530.yaml | 50 +- drivers/net/dsa/mt7530-mdio.c | 1 + drivers/net/dsa/mt7530-mmio.c | 10 +- drivers/net/dsa/mt7530.c | 579 ++++++++++++++++-- drivers/net/dsa/mt7530.h | 46 +- 5 files changed, 632 insertions(+), 54 deletions(-) -- 2.39.5