Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp1671292pxb; Thu, 4 Nov 2021 06:34:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx3gbCrprUsjT+YuH0+DXbvGOXjNxUYcbgedy0DXwt8kIrzu5Qu7iOzOOGnxWos1v/1RDzW X-Received: by 2002:a05:6402:17db:: with SMTP id s27mr63308572edy.325.1636032893443; Thu, 04 Nov 2021 06:34:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1636032893; cv=none; d=google.com; s=arc-20160816; b=EcTrH4OXWhsVyRBYtgSYwK+7YVkX9NuDxi+f2hSZXTTlebQFxPjEjfgHbtkUKqnv5X yqGph78yLEOoNvTWwW093CCwx7wA5WcRJloycF89p/J/SN4jP2G5cK9PzfaLwmwQIlwJ acZeS2OkG5o5FGOobgQKeV8TKm1iUU9a2zb5HFWEITgsW9O8iHLP885LlKl2sUOUjW6K 2XqxpeR98Sp0YXTHO6+22lWq6pTykaTtrDNi3DuP4NVqgHq17qFqe+4C20dpX8gVIipS hQ9sQNYV2VrOOh1Np3W066CEV+OwbSmKMTPeyi0+wCY4sgneyw+Gm7vl1Hr6Z8rgUBZZ hePA== 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 :message-id:date:subject:cc:to:dkim-signature:dkim-signature:from; bh=gOrjPBeDo1Vi2nk3QHdW9LyETW9cJ6hj5K5wHyl43zs=; b=yFCIloseRrsyZmyOnhJDimMKIkXCjCsoaNdGKDT+TO+UimyxJPqP9RodzVcQSEIZyk lWouskb1VVK0fnOhTxfSvrQvf/xD/jfUoB7LOqA6H6wnIKrJwuLQDQ+B4S8Cu61qccyq +CrVT41sWs7qYvalBlZ7fKP61KP6BmxzqVogeoX+DAccZXbxWlXKoHpii6xU6t9SXXT9 nVaC6NrWrckrNXzhIfE5R2jptfGar1ihA//5IPnbvV2zJRWJMUs4lk7qruSURGfhSZR2 S1Szdn+SJZ6rD5EvD0FVd3yH/9exwLT1sdOZph58R+W+g+mtO2A24s1Zx9fHbmduoxAg 74kg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=xzCsRTYw; dkim=neutral (no key) header.i=@linutronix.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v6si8339748edc.621.2021.11.04.06.34.28; Thu, 04 Nov 2021 06:34:53 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=xzCsRTYw; dkim=neutral (no key) header.i=@linutronix.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231341AbhKDNfP (ORCPT + 99 others); Thu, 4 Nov 2021 09:35:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58740 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229869AbhKDNfL (ORCPT ); Thu, 4 Nov 2021 09:35:11 -0400 Received: from galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E61B0C061714; Thu, 4 Nov 2021 06:32:33 -0700 (PDT) From: Martin Kaistra DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1636032751; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=gOrjPBeDo1Vi2nk3QHdW9LyETW9cJ6hj5K5wHyl43zs=; b=xzCsRTYwoqKEQbZBNSMZnevPHviJUJw0hEK7oPm7jkVBpiZ73PTzmR3ha8hjUWKuFSiwRi Oel1Iy/xb1HbgcEVNdWaSthSkz/mhl9X+UaLnAHmVSO/C0zXyjhAQUSIOAoNlgCJVkcbOs gze3UFhTOosT2BTKNKousf6ou9eYXU5tWhcw0sK8PwmTEjRj8DPvY/+YIy4RWTW7DDdIC3 6FJEmNVkAYfP+fP/0LZfX2XaqKgmoYNy1OUjGk+gHryi9APZc2HmxdE24Kuzi9ypCv9ZCd RoGRXmQysH8ecpYZQrchnYQ+V8lMyLnaNgIttUYimbxkJWF7Epfg33XzF/9IDQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1636032751; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=gOrjPBeDo1Vi2nk3QHdW9LyETW9cJ6hj5K5wHyl43zs=; b=hP1gTNDdFVK+Cvh5bX33Ij59KvtetN2GQfEbvjKFQRVrstECHSKX5hOmudF0v8WRl8Pp1n mFkl/Z2TBMv1ciDA== To: Florian Fainelli , Andrew Lunn , Vivien Didelot Cc: martin.kaistra@linutronix.de, Richard Cochran , Vladimir Oltean , "David S. Miller" , Jakub Kicinski , John Stultz , Thomas Gleixner , Stephen Boyd , Russell King , Marc Kleine-Budde , linux-kernel@vger.kernel.org, netdev@vger.kernel.org Subject: [PATCH 0/7] Add PTP support for BCM53128 switch Date: Thu, 4 Nov 2021 14:31:54 +0100 Message-Id: <20211104133204.19757-1-martin.kaistra@linutronix.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, this series adds PTP support to the b53 DSA driver for the BCM53128 switch using the BroadSync HD feature. As there seems to be only one filter (either by Ethertype or DA) for timestamping incoming packets, only L2 is supported. To be able to use the timecounter infrastructure with a counter that wraps around at a non-power of two point, patch 2 adds support for such a custom point. Alternatively I could fix up the delta every time a wrap-around occurs in the driver itself, but this way it can also be useful for other hardware. Thanks, Martin Kurt Kanzenbach (1): net: dsa: b53: Add BroadSync HD register definitions Martin Kaistra (6): net: dsa: b53: Move struct b53_device to include/linux/dsa/b53.h timecounter: allow for non-power of two overflow net: dsa: b53: Add PHC clock support net: dsa: b53: Add logic for RX timestamping net: dsa: b53: Add logic for TX timestamping net: dsa: b53: Expose PTP timestamping ioctls to userspace drivers/net/dsa/b53/Kconfig | 7 + drivers/net/dsa/b53/Makefile | 1 + drivers/net/dsa/b53/b53_common.c | 21 ++ drivers/net/dsa/b53/b53_priv.h | 90 +------- drivers/net/dsa/b53/b53_ptp.c | 366 +++++++++++++++++++++++++++++++ drivers/net/dsa/b53/b53_ptp.h | 68 ++++++ drivers/net/dsa/b53/b53_regs.h | 38 ++++ include/linux/dsa/b53.h | 144 ++++++++++++ include/linux/timecounter.h | 3 + kernel/time/timecounter.c | 3 + net/dsa/tag_brcm.c | 85 ++++++- 11 files changed, 727 insertions(+), 99 deletions(-) create mode 100644 drivers/net/dsa/b53/b53_ptp.c create mode 100644 drivers/net/dsa/b53/b53_ptp.h create mode 100644 include/linux/dsa/b53.h -- 2.20.1