{"id":2215630,"url":"http://patchwork.ozlabs.org/api/covers/2215630/?format=json","web_url":"http://patchwork.ozlabs.org/project/openbmc/cover/20260323101756.81849-1-a0987203069@gmail.com/","project":{"id":56,"url":"http://patchwork.ozlabs.org/api/projects/56/?format=json","name":"OpenBMC development","link_name":"openbmc","list_id":"openbmc.lists.ozlabs.org","list_email":"openbmc@lists.ozlabs.org","web_url":"http://github.com/openbmc/","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260323101756.81849-1-a0987203069@gmail.com>","list_archive_url":null,"date":"2026-03-23T10:17:53","name":"[net-next,v15,0/3] Add support for Nuvoton MA35D1 GMAC","submitter":{"id":89704,"url":"http://patchwork.ozlabs.org/api/people/89704/?format=json","name":"Joey Lu","email":"a0987203069@gmail.com"},"mbox":"http://patchwork.ozlabs.org/project/openbmc/cover/20260323101756.81849-1-a0987203069@gmail.com/mbox/","series":[{"id":497355,"url":"http://patchwork.ozlabs.org/api/series/497355/?format=json","web_url":"http://patchwork.ozlabs.org/project/openbmc/list/?series=497355","date":"2026-03-23T10:17:53","name":"Add support for Nuvoton MA35D1 GMAC","version":15,"mbox":"http://patchwork.ozlabs.org/series/497355/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/covers/2215630/comments/","headers":{"Return-Path":"\n <openbmc+bounces-1705-incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","openbmc@lists.ozlabs.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20230601 header.b=J2l/O1wE;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=openbmc+bounces-1705-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=none smtp.remote-ip=\"2607:f8b0:4864:20::42e\"","lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com","lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20230601 header.b=J2l/O1wE;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com\n (client-ip=2607:f8b0:4864:20::42e; helo=mail-pf1-x42e.google.com;\n envelope-from=a0987203069@gmail.com; receiver=lists.ozlabs.org)"],"Received":["from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:21b9:f100::1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1 raw public key)\n server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fgQ7c4sBVz1y1G\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 25 Mar 2026 09:43:56 +1100 (AEDT)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4fgQ7b4VCKz2xlf;\n\tWed, 25 Mar 2026 09:43:55 +1100 (AEDT)","from mail-pf1-x42e.google.com (mail-pf1-x42e.google.com\n [IPv6:2607:f8b0:4864:20::42e])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4ffTdX28s4z2xly\n\tfor <openbmc@lists.ozlabs.org>; Mon, 23 Mar 2026 21:18:07 +1100 (AEDT)","by mail-pf1-x42e.google.com with SMTP id\n d2e1a72fcca58-82c20b9fb16so9548b3a.0\n        for <openbmc@lists.ozlabs.org>; Mon, 23 Mar 2026 03:18:07 -0700 (PDT)","from localhost.localdomain (60-250-196-139.hinet-ip.hinet.net.\n [60.250.196.139])\n        by smtp.gmail.com with ESMTPSA id\n d2e1a72fcca58-82b04220d9asm8630779b3a.60.2026.03.23.03.18.00\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Mon, 23 Mar 2026 03:18:03 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1774261089;\n\tcv=none;\n b=jK1RtzNIu8tZ+U2hs/Xl9AljVp0T9cmOCG5v0dZ4pRK+2SE+ejjmV0WLzt51nrDgTn+Dvx9AzNu72e3VXS/YwFwcMpK3Vz1zDZdO6nhsrX8dXEqQyh8g9C2ldzZko35aKaIDZB8+vomDbQOb+KF3FjN4eYbP5yKii7BAM8H00tvdJiJFAxe/Kcsky5rMqR/1oVAQN465/3IXVmWJkHNXuGupS2A/sKh5Es8FMCFsgXGGzD5d1Q4VnLgsDM9yoChye+IScMFpfTXPCiHXyHQs/Ir6KnvHpcrzlDGJKkTv7d3ARZvsVDIs7F9K+QUxHi7L8hOkSvahG4DIDH2vE3S9tg==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1774261089; c=relaxed/relaxed;\n\tbh=kHtEe1e7RiyfO6lLZp+boVdOJK0KK9ZEoEY9OocgKBc=;\n\th=From:To:Cc:Subject:Date:Message-ID:MIME-Version;\n b=cpZQ0WWNIWo4P/OpYukx6CerzJcW0dVgoAM8E9Whi4o1lk7DndXkf8qyCLtLuwKk4ImQNsx0/ePUtuGN2tt+QgI40a3CDB5UC3aGD7Jhg/33cFmfPAdpXFv15hTpElQRrlLxZe9Q9t8gN+ERWh/bVpjrOB0cOEfx1oO2lH7d87blf6ribjzWUBF9ckpsUX3B6uWHW2knuUtxVzcfXMcfxg6E8DoSPbJqZWuvd+lRBZsatwJQnlZQRNw5uOndloyJzSehrjHzhL08YP2KL1Xv1+mxcg6M27Q6IVYadKrVXSMmDnIGaJvurtVE+xudkR8O0qORD34h8y6n/zoccioatQ==","ARC-Authentication-Results":"i=1; lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com; dkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20230601 header.b=J2l/O1wE; dkim-atps=neutral;\n spf=pass (client-ip=2607:f8b0:4864:20::42e; helo=mail-pf1-x42e.google.com;\n envelope-from=a0987203069@gmail.com;\n receiver=lists.ozlabs.org) smtp.mailfrom=gmail.com","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=gmail.com; s=20230601; t=1774261084; x=1774865884;\n darn=lists.ozlabs.org;\n        h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n         :to:from:from:to:cc:subject:date:message-id:reply-to;\n        bh=kHtEe1e7RiyfO6lLZp+boVdOJK0KK9ZEoEY9OocgKBc=;\n        b=J2l/O1wEpMRi3KDpOd5j3F5vRHtQwaBYZLDJ8dUAgW33rj3Sy9nJsaATAY2Gd1olK9\n         ioI40kUrbv7m/dMPAqlliE+rBax8qz/aG4PMAzTL1ayjbN0241nNogYx4+8X2RF7iQ2M\n         qQR4iIGHGj14+WGV6BXZG++VGHKJ4lzGDlkokw0O2tM7Kgy+PxD3XlC/hZO4LThVpB0I\n         gluPPd07msKU3/C4HET+SUOYlegylCUJkbYgJpgpSfNOHlq8VHUDSEsZeo2eBOe6wITk\n         Q5oSFBq0EbPoea+By8eyCVCr7NWyIRVd2D7P6JjoCgrYLDW8hw5uQTY80SSuPWdIXJmC\n         lmLA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1774261084; x=1774865884;\n        h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n         :message-id:reply-to;\n        bh=kHtEe1e7RiyfO6lLZp+boVdOJK0KK9ZEoEY9OocgKBc=;\n        b=HpaYimp2/+tEd0bk94XHc/p3S8nu2cLcL4FJswRwbW5Z9rKOlkoKoG0xw2pAt6M+qS\n         TenhE/Y39cIn108vJTpM0JC0UQnDW2o7ilO3ppyCSbqvR2KPetJIfew/nFD8VqX3iL0j\n         C62KC32d9N1rR/fIpNKwNv35l7AvJyvKHTkhRtRinKLbs+nq2g23DUX//Cre0Vqc3ptH\n         1A0NaW2pq7bHkdSRDuiUMYd0SvHcO8LzssEyBYNUdS3qnS7QbEFfr1DSpc07EGHfNXzy\n         PXk76zGwFx4RTp/Wgs9vWRMohAeSxKnqT4UUhdnjKLz3s90g8xBJ2ajrSKrIuNAb9tmF\n         pwGw==","X-Forwarded-Encrypted":"i=1;\n AJvYcCViC6VaVMRe/e5AApvGFaguFzx7k+3ZPAn5KggnAX84bGF8+ElXcG/kkcZ4MmH1WL/SdwqKcnWA@lists.ozlabs.org","X-Gm-Message-State":"AOJu0YzbbkqFJ+0TWMMD5YoZpm5t+3hVtclFOtITy+n/U6cSXJcRHeYX\n\t3b5sI5OtFaol/GCKn+AMGFBQQlGAibRYcsTpkeGEOn6g65GY0n5cDa9V","X-Gm-Gg":"ATEYQzzb6Jz8zKCRtjUKC4hzIMrNZ1WrgIS4FtlJn2MBmw/L7dnAhOlkzkdEfvbofeA\n\tY2k6hrtZGzOFcPvlbJ7dea2y4JaS2n25mEj3UoNbv9afS1LJ1Bybf4WHJzzOxdF3rLakt1BRIXL\n\ty+wyDC46o36S9bX9hneHghrC6my/Q8dR+8zTKr9jVHg6hRWlZrqzZigBW1ZaaCdGX0mPa6uX7Mk\n\tAd2fXf2wrxfI9KpvfgrbAAJbvQbrK6GP05MrBpW+40W1vyl+IDHGCTEgARcogDh9flyvj0jcV3/\n\tgksAzMpi+bU1sHA4krsNEj7FdGUSqaGsRsAZypwJLXNRihcHrEVK4D+kvDZM/0enwDyTkPdlVOB\n\tyiDINndrgT362rpCk0St4T9l/BOJccCUiY8+UvpXWNxU4GyaOAV5RuYtNEinfHNIboOif4yfa00\n\t11FRJUmCIbhnXZaUtEEi0QAhPJEiqiCQMIlHL3BMtzgU607m5h5z8YRNY4Zq7gY2ObZ16DEvkKx\n\tMIEVhePAaXg","X-Received":"by 2002:a05:6a00:2195:b0:823:3078:f684 with SMTP id\n d2e1a72fcca58-82a8c35d2bfmr9312586b3a.32.1774261084178;\n        Mon, 23 Mar 2026 03:18:04 -0700 (PDT)","From":"Joey Lu <a0987203069@gmail.com>","To":"andrew+netdev@lunn.ch,\n\tdavem@davemloft.net,\n\tedumazet@google.com,\n\tkuba@kernel.org,\n\tpabeni@redhat.com,\n\trobh@kernel.org,\n\tkrzk+dt@kernel.org,\n\tconor+dt@kernel.org,\n\tmcoquelin.stm32@gmail.com,\n\trichardcochran@gmail.com","Cc":"alexandre.torgue@foss.st.com,\n\tjoabreu@synopsys.com,\n\tychuang3@nuvoton.com,\n\tschung@nuvoton.com,\n\tyclu4@nuvoton.com,\n\tpeppe.cavallaro@st.com,\n\tlinux-arm-kernel@lists.infradead.org,\n\tnetdev@vger.kernel.org,\n\tdevicetree@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org,\n\topenbmc@lists.ozlabs.org,\n\tlinux-stm32@st-md-mailman.stormreply.com,\n\tJoey Lu <a0987203069@gmail.com>","Subject":"[PATCH net-next v15 0/3] Add support for Nuvoton MA35D1 GMAC","Date":"Mon, 23 Mar 2026 18:17:53 +0800","Message-ID":"<20260323101756.81849-1-a0987203069@gmail.com>","X-Mailer":"git-send-email 2.43.0","X-Mailing-List":"openbmc@lists.ozlabs.org","List-Id":"<openbmc.lists.ozlabs.org>","List-Help":"<mailto:openbmc+help@lists.ozlabs.org>","List-Owner":"<mailto:openbmc+owner@lists.ozlabs.org>","List-Post":"<mailto:openbmc@lists.ozlabs.org>","List-Subscribe":"<mailto:openbmc+subscribe@lists.ozlabs.org>,\n  <mailto:openbmc+subscribe-digest@lists.ozlabs.org>,\n  <mailto:openbmc+subscribe-nomail@lists.ozlabs.org>","List-Unsubscribe":"<mailto:openbmc+unsubscribe@lists.ozlabs.org>","Precedence":"list","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-Spam-Status":"No, score=0.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,\n\tDKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,\n\tFROM_LOCAL_HEX,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS\n\tautolearn=disabled version=4.0.1","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"},"content":"This patch series is submitted to add GMAC support for Nuvoton MA35D1\nSoC platform. This work involves implementing a GMAC driver glue layer\nbased on Synopsys DWMAC driver framework to leverage MA35D1's dual GMAC\ninterface capabilities.\n\nOverview:\n  1. Added a GMAC driver glue layer for MA35D1 SoC, providing support for\n  the platform's two GMAC interfaces.\n  2. Added device tree settings, with specific configurations for our\n  development boards:\n    a. SOM board: Configured for two RGMII interfaces.\n    b. IoT board: Configured with one RGMII and one RMII interface.\n  3. Added dt-bindings for the GMAC interfaces.\n\nv15:\n  - Return error correctly in probe function.\n\nv14:\n  - Fixed dt_binding_check compilation errors in the YAML file.\n\nv13:\n  - Fixed YAML with dt_binding_check\n  - Added callback for plat_dat->phy_interface\n  - Updated PHY-related setting helper function\n  - Renamed registers and values to avoid misleading names\n\nv12:\n  - Drop private structure nvt_priv_data\n  - Fix error propagation to preserve probe deferral\n  - Refactor internal delay handling into a dedicated helper\n  - Move FIFO and filter configuration from driver to Device Tree\n  - Update DT binding to include \"snps,dwmac-3.70a\" compatible\n\nv11:\n  - Propagate syscon lookup errors to allow proper probe deferral.\n\nv10:\n  - Update DTS/DTSI files to follow proper hierarchy and port modeling\n\nv9:\n  - Fixed file permissions. (YAML, driver, DTS)\n  - Moved phy-handle and PHY-related properties from SoC dtsi to board dts.\n\nv8:\n  Changes since v7:\n  - Rebased onto the latest net-next.\n  - Removed unused symbol.\n  - stmmac parent driver now reads hardware features directly to support\n    Wake-on-LAN via magic packet, so PMT-related overrides in this driver\n    have been removed.\n  - Update dwmac-nuvoton driver:\n      - Update the license to GPL.\n      - Improve the description in Kconfig.\n\nv7:\n  - Update dwmac-nuvoton driver\n    - Update probe function to use stmmac_pltfr_probe instead.\n\nv6:\n  - Update dwmac-nuvoton driver\n    - Use NVT as the previx for all functions, structs, and defines.\n    - Remove unnecessary comments.\n\nv5:\n  - Update yaml\n    - Remove the properties already defined in snps dwmac.\n  - Update dwmac-nuvoton driver\n    - Add a comment to explain the override of PMT flag.\n\nv4:\n  - Update yaml\n    - Remove unnecessary property 'select'.\n    - Remove unnecessary compatible entries and fix items.\n    - Specify number of entries for 'reg'.\n    - Remove already defined property 'phy-handle'.\n    - Update example.\n    - Modify the property internal path delay to match the driver.\n  - Update dtsi\n    - Move 'status' to be the last property.\n  - Update dwmac-nuvoton driver\n    - Use remove instead of remove_new.\n    - Use dev_err_probe instead.\n\nv3:\n  - Update yaml\n    - Fix for dt_binding_check warnings & errors.\n    - Add compatible in snps dwmac.\n  - Update dtsi\n    - Update dtsi to follow examples in yaml.\n  - Update dwmac-nuvoton driver\n    - Fix for auto build test warnings.\n    - Invalid path delay arguments will be returned.\n\nv2:\n  - Update yaml\n    - Rename file to align with the compatible property.\n    - Add an argument to syscon to replace mac-id,\n      with corresponding descriptions.\n    - Use tx-internal-delay-ps and rx-internal-delay-ps properties for\n      configurable path delay with corresponding descriptions,\n      allowing selection between GMAC internal and PHY.\n    - Add all supported phy-mode options.\n    - Remove unused properties.\n  - Update dtsi\n    - Modify syscon configuration to include an argument for\n      GMAC interface selection.\n  - Update dwmac-nuvoton driver\n    - Remove redundant device information print statements.\n    - Remove non-global parameters.\n    - Retrieve GMAC interface selection from the syscon argument.\n    - Parse Tx and Rx path delays by correct properties.\n    - Update configurations to support Wake-on-LAN.\n\nJoey Lu (3):\n  dt-bindings: net: nuvoton: Add schema for Nuvoton MA35 family GMAC\n  arm64: dts: nuvoton: Add Ethernet nodes\n  net: stmmac: dwmac-nuvoton: Add dwmac glue for Nuvoton MA35 family\n\n .../bindings/net/nuvoton,ma35d1-dwmac.yaml    | 140 ++++++++++++++++++\n .../devicetree/bindings/net/snps,dwmac.yaml   |   1 +\n .../boot/dts/nuvoton/ma35d1-iot-512m.dts      |  25 ++++\n .../boot/dts/nuvoton/ma35d1-som-256m.dts      |  24 +++\n arch/arm64/boot/dts/nuvoton/ma35d1.dtsi       |  52 +++++++\n drivers/net/ethernet/stmicro/stmmac/Kconfig   |  12 ++\n drivers/net/ethernet/stmicro/stmmac/Makefile  |   1 +\n .../ethernet/stmicro/stmmac/dwmac-nuvoton.c   | 136 +++++++++++++++++\n 8 files changed, 391 insertions(+)\n create mode 100644 Documentation/devicetree/bindings/net/nuvoton,ma35d1-dwmac.yaml\n create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac-nuvoton.c"}