From patchwork Sun Feb 9 01:30:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Inochi Amaoto X-Patchwork-Id: 13966564 X-Patchwork-Delegate: kuba@kernel.org Received: from mail-qk1-f172.google.com (mail-qk1-f172.google.com [209.85.222.172]) (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 58AA712E5B; Sun, 9 Feb 2025 01:31:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739064669; cv=none; b=sU04Bc72LRYRqpPWWnHq3yKtpixkDya1vBvdAkzKCAoqxWyQmMajRs65MtFPbRNHcEjzbEIGQH+ut+WriMfGJ05rvYumeFM2HxlmdJGMS4k6Bbc0FImzghj/nEI9NHUYVJQVXeUNPoFDEFZl/ozgV/fW++BUyLxZFhebnfl6wOk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739064669; c=relaxed/simple; bh=mlHLGDgu0lLYDoOEZj9Dh7DdijgTluzA7NKpDjvci0Q=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=EIjU+AMYJrwl9TwhHxxUtw8bdWo7mVBfwoT48QDGJHzfCje4Zrz0d8LrvetP7FXvP22BKu1bI+/6HXGG6/zuXaTjLhAN5ygd/P7AyoimP/YvI7sA/On+NMpS4+eaQCcc4mfbaxq/diFMlEURKbzGMiKWdOBcunOROWmMId7FQ2g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=fCCclelT; arc=none smtp.client-ip=209.85.222.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="fCCclelT" Received: by mail-qk1-f172.google.com with SMTP id af79cd13be357-7c05b91245fso356485a.2; Sat, 08 Feb 2025 17:31:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739064666; x=1739669466; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=4e7ZzwqztMziHLUhoVfnoipumOCTxC0BX+2clstSkaw=; b=fCCclelT4GMt+TGaENJIjZMr8V9DuPD9voF2AW03FoB5aFUpIMduCbvNX61fCCFiuC HQ4bEIK/brtkCF83/A44ElrapPqVuOKo0IGGjCwJHRCYbVc2VILFBuEduTH9LWmnppLh reja0Lbyh9PspQ2uwCGnvNGezUdX8ddlJ2Zhd9R+ZjCR569Lq2uDSeEMApQ/ZvEKvkVv f6kgUysQqBSpztYczfVu3FGYuQc1IdvcvGRjHXsWYJWqyobqsdulhyBaz8nL9B7YJzg+ BgaVbfSzya3469WlfTocNMangZpBASjMCX7DRTiZXGuHgj4EjAYpz1j9cR8EyGVsqJR0 atVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739064666; x=1739669466; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4e7ZzwqztMziHLUhoVfnoipumOCTxC0BX+2clstSkaw=; b=TF/VCCZua1uk6LGlj0wDNPXuHHBoKNohYkIFkHg1zp3NJc5LgDgqyze/WL8YGMCIzj JZqTVYCTptb6prm/fhnzOQiVmXklkbunqwiekd6Nj3GHotPxSi9Vhw67CKVTF2vSy/HY j6qt92aSaHmCQKIQSsdwKKbBNVubP4slUquGkOjVK4ZxMtVpHDGUc1cVUXxQdzWc5fQa xvN3YuM6e54fujgeq6jUQkIrm/A8mSFR8LeEv2hFWaGb2uQdpH9sLTGWHA0/zVSjL1iU TH+CTSqmAR5xDNcgAKeY598d60V42+O38RAlGB9vDiBnFGRPHtEuRIwCtTC1tU5jpJgx QMyw== X-Forwarded-Encrypted: i=1; AJvYcCVqG8ukzumcqgRZYNy7e0dBxpmHPlapqSeSNgxFdfsalt2d5BoNaTOLbOu8Kfd1yq0XYjfHdvkitOLh@vger.kernel.org, AJvYcCX5FUCnz3QJnc2z+Jp4CQbfp6UrWscacCLAaZm/DFkOKMbzxDZOX07KM0mfP29qBZ4/RZe8H4t2jQrIVV1j@vger.kernel.org, AJvYcCX9+fhxIZ+nqqjqqw2HlJRmBjZQIASCPRKLFK8irINN/7JLGTYjbh4n4hPtqOc2S6KgFJKUkyX5@vger.kernel.org X-Gm-Message-State: AOJu0YwVTUI/oP8JvSSnc7GqPKlqm6DagZEPQRIuUgCZfeVhJgN1l7SA 8iphme/tlVi1ebhq7iKhgWK3GfYT1BIq/810z8BHhrvrD3Q3Mc9q X-Gm-Gg: ASbGncuNprX26zT4aOVY0APhw1aquSIx32wE5jtSnn0xasKrPyM+ijIM8seByCLY2pt hnj3m4DCXF8Fn3bAC2s+E4woJy+RcaPho/lt+mpHujcEKEz+KaoZR9KsKY/RLMWz5MyJMnTrbLk HBuyYbzgZgYPuei4AoyQp4W8mtsQsnG5d8rLCjAQghXmrs9nUtycq+F382BWzuKYb+06SMqs91M l7Rcj/FlozB71QGOESCYrXqBlizHQM2OmMsyY0OyeTJz0YZDhPFRu04JuMwdLWRLIk= X-Google-Smtp-Source: AGHT+IEH039HXExAei+7K/JmIEv7mGaHuYCB4awQfxRtlfWTrGL3Y1l9ujrADjSQi+g127ZTesIcZQ== X-Received: by 2002:a05:620a:bc9:b0:7b6:cedf:1b4e with SMTP id af79cd13be357-7c047c29ademr1345409585a.41.1739064665917; Sat, 08 Feb 2025 17:31:05 -0800 (PST) Received: from localhost ([2001:da8:7001:11::cb]) by smtp.gmail.com with UTF8SMTPSA id af79cd13be357-7c041dfb0d2sm356691185a.34.2025.02.08.17.31.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 08 Feb 2025 17:31:05 -0800 (PST) From: Inochi Amaoto To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen Wang , Inochi Amaoto , Maxime Coquelin , Alexandre Torgue , Richard Cochran , Paul Walmsley , Palmer Dabbelt , Albert Ou , Emil Renner Berthing , Romain Gantois , Jisheng Zhang , "Jan Petrous (OSS)" , =?utf-8?b?Q2zDqW1lbnQgTMOp?= =?utf-8?b?Z2Vy?= , Simon Horman , Furong Xu <0x1207@gmail.com>, Serge Semin , Lothar Rubusch , Suraj Jaiswal , Joe Hattori , Bartosz Golaszewski , Giuseppe Cavallaro , Jose Abreu Cc: Inochi Amaoto , netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-riscv@lists.infradead.org, Yixun Lan , Longbin Li , Krzysztof Kozlowski Subject: [PATCH net-next v4 1/3] dt-bindings: net: Add support for Sophgo SG2044 dwmac Date: Sun, 9 Feb 2025 09:30:50 +0800 Message-ID: <20250209013054.816580-2-inochiama@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250209013054.816580-1-inochiama@gmail.com> References: <20250209013054.816580-1-inochiama@gmail.com> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org The GMAC IP on SG2044 is almost a standard Synopsys DesignWare MAC (version 5.30a) with some extra clock. Add necessary compatible string for this device. Signed-off-by: Inochi Amaoto Reviewed-by: Krzysztof Kozlowski --- .../devicetree/bindings/net/snps,dwmac.yaml | 4 + .../bindings/net/sophgo,sg2044-dwmac.yaml | 124 ++++++++++++++++++ 2 files changed, 128 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml index 91e75eb3f329..02ab6a9aded2 100644 --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml @@ -32,6 +32,7 @@ select: - snps,dwmac-4.20a - snps,dwmac-5.10a - snps,dwmac-5.20 + - snps,dwmac-5.30a - snps,dwxgmac - snps,dwxgmac-2.10 @@ -98,8 +99,10 @@ properties: - snps,dwmac-4.20a - snps,dwmac-5.10a - snps,dwmac-5.20 + - snps,dwmac-5.30a - snps,dwxgmac - snps,dwxgmac-2.10 + - sophgo,sg2044-dwmac - starfive,jh7100-dwmac - starfive,jh7110-dwmac - thead,th1520-gmac @@ -631,6 +634,7 @@ allOf: - snps,dwmac-4.20a - snps,dwmac-5.10a - snps,dwmac-5.20 + - snps,dwmac-5.30a - snps,dwxgmac - snps,dwxgmac-2.10 - st,spear600-gmac diff --git a/Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml b/Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml new file mode 100644 index 000000000000..b7e4216ea45a --- /dev/null +++ b/Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml @@ -0,0 +1,124 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/sophgo,sg2044-dwmac.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Sophgo SG2044 DWMAC glue layer + +maintainers: + - Inochi Amaoto + +select: + properties: + compatible: + contains: + enum: + - sophgo,sg2044-dwmac + required: + - compatible + +properties: + compatible: + items: + - const: sophgo,sg2044-dwmac + - const: snps,dwmac-5.30a + + reg: + maxItems: 1 + + clocks: + items: + - description: GMAC main clock + - description: PTP clock + - description: TX clock + + clock-names: + items: + - const: stmmaceth + - const: ptp_ref + - const: tx + + interrupts: + maxItems: 1 + + interrupt-names: + maxItems: 1 + + resets: + maxItems: 1 + + reset-names: + const: stmmaceth + +required: + - compatible + - reg + - clocks + - clock-names + - interrupts + - interrupt-names + - resets + - reset-names + +allOf: + - $ref: snps,dwmac.yaml# + +unevaluatedProperties: false + +examples: + - | + #include + + ethernet@30006000 { + compatible = "sophgo,sg2044-dwmac", "snps,dwmac-5.30a"; + reg = <0x30006000 0x4000>; + clocks = <&clk 151>, <&clk 152>, <&clk 154>; + clock-names = "stmmaceth", "ptp_ref", "tx"; + interrupt-parent = <&intc>; + interrupts = <296 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "macirq"; + resets = <&rst 30>; + reset-names = "stmmaceth"; + snps,multicast-filter-bins = <0>; + snps,perfect-filter-entries = <1>; + snps,aal; + snps,tso; + snps,txpbl = <32>; + snps,rxpbl = <32>; + snps,mtl-rx-config = <&gmac0_mtl_rx_setup>; + snps,mtl-tx-config = <&gmac0_mtl_tx_setup>; + snps,axi-config = <&gmac0_stmmac_axi_setup>; + status = "disabled"; + + gmac0_mtl_rx_setup: rx-queues-config { + snps,rx-queues-to-use = <8>; + snps,rx-sched-wsp; + queue0 {}; + queue1 {}; + queue2 {}; + queue3 {}; + queue4 {}; + queue5 {}; + queue6 {}; + queue7 {}; + }; + + gmac0_mtl_tx_setup: tx-queues-config { + snps,tx-queues-to-use = <8>; + queue0 {}; + queue1 {}; + queue2 {}; + queue3 {}; + queue4 {}; + queue5 {}; + queue6 {}; + queue7 {}; + }; + + gmac0_stmmac_axi_setup: stmmac-axi-config { + snps,blen = <16 8 4 0 0 0 0>; + snps,wr_osr_lmt = <1>; + snps,rd_osr_lmt = <2>; + }; + }; From patchwork Sun Feb 9 01:30:51 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Inochi Amaoto X-Patchwork-Id: 13966565 X-Patchwork-Delegate: kuba@kernel.org Received: from mail-qv1-f50.google.com (mail-qv1-f50.google.com [209.85.219.50]) (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 39F47249F9; Sun, 9 Feb 2025 01:31:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739064672; cv=none; b=iUwGgx7H7m9X054rCWBmGDv8t5AHK0qdmtzO0eXIDW8OKynntpjEhdA8kOT+zG3EGueX5ExEsHpdDOb3mtZcKqTRVa/+m9pPOYeEw95W0ntfPvzg5z6Tm12KTKTLlOM3S9/pTu1tb3LgMKNp2h/hWzDe2eGAnNJ5Rgq8ZL4M7uc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739064672; c=relaxed/simple; bh=iBikpQq8yQwFE1O80fDjD7HKlovFb2Lt3L82Wz7M9dc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=SdMF5iPd205tp5Z7P4eHNB5g+SW1+EzoSQ/VT9GXxSTNSK2w2uyvwDkgJLI902kCrfMR5qcIs4LWB4NJOGqqMGYNFH+nUB8vyO+5LFqkq4o5DVz+F5UZX0q5rgpXlkhbtv7BSHMxWGPJawEqSoy5L8/R+bIdrVtEJwiQGtiHurA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=JnM/WUm4; arc=none smtp.client-ip=209.85.219.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="JnM/WUm4" Received: by mail-qv1-f50.google.com with SMTP id 6a1803df08f44-6dcdd9a3e54so33806216d6.3; Sat, 08 Feb 2025 17:31:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739064669; x=1739669469; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=8qd0y+cEEGSMDbTU6v7Sk4WhfgrAmRd2NDHVF935DK4=; b=JnM/WUm4mzINuAqs9cZaDnDmfZH2ZK+KxCBDaS3JXObn5t0t8+WnbQws1wg8IYmtuC ny7xm4Z2viwRliMXyNG2H4BwN4VP6g35I383AVSCQeIxczOWqsjuLyrUD8kZRsykdynx XJOrqfQ/3WYxQWh2HSM9sC0Bi6uy0jpRhOoxooMPVFkZr2tYa6jxHrw5rWVllRfOgrcH G8kYXyKYHygQ5v2kh//0IyI85yfms4+yJEAyI8Lcn0PlJnHwMdIoxtHWGtyLBayL72A6 vt0ccutyhvNNOGM/ZiomndXABCyWFHZ/jqPBY+SKO+mF8roGaLf5V0cQqQE+TBo7LJEa gaYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739064669; x=1739669469; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8qd0y+cEEGSMDbTU6v7Sk4WhfgrAmRd2NDHVF935DK4=; b=BWE3a0sJqU2y+WfK1a3U/6APD6yd03RmvR1M5rkVaT9R/rk0R3s4XJlepmfg6VHpa/ qPmaYPXZhd1V0WJkzYUASYmfkAYZFgY7dbfhz/u2T32hT7v/8GnFAuu3tua6bK8Ha4BA aFkfDuC/RgQp3wAJLVVLzfeOSBFKFmRCylFjX+RgdlbGJayDZSSmbcZeGLJ0pFle2uxi 9W6kZwjyogcNK3xqF5UIwD2H/N8Gx8wVvdOJnyOACQxn5P/s+EO37TTJ1IpH8s0/WIE1 G62BhAPuS9z+obQ3PKN0G6du3Faoq9h429k5iF0c8ekiLdNUS7ApC90a6HHJiJsqJ2aE CgIQ== X-Forwarded-Encrypted: i=1; AJvYcCVIt60I8S1e1FxGrTHZxzu/L0L3XPmBKeg5E5ZYFuvtsqJAqzVGCrSSCA2bYmga27jRUYQBevyq@vger.kernel.org, AJvYcCVaNemd65gBR7v/17zXs9y7ch6RpZZQ2MK+HSiRTmcepgTmYIT1ERgUR9z/o/ZshsClDuLE7+E45pbZREyv@vger.kernel.org, AJvYcCWP3ZDhqJ/op2Oh+7OuavQVb3EVmL+E0stEKziZLnudd+lBcQGwmBOvLnMhkm3efE1vnN1v6Dbh/eMR@vger.kernel.org X-Gm-Message-State: AOJu0Yzir/0oHWwLCwSQh+8bBEOpLrnHC2UVUyLZmOcrAY7QrePXVDa8 vPdcX4k5vV1DUgjLLxycqrM9GT0eg7qo3pw6ZSPmNU3HgCTBMm0G X-Gm-Gg: ASbGncuJdbxjrTKWYsBx6GLVqZDs/mAzjVZZTtLLrQYexZ2VnQi7lIBuL9+xA3/TI+x MNe7bFfbIzZnICpesTh36bozYNxlld9+RkZkpL8QnmE1snJ63UtHJgI5vcVefNttj12lOIa6KWt aHbyMy+Vu7Dukiv4+TU8bLxop5qWFqPWfAH/gu3Cvp4HwYyAwWbW4Kd4c3Av7ux+T2CwXbDdLR3 SvibBs+h+J1dTC+1n1URmX5FcuiIAk/7RS3x0ovsLq4sqeanv+AqAMKdNxAdvOhkug= X-Google-Smtp-Source: AGHT+IH5+7+WkkExgAKmn9GKbPwQMm+ZPXl5sXT9N8Ac3xNoPPbBjTifXy61nquwVLVZDKiyddYDZA== X-Received: by 2002:a05:6214:1bcc:b0:6d4:27fd:a99d with SMTP id 6a1803df08f44-6e44564bad9mr147118886d6.19.1739064669217; Sat, 08 Feb 2025 17:31:09 -0800 (PST) Received: from localhost ([2001:da8:7001:11::cb]) by smtp.gmail.com with UTF8SMTPSA id 6a1803df08f44-6e43ba36d5csm31699576d6.26.2025.02.08.17.31.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 08 Feb 2025 17:31:08 -0800 (PST) From: Inochi Amaoto To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen Wang , Inochi Amaoto , Maxime Coquelin , Alexandre Torgue , Richard Cochran , Paul Walmsley , Palmer Dabbelt , Albert Ou , Emil Renner Berthing , Romain Gantois , Jisheng Zhang , "Jan Petrous (OSS)" , =?utf-8?b?Q2zDqW1lbnQgTMOp?= =?utf-8?b?Z2Vy?= , Simon Horman , Furong Xu <0x1207@gmail.com>, Serge Semin , Lothar Rubusch , Suraj Jaiswal , Joe Hattori , Bartosz Golaszewski , Giuseppe Cavallaro , Jose Abreu Cc: Inochi Amaoto , netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-riscv@lists.infradead.org, Yixun Lan , Longbin Li Subject: [PATCH net-next v4 2/3] net: stmmac: platform: Add snps,dwmac-5.30a IP compatible string Date: Sun, 9 Feb 2025 09:30:51 +0800 Message-ID: <20250209013054.816580-3-inochiama@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250209013054.816580-1-inochiama@gmail.com> References: <20250209013054.816580-1-inochiama@gmail.com> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org Add "snps,dwmac-5.30a" compatible string for 5.30a version that can avoid to define some platform data in the glue layer. Signed-off-by: Inochi Amaoto Reviewed-by: Romain Gantois --- .../ethernet/stmicro/stmmac/stmmac_platform.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c index d0e61aa1a495..8dc3bd6946c6 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c @@ -405,6 +405,17 @@ static int stmmac_of_get_mac_mode(struct device_node *np) return -ENODEV; } +/* Compatible string array for all gmac4 devices */ +static const char * const stmmac_gmac4_compats[] = { + "snps,dwmac-4.00", + "snps,dwmac-4.10a", + "snps,dwmac-4.20a", + "snps,dwmac-5.10a", + "snps,dwmac-5.20", + "snps,dwmac-5.30a", + NULL +}; + /** * stmmac_probe_config_dt - parse device-tree driver parameters * @pdev: platform_device structure @@ -538,11 +549,7 @@ stmmac_probe_config_dt(struct platform_device *pdev, u8 *mac) plat->pmt = 1; } - if (of_device_is_compatible(np, "snps,dwmac-4.00") || - of_device_is_compatible(np, "snps,dwmac-4.10a") || - of_device_is_compatible(np, "snps,dwmac-4.20a") || - of_device_is_compatible(np, "snps,dwmac-5.10a") || - of_device_is_compatible(np, "snps,dwmac-5.20")) { + if (of_device_compatible_match(np, stmmac_gmac4_compats)) { plat->has_gmac4 = 1; plat->has_gmac = 0; plat->pmt = 1; From patchwork Sun Feb 9 01:30:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Inochi Amaoto X-Patchwork-Id: 13966566 X-Patchwork-Delegate: kuba@kernel.org Received: from mail-qv1-f44.google.com (mail-qv1-f44.google.com [209.85.219.44]) (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 AB5DD42AA1; Sun, 9 Feb 2025 01:31:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739064675; cv=none; b=hKlXBLmE4Ud9otstP2ZKC4HvNYowx493hCe3g473yxubbs9GMVy1NXbvpARriU64xwyM9XDMJK1y2MGLY/IuZXosnqW6B/F+d+fA1Y+Tgj19V2iwc15QBvPhriblBImnb47FkvK2TzccCZbDkl8Xx6NR+aI95Rroq9e7nWhpVpM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739064675; c=relaxed/simple; bh=Enhxd+oSfSWrfloa67Mz8lKM6sW7tq5LWnnQlTdx0Dg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=f/C6arzcrPESmbJK4oPTjtczMwMlb+L+nP5MCpSgWpFqHPOV3TJ2dveYwP4OdNKcx08lcXD5C0UzYV/v6Zo4ey1Ef6wh4ph1l4QI+3utzbeVFrNbkpLdhUxGlvrc+wdrNztEGrEoXAQkOVcSMaRXbgmHO8e83jY51vwHvuRbmLU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=kiR3tMGD; arc=none smtp.client-ip=209.85.219.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="kiR3tMGD" Received: by mail-qv1-f44.google.com with SMTP id 6a1803df08f44-6e4565be0e0so6950966d6.3; Sat, 08 Feb 2025 17:31:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739064672; x=1739669472; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=o2ve7pWmW52cNolGBUj1k5b8k438vWl+LtHxZL+klkM=; b=kiR3tMGDHtu7BcIMs44Ba50vu+v0Xw3zYWd+qo2+shW8+Cmvn9juJA9xYHlTB9db4k 2XfrLUYzHssM/I4sS8zGN2K8rn7BP3uXM652pbCWn6HkIA2k5gJOX5dEkKqTPnSmL18C JAS+WpFiXikCypKIAguUBlzsQM7OzYt4yjjmOebKuQqaEaa7sDokAImsakx9LsCjY3Z4 uC50nQ0xCxEpr6ejkkhtnqV9I+ZK32G7MosiDQ5jZDqJ30pJi0x+Myj9BGtZh/bpYy6W rSk3gnp/1K0yQrN8K6/08b3s7sM1zCJCN3tM6OZR9855SueKGEIk4hLKfC/+KbFHo//9 G3Dw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739064672; x=1739669472; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=o2ve7pWmW52cNolGBUj1k5b8k438vWl+LtHxZL+klkM=; b=tNo3DGGfyPOL8r78EnrdvxxYehMpXCQKNOwt0sgE5KvLhcURLtVFwXXIBth25i+IEU gvpXZ6p4k1u6eKkEjY+g9AsOOWdHxlw4DyrSkBjJ4E3pJiGX4CZTCGNHP0GcS7dBpQ/N lQKH7TXpr+BfHGsaNofdzL9zxlgAO5xPqvDhOmpIZvtfb5hSC/xAuqoUqLAfa03UogK0 OGmAGbIpKKvozB9i1XpPvUIFoqKul6kvSVF6yx5Kx6I0IVMstSzCZPVDwuhWfebMnfvc ewK8c0QshjwhHAJgSgLgO4kDU4Dnp8e0bd5fO9fO4c6iFCwV3G8iDmcA1pXuyrAjm8ci CxPw== X-Forwarded-Encrypted: i=1; AJvYcCU3GDbHlp9vzHt0jb+OjF7aI6eF0/dePILbcHaxesjpz9t6Z2YfWZ/SRleh/ha61Efxi2DkE5+Y@vger.kernel.org, AJvYcCVZc4UjODz9zOn6ouFR0mRTUrPHm4UGScqIgu4TwmhikV2Qg5r+bZhuRVb6AK7jrp9BU/NNMZqNSmiR@vger.kernel.org, AJvYcCXMsiwphqwE3F6a0i86Wfs2Yqz74xCdVc4BxxGdMQBZAAwR3GQqgSV+ZNYnEPXeqWfCIceh5vpuzB98ShvI@vger.kernel.org X-Gm-Message-State: AOJu0Yy+ZQa5o0XcALs9YN3KDdo6J8qrTqDKZGybLXKPOlUsaV/nqEWS 8kwiPt8gskxyVmo3V9k6N3xYLzD5WP/KJHGwXN6WYzqFch3k7Grt X-Gm-Gg: ASbGncv/9hwN94p5tSKykuShOdeTZUdIG8D08ev630UYXb1QNaGE8fKhmIpmUMPmPKU +xk9I/V4eNaxZ7aLMYn2wOz/Jjk8xBd3zYhVh7QwovNkmVDTk+Ofqk5vIF6dRZCxlfQwxeVFx9Y Rfk1n1cQqUbB+9c+NxRXqAJGfDIIUqRVNmJTgO3FsqxjpcSDhKnRvcX170aTim+ZVQipIlwW1GB TyUG91AmMU2ndGhaOKMrbYo/UD3XwXjsfjcAEEP9Kmu1lFSGlS6TqbwvdTuWs2vLLg= X-Google-Smtp-Source: AGHT+IH4RYvaOVhxM0aCfboV6ydutVw4SeKpHDLzHqRnIgIz/PxNnEbbVWL71o0oWyQQE8ZOCSrC/g== X-Received: by 2002:a05:6214:5098:b0:6d8:e5f4:b977 with SMTP id 6a1803df08f44-6e4455d6e05mr122062686d6.5.1739064672491; Sat, 08 Feb 2025 17:31:12 -0800 (PST) Received: from localhost ([2001:da8:7001:11::cb]) by smtp.gmail.com with UTF8SMTPSA id 6a1803df08f44-6e4556d153asm7861916d6.13.2025.02.08.17.31.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 08 Feb 2025 17:31:12 -0800 (PST) From: Inochi Amaoto To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen Wang , Inochi Amaoto , Maxime Coquelin , Alexandre Torgue , Richard Cochran , Paul Walmsley , Palmer Dabbelt , Albert Ou , Emil Renner Berthing , Romain Gantois , Jisheng Zhang , "Jan Petrous (OSS)" , =?utf-8?b?Q2zDqW1lbnQgTMOp?= =?utf-8?b?Z2Vy?= , Simon Horman , Furong Xu <0x1207@gmail.com>, Serge Semin , Lothar Rubusch , Suraj Jaiswal , Joe Hattori , Bartosz Golaszewski , Giuseppe Cavallaro , Jose Abreu Cc: Inochi Amaoto , netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-riscv@lists.infradead.org, Yixun Lan , Longbin Li Subject: [PATCH net-next v4 3/3] net: stmmac: Add glue layer for Sophgo SG2044 SoC Date: Sun, 9 Feb 2025 09:30:52 +0800 Message-ID: <20250209013054.816580-4-inochiama@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250209013054.816580-1-inochiama@gmail.com> References: <20250209013054.816580-1-inochiama@gmail.com> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org Adds Sophgo dwmac driver support on the Sophgo SG2044 SoC. Signed-off-by: Inochi Amaoto --- drivers/net/ethernet/stmicro/stmmac/Kconfig | 11 ++ drivers/net/ethernet/stmicro/stmmac/Makefile | 1 + .../ethernet/stmicro/stmmac/dwmac-sophgo.c | 105 ++++++++++++++++++ 3 files changed, 117 insertions(+) create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac-sophgo.c diff --git a/drivers/net/ethernet/stmicro/stmmac/Kconfig b/drivers/net/ethernet/stmicro/stmmac/Kconfig index 4cc85a36a1ab..b6ff51e1ebce 100644 --- a/drivers/net/ethernet/stmicro/stmmac/Kconfig +++ b/drivers/net/ethernet/stmicro/stmmac/Kconfig @@ -181,6 +181,17 @@ config DWMAC_SOCFPGA for the stmmac device driver. This driver is used for arria5 and cyclone5 FPGA SoCs. +config DWMAC_SOPHGO + tristate "Sophgo dwmac support" + depends on OF && (ARCH_SOPHGO || COMPILE_TEST) + default m if ARCH_SOPHGO + help + Support for ethernet controllers on Sophgo RISC-V SoCs + + This selects the Sophgo SoC specific glue layer support + for the stmmac device driver. This driver is used for the + ethernet controllers on various Sophgo SoCs. + config DWMAC_STARFIVE tristate "StarFive dwmac support" depends on OF && (ARCH_STARFIVE || COMPILE_TEST) diff --git a/drivers/net/ethernet/stmicro/stmmac/Makefile b/drivers/net/ethernet/stmicro/stmmac/Makefile index b26f0e79c2b3..594883fb4164 100644 --- a/drivers/net/ethernet/stmicro/stmmac/Makefile +++ b/drivers/net/ethernet/stmicro/stmmac/Makefile @@ -24,6 +24,7 @@ obj-$(CONFIG_DWMAC_ROCKCHIP) += dwmac-rk.o obj-$(CONFIG_DWMAC_RZN1) += dwmac-rzn1.o obj-$(CONFIG_DWMAC_S32) += dwmac-s32.o obj-$(CONFIG_DWMAC_SOCFPGA) += dwmac-altr-socfpga.o +obj-$(CONFIG_DWMAC_SOPHGO) += dwmac-sophgo.o obj-$(CONFIG_DWMAC_STARFIVE) += dwmac-starfive.o obj-$(CONFIG_DWMAC_STI) += dwmac-sti.o obj-$(CONFIG_DWMAC_STM32) += dwmac-stm32.o diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sophgo.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sophgo.c new file mode 100644 index 000000000000..a4997cc0294a --- /dev/null +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sophgo.c @@ -0,0 +1,105 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Sophgo DWMAC platform driver + * + * Copyright (C) 2024 Inochi Amaoto + */ + +#include +#include +#include +#include + +#include "stmmac_platform.h" + +struct sophgo_dwmac { + struct device *dev; + struct clk *clk_tx; +}; + +static void sophgo_dwmac_fix_mac_speed(void *priv, unsigned int speed, unsigned int mode) +{ + struct sophgo_dwmac *dwmac = priv; + long rate; + int ret; + + rate = rgmii_clock(speed); + if (rate < 0) { + dev_err(dwmac->dev, "invalid speed %u\n", speed); + return; + } + + ret = clk_set_rate(dwmac->clk_tx, rate); + if (ret) + dev_err(dwmac->dev, "failed to set tx rate %lu: %pe\n", + rate, ERR_PTR(ret)); +} + +static int sophgo_sg2044_dwmac_init(struct platform_device *pdev, + struct plat_stmmacenet_data *plat_dat, + struct stmmac_resources *stmmac_res) +{ + struct sophgo_dwmac *dwmac; + + dwmac = devm_kzalloc(&pdev->dev, sizeof(*dwmac), GFP_KERNEL); + if (!dwmac) + return -ENOMEM; + + dwmac->clk_tx = devm_clk_get_enabled(&pdev->dev, "tx"); + if (IS_ERR(dwmac->clk_tx)) + return dev_err_probe(&pdev->dev, PTR_ERR(dwmac->clk_tx), + "failed to get tx clock\n"); + + dwmac->dev = &pdev->dev; + plat_dat->bsp_priv = dwmac; + plat_dat->flags |= STMMAC_FLAG_SPH_DISABLE; + plat_dat->fix_mac_speed = sophgo_dwmac_fix_mac_speed; + plat_dat->multicast_filter_bins = 0; + plat_dat->unicast_filter_entries = 1; + + return 0; +} + +static int sophgo_dwmac_probe(struct platform_device *pdev) +{ + struct plat_stmmacenet_data *plat_dat; + struct stmmac_resources stmmac_res; + int ret; + + ret = stmmac_get_platform_resources(pdev, &stmmac_res); + if (ret) + return dev_err_probe(&pdev->dev, ret, + "failed to get resources\n"); + + plat_dat = devm_stmmac_probe_config_dt(pdev, stmmac_res.mac); + if (IS_ERR(plat_dat)) + return dev_err_probe(&pdev->dev, PTR_ERR(plat_dat), + "dt configuration failed\n"); + + ret = sophgo_sg2044_dwmac_init(pdev, plat_dat, &stmmac_res); + if (ret) + return ret; + + return stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res); +} + +static const struct of_device_id sophgo_dwmac_match[] = { + { .compatible = "sophgo,sg2044-dwmac" }, + { /* sentinel */ } +}; +MODULE_DEVICE_TABLE(of, sophgo_dwmac_match); + +static struct platform_driver sophgo_dwmac_driver = { + .probe = sophgo_dwmac_probe, + .remove = stmmac_pltfr_remove, + .driver = { + .name = "sophgo-dwmac", + .pm = &stmmac_pltfr_pm_ops, + .of_match_table = sophgo_dwmac_match, + }, +}; +module_platform_driver(sophgo_dwmac_driver); + +MODULE_AUTHOR("Inochi Amaoto "); +MODULE_DESCRIPTION("Sophgo DWMAC platform driver"); +MODULE_LICENSE("GPL");