From patchwork Thu Jul 20 13:25:51 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Oleksij Rempel X-Patchwork-Id: 123295 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp3131350vqt; Thu, 20 Jul 2023 06:49:27 -0700 (PDT) X-Google-Smtp-Source: APBJJlGRC1XcBVz43rogsY9i9ZKDS3pn9EzvNpq1Udoq3xc+1gucfKsSVeiyGs+zTiww/n1PuZfc X-Received: by 2002:a05:6a00:3985:b0:673:6cb4:7b0c with SMTP id fi5-20020a056a00398500b006736cb47b0cmr6852455pfb.2.1689860967599; Thu, 20 Jul 2023 06:49:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689860967; cv=none; d=google.com; s=arc-20160816; b=VKRq5/bKntw2bYeI2dXeLiqo1XS9jTfaLLyzYd/Fp/781IQWdbJzEOcHM7dCEGTlPr Tcr7Ime7hGjiNBTY5xG+PeJ0Bw2z0BXLnRBjNqloFk41ny6U4MSEVgTjWgD9MSyv+UFg WlSC8KWxZee5boOaCO5h180hgHrhnM7bjf0E5ZAbqnCn0cK3nT1+ExvQIFCOcPOlDj60 h+3T1aBcXAcG0JTKVxaj8u0ojFmzOVAJfb+zje3gSAgSu2Xkul5SPLiyqoqUBwaD9mQe mVEGUp1ZX7IYRuU/e+i4/wZiO+Y46rhMWuTsP8J5vwwidwnNBV6AED0miIMkblPZG32X eicw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=ipfmumm1n1Xg1tTVK7WTvJ7ZFwOlICykeVXrVyqRxUo=; fh=d9XFsL0QiW7mB0yy/Dn7n/CVmKRQqLnFoPiaUGJewck=; b=NqDWrNopknfVjDNQRuKUJCiSEYHw3Y0n9Wl55kvKht7MSwM3Dshw0ildvilfjnIUkT 9H1O1n/g6xzZNxguWZKb+0/2OP/aahTTDK785/Q5CihOHmbVcgM4/zZDugkOLKu3nWcy Gh2rTjy12RPVeeUSIw6zI0keEbkstZ3NcG4tHiNL0b7kLrFwnibbQPZnuthmOTHo79NF nqAbSE5T0zPcCi4oBFWOkGm/PiR5J9hvA0+hr4dmVpvyNiz6L9jFpKhsyIWBJR7+ILOW qw0qIBSLJ6XIC8IP/RDNsTmxirHCkFBpDmv/9FW5Z06O6m+xvnD20aMPkRY7N0TisyB5 NM4w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id cb3-20020a056a00430300b00675f3892a4dsi961287pfb.304.2023.07.20.06.49.14; Thu, 20 Jul 2023 06:49:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231906AbjGTN0o (ORCPT + 99 others); Thu, 20 Jul 2023 09:26:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45034 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231868AbjGTN0Z (ORCPT ); Thu, 20 Jul 2023 09:26:25 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 59F9A198D for ; Thu, 20 Jul 2023 06:26:19 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qMTfL-0007aR-QE; Thu, 20 Jul 2023 15:25:59 +0200 Received: from [2a0a:edc0:0:1101:1d::ac] (helo=dude04.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1qMTfK-000qcI-Pd; Thu, 20 Jul 2023 15:25:58 +0200 Received: from ore by dude04.red.stw.pengutronix.de with local (Exim 4.96) (envelope-from ) id 1qMTfJ-000Ez5-0m; Thu, 20 Jul 2023 15:25:57 +0200 From: Oleksij Rempel To: "David S. Miller" , Andrew Lunn , Eric Dumazet , Florian Fainelli , Jakub Kicinski , Paolo Abeni , Vladimir Oltean , Woojung Huh , Arun Ramadoss , Conor Dooley , Krzysztof Kozlowski , Rob Herring Cc: Oleksij Rempel , kernel@pengutronix.de, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, UNGLinuxDriver@microchip.com, "Russell King (Oracle)" , devicetree@vger.kernel.org Subject: [PATCH net-next v1 1/6] dt-bindings: net: dsa: microchip: add wakeup-source property Date: Thu, 20 Jul 2023 15:25:51 +0200 Message-Id: <20230720132556.57562-2-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230720132556.57562-1-o.rempel@pengutronix.de> References: <20230720132556.57562-1-o.rempel@pengutronix.de> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ore@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771947654117257449 X-GMAIL-MSGID: 1771947654117257449 Add wakeup-source property to enable Wake on Lan functionality in the switch. Since PME wake pin is not always attached to the SoC, use wakeup-source instead of wakeup-gpios Signed-off-by: Oleksij Rempel --- Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml b/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml index e51be1ac03623..26385ba624245 100644 --- a/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml +++ b/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml @@ -49,6 +49,8 @@ properties: Set if the output SYNCLKO clock should be disabled. Do not mix with microchip,synclko-125. + wakeup-source: true + required: - compatible - reg From patchwork Thu Jul 20 13:25:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Oleksij Rempel X-Patchwork-Id: 123289 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp3123455vqt; Thu, 20 Jul 2023 06:35:56 -0700 (PDT) X-Google-Smtp-Source: APBJJlEYnU7/J/LvvpKn8z92vdltnLUzTq0PpLCWhjar86rU0MUAR5zQXbXexfZ+UjXpBtyTPUJj X-Received: by 2002:a17:907:ea7:b0:98f:450e:fc20 with SMTP id ho39-20020a1709070ea700b0098f450efc20mr5658486ejc.17.1689860155707; Thu, 20 Jul 2023 06:35:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689860155; cv=none; d=google.com; s=arc-20160816; b=ZhlvRLOw0XluSdenyiHNHeuTH3KUeBygP2MSRf5y/FZw5boiBNb5Nl7wlr3eISKwqK c2IF2f0cB66pYls5fmuUjdtCV+9RHxsXB+YXF2YPczluZ/MejDTwQ8JbpcqBpHCuAJkT jzlURsQ38HeDT/D2XI0Jx2lMKrrmqBqFgWTlV6Ibb7ZEzA7spV8VBk9/JGyy1U2DJM0I nxvuE2ertkwkD5yQV8EjMeZ8K8f81953Tx0Or6gZgZ5dVw0wqHnPuAr4t+nLsSmrLoVD 4Hgpe50+R+wMeQhpVhLTxQXoi7zo0+k6pYtG6+axMtQ62JzCL410veo/op7RBNC5boTR xmAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=qvOt9P6akdR8tJKq08CPtY2ysyNTDVUpGm0RLXg2ZWk=; fh=d9XFsL0QiW7mB0yy/Dn7n/CVmKRQqLnFoPiaUGJewck=; b=clf406ba3LfWA/4RKrlS3vN7vOv7Gss3nOsklReku8WlYOKqvEIBYAUyxuZaB8EU5O iJaxDdnvkC8OgkFKvE9mE6sMl3dvBAvUL1TpRF2E4yhy9JWdtsaM0BC8U3dYXfY50EXh MuXZf4UH2SM6Jcjqz6JPw+/BRUovT8/N8E645pZmGMLrvFNw+WGQtE5QcdS/DJOz4Xq/ OYNftT3rIXAl6P/pnh73fpKVCxmVncVrkAP51SWKOPIvro4xitY4Gpuey3bGsR7qinXn rvB3tue8Q9OI4e1UJq3bUNJ0DeNmbYBoeEAL8HJta+2zZni6+4ATFhNq7Hp0RquVhjOK 0+bQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f2-20020aa7d842000000b0051e10e83750si791605eds.294.2023.07.20.06.35.28; Thu, 20 Jul 2023 06:35:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231874AbjGTN03 (ORCPT + 99 others); Thu, 20 Jul 2023 09:26:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44988 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229818AbjGTN0Y (ORCPT ); Thu, 20 Jul 2023 09:26:24 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A8C2D1BFC for ; Thu, 20 Jul 2023 06:26:17 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qMTfL-0007aJ-QC; Thu, 20 Jul 2023 15:25:59 +0200 Received: from [2a0a:edc0:0:1101:1d::ac] (helo=dude04.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1qMTfK-000qc9-7b; Thu, 20 Jul 2023 15:25:58 +0200 Received: from ore by dude04.red.stw.pengutronix.de with local (Exim 4.96) (envelope-from ) id 1qMTfJ-000EzF-0q; Thu, 20 Jul 2023 15:25:57 +0200 From: Oleksij Rempel To: "David S. Miller" , Andrew Lunn , Eric Dumazet , Florian Fainelli , Jakub Kicinski , Paolo Abeni , Vladimir Oltean , Woojung Huh , Arun Ramadoss , Conor Dooley , Krzysztof Kozlowski , Rob Herring Cc: Oleksij Rempel , kernel@pengutronix.de, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, UNGLinuxDriver@microchip.com, "Russell King (Oracle)" , devicetree@vger.kernel.org Subject: [PATCH net-next v1 2/6] dt-bindings: net: dsa: microchip: add local-mac-address property support Date: Thu, 20 Jul 2023 15:25:52 +0200 Message-Id: <20230720132556.57562-3-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230720132556.57562-1-o.rempel@pengutronix.de> References: <20230720132556.57562-1-o.rempel@pengutronix.de> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ore@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771946802388867065 X-GMAIL-MSGID: 1771946802388867065 All KSZ switches have configurable MAC address support which is used for sending pause frames and for Wake on Magic Packet. So, allow local-mac-address property in the root of the switch node. Signed-off-by: Oleksij Rempel --- Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml b/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml index 26385ba624245..fd9a10d0ba28c 100644 --- a/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml +++ b/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml @@ -50,6 +50,7 @@ properties: microchip,synclko-125. wakeup-source: true + local-mac-address: true required: - compatible From patchwork Thu Jul 20 13:25:53 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Oleksij Rempel X-Patchwork-Id: 123285 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp3120217vqt; Thu, 20 Jul 2023 06:31:19 -0700 (PDT) X-Google-Smtp-Source: APBJJlHrGgMM70KqeQihUZXKZqpI1CYHh6LUobAALpmaB0orweXgChJFVTCdDLyEaPW5T+2nhgyP X-Received: by 2002:a05:6a00:884:b0:686:3220:14cc with SMTP id q4-20020a056a00088400b00686322014ccmr5750214pfj.10.1689859879478; Thu, 20 Jul 2023 06:31:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689859879; cv=none; d=google.com; s=arc-20160816; b=H8hLmyJtZIwh5LHlEtA7usIPF1z5B9XWWEjVkGAxi/ZoYYG0h1gmOUtop8DtR7lWDr 6cq3weUTtAGUpWJb1lA+lvROaD8VcYHFPUJP/x8eMJI0t3HYoqXzhqtMUIClswAr1CEz BBrIpAjEPuC7YKrNluVC+/4e4T7kDDQJ6VX0QQapwAfVt7UZgf9szyf2qHAhXHNnZcIm NxD+1ukTtm3pw73PvvtJLm0atB3FVsvPf6l+zuFThBpuUywfjIj08+sCYWcPq3lGCqhu 8PszFu6NW2JKQB/3dtPaEVgiC3myZ3dDN394hzbv9Sw54u/yeF8n/C27wf/CR8PpMIpH jUXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=UON8e0Nx6tQWZfxEWG/jy42PPmhApqkkx0HAiMYNwS0=; fh=d9XFsL0QiW7mB0yy/Dn7n/CVmKRQqLnFoPiaUGJewck=; b=MAxMKytNwI9vgR8bndCbTxOhprl+79lqvVwkSEa4aqy9mEQsmwFD4RaVemZYxe8UR/ s8QlIsL3vp4gZNHpQ3apnFsWqQdx4a22PE7mM5uDQzV86/KpvOpoU0w+vHaEm3gn4EsX ZbUNquN8dAWlGGJKQcFGymTvlXmZpKKSm8Ae9doZWu8bd4Z0l+N68Lpi1SZpVWvzaumr rKwteGvf1b0MHYsaJ7Ur6qNmf6RS7BPM6WukXWtQ5TmOSlNtGNXgXQ6j5ksQw0cVKH4w Q4Kikx47NVqW5U1sBnhBkd0BdDtlX1G163ek9JE3+pHBr2gE35EwnzI8t0fQnm3fle4o uXlQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t16-20020a056a00139000b00665dfbf3b1esi969035pfg.270.2023.07.20.06.31.04; Thu, 20 Jul 2023 06:31:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229973AbjGTN0c (ORCPT + 99 others); Thu, 20 Jul 2023 09:26:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44938 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231347AbjGTN0Y (ORCPT ); Thu, 20 Jul 2023 09:26:24 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DD5A41FC8 for ; Thu, 20 Jul 2023 06:26:17 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qMTfL-0007aH-QE; Thu, 20 Jul 2023 15:25:59 +0200 Received: from [2a0a:edc0:0:1101:1d::ac] (helo=dude04.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1qMTfK-000qc5-2T; Thu, 20 Jul 2023 15:25:58 +0200 Received: from ore by dude04.red.stw.pengutronix.de with local (Exim 4.96) (envelope-from ) id 1qMTfJ-000EzP-0v; Thu, 20 Jul 2023 15:25:57 +0200 From: Oleksij Rempel To: "David S. Miller" , Andrew Lunn , Eric Dumazet , Florian Fainelli , Jakub Kicinski , Paolo Abeni , Vladimir Oltean , Woojung Huh , Arun Ramadoss , Conor Dooley , Krzysztof Kozlowski , Rob Herring Cc: Oleksij Rempel , kernel@pengutronix.de, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, UNGLinuxDriver@microchip.com, "Russell King (Oracle)" , devicetree@vger.kernel.org Subject: [PATCH net-next v1 3/6] net: dsa: microchip: ksz9477: add Wake on LAN support Date: Thu, 20 Jul 2023 15:25:53 +0200 Message-Id: <20230720132556.57562-4-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230720132556.57562-1-o.rempel@pengutronix.de> References: <20230720132556.57562-1-o.rempel@pengutronix.de> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ore@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771946513244233499 X-GMAIL-MSGID: 1771946513244233499 Add WoL support for KSZ9477 family of switches. This code was tested on KSZ8563 chip and supports only wake on Magic Packet for now. Other parts needed for fully operational WoL support are in the followup patches. Signed-off-by: Oleksij Rempel --- drivers/net/dsa/microchip/ksz9477.c | 71 ++++++++++++++++++++++++++ drivers/net/dsa/microchip/ksz9477.h | 4 ++ drivers/net/dsa/microchip/ksz_common.c | 41 +++++++++++++++ 3 files changed, 116 insertions(+) diff --git a/drivers/net/dsa/microchip/ksz9477.c b/drivers/net/dsa/microchip/ksz9477.c index ce5fb3ea26dfa..56c8fb9f0379a 100644 --- a/drivers/net/dsa/microchip/ksz9477.c +++ b/drivers/net/dsa/microchip/ksz9477.c @@ -56,6 +56,74 @@ int ksz9477_change_mtu(struct ksz_device *dev, int port, int mtu) REG_SW_MTU_MASK, frame_size); } +static int ksz9477_handle_wake_reason(struct ksz_device *dev, int port) +{ + u8 pme_status; + int ret; + + ret = ksz_pread8(dev, port, REG_PORT_PME_STATUS, &pme_status); + if (ret) + return ret; + + if (pme_status) + dev_dbg(dev->dev, "Wake event on port %d due to: %s %s %s\n", + port, + pme_status & PME_WOL_MAGICPKT ? "\"Magic Packet\"" : "", + pme_status & PME_WOL_LINKUP ? "\"Link Up\"" : "", + pme_status & PME_WOL_ENERGY ? "\"Enery detect\"" : ""); + + return ksz_pwrite8(dev, port, REG_PORT_PME_STATUS, pme_status); +} + +void ksz9477_get_wol(struct ksz_device *dev, int port, + struct ethtool_wolinfo *wol) +{ + u8 pme_ctrl, pme_conf; + int ret; + + ret = ksz_read8(dev, REG_SW_PME_CTRL, &pme_conf); + if (ret) + return; + + if (!(pme_conf & PME_ENABLE)) + return; + + wol->supported = WAKE_MAGIC; + + ret = ksz_pread8(dev, port, REG_PORT_PME_CTRL, &pme_ctrl); + if (ret) + return; + + if (pme_ctrl & PME_WOL_MAGICPKT) + wol->wolopts |= WAKE_MAGIC; +} + +int ksz9477_set_wol(struct ksz_device *dev, int port, + struct ethtool_wolinfo *wol) +{ + u8 pme_conf, pme_ctrl = 0; + int ret; + + if (wol->wolopts & ~WAKE_MAGIC) + return -EINVAL; + + ret = ksz_read8(dev, REG_SW_PME_CTRL, &pme_conf); + if (ret) + return ret; + + if (!(pme_conf & PME_ENABLE)) + return -EOPNOTSUPP; + + ret = ksz9477_handle_wake_reason(dev, port); + if (ret) + return ret; + + if (wol->wolopts & WAKE_MAGIC) + pme_ctrl |= PME_WOL_MAGICPKT; + + return ksz_pwrite8(dev, port, REG_PORT_PME_CTRL, pme_ctrl); +} + static int ksz9477_wait_vlan_ctrl_ready(struct ksz_device *dev) { unsigned int val; @@ -1004,6 +1072,9 @@ void ksz9477_port_setup(struct ksz_device *dev, int port, bool cpu_port) /* clear pending interrupts */ if (dev->info->internal_phy[port]) ksz_pread16(dev, port, REG_PORT_PHY_INT_ENABLE, &data16); + + /* clear pending wake flags */ + ksz9477_handle_wake_reason(dev, port); } void ksz9477_config_cpu_port(struct dsa_switch *ds) diff --git a/drivers/net/dsa/microchip/ksz9477.h b/drivers/net/dsa/microchip/ksz9477.h index 27171482d0556..f972b6e7f1d12 100644 --- a/drivers/net/dsa/microchip/ksz9477.h +++ b/drivers/net/dsa/microchip/ksz9477.h @@ -58,6 +58,10 @@ int ksz9477_dsa_init(struct ksz_device *dev); int ksz9477_switch_init(struct ksz_device *dev); void ksz9477_switch_exit(struct ksz_device *dev); void ksz9477_port_queue_split(struct ksz_device *dev, int port); +void ksz9477_get_wol(struct ksz_device *dev, int port, + struct ethtool_wolinfo *wol); +int ksz9477_set_wol(struct ksz_device *dev, int port, + struct ethtool_wolinfo *wol); int ksz9477_port_acl_init(struct ksz_device *dev, int port); int ksz9477_cls_flower_add(struct dsa_switch *ds, int port, diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/microchip/ksz_common.c index 87e363fb300fe..eb67bb520934d 100644 --- a/drivers/net/dsa/microchip/ksz_common.c +++ b/drivers/net/dsa/microchip/ksz_common.c @@ -2819,6 +2819,45 @@ static int ksz_cls_flower_del(struct dsa_switch *ds, int port, return -EOPNOTSUPP; } +static void ksz_get_wol(struct dsa_switch *ds, int port, + struct ethtool_wolinfo *wol) +{ + struct ksz_device *dev = ds->priv; + + memset(wol, 0, sizeof(*wol)); + + switch (dev->chip_id) { + case KSZ8563_CHIP_ID: + case KSZ9477_CHIP_ID: + case KSZ9563_CHIP_ID: + case KSZ9567_CHIP_ID: + case KSZ9893_CHIP_ID: + case KSZ9896_CHIP_ID: + case KSZ9897_CHIP_ID: + ksz9477_get_wol(dev, port, wol); + return; + } +} + +static int ksz_set_wol(struct dsa_switch *ds, int port, + struct ethtool_wolinfo *wol) +{ + struct ksz_device *dev = ds->priv; + + switch (dev->chip_id) { + case KSZ8563_CHIP_ID: + case KSZ9477_CHIP_ID: + case KSZ9563_CHIP_ID: + case KSZ9567_CHIP_ID: + case KSZ9893_CHIP_ID: + case KSZ9896_CHIP_ID: + case KSZ9897_CHIP_ID: + return ksz9477_set_wol(dev, port, wol); + } + + return -EOPNOTSUPP; +} + static void ksz_set_xmii(struct ksz_device *dev, int port, phy_interface_t interface) { @@ -3497,6 +3536,8 @@ static const struct dsa_switch_ops ksz_switch_ops = { .set_mac_eee = ksz_set_mac_eee, .cls_flower_add = ksz_cls_flower_add, .cls_flower_del = ksz_cls_flower_del, + .get_wol = ksz_get_wol, + .set_wol = ksz_set_wol, }; struct ksz_device *ksz_switch_alloc(struct device *base, void *priv) From patchwork Thu Jul 20 13:25:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Oleksij Rempel X-Patchwork-Id: 123286 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp3122697vqt; Thu, 20 Jul 2023 06:34:46 -0700 (PDT) X-Google-Smtp-Source: APBJJlHGpwqSMbKNjB/WoasPUu5qzE2ranNJVko2viayrBF+w8RCcfCL5EWt5Qtv1YCQxdGQjjph X-Received: by 2002:a17:906:56:b0:997:6729:5f4b with SMTP id 22-20020a170906005600b0099767295f4bmr5821853ejg.11.1689860085626; Thu, 20 Jul 2023 06:34:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689860085; cv=none; d=google.com; s=arc-20160816; b=VJDi8huusu2KBe0O1TlbV1ttN0lg4E2YuBHte7yXXJQhKnKf2ITssxr0blnO5DeQtR oFDyuY1rnnfL+FIlHEaNHbYI3BkzobMMvuRJ1yjH7pcCD3nuApailzwJtUF5b2HluOOF lSAWQHtPH+aX1FcozuqDY9oPWRTOUkJofe04ymshwMkXNeyqrU02h5KxJHLEwMQxVgWh OEN/CWqgRUzVQO7JO8CH4Fq8Ciz/8/OTFO7ec3iOopnemwFwScMZK4PZuyYFc75SVMFO Uzl6YvbD3ZEmrnZGrad8m9f+1xGlxyCym7dxtINFTe0MvOKYe1CgzySktiXJ32OfhfnZ /ChA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=j/P3jWvQhfwbr72xIDWaXUEtzBUsdiY7tk9ZxDCil7Y=; fh=d9XFsL0QiW7mB0yy/Dn7n/CVmKRQqLnFoPiaUGJewck=; b=Ac/AWGlT+1qwcOn3gfgosxqUA0zRTR4YckMBp10fGh9e7NC4Yxxv2VAr7s1BovtUnm WHu27Pj1KQC7YQwG395U8D0k00mKiHFFNVIIznJz20nbov9QSfUllYau4/apcWloELoQ cZwEtCPanz1obDl2Ugksu55/AT0nlyYBr8D3wpJ8Rs1UtyfpYCJJBHOgQKy8kG6eXH2r Jk5XGU7e/jR/c3vdt4ZSxq8Io3jUs9sEPXzvSGWhcPMUAW4vEI8NAfLMLvhRfw3hDm/M /Qns1OPO2FOlIZHs7n8AJFwlObOCT7RcBZKyZ83h8+HbLGSrdW2XL9GOfcB/gzYeLNNB kyQA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id kt22-20020a170906aad600b0099b495adc35si628688ejb.265.2023.07.20.06.34.18; Thu, 20 Jul 2023 06:34:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231929AbjGTN0q (ORCPT + 99 others); Thu, 20 Jul 2023 09:26:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44958 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231875AbjGTN0Z (ORCPT ); Thu, 20 Jul 2023 09:26:25 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 63FFA26AE for ; Thu, 20 Jul 2023 06:26:19 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qMTfL-0007aL-QE; Thu, 20 Jul 2023 15:25:59 +0200 Received: from [2a0a:edc0:0:1101:1d::ac] (helo=dude04.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1qMTfK-000qcB-AA; Thu, 20 Jul 2023 15:25:58 +0200 Received: from ore by dude04.red.stw.pengutronix.de with local (Exim 4.96) (envelope-from ) id 1qMTfJ-000EzZ-0y; Thu, 20 Jul 2023 15:25:57 +0200 From: Oleksij Rempel To: "David S. Miller" , Andrew Lunn , Eric Dumazet , Florian Fainelli , Jakub Kicinski , Paolo Abeni , Vladimir Oltean , Woojung Huh , Arun Ramadoss , Conor Dooley , Krzysztof Kozlowski , Rob Herring Cc: Oleksij Rempel , kernel@pengutronix.de, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, UNGLinuxDriver@microchip.com, "Russell King (Oracle)" , devicetree@vger.kernel.org Subject: [PATCH net-next v1 4/6] net: dsa: microchip: ksz9477: add Wake on PHY event support Date: Thu, 20 Jul 2023 15:25:54 +0200 Message-Id: <20230720132556.57562-5-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230720132556.57562-1-o.rempel@pengutronix.de> References: <20230720132556.57562-1-o.rempel@pengutronix.de> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ore@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771946728965795794 X-GMAIL-MSGID: 1771946728965795794 KSZ9477 family of switches supports multiple PHY events: - wake on Link Up - wake on Energy Detect. Since current UAPI can't differentiate between this PHY events, map all of them to WAKE_PHY. Signed-off-by: Oleksij Rempel --- drivers/net/dsa/microchip/ksz9477.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/net/dsa/microchip/ksz9477.c b/drivers/net/dsa/microchip/ksz9477.c index 56c8fb9f0379a..9a531db79f832 100644 --- a/drivers/net/dsa/microchip/ksz9477.c +++ b/drivers/net/dsa/microchip/ksz9477.c @@ -88,7 +88,7 @@ void ksz9477_get_wol(struct ksz_device *dev, int port, if (!(pme_conf & PME_ENABLE)) return; - wol->supported = WAKE_MAGIC; + wol->supported = WAKE_PHY | WAKE_MAGIC; ret = ksz_pread8(dev, port, REG_PORT_PME_CTRL, &pme_ctrl); if (ret) @@ -96,6 +96,8 @@ void ksz9477_get_wol(struct ksz_device *dev, int port, if (pme_ctrl & PME_WOL_MAGICPKT) wol->wolopts |= WAKE_MAGIC; + if (pme_ctrl & (PME_WOL_LINKUP | PME_WOL_ENERGY)) + wol->wolopts |= WAKE_PHY; } int ksz9477_set_wol(struct ksz_device *dev, int port, @@ -104,7 +106,7 @@ int ksz9477_set_wol(struct ksz_device *dev, int port, u8 pme_conf, pme_ctrl = 0; int ret; - if (wol->wolopts & ~WAKE_MAGIC) + if (wol->wolopts & ~(WAKE_PHY | WAKE_MAGIC)) return -EINVAL; ret = ksz_read8(dev, REG_SW_PME_CTRL, &pme_conf); @@ -120,6 +122,8 @@ int ksz9477_set_wol(struct ksz_device *dev, int port, if (wol->wolopts & WAKE_MAGIC) pme_ctrl |= PME_WOL_MAGICPKT; + if (wol->wolopts & WAKE_PHY) + pme_ctrl |= PME_WOL_LINKUP | PME_WOL_ENERGY; return ksz_pwrite8(dev, port, REG_PORT_PME_CTRL, pme_ctrl); } From patchwork Thu Jul 20 13:25:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Oleksij Rempel X-Patchwork-Id: 123294 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp3126282vqt; Thu, 20 Jul 2023 06:40:45 -0700 (PDT) X-Google-Smtp-Source: APBJJlGRoIY3GjL5QQ8KcILk25Uos1ka6vyEp7tvdtdkB6iG5qteJVgWnEEASLsfwpTLq+qJqb36 X-Received: by 2002:a05:6358:90f:b0:134:c37f:4b63 with SMTP id r15-20020a056358090f00b00134c37f4b63mr21545503rwi.2.1689860445574; Thu, 20 Jul 2023 06:40:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689860445; cv=none; d=google.com; s=arc-20160816; b=YmjVJiAWtHickB+J8cq87oUVQV3C+M7j1zKwdJOniQeX2XisZ7kav7frLc/Umo2dTZ PuI1FbINu65LTLLIaFlNq3X4ANaz+aAszfsRGfGLLnN33bUZ/Z69r3RhzwT8AQb39nPr ih40IU6yXUdVyepGRYBD8+4uwDYf2C5N1AgE1EDVkUpPRu1wjLbLt979sbt65E8mnEA2 Z6SOOb/1S4yFqmv25N1uR9PnWq2/OayrkH1af+mwLtYTNCfo4hHrYi3ldKMDWlgTdcJU Y3rGGsHzzmNXcUuahB7+ep1oBFJiRpRHLTKb3KYvgFIy+drP5cPYrSWxqrjim3faPBAY 4L7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=MYsHiiNYq5Uwpy4l+bYI4HJsZ5/PnYrq8ClFTjVJ4uo=; fh=d9XFsL0QiW7mB0yy/Dn7n/CVmKRQqLnFoPiaUGJewck=; b=sIJnbz1KWWfjposKVlUgRCsgKxUf7ZhLWRkuZCcmZrL89Vit4DDb7ZmWAULtlKrsDU dfeSz9A0FJGOcjSesgsc8mTCfjhRTRD0rrK2XgxAuAclkzuJYeKv45hqU5q//kGtVMTs ie5oF6Adfn7a46CNTm5jax0fiPTwqE++ArRiYSkML5JaBYMqQGSmHlXrqZyfJBumaLeg Tlm4Qu9rO2TU8oKTqdgvY7KaoIL1ECfq67wCmDVYjWExZ+Tzxh6Jjp7E8/ahKSQGr5XS A4GNZPVFG4ykLv3XR4d4YMWu85E7MOa8AZl5YxVPcUAmz+w84pAuIgBuVsx6ct8SbkGV Yu/g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id bu16-20020a632950000000b0055acc92299esi866169pgb.240.2023.07.20.06.40.13; Thu, 20 Jul 2023 06:40:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231897AbjGTN0i (ORCPT + 99 others); Thu, 20 Jul 2023 09:26:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45022 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231847AbjGTN0Z (ORCPT ); Thu, 20 Jul 2023 09:26:25 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9943E1FD7 for ; Thu, 20 Jul 2023 06:26:18 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qMTfL-0007aG-QF; Thu, 20 Jul 2023 15:26:00 +0200 Received: from [2a0a:edc0:0:1101:1d::ac] (helo=dude04.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1qMTfJ-000qc3-Vg; Thu, 20 Jul 2023 15:25:57 +0200 Received: from ore by dude04.red.stw.pengutronix.de with local (Exim 4.96) (envelope-from ) id 1qMTfJ-000Ezj-12; Thu, 20 Jul 2023 15:25:57 +0200 From: Oleksij Rempel To: "David S. Miller" , Andrew Lunn , Eric Dumazet , Florian Fainelli , Jakub Kicinski , Paolo Abeni , Vladimir Oltean , Woojung Huh , Arun Ramadoss , Conor Dooley , Krzysztof Kozlowski , Rob Herring Cc: Oleksij Rempel , kernel@pengutronix.de, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, UNGLinuxDriver@microchip.com, "Russell King (Oracle)" , devicetree@vger.kernel.org Subject: [PATCH net-next v1 5/6] net: dsa: microchip: use wakeup-source DT property to enable PME output Date: Thu, 20 Jul 2023 15:25:55 +0200 Message-Id: <20230720132556.57562-6-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230720132556.57562-1-o.rempel@pengutronix.de> References: <20230720132556.57562-1-o.rempel@pengutronix.de> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ore@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771947106371129063 X-GMAIL-MSGID: 1771947106371129063 KSZ switches with WoL support signals wake event over PME pin. If this pin is attached to some external PMIC or System Controller can't be described as GPIO, the only way to describe it in the devicetree is to use wakeup-source property. So, add support for this property and enable PME switch output if this property is present. Signed-off-by: Oleksij Rempel --- drivers/net/dsa/microchip/ksz9477.c | 3 +++ drivers/net/dsa/microchip/ksz_common.c | 3 +++ drivers/net/dsa/microchip/ksz_common.h | 1 + 3 files changed, 7 insertions(+) diff --git a/drivers/net/dsa/microchip/ksz9477.c b/drivers/net/dsa/microchip/ksz9477.c index 9a531db79f832..1a3d7ae5970e2 100644 --- a/drivers/net/dsa/microchip/ksz9477.c +++ b/drivers/net/dsa/microchip/ksz9477.c @@ -1208,6 +1208,9 @@ int ksz9477_setup(struct dsa_switch *ds) return ret; } + if (dev->wakeup_source) + ksz_write8(dev, REG_SW_PME_CTRL, PME_ENABLE); + return 0; } diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/microchip/ksz_common.c index eb67bb520934d..354cc5333675b 100644 --- a/drivers/net/dsa/microchip/ksz_common.c +++ b/drivers/net/dsa/microchip/ksz_common.c @@ -3717,6 +3717,9 @@ int ksz_switch_register(struct ksz_device *dev) dev_err(dev->dev, "inconsistent synclko settings\n"); return -EINVAL; } + + dev->wakeup_source = of_property_read_bool(dev->dev->of_node, + "wakeup-source"); } ret = dsa_register_switch(dev->ds); diff --git a/drivers/net/dsa/microchip/ksz_common.h b/drivers/net/dsa/microchip/ksz_common.h index 4ec53cf4b30be..b67bb9b4631ea 100644 --- a/drivers/net/dsa/microchip/ksz_common.h +++ b/drivers/net/dsa/microchip/ksz_common.h @@ -158,6 +158,7 @@ struct ksz_device { phy_interface_t compat_interface; bool synclko_125; bool synclko_disable; + bool wakeup_source; struct vlan_table *vlan_cache; From patchwork Thu Jul 20 13:25:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Oleksij Rempel X-Patchwork-Id: 123290 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp3123650vqt; Thu, 20 Jul 2023 06:36:17 -0700 (PDT) X-Google-Smtp-Source: APBJJlFa5yIkkDNKuwVDeTKgI4B1SLitBHXhFffv2VCLF/NSRom8Z7nYXTDp11X9oo1wwJ69g3Rc X-Received: by 2002:a05:6a20:2d1:b0:110:9210:f6ac with SMTP id 17-20020a056a2002d100b001109210f6acmr4227940pzb.37.1689860177219; Thu, 20 Jul 2023 06:36:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689860177; cv=none; d=google.com; s=arc-20160816; b=H3+xSrM0N73Bgr8EqilNH5z5ZRjoty9Hg4b1QQaPp7hfWdnWnyrQwbOY/d+aTnKcQ3 tdkcH5jF2QvmyaQMKVTa5PSkiU+jodtdn2qxS6evo6S4lY5wtwWmAUj261+/3wPyJCCN SzUrMsEItE6SZqKJfHrSCvXEw/WvA0LPFiW9zuOdVAaWJD2hWCUbRx1xA0y4cp6dJKZZ +ZgyXH5T/0S5iSF2CdQJZ3xfhDoLdivSZM8+V8DzdxHIYoCdiPWFA9wxRE+wtnoGkSHF DQYqGUoP6P1owS3Uc21NHvWtDfm9R5e4OhENmDsZEEBmUSKpAggiA4JnUUkOFOT52pp5 dJ7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=Y818eBbaQ7MFi1JUG+Y1KrOPMcNkEx2yS4MHhx9Rnwc=; fh=d9XFsL0QiW7mB0yy/Dn7n/CVmKRQqLnFoPiaUGJewck=; b=Hr3bXXJw2jT2vLkkG9BkqoSXLaLHJMRehRZoDXcTH/3dPfHiRliSxfnrTX0wmkENzD hx+77U0llV+r5QYTeFya9AX5uMHCSg4dOATqUInDHlQB6O68+lgn8FrfYxtPOdci1/bV w3knMwXkS8+mRyvKShUnoL2RLJWrzsFRPOsuvFEv5pfAV7O0EDSccUi5J0792cvEats/ t3Z55/BoN9oLdQ54yqI52viPNefV8QgLzEHUpZUbw6Y/xh2rNss1OLHuN/lIEbjXy4VS hcCYLsnyHxTFHVjOVq/mzCFbMLvHxtpAMhHvArMoOUk/u7AmJKiyZrKjTCDCYuXGJ7Ej kXJg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ca13-20020a056a00418d00b006823a64b0a6si911009pfb.350.2023.07.20.06.36.03; Thu, 20 Jul 2023 06:36:17 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231892AbjGTN0f (ORCPT + 99 others); Thu, 20 Jul 2023 09:26:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45030 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231853AbjGTN0Z (ORCPT ); Thu, 20 Jul 2023 09:26:25 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 11740210B for ; Thu, 20 Jul 2023 06:26:19 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qMTfL-0007aN-QI; Thu, 20 Jul 2023 15:25:59 +0200 Received: from [2a0a:edc0:0:1101:1d::ac] (helo=dude04.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1qMTfK-000qcF-DI; Thu, 20 Jul 2023 15:25:58 +0200 Received: from ore by dude04.red.stw.pengutronix.de with local (Exim 4.96) (envelope-from ) id 1qMTfJ-000Ezt-15; Thu, 20 Jul 2023 15:25:57 +0200 From: Oleksij Rempel To: "David S. Miller" , Andrew Lunn , Eric Dumazet , Florian Fainelli , Jakub Kicinski , Paolo Abeni , Vladimir Oltean , Woojung Huh , Arun Ramadoss , Conor Dooley , Krzysztof Kozlowski , Rob Herring Cc: Oleksij Rempel , kernel@pengutronix.de, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, UNGLinuxDriver@microchip.com, "Russell King (Oracle)" , devicetree@vger.kernel.org Subject: [PATCH net-next v1 6/6] net: dsa: microchip: ksz9477: make switch MAC address configurable Date: Thu, 20 Jul 2023 15:25:56 +0200 Message-Id: <20230720132556.57562-7-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230720132556.57562-1-o.rempel@pengutronix.de> References: <20230720132556.57562-1-o.rempel@pengutronix.de> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ore@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771946825179845688 X-GMAIL-MSGID: 1771946825179845688 The switch MAC address is used for sending pause frames and for Wake on Magic Packet. So, make use of local-mac-address property in the switch node root and configure it in the HW. Signed-off-by: Oleksij Rempel --- drivers/net/dsa/microchip/ksz9477.c | 8 ++++++++ drivers/net/dsa/microchip/ksz_common.c | 7 +++++++ drivers/net/dsa/microchip/ksz_common.h | 2 ++ 3 files changed, 17 insertions(+) diff --git a/drivers/net/dsa/microchip/ksz9477.c b/drivers/net/dsa/microchip/ksz9477.c index 1a3d7ae5970e2..f3c59f5fd4dc2 100644 --- a/drivers/net/dsa/microchip/ksz9477.c +++ b/drivers/net/dsa/microchip/ksz9477.c @@ -1211,6 +1211,14 @@ int ksz9477_setup(struct dsa_switch *ds) if (dev->wakeup_source) ksz_write8(dev, REG_SW_PME_CTRL, PME_ENABLE); + if (is_valid_ether_addr(dev->mac_addr)) { + int i; + + for (i = 0; i < ETH_ALEN; i++) + ksz_write8(dev, REG_SW_MAC_ADDR_0 + i, + dev->mac_addr[i]); + } + return 0; } diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/microchip/ksz_common.c index 354cc5333675b..b6ad1f2dddf3b 100644 --- a/drivers/net/dsa/microchip/ksz_common.c +++ b/drivers/net/dsa/microchip/ksz_common.c @@ -3686,6 +3686,8 @@ int ksz_switch_register(struct ksz_device *dev) for (port_num = 0; port_num < dev->info->port_cnt; ++port_num) dev->ports[port_num].interface = PHY_INTERFACE_MODE_NA; if (dev->dev->of_node) { + const u8 *mac; + ret = of_get_phy_mode(dev->dev->of_node, &interface); if (ret == 0) dev->compat_interface = interface; @@ -3720,6 +3722,11 @@ int ksz_switch_register(struct ksz_device *dev) dev->wakeup_source = of_property_read_bool(dev->dev->of_node, "wakeup-source"); + + mac = of_get_property(dev->dev->of_node, "local-mac-address", + NULL); + if (mac) + memcpy(dev->mac_addr, mac, ETH_ALEN); } ret = dsa_register_switch(dev->ds); diff --git a/drivers/net/dsa/microchip/ksz_common.h b/drivers/net/dsa/microchip/ksz_common.h index b67bb9b4631ea..adedc95c60fac 100644 --- a/drivers/net/dsa/microchip/ksz_common.h +++ b/drivers/net/dsa/microchip/ksz_common.h @@ -171,6 +171,8 @@ struct ksz_device { struct mutex lock_irq; /* IRQ Access */ struct ksz_irq girq; struct ksz_ptp_data ptp_data; + + u8 mac_addr[ETH_ALEN]; }; /* List of supported models */