From patchwork Thu Jan 17 01:49:36 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yangbo Lu X-Patchwork-Id: 1026372 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=nxp.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43g6bQ0nKNz9s3l for ; Thu, 17 Jan 2019 12:55:14 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727978AbfAQBzM (ORCPT ); Wed, 16 Jan 2019 20:55:12 -0500 Received: from inva021.nxp.com ([92.121.34.21]:55680 "EHLO inva021.nxp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727397AbfAQBzJ (ORCPT ); Wed, 16 Jan 2019 20:55:09 -0500 Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 0A1882003BD; Thu, 17 Jan 2019 02:55:08 +0100 (CET) Received: from invc005.ap-rdc01.nxp.com (invc005.ap-rdc01.nxp.com [165.114.16.14]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 248602001FD; Thu, 17 Jan 2019 02:55:04 +0100 (CET) Received: from titan.ap.freescale.net (TITAN.ap.freescale.net [10.192.208.233]) by invc005.ap-rdc01.nxp.com (Postfix) with ESMTP id 044DA402E5; Thu, 17 Jan 2019 09:54:58 +0800 (SGT) From: Yangbo Lu To: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: "David S . Miller" , Richard Cochran , Rob Herring , Shawn Guo , Yangbo Lu Subject: [v2, 5/5] ptp_qoriq: add fiper pulse loopback support Date: Thu, 17 Jan 2019 09:49:36 +0800 Message-Id: <20190117014936.48117-6-yangbo.lu@nxp.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20190117014936.48117-1-yangbo.lu@nxp.com> References: <20190117014936.48117-1-yangbo.lu@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This patch is to add Kconfig options to support fiper pulse loopback mode. This is very useful for validating hardware and driver without external hardware. Signed-off-by: Yangbo Lu --- Changes for v2: - None. --- drivers/ptp/Kconfig | 18 ++++++++++++++++++ drivers/ptp/ptp_qoriq.c | 7 ++++++- 2 files changed, 24 insertions(+), 1 deletions(-) diff --git a/drivers/ptp/Kconfig b/drivers/ptp/Kconfig index d137c48..561d797 100644 --- a/drivers/ptp/Kconfig +++ b/drivers/ptp/Kconfig @@ -55,6 +55,24 @@ config PTP_1588_CLOCK_QORIQ To compile this driver as a module, choose M here: the module will be called ptp_qoriq. +config PTP_1588_CLOCK_QORIQ_FIPER1_LOOPBACK + bool "Fiper1 pulse loopback" + depends on PTP_1588_CLOCK_QORIQ + default n + help + Enable fiper1 pulse loopback mode. If choose y, fiper1 pulse is + looped back into trigger1 input. In default, trigger1 input is + based upon normal external trigger input. + +config PTP_1588_CLOCK_QORIQ_FIPER2_LOOPBACK + bool "Fiper2 pulse loopback" + depends on PTP_1588_CLOCK_QORIQ + default n + help + Enable fiper2 pulse loopback mode. If choose y, fiper2 pulse is + looped back into trigger2 input. In default, trigger2 input is + based upon normal external trigger input. + config PTP_1588_CLOCK_IXP46X tristate "Intel IXP46x as PTP clock" depends on IXP4XX_ETH diff --git a/drivers/ptp/ptp_qoriq.c b/drivers/ptp/ptp_qoriq.c index a2e7702..5294475 100644 --- a/drivers/ptp/ptp_qoriq.c +++ b/drivers/ptp/ptp_qoriq.c @@ -551,7 +551,12 @@ static int qoriq_ptp_probe(struct platform_device *dev) tmr_ctrl = (qoriq_ptp->tclk_period & TCLK_PERIOD_MASK) << TCLK_PERIOD_SHIFT | (qoriq_ptp->cksel & CKSEL_MASK) << CKSEL_SHIFT; - +#ifdef CONFIG_PTP_1588_CLOCK_QORIQ_FIPER1_LOOPBACK + tmr_ctrl |= PP1L; +#endif +#ifdef CONFIG_PTP_1588_CLOCK_QORIQ_FIPER2_LOOPBACK + tmr_ctrl |= PP2L; +#endif spin_lock_irqsave(&qoriq_ptp->lock, flags); regs = &qoriq_ptp->regs;