From patchwork Fri Mar 11 12:54:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ioana Ciornei X-Patchwork-Id: 550612 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9FB80C433F5 for ; Fri, 11 Mar 2022 12:55:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1348679AbiCKM4N (ORCPT ); Fri, 11 Mar 2022 07:56:13 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36896 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1348662AbiCKM4J (ORCPT ); Fri, 11 Mar 2022 07:56:09 -0500 Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60079.outbound.protection.outlook.com [40.107.6.79]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 43E641BFDCD; Fri, 11 Mar 2022 04:55:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VKcPC+zk5bBRfNoXAUSC8xMO5WZQH3GZFRfdifnEZadilv2boJ/fxAPpDTVpoWrN8QAqjnUfShiCiwl7eUo7y3K3Gy9UI5v2PzLkkrt5naTw+s7dOpKxnHYFnfn0wl4p5jVII8QZyQ63TAm9qZoXeL97jLbyB89JNfc5Pxz68Xk/L2s/Qp2jCmR2J6TAeVkppVo63TduEZMKA9mzaeTpwZbfKCwvxdByCjuzDE3SKr56rOrELSbb8FbF9jSeNW9jCxqEaxKLUwOuJBITjwTZ7/avybbKanTOz7w5Hfp7ypkuJhuiDPizf1pAvnC3kCoYyV2b3mqDrhEnxhyWEERqhw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=KB+Zp7eLioZvZ3BwE3OyUisFriyX66ZtMx0rlCx/IFI=; b=e4JXvziaBGL7JN7BdcTV98IuAbYLantkReUfP0SJskEAMPYuQ9p7b8aX92fmA29yWMT6LYHS6T+F4OxJoXurFmgWWGmang6LJm12d5qYDfpyM4OieDP78X+CvWtPy9XoEfj+KtY7ijFpIF2Do2hZODPrnbQtDUp+ofYwdUpyuTNyzUFSDbpOlwMp+HJzbND5LbjPNppIMugo8c9vh/3lkjlVEgP5NcNEzzH+FZxUGnPW35GpFYOzZSurCRT0bsDY/1PtRPcOJ9NiUSYVy5Nm/bRdgJwSHQ+SXhvAA5UNjd7/ovBhHL+cWfMG6XD5tjOGeZXWSHD4rdSOtI2dl7K4Xg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KB+Zp7eLioZvZ3BwE3OyUisFriyX66ZtMx0rlCx/IFI=; b=aUKUuAh5IUiaEDUeEaNFp5/k87E82Cw2/tgllhpKcmAwjlQGAa4BoGYOYfIbGHwaqmA/MArQhuhe4OjmVgdnJRwWrfi3v7pQtx8Rab+pWQwYXizKwWeRTWKF8TEF42IgH6xiCdcEnpa4ahX2bQE2LZ/6Z8FaKIMGVg4EPmhUTQ4= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM9PR04MB8555.eurprd04.prod.outlook.com (2603:10a6:20b:436::16) by AM6PR0402MB3431.eurprd04.prod.outlook.com (2603:10a6:209:e::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5038.19; Fri, 11 Mar 2022 12:55:02 +0000 Received: from AM9PR04MB8555.eurprd04.prod.outlook.com ([fe80::c58c:4cac:5bf9:5579]) by AM9PR04MB8555.eurprd04.prod.outlook.com ([fe80::c58c:4cac:5bf9:5579%7]) with mapi id 15.20.5038.027; Fri, 11 Mar 2022 12:55:02 +0000 From: Ioana Ciornei To: davem@davemloft.net, kuba@kernel.org, netdev@vger.kernel.org Cc: kishon@ti.com, vkoul@kernel.org, robh+dt@kernel.org, leoyang.li@nxp.com, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux@armlinux.org.uk, shawnguo@kernel.org, hongxing.zhu@nxp.com, Ioana Ciornei Subject: [PATCH net-next v4 2/8] dt-bindings: phy: add the "fsl,lynx-28g" compatible Date: Fri, 11 Mar 2022 14:54:31 +0200 Message-Id: <20220311125437.3854483-3-ioana.ciornei@nxp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220311125437.3854483-1-ioana.ciornei@nxp.com> References: <20220311125437.3854483-1-ioana.ciornei@nxp.com> X-ClientProxiedBy: AM5PR0402CA0014.eurprd04.prod.outlook.com (2603:10a6:203:90::24) To AM9PR04MB8555.eurprd04.prod.outlook.com (2603:10a6:20b:436::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a21d6730-c05f-41a1-3f5a-08da035e5b65 X-MS-TrafficTypeDiagnostic: AM6PR0402MB3431:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5GRnQRMHX5m4DGAlNfZ8fmCU2EdmifrglU4cuih/x2n5Zj3BBiZX1pPNVyW/1bQz+b3u2bbtx/jNfzQVx1GF7ZVbGFRAdkxWQ2DuPsA977xmBG6L9xBt4BFYzfwK5FvPdIP1E5tY4BWq+AvT5Ec+4OU2N3DIILwQPqc1LB4Q++3vqihzxvCPrOTIjeL5IueDaQ+Bert+XdmcXG8YEfYGk5hrosh+fig9jk49VkvEWHtzMX3ZDVsoeV28ewYXL+2yQFcK5oSyT/1YP7KWyqBH1WBkOiMNC/etltZvf63sZorY/H5W7hqzhDE9WifkhdJNwUD1ioTbhikZ6pSrLFnerIcXPgyGvhy/W3bgdPSQSYtjcyB6tIaoY1dyKDT1M8npUZfUL9rOPFcUD2HjYhY2nV2/K/0ysDXIEFafv/adbErNTvB9Ut2/bHKlis34l/AOnt5gY2uge8Inx4PpsZuif+EAzHEUlRpIXp5Lpkix73yHdDzAgVfp6cIJp5UiQPCR9UiFOMdc8Jyn8fhV7/B0r5kFrDEkw7J36HDN+FV0ADx3qpI6TDIFCApmbjC422mIY5KJVWjRZIM/h7SO4XxcxxMBC4KRLbk5O/bjFxUFqUQg3aBePUFcby/LeM7NOCBgcFiAi8FiB8rqWRYW5NuElU/htmZYabqLciecc5evWjRuzUat7QWmmeMbxnWg9UWUb9tel/KcxknshbscaEU6kaDGCSXj8B8dVzjQcbR7nkRpFJ0O7kFKSYCf60r+RFnhGfnHXLwHf6RZ9QD0m57Qtf4EjAb6lC827ziW9l1Y5l2VmD7Fc0Mr856XWjZnAOyO X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR04MB8555.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(8676002)(66946007)(7416002)(966005)(5660300002)(6486002)(8936002)(44832011)(508600001)(66476007)(66556008)(316002)(4326008)(1076003)(2616005)(6512007)(52116002)(6666004)(6506007)(2906002)(26005)(186003)(86362001)(36756003)(38350700002)(38100700002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: FUaxpdxpaG6Ao76P8FlZVYO+SBxSKJOHgBkVVy/bz+iicymHIAmm6/To1U0f3d99kSUfN/wdYLz0oQXsUGHCa5iTjcJQRD5tlMpzTUayfX7XdEAWDkb2qz7jwGrgGKjPU/6Y331lVks8z18MuTtNBN2IfeLA1BXkGUnw+qtoyXdo4C+a6/ppd95pYl1ntloFzYBj0bvIf0hBwmlzEe92axwTn4ylKnv0FxHgvA10MSkaFVE3awgg18cHkR8LUuyIf5bzSm3fF9d0suhTaRQkTi2WllWin1a+eHrHNEzSFBBVINhPGEAOmPok6CNjwZEQgx/oyueYMc7YXeAPKKUPNbhhdcVg38Qn68sNESMbJCVTnNrRM+QBkbguJrTLX8QOp2aCOGwZm8j54k2pls+O1IfTCN0lMC7Rxdnf9gt8X2NxZ3JF/irj+BAjqNkKDiOX9H9whIMTRWKT3Dv75Z1Oy5Ich/avzsXw0DgJaI5y9s2bDH2PNv8Fl8bfA5EsVCCtuAHRvxx87dUv5NzEVtTH9I1weO25QpByRnN5ioHURb/N93Crw9i4zztHPi/RxLktdb6Ys/OwbnZZuXo6+U9c4fknqeb54FoBP076Gcxtaf9INNAEXdFuvgejsyeeP6rpWyT33WuFOCQmRnIeG6OsnacvzVtqdtlLxalNfZYy3YEoHFKi4L6dP9/NeYt9HVefyiQbRmnNgvxdptwTg4TBxRMJi45vjsXnc41x7ylVJVYQUrjSwIeyHc46a6Cm0ZDrA4mvwpsDCs/AgH8Ii3qnev350iFZOS/Y1Y14s0Ot/ly7wmlXf7qnE/zA14EnWQwa91AZlVZahPCjNP3MawhjnZJIKt9Fdoom2ufjFOQRmxWSv9f4y4iJ6sFx2zd90BabnENoxIcAoBCiDQ6P84blyn2JgfFZnu6JVJR7gqHld9VAIE+IXHWGZ2g6z3l/vObUtqNqYByw/TOf6uX33u6xa168+VA+nSCdoRa1rC8kcEKJbldd3XyK6/k0OBHgD6Dig/M5tKyY448TvIrdpHxgsReQjT5swhUHqbN5Yk8aU2DexRGr/mfk8ZSxT2ih65lVIZyqVxIluvq537C9NaJ++Q1zm+dsGyZK7DwZbi+Mx3T52uqOuymSesKqdF+bnwaCAf8R5AtSf0akCbRwRV9KsVnphb2iHzB95a591nqW+v0hxtN0uw98ntB2w/m9LI13LJmn1ULsNPnkGct5axTKMPEA/HVXIXlBj18/79S3i5czdnAOukYrugRoEB4FVfinkteeLs138kRkOGMWXxLZuakVXnnELfljY8lbtS7Tk0QUkDsvFOBxYVQVAmLLVU5h3dx9mLlES5wrupYastWpFDyOHtBGKk6YSUh+d34svsYpxdakT6pvD3W7ieybTsLeE2SMT92JwD+GVLZRPrYITuq6YgKOvBGTp2DZutbWhcDOL6MfIYmps7Z1UMkHKd+N32zZWOsnkEXEiIoIJ2AkoGRS/3PAL/rskoG/Z+PGUeZJdhTI2VJ+ZSTDuPol7r6K+PCziNxQNB9y0VJaQoWUP6j17WxFcKnjEQ4qgSRDN0hg/gNJNjsrP3mlWvUtnrAY3C4vwDrd0yp0B6NZ1oFaZP+bJvo0nqdsnOsRKYcbKuM= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: a21d6730-c05f-41a1-3f5a-08da035e5b65 X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB8555.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2022 12:55:02.3704 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Cw4waVkOLEyJI0QUk0H+wB0SEkI5ok0G5E2WpvdmZu4sUl0sRFV215eW5SLuoKr84uDoJryz8wiewxyfQ+FzKg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR0402MB3431 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Describe the "fsl,lynx-28g" compatible used by the Lynx 28G SerDes PHY driver on Layerscape based SoCs. Signed-off-by: Ioana Ciornei --- Changes in v2: - none Changes in v3: - 2/8: fix 'make dt_binding_check' errors Changes in v4: - 2/8: remove the lane DT nodes .../devicetree/bindings/phy/fsl,lynx-28g.yaml | 40 +++++++++++++++++++ MAINTAINERS | 1 + 2 files changed, 41 insertions(+) create mode 100644 Documentation/devicetree/bindings/phy/fsl,lynx-28g.yaml diff --git a/Documentation/devicetree/bindings/phy/fsl,lynx-28g.yaml b/Documentation/devicetree/bindings/phy/fsl,lynx-28g.yaml new file mode 100644 index 000000000000..dd1adf7b3c05 --- /dev/null +++ b/Documentation/devicetree/bindings/phy/fsl,lynx-28g.yaml @@ -0,0 +1,40 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/phy/fsl,lynx-28g.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Freescale Lynx 28G SerDes PHY binding + +maintainers: + - Ioana Ciornei + +properties: + compatible: + enum: + - fsl,lynx-28g + + reg: + maxItems: 1 + + "#phy-cells": + const: 1 + +required: + - compatible + - reg + - "#phy-cells" + +additionalProperties: false + +examples: + - | + soc { + #address-cells = <2>; + #size-cells = <2>; + serdes_1: serdes_phy@1ea0000 { + compatible = "fsl,lynx-28g"; + reg = <0x0 0x1ea0000 0x0 0x1e30>; + #phy-cells = <1>; + }; + }; diff --git a/MAINTAINERS b/MAINTAINERS index 3e76c8cd8a3a..3aa185235a52 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -11340,6 +11340,7 @@ LYNX 28G SERDES PHY DRIVER M: Ioana Ciornei L: netdev@vger.kernel.org S: Supported +F: Documentation/devicetree/bindings/phy/fsl,lynx-28g.yaml F: drivers/phy/freescale/phy-fsl-lynx-28g.c LYNX PCS MODULE From patchwork Fri Mar 11 12:54:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ioana Ciornei X-Patchwork-Id: 550611 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4BF13C433FE for ; Fri, 11 Mar 2022 12:55:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1348681AbiCKM4N (ORCPT ); Fri, 11 Mar 2022 07:56:13 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36952 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1348677AbiCKM4M (ORCPT ); Fri, 11 Mar 2022 07:56:12 -0500 Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60079.outbound.protection.outlook.com [40.107.6.79]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9D8461BFDF1; Fri, 11 Mar 2022 04:55:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dAKGHHKVFEPoCFBM32QDcSGLfBfBDScDIpY++rMCgLBZ214Dsqyg02FdgYXnAlkIM4iORoHxknEHWhGVKGIoOgsIZnZAwCSn9dAT9/nAqy3FDd6LfU9i6cmHUytDRsfFei3kN3/rbP+U28ezNOiW4qYmZHvLkcI0qBJBeYpDJjA2kLPhsgn766qYNb+6KEuZAjR2A+vo1o3udA8YJfxSkvQMSzq90xpmnekivUqgS1OSiLNg21D88zE1+FXvE32zb8h+LLsf3mZ/7NhGIUx/qT0D8agmMGBG/QNaUxxAIZqZr/y23EYHCv1g6StGrOC4UaaVysYz2YLyLW0zB6AZ9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=MPL+8jexV1pYLtA2yqBzEU7IpaEcUNbQ4UJ9sYLB070=; b=O1kI2I4k9zEozMZ3xEuceKDmLpHvdXT3Fa12972+v4BnVkh6rbP4SsnL5Rv6I7dO8WtHUiniPDukNRLoAqexriL8B6AEVwQ69FRaIOeL0Mm2U5J7Wu1udyojaEOa8fEoonfy8w/ebU5uCehDEGyptndqFhVrdyzA1q8PZXX6l9/Ky4pG64XWu1ulwvycwJBFuJFH19yofWkMC4Oogk1t8QnjvT4Bc0OPZaee3eBdtMZuM71RJ/ZofNGz1Sunh+rM0xg4cfIYb/3Zq1U6A31QOFfPZAbnvIMFaOaHOhPrOLJUPsxuZ/uGX0K7+wru1vZx5RiPAoUT12EPVooAls3TBw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MPL+8jexV1pYLtA2yqBzEU7IpaEcUNbQ4UJ9sYLB070=; b=BVjcNBBWx/6PjXur/cNVFCZLPS0dHDT9MoaPLU9O2gXN8rGHM6sq7skyEhW7kcvuBFr4h0dOrV5FB730ThIjtuYcqWcdsc9FBR56DgtVfWbdCZ6RKdRSQ9buR0cchSaa9DHIxGTnzQe1mlS5tge/ivX8zInDM13ETEmLXXwHas8= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM9PR04MB8555.eurprd04.prod.outlook.com (2603:10a6:20b:436::16) by AM6PR0402MB3431.eurprd04.prod.outlook.com (2603:10a6:209:e::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5038.19; Fri, 11 Mar 2022 12:55:04 +0000 Received: from AM9PR04MB8555.eurprd04.prod.outlook.com ([fe80::c58c:4cac:5bf9:5579]) by AM9PR04MB8555.eurprd04.prod.outlook.com ([fe80::c58c:4cac:5bf9:5579%7]) with mapi id 15.20.5038.027; Fri, 11 Mar 2022 12:55:04 +0000 From: Ioana Ciornei To: davem@davemloft.net, kuba@kernel.org, netdev@vger.kernel.org Cc: kishon@ti.com, vkoul@kernel.org, robh+dt@kernel.org, leoyang.li@nxp.com, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux@armlinux.org.uk, shawnguo@kernel.org, hongxing.zhu@nxp.com, Ioana Ciornei Subject: [PATCH net-next v4 4/8] dpaa2-mac: add the MC API for reconfiguring the protocol Date: Fri, 11 Mar 2022 14:54:33 +0200 Message-Id: <20220311125437.3854483-5-ioana.ciornei@nxp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220311125437.3854483-1-ioana.ciornei@nxp.com> References: <20220311125437.3854483-1-ioana.ciornei@nxp.com> X-ClientProxiedBy: AM5PR0402CA0014.eurprd04.prod.outlook.com (2603:10a6:203:90::24) To AM9PR04MB8555.eurprd04.prod.outlook.com (2603:10a6:20b:436::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2489734b-ffcb-48de-af6f-08da035e5cdb X-MS-TrafficTypeDiagnostic: AM6PR0402MB3431:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YfiBEdN6vUHjyUl10Il1YoD4lplneYkH440cyQlByaAFerON/3Ey5qx1HclFjKGcLFA5YC3IHXmBJE2/3CEIEYSZGWj7i3sFrmsED9YGfZJctWd1ATfJJwJTtpjFEMZOzmPxfInGFOb9j9jQUerj4mq1h5k0gKl7DWKApp5JSv6gfzbqB4kOZE5L1oyFsiBsbBIUOM0e/3vsYC1Wxzdl5e6e0kQkzQ//AoA6J5JwbVvHgin0A4pK28XLBUk5JqCUy1xcvLFNsMVKF+DPrU/1d4ER8ic0kO3vFOQA2Ysb33N+u5jivAvk5YOOELwCgI9J3/I543X8zSzBv7eC5s7/3qRayyVobmODz0JMAw1UbAcvE15dqLWCasn3jmx4jTIscFR6nhjxPQVi47sXvGHo6cJjqAFyuQ9CRTLu+1xT3C0IYNkszr2zf7S/IlFX9Ga6BJorufNGtK7o19cFjXN7gx0R5gGLG3TbJ3RdNsN6tCRB+Wnfi3whMRIo/7GUwjYzf42CeWossfTpZjYDYIYlRFbTepYXClak4FcFXZdOv+/5KZVhUmR7GOHMfKsQZglpnpFuChVDX7f7DN8kQllcTYWtfF3lF8U0aQqzAfK7adB//j0GM1evX5mV5LdY8DpMwWJRokZg/IiJCTbPAn0TLaNTL4h3PO+Z8zPpe4yrh1jp4vgNlhyOqhDNnvQUHN6J X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR04MB8555.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(8676002)(66946007)(7416002)(5660300002)(6486002)(8936002)(44832011)(508600001)(66476007)(66556008)(316002)(4326008)(83380400001)(1076003)(2616005)(6512007)(52116002)(6666004)(6506007)(2906002)(26005)(186003)(86362001)(36756003)(38350700002)(38100700002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: eLaSdkATpQfzjnmlr3KdMma58trDCC9DpOpvBh7/KPscJptXs9DmXXJTDpjx8idMTrJH1uskZuDNwHSq9oWoBW432KwKuBhaOw2fYtOaElh57RHJdFDseUpM7Rfcpset9jCuhjRVafPhcwa7vC4M9r1eSIoi4lcuvXafRzf0VkrcgtzaRXNA2Rjc6zGSnV30IDKzdiYwp58lT7fDy5RPSqXnvgvX+J/AcpJ367hnd/goNJaUe69DYs2TKAWMzb/n5hHKc47lut4W/Vk/NZpGBpNJGyTW9rBjJ8Ge5u3ydOjMr3ZEeHXXr9VqCyqn/ra0fSdrObUeumcqU4FB8ZlUsEZ2LTXd4i7UKwHwDWt7yUvi1rAzdKVolTIJ27NmVK+kjpLsq+bHq4rZwoPjXY0yfHHjLQMLqUdAQeIFQI7bVlyYc7bs3w02dKyVofgR9BKR+hlEIXctQh5UvG656X5PMOiE1yScSxEAGzR6F5yhdVltKRoRn4J1qk9mkBAjUVjlwcsF9hoG3Dy0IhlMnWYrQRJWfHgO9kM8x8o///tSxncWnUeiGlT5hDrrpImeZR6oc4qJ5U8mqODxV2v8cveNssykM7jr5tHiKMaCZ49jMN5GD1OdZOh96BciF7SOgxWKkojRRVQ9lO771r84Fz12lLGUaRbyQg0yuEB/V86b7WFGf9hAzUCCvWDhgT6B6z3A9f4M8Soz1IFk9t8E13YBW7t3fIbu/C7sOmzmJ2gnY4aTr4J8fXsHlKq9+r6LipsY1rxVl7LzaycLY0NRqGtbBreBdzs26/ihdBbI8x4+fNaH9KDcya9pel/ejt6RHdNPG8NiKZBQ4MZtfc8hqFw0bZILt4TfFf2kFkNDptMMbCc8pPGhmt2tPKcJIps9K6I8n9a6Uio4u2SddRqprLE+bF2ZHHHw5sy74qZTECWAkIwT1OJHuNV0zAkSWwQ5Djk5MCu6zByx93qAIh3CIXr0vKOWqMdvtYNcfFAKDKFSpGYhNjDXUaLXigC2y6jlUP3DPGks77xzQAJGCweCemwRx4PM80+TiUckfdo/wcOuSF8Fpm2cOEmnV9Pz93rQXLqm3m4ogG70ngP+guxxQFZsaRNrp4JFtHoW61uULjvMHsCWAEmMbT6+Gdv1qfUa1SkAS6PtdV5l0yFIVFjUHbel3qD+ibxZALy84P7/Z9hVYjK/5LnEoTRUHzptT+pi3uysomlDFlY/kb3fVoZfu5/mvqcum9jgOl21/7RiQ4XjYxnc+gvYgFFaY4XXxyXna+H3xtyABl/sZNABMAtV+ReMYNbtvyJ88Ubf2OgWW7SoMga4o+HmcrRKbxgI5w67+3BuYt5s++Tr0HtBlBAahpd5QHXYPiNVh5BkkmeS5Z014LdwMOM4qdRwGQqU/cgNTiFBl6UtyDKzOCeu9/KTvwcLI2jqEu9r2QygbGxD4YdTBBo5C9TJ1PSwOWcmKTaxqxPJuJEzA9qR1ToX25tnrF7C0m+cNdHRVY/9uT/cfX8v2lLuB7VjMJh373nLTHy0ZILDJ7bgJIu7n9v05roNFYfcCH7sPB4PLSMSYDnFbvpsB2xHjfN6Vj3EkmGmP1V4/JJdMhI/30jDoGPEk9Z3mVxJLXnlgKKOKdxGejaaasOSMEA= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2489734b-ffcb-48de-af6f-08da035e5cdb X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB8555.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2022 12:55:04.7462 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: djhA9zvToi5XRYRRIne49HYPn+6RWsDWb0F8h/1bQ+KS2yJY1D3g16mOEv9HyvxpWHGCc2BMeOKMgTbGTGMjAw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR0402MB3431 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org The MC firmware gained recently a new command which can reconfigure the running protocol on the underlying MAC. Add this new command which will be used in the next patches in order to do a major reconfig on the interface. Signed-off-by: Ioana Ciornei --- Changes in v2: - none Changes in v3: - none Changes in v4: - none .../net/ethernet/freescale/dpaa2/dpmac-cmd.h | 5 ++++ drivers/net/ethernet/freescale/dpaa2/dpmac.c | 23 +++++++++++++++++++ drivers/net/ethernet/freescale/dpaa2/dpmac.h | 3 +++ 3 files changed, 31 insertions(+) diff --git a/drivers/net/ethernet/freescale/dpaa2/dpmac-cmd.h b/drivers/net/ethernet/freescale/dpaa2/dpmac-cmd.h index e1e06b21110d..e9ac2ecef3be 100644 --- a/drivers/net/ethernet/freescale/dpaa2/dpmac-cmd.h +++ b/drivers/net/ethernet/freescale/dpaa2/dpmac-cmd.h @@ -26,6 +26,8 @@ #define DPMAC_CMDID_GET_COUNTER DPMAC_CMD(0x0c4) +#define DPMAC_CMDID_SET_PROTOCOL DPMAC_CMD(0x0c7) + /* Macros for accessing command fields smaller than 1byte */ #define DPMAC_MASK(field) \ GENMASK(DPMAC_##field##_SHIFT + DPMAC_##field##_SIZE - 1, \ @@ -77,4 +79,7 @@ struct dpmac_rsp_get_api_version { __le16 minor; }; +struct dpmac_cmd_set_protocol { + u8 eth_if; +}; #endif /* _FSL_DPMAC_CMD_H */ diff --git a/drivers/net/ethernet/freescale/dpaa2/dpmac.c b/drivers/net/ethernet/freescale/dpaa2/dpmac.c index d348a7567d87..f440a4c3b70c 100644 --- a/drivers/net/ethernet/freescale/dpaa2/dpmac.c +++ b/drivers/net/ethernet/freescale/dpaa2/dpmac.c @@ -212,3 +212,26 @@ int dpmac_get_api_version(struct fsl_mc_io *mc_io, u32 cmd_flags, return 0; } + +/** + * dpmac_set_protocol() - Reconfigure the DPMAC protocol + * @mc_io: Pointer to opaque I/O object + * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' + * @token: Token of DPMAC object + * @protocol: New protocol for the DPMAC to be reconfigured in. + * + * Return: '0' on Success; Error code otherwise. + */ +int dpmac_set_protocol(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token, + enum dpmac_eth_if protocol) +{ + struct dpmac_cmd_set_protocol *cmd_params; + struct fsl_mc_command cmd = { 0 }; + + cmd.header = mc_encode_cmd_header(DPMAC_CMDID_SET_PROTOCOL, + cmd_flags, token); + cmd_params = (struct dpmac_cmd_set_protocol *)cmd.params; + cmd_params->eth_if = protocol; + + return mc_send_command(mc_io, &cmd); +} diff --git a/drivers/net/ethernet/freescale/dpaa2/dpmac.h b/drivers/net/ethernet/freescale/dpaa2/dpmac.h index b580fb4164b5..17488819ef68 100644 --- a/drivers/net/ethernet/freescale/dpaa2/dpmac.h +++ b/drivers/net/ethernet/freescale/dpaa2/dpmac.h @@ -207,4 +207,7 @@ int dpmac_get_counter(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token, int dpmac_get_api_version(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 *major_ver, u16 *minor_ver); + +int dpmac_set_protocol(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token, + enum dpmac_eth_if protocol); #endif /* __FSL_DPMAC_H */ From patchwork Fri Mar 11 12:54:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ioana Ciornei X-Patchwork-Id: 550610 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id EA8E6C433F5 for ; Fri, 11 Mar 2022 12:55:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1348662AbiCKM4O (ORCPT ); Fri, 11 Mar 2022 07:56:14 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36950 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1348678AbiCKM4M (ORCPT ); Fri, 11 Mar 2022 07:56:12 -0500 Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60079.outbound.protection.outlook.com [40.107.6.79]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9F9331BFDCB; Fri, 11 Mar 2022 04:55:09 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BFFoSqhDmPNPvJj+lPyt0pyXCqr8Dirayf79q/15i7dNY+978UYbENPLW5+jXMGvaip5pIBwtrAIx7CAN05RuWTJNP5hY31JTqR4Y42hi0gmqj2KQj40RLXx2Np6MSZhbqQa14EeLFeCpbHxwgoodX+YZf8GeCs+9Q8zikK8qC/Kzy7+tNB2751JenFdF2qim2sLNA20W0OiCMhcxG+SwHO/T6uniVgLC+J4lnM3MVH1SdJxCcV+t/FhWJIxn42nR6Q3feCjbkG+po95Uh4JYUq8DBbg5v15PmQlcDphSuFqNk/FOzDlLmywXbxaGQtajBM4o718qWf6tLq57UDjRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=FPm6jT54oslGsalXvOLA7AvwPpBLDeig2k74QYziVpA=; b=YykM7C9DNWAvG0SeBgNi9zKNWLLV2KOeo2l5WG/wRyIQ9/pKFJTA4gVjWFmmNPGIaqY5LqiZ6aMspOfMwGKBpYcuyr2+C31sXQ3ZvtzOto3f4cGWoc0Ttav53ktnWoYPIZWQ+s1dpbNUN+eE5Fp5s1uOGXw2WiUW89/1ebn+iY5qDET8stmXWHOVtFwfVIqYQDID/iDS+Muc/6q6+6DKxzuXnXM0TXwBVtzUecTuuBNFzvR0viiC/D90PWkruU6TfEkHlnMn8PWlXHkFdaJGAXBBTzyqBIcLLrBAzL2OLgvhaveb+Pew4A9cbZlNDIfSgkFiKamW9j73w7+xh943Mg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FPm6jT54oslGsalXvOLA7AvwPpBLDeig2k74QYziVpA=; b=AwZ1Zq5O9J6Kw+0Gxsu6R7h5VNGTqf1+Ipbv9lA97GSKXF3DCpizD77mPAovwSB9qDduDoHWd+Aj+4nCGpPrQQKVAzWOOPH2pGxDDxg+GI4tA1lU51ReUxjJ+xPRN6eUyiCkQoD9PC5GjRSTlpECkfAzvjwf20EH2VwlqijVi/o= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM9PR04MB8555.eurprd04.prod.outlook.com (2603:10a6:20b:436::16) by AM6PR0402MB3431.eurprd04.prod.outlook.com (2603:10a6:209:e::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5038.19; Fri, 11 Mar 2022 12:55:05 +0000 Received: from AM9PR04MB8555.eurprd04.prod.outlook.com ([fe80::c58c:4cac:5bf9:5579]) by AM9PR04MB8555.eurprd04.prod.outlook.com ([fe80::c58c:4cac:5bf9:5579%7]) with mapi id 15.20.5038.027; Fri, 11 Mar 2022 12:55:05 +0000 From: Ioana Ciornei To: davem@davemloft.net, kuba@kernel.org, netdev@vger.kernel.org Cc: kishon@ti.com, vkoul@kernel.org, robh+dt@kernel.org, leoyang.li@nxp.com, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux@armlinux.org.uk, shawnguo@kernel.org, hongxing.zhu@nxp.com, Ioana Ciornei Subject: [PATCH net-next v4 5/8] dpaa2-mac: retrieve API version and detect features Date: Fri, 11 Mar 2022 14:54:34 +0200 Message-Id: <20220311125437.3854483-6-ioana.ciornei@nxp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220311125437.3854483-1-ioana.ciornei@nxp.com> References: <20220311125437.3854483-1-ioana.ciornei@nxp.com> X-ClientProxiedBy: AM5PR0402CA0014.eurprd04.prod.outlook.com (2603:10a6:203:90::24) To AM9PR04MB8555.eurprd04.prod.outlook.com (2603:10a6:20b:436::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 316b5720-993b-4696-25c0-08da035e5d66 X-MS-TrafficTypeDiagnostic: AM6PR0402MB3431:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 9kOOivPZGaKXOhSLwXAXWHfalRDlVyfLWfl9u6jSvoBGtTGT7p5AhE7J0+5TI3fuuZLCN0+0geQUCFtMrqFbTKP6UJqWsLCZ9/7yLfgGdzdUTgSNT/FT4Lu4js7umLwspLBh4tdfSOsUyRGGN5uhnEGSCfuWxFR3ARP/qVhakc5uhkhLEofUnETbxqmavtGhqa7dNOToO1ReLi/hQtBQ9JX8e4b4IpLT3dWwGtt0cr/r53iY0jyFPdyUEAlu7LwsgZeP2tJ83gJG2aIVK+rc25OryrDupjF6sE0vSYbMdJCcT43gWjEt8AJegoGtDm9srBod9p6+A1whWz6kvZ49054s5UikcmJC9qIN2lZk/V5PPhrM364bG/oobF0EVpYlwY5hgfzn9+yc3aMFePfW2Q2ESCMQdNXJVd6+oZ3pUEPhxooRZr6u0cTBFE9M6pIT3nv9oQLB2BkXF5z3Qubzfzt3zUk4UgviED3p8JHUx8uBdG+fnCSypr+lJ5iW7qlmpRH86Djqqitl8rBtjSvfYO6KLlBrZlR9a4iTV/ZU0ajmrqrIZ+qeWUJQzywyCu5hxKzVGG9r7g8dAnhG5fQQw/KQNaUEm5MyAWbjy4GhNbGWJty+9naqxAy34XxIFa/+CPl6taLrWLByrgcS2Worz7wXGMZbb4Q8WT5vH7Ol7ZOpdkQ1Ern+0xp8/gVdgztIS9eh6kJm3Vbm+9oQj0z3kg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR04MB8555.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(8676002)(66946007)(7416002)(5660300002)(6486002)(8936002)(44832011)(508600001)(66476007)(66556008)(316002)(4326008)(83380400001)(1076003)(2616005)(6512007)(52116002)(6666004)(6506007)(2906002)(26005)(186003)(86362001)(36756003)(38350700002)(38100700002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: sJLgJCTEWTIO1707TcCSiXkGs+q6Iu5INbweocHKfLN5mvTsMZRvprjN8OWaFg1LsrfYl/6SUGjvYpzIkAewKu1NDyW+IwhtXm7qVtfWIKecnKbFNc6+HRWMXCnCzx9EnwvTtLIRx2rLhITuY4ES1nOmzo9n7TkY1Xa2TMoEJZVUwlhiFAgzptTu5e7mDd/9g98rCZahmUSDUCOacr9B3pnrtVPdCM03/BfE3lATPND2zw+TIzvdaZApX/qkj5mx84kLQz7pknhvlfPlhBWkAm0/wsH/IoHDTS4jhuE2ji4tjlE68VWadEoP3KL+mJ+lBMemyiyYmwP9awkvU649bJhExsFDf9al0p+OpLGBrMewR8OaIghKKc84L6Ocwy/mZyWfnTRpwjCssggIzzVndCuuB9rkz2xbliTu09xXUPvt5L09woH6LO95XMak1xZvbvgh+uFydZyahSYtuRqDIkoKiRr91KSiHrNfkMHNTVxKXjDjkBGuxs/fXYLl8+8z3dh3ncRbOYvx3NiFicKkiNNKZA3Er5J2lxHGQLw0oY3DRJkhn2x6SRMprh8eU9T5ln46oeMdpYUjFmzycA1nXAJ3Hq6yuZ3Oh8GoqMs15tVBFOYw5xfEdAG1RhdaPb8rUCaQ2zZWpyYAttJT3EplUXBi1mzLI4t+bLoQOiCJ0qyz0Nh6Dk4snb0xgwerFaqCQ081z5xt1FXtECXtt/kJZ67jWwEuKJH4T2ZgCWscgGQPDfNK8zdh9YLShOkvy8dwL0PV6QyWGaCuzstf7oLduZBo8WyXV6GvrWgriZ2eqDqE9wOIP2U4R7RkdPOmfIj7EdC81d19RVv0rkWiQDMgD3Z0zH7LAj/2+NE+nRhhvPxhzKoiajcrByjC3CDuqJLQsOA1GY13SVNRHOTpKMzC2L2qTiG5mF07ByPpq4m30Fb2oW+AZNXqhExt0uH5HLF4OHGPBE78WPnSwoheL4McBxcNiuWkpVntZmnqcn6qHx6dC6l19o3XVuynpkSh0+30daMyTOa3ZmCd+p3YuH8wq0NQtSQg3alkGXJQsfdQ1Y558GqG4+5f/j2Qy+bq4BGqTY4RH9O52xZCk0zFox4ioZ9i3fdphZQpkVgH9M6clcRgLyzWJNH+H9+1jMAfhxHFYe79nD5Ozsv4hOOB9hnVq+uHpnWBRvZ9zrUTazuy8yvHO+q64/FKqBO2npeMC4kObmHoI7c2OybFNTu5De6Ye5SoLRMQIEn26Wlcu6tdPnP4o9xiAevE0EJXOTJH5W4g3lPeXirSlJyo6HgCYYgiB5yaja6ENeSN8AnAxg4OcYRDDgipJnPddSei454XTCo+e3qJozj1X9dvvWx493a8YreUWV4eAOUr7g5pk8WteTrLoCEzQ2Oshup05G3u7SJuRr/1Z+tzenRVs1pXlhBUNbm+sE8CUHxsCCKqPcyAmZpnjFCWgI0LhwS4KK2aBBdxOG1+0LKM5Ab3JYUvsbtVXvCrHp2iAWFEsGWOgrzmaQRWAoJZ8Pzj6SrI92yGEJPDkXxbepggAL5W/8fUpG+cTSPZ9301+uF510BLrXl72XtsJjnbBH/Kabda2/aI/dVdkFaGlPUBY/1umB21woL9oeuZXN7cBTZeUjTQnpYGYss= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 316b5720-993b-4696-25c0-08da035e5d66 X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB8555.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2022 12:55:05.7005 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: JETLV/zXchirmZpbLxEPZ0sYjwrH1atFiNyrxX37NXLdt70Egc3x2uYgUmEfvuwZuQkPEjddRnGfOLo0dKmCJw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR0402MB3431 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Retrieve the API version running on the firmware and based on it detect which features are available for usage. The first one to be listed is the capability to change the MAC protocol at runtime. Signed-off-by: Ioana Ciornei --- Changes in v2: - none Changes in v3: - none Changes in v4: - none .../net/ethernet/freescale/dpaa2/dpaa2-mac.c | 30 +++++++++++++++++++ .../net/ethernet/freescale/dpaa2/dpaa2-mac.h | 2 ++ 2 files changed, 32 insertions(+) diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.c b/drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.c index 521f036d1c00..c4a49bf10156 100644 --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.c +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.c @@ -11,6 +11,28 @@ #define phylink_to_dpaa2_mac(config) \ container_of((config), struct dpaa2_mac, phylink_config) +#define DPMAC_PROTOCOL_CHANGE_VER_MAJOR 4 +#define DPMAC_PROTOCOL_CHANGE_VER_MINOR 8 + +#define DPAA2_MAC_FEATURE_PROTOCOL_CHANGE BIT(0) + +static int dpaa2_mac_cmp_ver(struct dpaa2_mac *mac, + u16 ver_major, u16 ver_minor) +{ + if (mac->ver_major == ver_major) + return mac->ver_minor - ver_minor; + return mac->ver_major - ver_major; +} + +static void dpaa2_mac_detect_features(struct dpaa2_mac *mac) +{ + mac->features = 0; + + if (dpaa2_mac_cmp_ver(mac, DPMAC_PROTOCOL_CHANGE_VER_MAJOR, + DPMAC_PROTOCOL_CHANGE_VER_MINOR) >= 0) + mac->features |= DPAA2_MAC_FEATURE_PROTOCOL_CHANGE; +} + static int phy_mode(enum dpmac_eth_if eth_if, phy_interface_t *if_mode) { *if_mode = PHY_INTERFACE_MODE_NA; @@ -359,6 +381,14 @@ int dpaa2_mac_open(struct dpaa2_mac *mac) goto err_close_dpmac; } + err = dpmac_get_api_version(mac->mc_io, 0, &mac->ver_major, &mac->ver_minor); + if (err) { + netdev_err(net_dev, "dpmac_get_api_version() = %d\n", err); + goto err_close_dpmac; + } + + dpaa2_mac_detect_features(mac); + /* Find the device node representing the MAC device and link the device * behind the associated netdev to it. */ diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.h b/drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.h index 1331a8477fe4..d2e51d21c80c 100644 --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.h +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.h @@ -17,6 +17,8 @@ struct dpaa2_mac { struct net_device *net_dev; struct fsl_mc_io *mc_io; struct dpmac_attr attr; + u16 ver_major, ver_minor; + unsigned long features; struct phylink_config phylink_config; struct phylink *phylink; From patchwork Fri Mar 11 12:54:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ioana Ciornei X-Patchwork-Id: 550609 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id AB901C433F5 for ; Fri, 11 Mar 2022 12:55:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1348694AbiCKM4Z (ORCPT ); Fri, 11 Mar 2022 07:56:25 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37194 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1348692AbiCKM4W (ORCPT ); Fri, 11 Mar 2022 07:56:22 -0500 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-eopbgr150052.outbound.protection.outlook.com [40.107.15.52]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6A17B1BFDF6; Fri, 11 Mar 2022 04:55:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dhTefzV5arQPkx0DX/xqpaXHmYP0mw0svLRkM3HFf/MnURfgktrEtX3f1rFk1TgGTCVKCYPZd0O0s2bKg7YeSfpr8V9VLaMMURy52hFnhF/+tXVmywQKi+qQthEXJDLcPwsJwe4xeaNbBMNcwg5/VFnJRSvcVTGy4tsY7sxh5/vVZ1488HVl04/8HOaWkQ/WtRkSD7Vh1FL3S4+A/DIzxMEBamMZwVDI9mCNmuHIURsPVBmN9ZQv10UYQJEViLboQdGO0YNLiwucLhGAXs3mtbw16ehVoE1YoisBxWcM/o38Z16ezsinGyXFRpIQvFHek8hYn6p+e+sCb8vqYFp9tw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ldQgwRpqKswQAt1pbdB022yDYUtlhRkM9yrlzQrJWZo=; b=cFZGYfj1XmxSk+83zdEjyPDatb23u72y46vBXpr+sS2DnqXPu0fnoCdTt4XOuIx5EZ20Dcp0xvYa+r/1qFBk5Ab5972yQZcNqImLOG9XgXd4YGHIfNb24FG2Q2c6askfsTefHwRUDt4w7nYTfAwNOpy0xixvsK0luUM5bnmygHlUB/Y1Wdjb0NeAYxLogQBUQRjgDULFJgv5yHDnMqQDsRCno4i8LHsq3B2A8aZu/bd0hk+hGlhDEdfVEfSdVfFVh7gpNzB4myOMmZHElm5VSeJIp5Dn8g3Nu2nNMLnu53XZYzpfIAIYKZlEWo1Y9EDyWuZ01S3McsSM/nCqXTjauA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ldQgwRpqKswQAt1pbdB022yDYUtlhRkM9yrlzQrJWZo=; b=Wo0HcUM/8ZYdauhd8D5xgk1N9kER4exXvlYRBnx+XWUhEtDffDP5eIHk7GRCnjyOyvO/5vgt1nTA6LluCCMH1iIxhOz63NZn0sGotjwMkL6pyGPniV4xInOgrAGnvrV9sQw2iXfIUM5hMq4byjmcxAQHMBGvSf/C8K7DtdWgmJI= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM9PR04MB8555.eurprd04.prod.outlook.com (2603:10a6:20b:436::16) by PAXPR04MB8880.eurprd04.prod.outlook.com (2603:10a6:102:20f::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5061.24; Fri, 11 Mar 2022 12:55:07 +0000 Received: from AM9PR04MB8555.eurprd04.prod.outlook.com ([fe80::c58c:4cac:5bf9:5579]) by AM9PR04MB8555.eurprd04.prod.outlook.com ([fe80::c58c:4cac:5bf9:5579%7]) with mapi id 15.20.5038.027; Fri, 11 Mar 2022 12:55:07 +0000 From: Ioana Ciornei To: davem@davemloft.net, kuba@kernel.org, netdev@vger.kernel.org Cc: kishon@ti.com, vkoul@kernel.org, robh+dt@kernel.org, leoyang.li@nxp.com, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux@armlinux.org.uk, shawnguo@kernel.org, hongxing.zhu@nxp.com, Ioana Ciornei Subject: [PATCH net-next v4 7/8] dpaa2-mac: configure the SerDes phy on a protocol change Date: Fri, 11 Mar 2022 14:54:36 +0200 Message-Id: <20220311125437.3854483-8-ioana.ciornei@nxp.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220311125437.3854483-1-ioana.ciornei@nxp.com> References: <20220311125437.3854483-1-ioana.ciornei@nxp.com> X-ClientProxiedBy: AM5PR0402CA0014.eurprd04.prod.outlook.com (2603:10a6:203:90::24) To AM9PR04MB8555.eurprd04.prod.outlook.com (2603:10a6:20b:436::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e48c3c3b-4e15-4565-e7ef-08da035e5eac X-MS-TrafficTypeDiagnostic: PAXPR04MB8880:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: orJ+6fErzFPpfazBwXc9GKdjtalKyhD1I9JTBUxMPcQCs945pT9f5LAWBAmBt3uM8xXbENrt/ikn9DTgVTei5Ozjw7+yzH9H4O2VTioDXdVVNwcGYE0oMNp+99ioiAhbPI9aSYxw51Lv5x2TnyCAeW9yjMTmWJctEgfn0+kQPq9GvIDvX8dAKnTvIh0WX2MwQ/MSTWHtnICUlSrqSABG9haRn/mQrW9MEDsycgDOSwyzKd9dffnxQbAAU3mDL/i2Orpol2U2P/CV9+pRnMPQV8KAE82hZS57F/2VkW9lw8P5oOdr8yiOzTjWir5LGdCa6cZ89kbgimTuVKMDRnQ4r24K4HTrsUYWLEiy7hqGoPQtEl3Ecvqzix8KzMwwFTRKkEEk1F/9tRdWaQTd5l/EnTeCWoAiUpmLeJc52sclfCed/du7FmUQ4GwatwiRnBXQmoIj1p9b6bOjqvAZUJG6CxCs9jtiWzE8272itutam/Tt1xNh/XzzxsAEDLXzIQOE7O5fniHWeWcag9K8tXCll/KJgPn34z9Y4srNuCL+Xv0xoiUF4nf8J8lQMBVJAFtUqusm6LwPiFGmjKgVhcfDop6jRv+Zkch2P5GInzBCc8WRSaK+Z7Pu0sToQR3IovJp6Ow/qtN9ho7/bGX/o1Ss9kfPTCtA2KFfD/4T94knUt3scYQoe2eJVXfjgNVicoxmskQU0O92b79AOMRQ1qMEMA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR04MB8555.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(44832011)(66946007)(2906002)(66476007)(4326008)(8676002)(66556008)(86362001)(6486002)(8936002)(7416002)(38100700002)(5660300002)(26005)(186003)(1076003)(2616005)(83380400001)(38350700002)(6506007)(6666004)(498600001)(6512007)(36756003)(52116002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: QlO4EiWlg1Yc54U4/uUmgg7PV7iiWTc7XzBHFw8QcNEMPSVKEiIwHN1zwPLLe8LeQM8qdg/827tKhG0leQPcEgzUzkVFPx6HefeeXp91xWYypzeOtCAFkxHjr4E6m460XfHkivN8lw204k3ueB3I7bmviGqtybBIz9TLvp7wZ3SH+F/xwB8FKXpgpDkOqNCbEYbfNnS5n5J6ajTrRRyLzCnYQVF+zAig4PrAYBuBI1UvFx/QiOevohTi5EulHKBuUpTN/6aq+wr9JBnY3MXOGarLbiNceKNYT3Ajs4JHQzvdkV2CCfBQs7jZxXLCSe8hViKadGmYUOYxoQIYN9jwifsw3bL6Es365WnIk0rqsyb8NoCmDEy2+dNkSvB2wWwBCcAjAWBmvJT5B0YHOymWb7/S763SoyzRpl8krEiyB4kXNwM3+5OvPMtqv7uQ6FbLnlQ8ZZRjw+PUkYmhYVhNlrHchnVLa28VsyAfv9sTiKBr8K4BmWUiahPuomxz6SrsxVwcMIMDL1YWqVY/WV1s1ww6cpaL/R3Q+VOkTFm2VjHl8P+ktI9dPb77G5N75o/EQzZDdky23HqdBZWCCCh0iVCpyvUHvpPHq7+hfS+pzWSnNbGWA+MKLmZ6+I1jGohEOLXvXZSFmSqEhU7veZkX2Y37JqhS/YL16Mk0G6V/iUF2Sy462oBDr0onNVl/yEx+jekAgQ3qAp8nvrivhqs67yU72JTioHDPrjunHP+TIirkCcNa3aDt7ySIfotn4dTvN+jqiLMyP7FRxT2sDu3dL/ZLqMeZxa+9ku2+koLtwc9KbLypI1imfGQIWOgZLqSlWQvQCcOlD4S//OClO31N8QRgb4O1wSNY0J+7f1YDnK2OKQOoYzZ7LJ6KMq3Jm5r6eh9idbb4XRU5fVi1ZfW5V43A/FuOR9gHneJbs5JcXH1MQS0UFcDhaRXgL47QogeMLu1wqlGy3FSylYuQgpvqXy2vG1RX9TVCff+9TUryQJ9aTTf44hNJVP2cbtgO6CXkwZQppUthvLWegXk+YXu/pZo6m8GpaEYsNqU5DyLDB6jtKy3ViGM0X7zZI8PQm8rYUIJbJorClOuaa6+r2lmifRZvs1S7qWHEdp1ULBHp/MfkjxTYAsgbsj5BuKGifg8T3meroB09zMRN044Oa9cBKESsz5paKy4Rv2N8fwoIKAd6JKEtrKrD11B+FvCg62lCr/9vQ5xmQuMVxvUGI0daaapn24a9Co86UuNtWDEw/JFcWL3KcPE7ggZW3+TLbrsnBPOzBBezbcdGl5kelSdVMcc5rbyI6mbXWJdpdvXBZUfQ6Zbi+VtOwVBVhIa4bE9uYw4L8UIePaoysCVeRVNYHjNdK7rGIhHzV/ZLq+Kh8xyS2vpI8foTQh/jVFk1inV3bn2SLbE1GjEurDbn5M4JgD0eLYvubaRdUES5y0/CLoMg9U7G/HrQDn2TMdK3i+xklFcfR3RBGXU8eiDXTw6SDA== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: e48c3c3b-4e15-4565-e7ef-08da035e5eac X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB8555.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2022 12:55:07.8576 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: SqjX/yJslkYLqven/wIrQGujIaQA+THoUGirPtiiCneYfvYltMlI8jmP2yi0UgEDd7cXG3TGrog3KDxZntd1YA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8880 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org This patch integrates the dpaa2-eth driver with the generic PHY infrastructure in order to search, find and reconfigure the SerDes lanes in case of a protocol change. On the .mac_config() callback, the phy_set_mode_ext() API is called so that the Lynx 28G SerDes PHY driver can change the lane's configuration. In the same phylink callback the MC firmware is called so that it reconfigures the MAC side to run using the new protocol. The consumer drivers - dpaa2-eth and dpaa2-switch - are updated to call the dpaa2_mac_start/stop functions newly added which will power_on/power_off the associated SerDes lane. Signed-off-by: Ioana Ciornei --- Changes in v2: - none Changes in v3: - 7/8: reverse order of dpaa2_mac_start() and phylink_start() - 7/8: treat all RGMII variants in dpmac_eth_if_mode - 7/8: remove the .mac_prepare callback - 7/8: ignore PHY_INTERFACE_MODE_NA in validate Changes in v4: - 7/8: rework the of_phy_get if statement .../net/ethernet/freescale/dpaa2/dpaa2-eth.c | 5 +- .../net/ethernet/freescale/dpaa2/dpaa2-mac.c | 86 +++++++++++++++++++ .../net/ethernet/freescale/dpaa2/dpaa2-mac.h | 6 ++ .../ethernet/freescale/dpaa2/dpaa2-switch.c | 5 +- 4 files changed, 100 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c index 939fa9db6a2e..4b047255d928 100644 --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c @@ -2077,8 +2077,10 @@ static int dpaa2_eth_open(struct net_device *net_dev) goto enable_err; } - if (dpaa2_eth_is_type_phy(priv)) + if (dpaa2_eth_is_type_phy(priv)) { + dpaa2_mac_start(priv->mac); phylink_start(priv->mac->phylink); + } return 0; @@ -2153,6 +2155,7 @@ static int dpaa2_eth_stop(struct net_device *net_dev) if (dpaa2_eth_is_type_phy(priv)) { phylink_stop(priv->mac->phylink); + dpaa2_mac_stop(priv->mac); } else { netif_tx_stop_all_queues(net_dev); netif_carrier_off(net_dev); diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.c b/drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.c index e6e758eaafea..c48811d3bcd5 100644 --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.c +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.c @@ -3,6 +3,7 @@ #include #include +#include #include #include "dpaa2-eth.h" @@ -60,6 +61,29 @@ static int phy_mode(enum dpmac_eth_if eth_if, phy_interface_t *if_mode) return 0; } +static enum dpmac_eth_if dpmac_eth_if_mode(phy_interface_t if_mode) +{ + switch (if_mode) { + case PHY_INTERFACE_MODE_RGMII: + case PHY_INTERFACE_MODE_RGMII_ID: + case PHY_INTERFACE_MODE_RGMII_RXID: + case PHY_INTERFACE_MODE_RGMII_TXID: + return DPMAC_ETH_IF_RGMII; + case PHY_INTERFACE_MODE_USXGMII: + return DPMAC_ETH_IF_USXGMII; + case PHY_INTERFACE_MODE_QSGMII: + return DPMAC_ETH_IF_QSGMII; + case PHY_INTERFACE_MODE_SGMII: + return DPMAC_ETH_IF_SGMII; + case PHY_INTERFACE_MODE_10GBASER: + return DPMAC_ETH_IF_XFI; + case PHY_INTERFACE_MODE_1000BASEX: + return DPMAC_ETH_IF_1000BASEX; + default: + return DPMAC_ETH_IF_MII; + } +} + static struct fwnode_handle *dpaa2_mac_get_node(struct device *dev, u16 dpmac_id) { @@ -147,6 +171,19 @@ static void dpaa2_mac_config(struct phylink_config *config, unsigned int mode, if (err) netdev_err(mac->net_dev, "%s: dpmac_set_link_state() = %d\n", __func__, err); + + if (!mac->serdes_phy) + return; + + /* This happens only if we support changing of protocol at runtime */ + err = dpmac_set_protocol(mac->mc_io, 0, mac->mc_dev->mc_handle, + dpmac_eth_if_mode(state->interface)); + if (err) + netdev_err(mac->net_dev, "dpmac_set_protocol() = %d\n", err); + + err = phy_set_mode_ext(mac->serdes_phy, PHY_MODE_ETHERNET, state->interface); + if (err) + netdev_err(mac->net_dev, "phy_set_mode_ext() = %d\n", err); } static void dpaa2_mac_link_up(struct phylink_config *config, @@ -259,6 +296,8 @@ static void dpaa2_pcs_destroy(struct dpaa2_mac *mac) static void dpaa2_mac_set_supported_interfaces(struct dpaa2_mac *mac) { + int intf, err; + /* We support the current interface mode, and if we have a PCS * similar interface modes that do not require the SerDes lane to be * reconfigured. @@ -278,12 +317,43 @@ static void dpaa2_mac_set_supported_interfaces(struct dpaa2_mac *mac) break; } } + + if (!mac->serdes_phy) + return; + + /* In case we have access to the SerDes phy/lane, then ask the SerDes + * driver what interfaces are supported based on the current PLL + * configuration. + */ + for (intf = 0; intf < PHY_INTERFACE_MODE_MAX; intf++) { + if (intf == PHY_INTERFACE_MODE_NA) + continue; + + err = phy_validate(mac->serdes_phy, PHY_MODE_ETHERNET, intf, NULL); + if (err) + continue; + + __set_bit(intf, mac->phylink_config.supported_interfaces); + } +} + +void dpaa2_mac_start(struct dpaa2_mac *mac) +{ + if (mac->serdes_phy) + phy_power_on(mac->serdes_phy); +} + +void dpaa2_mac_stop(struct dpaa2_mac *mac) +{ + if (mac->serdes_phy) + phy_power_off(mac->serdes_phy); } int dpaa2_mac_connect(struct dpaa2_mac *mac) { struct net_device *net_dev = mac->net_dev; struct fwnode_handle *dpmac_node; + struct phy *serdes_phy = NULL; struct phylink *phylink; int err; @@ -300,6 +370,20 @@ int dpaa2_mac_connect(struct dpaa2_mac *mac) return -EINVAL; mac->if_mode = err; + if (mac->features & DPAA2_MAC_FEATURE_PROTOCOL_CHANGE && + !phy_interface_mode_is_rgmii(mac->if_mode) && + is_of_node(dpmac_node)) { + serdes_phy = of_phy_get(to_of_node(dpmac_node), NULL); + + if (serdes_phy == ERR_PTR(-ENODEV)) + serdes_phy = NULL; + else if (IS_ERR(serdes_phy)) + return PTR_ERR(serdes_phy); + else + phy_init(serdes_phy); + } + mac->serdes_phy = serdes_phy; + /* The MAC does not have the capability to add RGMII delays so * error out if the interface mode requests them and there is no PHY * to act upon them @@ -363,6 +447,8 @@ void dpaa2_mac_disconnect(struct dpaa2_mac *mac) phylink_disconnect_phy(mac->phylink); phylink_destroy(mac->phylink); dpaa2_pcs_destroy(mac); + of_phy_put(mac->serdes_phy); + mac->serdes_phy = NULL; } int dpaa2_mac_open(struct dpaa2_mac *mac) diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.h b/drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.h index d2e51d21c80c..a58cab188a99 100644 --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.h +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.h @@ -26,6 +26,8 @@ struct dpaa2_mac { enum dpmac_link_type if_link_type; struct phylink_pcs *pcs; struct fwnode_handle *fw_node; + + struct phy *serdes_phy; }; bool dpaa2_mac_is_type_fixed(struct fsl_mc_device *dpmac_dev, @@ -45,4 +47,8 @@ void dpaa2_mac_get_strings(u8 *data); void dpaa2_mac_get_ethtool_stats(struct dpaa2_mac *mac, u64 *data); +void dpaa2_mac_start(struct dpaa2_mac *mac); + +void dpaa2_mac_stop(struct dpaa2_mac *mac); + #endif /* DPAA2_MAC_H */ diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c b/drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c index 9a561072aa4a..e507e9065214 100644 --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c @@ -703,8 +703,10 @@ static int dpaa2_switch_port_open(struct net_device *netdev) dpaa2_switch_enable_ctrl_if_napi(ethsw); - if (dpaa2_switch_port_is_type_phy(port_priv)) + if (dpaa2_switch_port_is_type_phy(port_priv)) { + dpaa2_mac_start(port_priv->mac); phylink_start(port_priv->mac->phylink); + } return 0; } @@ -717,6 +719,7 @@ static int dpaa2_switch_port_stop(struct net_device *netdev) if (dpaa2_switch_port_is_type_phy(port_priv)) { phylink_stop(port_priv->mac->phylink); + dpaa2_mac_stop(port_priv->mac); } else { netif_tx_stop_all_queues(netdev); netif_carrier_off(netdev);