From patchwork Thu Nov 24 13:58:26 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vadym Kochan X-Patchwork-Id: 25563 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp3414397wrr; Thu, 24 Nov 2022 06:03:15 -0800 (PST) X-Google-Smtp-Source: AA0mqf6LXAasPdah/pMQjnyI19lz6txcUTQBwmIRJ7hTiNfhWZrl6yvbydixm8AVG84HUCZy9ThD X-Received: by 2002:a17:902:eb42:b0:183:fffb:1c09 with SMTP id i2-20020a170902eb4200b00183fffb1c09mr20873565pli.69.1669298594656; Thu, 24 Nov 2022 06:03:14 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669298594; cv=pass; d=google.com; s=arc-20160816; b=gL2JLvLrX16JwOi/ogHJy3VqDB0ZfhogID0wvoCOUziVJmpaI7F+sA5R4jQ5SkTgCe yc8XAQT2HeF2yKtRc8xs12cMJgJF3c500erp98iI/dxMM+FgDnLX169j09RjFtAy9Agv CfayLPxiS4hTbyhKUsAlSR5BJfpgmZkpJZkAGdIxX4Fyf1fXouf7cq0ts6S2gRcOz6pJ YPWZFSzQ7UeTGWAwEX1bzo15IKmKHbvfLNALmnrNny8XwceRyGrFIAZdrrd/wJoXXLTQ zf1EZB+JeiGZbZ/B4keBDEx2z2sB1qgyoHlh6hNqQ/TCM6nI3egZE398FfvXugce+cQ8 1l5A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=yOFx6ykw4Yty05usC03e13PABLmMILjwHo0n3YtWomA=; b=yNPFP/0acW+BL3cssE72xZzvQDiunpfz4l+c48fPF6hw/ApUL2b/fKiem7ysGmHtlB WJRBtxaYRyDrDHSpCN7nra3YgB4MYaL36XnUxWIpW+Zf85e7nYgRXOvHUA7GldDNpAPB NqPzCeuC4l12hxrDoL0Ptam/h8ya7KP0OG1BQtqwjC37+Rd7UIcCNXo3g1/SR9T34uaR oPDz6lg7pjBCGKYIdYOAcO4VNQvhO5olXsO+iZzvd5wky/OMcfgoJfRCXGlyqU4f0+Mr rFm+27ZPyA9lY7o6Smpj8St2xliclJvOZVp0oLsEKuwJGKmhdchsl88iiH5HjJm8MFS2 /1sw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@plvision.eu header.s=selector2 header.b=vgqGJJ3Y; arc=pass (i=1 spf=pass spfdomain=plvision.eu dkim=pass dkdomain=plvision.eu dmarc=pass fromdomain=plvision.eu); 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=plvision.eu Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q5-20020a634305000000b0046fec9f9ed8si1310821pga.704.2022.11.24.06.02.57; Thu, 24 Nov 2022 06:03:14 -0800 (PST) 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; dkim=pass header.i=@plvision.eu header.s=selector2 header.b=vgqGJJ3Y; arc=pass (i=1 spf=pass spfdomain=plvision.eu dkim=pass dkdomain=plvision.eu dmarc=pass fromdomain=plvision.eu); 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=plvision.eu Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230317AbiKXOCM (ORCPT + 99 others); Thu, 24 Nov 2022 09:02:12 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52610 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230395AbiKXOBv (ORCPT ); Thu, 24 Nov 2022 09:01:51 -0500 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2107.outbound.protection.outlook.com [40.107.20.107]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 75970168B07; Thu, 24 Nov 2022 05:59:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=anXj82PDgZayXz6GJg/3adoGxE0RCUvgfL9agNTc5OErAXYsBRMxEdw82fJfHCDAV/qVcJdlaoh/db4Sr+HNhVO5uOg9MIFM6Pa8kT5dXmp/vaAdWT21vy6103q2CFJG7LQsXHe9lvPjik82Zqtcy60xL0UXO9yT9JcQsrYk/ogH2JZrUENYImSHoUR2ZoDXi53gLfqfOziNFMJqHCAfwSJPizPqe+0fVk2F4w32YtU5c+oQvY04QSjkYkmSxNAhhQw2Pg4F18wkGZvb+j7fs7PzLEU0+0UFtrN9TolL6F+w337QVY3RYoIDiYMQznbhyS+X0wqqK7fCdVgnhku9jA== 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=yOFx6ykw4Yty05usC03e13PABLmMILjwHo0n3YtWomA=; b=JZAiMNr3XEXHE/FLvueFxLFf/1KhjkUz6FmGJtLWhU1mDtDXw1+F+qIaP7H/Ua0SYaRGSOdZzu7A+4i2AvGrEuJREj9zH8EJh8Z8/ytUzZvx4UfBWbgc0RUNvT2e+8oS90lsRAY/NBFw84VhWEeFJOi4njTUDlvhHCw0cVx29+dIG/Mrj008ykfBVwkEAqRt+MMLpHJ2nGe+FAkWNp7UGSAEwc3IKDj2C4W13WurL9UlOLQWObrL+xsazGb+XaaLr2rd2Jl+0uz1YK4G8WkE2Xe/utiwb24OxBDozABuwo2MDux3nGcoPwTVYsHGj3BCarMQWagObw90YJjwKK4siw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=plvision.eu; dmarc=pass action=none header.from=plvision.eu; dkim=pass header.d=plvision.eu; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=plvision.eu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yOFx6ykw4Yty05usC03e13PABLmMILjwHo0n3YtWomA=; b=vgqGJJ3YBjMEMT7sZo0Ixllj9U7togNlAlUoE8ZLxj4ItOb7vNeMVgCAsZPuemrWXnjhFjSQwESr3YQL8gysMJOq6z2ZP8nXsTBSPi2QN+ca4WJ5HuD85sQBFBKXgEI1VRZpE8b7MJs8YLljDojvWaLKZq8YU4nItY0xvdXj7Bg= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=plvision.eu; Received: from VI1P190MB0317.EURP190.PROD.OUTLOOK.COM (2603:10a6:802:38::26) by AM7P190MB0758.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:117::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.20; Thu, 24 Nov 2022 13:58:53 +0000 Received: from VI1P190MB0317.EURP190.PROD.OUTLOOK.COM ([fe80::5912:e2b4:985e:265a]) by VI1P190MB0317.EURP190.PROD.OUTLOOK.COM ([fe80::5912:e2b4:985e:265a%3]) with mapi id 15.20.5834.016; Thu, 24 Nov 2022 13:58:53 +0000 From: Vadym Kochan To: Thomas Petazzoni , Bjorn Helgaas , Lorenzo Pieralisi , Rob Herring , =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= , Krzysztof Kozlowski , linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Elad Nachman , Vadym Kochan Subject: [PATCH v2 1/3] dt-bindings: PCI: armada8k: Add compatible string for AC5 SoC Date: Thu, 24 Nov 2022 15:58:26 +0200 Message-Id: <20221124135829.2551873-2-vadym.kochan@plvision.eu> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221124135829.2551873-1-vadym.kochan@plvision.eu> References: <20221124135829.2551873-1-vadym.kochan@plvision.eu> X-ClientProxiedBy: FR3P281CA0120.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a3::18) To VI1P190MB0317.EURP190.PROD.OUTLOOK.COM (2603:10a6:802:38::26) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI1P190MB0317:EE_|AM7P190MB0758:EE_ X-MS-Office365-Filtering-Correlation-Id: fc024538-8a7f-434d-655c-08dace240584 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4hqvBV8gKRt+8VayVMYW/cmCUnqkRk0SI5gqEZd1vUPt7nIgtEoeyRq6MBF9pa2AnGACaATD4qTo83yVXhqHBp03dV1poK3roFPD3kbHd/SM0Ywk9tGed4QGFOICgKCcAvFWIOGtRKMnLg8hYW8pm//mnvzmHpV5XxGZop12VimiyQ4SspPi1Be7hBjU5223OOpwqv+a6VxFGb+piorch0AxMbQuuP7+YBlBKlAZZQtkw+7TG8AqeVJvHM1TvjvR8gAs0Fis8YnDNaICOrtJkBsODMekYmBMhmtHgWbJllqXMDMu2YaQ0zqo1axAz7LplHqIa8QWRK4nTDQDIE5slIRrkdtVbHR+vQd3wmvum0mWlA3+qyS8Rjvs8OnA6bvUZQgn0U0zMi5yXORvOyR05eq7Hj2v4Z68jGHibLganCo/ul2zZe8hhz12bUlhhBoXJBbCh9KoF2PVZ0nKBBMy55aKNUoZU5VUCb1N7vvN1AsW8GP3Irdgu9ZnIjIr4U+6cg/P+IO2GPWrWcZQ8tuJuFvmXqxox86juBcquZeQWhwmY8nogzCSbUVL14Kfoaw3Ep+VwVMqBulT2vo2D/vpteMyI/FkLqC5ZsJYv3ZsDA9pUEI0usL1wnNAkISIvHschDp0Np6/OJC68sMAb39g5mJhDJelvSMfeiXVdKcCgNU/49x6mWCLG94KDu6NUU1/sqBe6GEZqrCGbdUKdai6ASc5nHT7ty9VG/caxAiiiAE= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1P190MB0317.EURP190.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(136003)(39830400003)(34036004)(366004)(346002)(396003)(451199015)(1076003)(8936002)(36756003)(83380400001)(2906002)(2616005)(41300700001)(44832011)(5660300002)(41320700001)(86362001)(921005)(38350700002)(38100700002)(6506007)(110136005)(107886003)(54906003)(186003)(316002)(6666004)(52116002)(26005)(6512007)(7416002)(508600001)(6486002)(66946007)(8676002)(4326008)(66476007)(66556008)(32563001);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: h6f6WzZ3blzSNCW3BcaJZFkGwG3XBJ4WiXi8V13fjBPG87RLhy/eRVnb/XJ4QOzgor0p55EcTnIhr705zi2Sdooww7cYQ1kbKV9bCjZwh4FVRGIMuRgME7BKDVWBTYv/E3SQdhoDU8JapeZnZijlwY9dL1iRibrc60qGrY3TmCin3FZ3dxIagAd98IB8vTZD7vaUj/NZXAMbvcmVprWBvKcxC2Kwe3kR2+HBn4CHCuI6+Pd/fzngK9odRNZSBMSrpRg7oTb7wD5Vrv4ZtkE+yq85qhO0g79u/L25zeJR4GJU/DfxIetsaUt22hFhLElXTjTWOkUerKLLTHCVOJER+5I/eKBPB0r+cUtDLh8itz7f98w/R7QT3IJ5f66ECoSeqwUm2MnDgqzSv9v8ZJBB0tqD9qIuJD0hKuq1mGgyxcpscU90GFfXntt9qszmtoB8u4jtAz1BWMp2BtE2RM9znUPiviVDg97WTpiQDy5vl56Rv4VJorUHgtCKw/G4CRQTvQhIWRf1/rJDBxqH3Wskyp02ExyNyugTblf5wqey/vaOARiEP2pG+15t7ebWhLYEdDYnDoL9Ly2JCbTz+wUcELSafhRpLeDAuEoRnnhzux9dQcbtj03sWikYAzlUicifCBNh4FGox5DVIWQfiC/UzAUUiqv7S/fgJZa4rz455mKc4HwdYjP/ZsXtrl/CLFXHffD1IVd6MPGqb4atsJJPDw7IGvKys336nDmqpOM5XEUUcqOmfC+qP+yG14dROzzmaXcvjQ3mwlvOUWUnV91TTePeglf23ZaL/FKbOdrG6yLdnDa2+JPBIttW3LNhovcKDrH3UWuL80cN5gb1Z55PP1qb4UYRZGs6FWCY3cCa2UZ/0/7UipVaDJaxMLSNbQPts5BHQV8R2AWUX+s3R/k4ReDLx3PBWNc6ViZqSgcaYXzZ1AaxcSHIoycLl1z/eBVPOLm1+py/N1mQu4DTNu4LUY+HKfBsGgIPHOzPvsoQcbfSA+RyDUthoyQq6lamv6cTCKDBL7H0eN/Fl3b58dmTn6i3VE2eDHYSEz8eC1+CwDFI8O5I4xAKCOhm3GNN20lqK4X5HRUv2QqTv8AZTSvmNDUXvHKPCP5eoh1htmR+si1A6awN3uEVfCdoHD3mTKRVeROz5EYXUyOsObZ0ph3lTr1b9Hod+Or/iEfl/jtSlF/Su5D+irijVLDH1LBJSlgAuVPpDyp/lPdMz5DOkq4YtARLGyhIcGPD/56LqJy19MiagO6FSPg+eI988XpxAUOKeiXNvGAEZUcMJTntAZjoP2HoesOviWL0N+w2qJeDbPvPQAQLxQNvQz37ivUDWo8De/U6cnMLqin4Jy4Ja73mGsSfYKocDW322rJVVGhmOMNcawbzoeqC1hJbXS4IreFUuItdwci2o4ZFj1aAolpiQO60U6+nsoan6VizUzcKN0TbRPN8t5zYkUDRQhSHVmrLTUUXeXRJ/Eth8wLordDZ4P53X0eF876TE1cctyqLLByVntYuYaVGEHYoV7bb1v0GeppPCsRNGV6CVBBUIuXWh/XMR11JaGJWIfa72sYWC7axUmG7DUQM3j3pG7CFXBt2ebBTbYR0czzZDcdJkEJh0A== X-OriginatorOrg: plvision.eu X-MS-Exchange-CrossTenant-Network-Message-Id: fc024538-8a7f-434d-655c-08dace240584 X-MS-Exchange-CrossTenant-AuthSource: VI1P190MB0317.EURP190.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2022 13:58:53.4459 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 03707b74-30f3-46b6-a0e0-ff0a7438c9c4 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: tRSd+6S7H93q8Ah0a+VfB8skijbjNAr/fniqEfv+ocxZRjiRX5R6/tcm26CtUHFyGBDZPNFcn1Z0s8EsP96HU52V9dsTv/f3DiV12JUtyGs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7P190MB0758 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS 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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750386443052167613?= X-GMAIL-MSGID: =?utf-8?q?1750386443052167613?= AC5 SoC has armada8k PCIe IP so add compatible string for it. Signed-off-by: Vadym Kochan Acked-by: Krzysztof Kozlowski --- v2: no changes Documentation/devicetree/bindings/pci/pci-armada8k.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/pci/pci-armada8k.txt b/Documentation/devicetree/bindings/pci/pci-armada8k.txt index ff25a134befa..b272fa4f08b5 100644 --- a/Documentation/devicetree/bindings/pci/pci-armada8k.txt +++ b/Documentation/devicetree/bindings/pci/pci-armada8k.txt @@ -4,7 +4,9 @@ This PCIe host controller is based on the Synopsys DesignWare PCIe IP and thus inherits all the common properties defined in snps,dw-pcie.yaml. Required properties: -- compatible: "marvell,armada8k-pcie" +- compatible: Should be set to one of the following: + - "marvell,armada8k-pcie" : For A7K/8K family of SoCs + - "marvell,ac5-pcie" : For AC5 family of SoCs - reg: must contain two register regions - the control register region - the config space region From patchwork Thu Nov 24 13:58:27 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vadym Kochan X-Patchwork-Id: 25564 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp3414562wrr; Thu, 24 Nov 2022 06:03:26 -0800 (PST) X-Google-Smtp-Source: AA0mqf6pomzC9B1wXzta0xZqyhLMs4e2waFRcKdRgrv1oTJLc8IfOsu514R0BN15D8Am1PWvu2hu X-Received: by 2002:a63:194f:0:b0:477:7db6:6d96 with SMTP id 15-20020a63194f000000b004777db66d96mr12069393pgz.458.1669298606251; Thu, 24 Nov 2022 06:03:26 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669298606; cv=pass; d=google.com; s=arc-20160816; b=AjFEbwaTUVCyl0WCaOG00CZkf/hh56vtZU6PjmmWTFHbkMAnhcTI0VHIPVeiXja1Ou rPr7ULZ/7IHTRR+SbyjPHEjx10M+iVWRtmXqGwwrynUOFN6b0/MoHXNw19zxIAaIK00w 7tMQIs8zYz+3mbsU81cNuCzO19GbS6Em01SMB0wQQQi1bdr67RqXMI7Ude4SFD621TMA isxRbPZz/xGSK2PBYuGVCj/yzc7WglmuVp4QL1+sqvO2qp1OpeBErETdETLIG0EZQVP+ fDY3a0oS8fadqVEWTnIFwCMLlin9lqDFBcmc32L8plXaYD6aoZ2ukYmPFCFhDcBceb3O RMTw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Q7cylRnsRpLgxyddXHbnBWfHlJkqnior12AOdMfj4i4=; b=TVWYdfBx/6K4Phdg4R+HZ50BiBRB0gazLXYZPtXfUeBLvf4kqL8Akoh0LoMtMbvmLS WqWylhr7CcQENbG69rml3FjApHv+IamypYlAINv5nmnfIlAwcsglQlxih6cKRCleRCYJ fbvR5N/nmfB4hbwz0vNa54038HUz9NspeGCKh6hwoiPy8coxO9vQoBrHoNsnRW6WKs1M q+vytp/1sTQ1yPD08n5DwgKV4huQBpeckc846ydJzGjmwJx3qkIa5S1nORTxeNJ+Nqy8 ewJPk6VSk/XAQws/8y1D50RO6yZO9aPa/u8SkH5XCcq5o1VvENO4k9ohLkjkOhApOZoG VqdQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@plvision.eu header.s=selector2 header.b=ZjKA5tva; arc=pass (i=1 spf=pass spfdomain=plvision.eu dkim=pass dkdomain=plvision.eu dmarc=pass fromdomain=plvision.eu); 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=plvision.eu Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d11-20020a63fd0b000000b00462f77bcd1esi1489642pgh.90.2022.11.24.06.03.12; Thu, 24 Nov 2022 06:03:26 -0800 (PST) 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; dkim=pass header.i=@plvision.eu header.s=selector2 header.b=ZjKA5tva; arc=pass (i=1 spf=pass spfdomain=plvision.eu dkim=pass dkdomain=plvision.eu dmarc=pass fromdomain=plvision.eu); 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=plvision.eu Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229548AbiKXOCe (ORCPT + 99 others); Thu, 24 Nov 2022 09:02:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60244 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230258AbiKXOCL (ORCPT ); Thu, 24 Nov 2022 09:02:11 -0500 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2107.outbound.protection.outlook.com [40.107.20.107]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1FAA016FB1F; Thu, 24 Nov 2022 05:59:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nucxy/mz8eXz5W8+EinPzQFOfK86gO6oAnsQMaWC9dX+25NvCLzcj16riX+RNmyRM29irrAH7mhrVKQq/gF2QfKC6ao4OCcZRpSDz6BtRv7wtM8S+OOH/qneFnxac/8IK9fL5t6O3DZDiwLz8cacthSrdZF+UXG2PPG0jzY6SVULHbzvlpkkvEYvMXqAHB+ZS5U9UihtryC5fGr/mEBHuLLQ9ARryeLa99GO/BeyZn1ggOgaJiyJUCnyTKY6FjoGA9eR/+sASk9xI192KTvjUv8/jQI0MS3fhiRMoRHOfycOYcO3EM7GOZRQ5gPXMsTNyCDx2CH8HfQnfyOyTqBzpg== 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=Q7cylRnsRpLgxyddXHbnBWfHlJkqnior12AOdMfj4i4=; b=SZBEZBE+CSGxbq/lIPg9blTof0yKvpMVDWRRE2A1/rohCDmlVrgLkqzNGMZwGD2oITKOLqaiOwV05ArTmgPKSubyBGpFPyxwBflCKbI93tH0kHHebpcGWp0L53nZROtO29ULgYfI3kw60AkuOOGSlGGIowtaK0n04RZGKH+3XW8foxCA+RguiSEW1GaJOn7NgCfYqtQRja/X+oiKrY5spl9xeRRFyYuhG5vDlToGv6VB3wifNoryIlFXfDxUeCXGK1Os1KF4Lyd0UZvrHuvJfaNNtpUJcq51Bh52KEPy20Zk4opzLBdyyqWQABUH8wf5cjTpvTbE3wa6QNlssFcD9Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=plvision.eu; dmarc=pass action=none header.from=plvision.eu; dkim=pass header.d=plvision.eu; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=plvision.eu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Q7cylRnsRpLgxyddXHbnBWfHlJkqnior12AOdMfj4i4=; b=ZjKA5tvaqt/Psx/UKBmejQ8AB9WeqR3ie4i64C6wA9fqTai4HB7afFgkJNrv5KYq1WxD6463oYMbkJiNLzIuP4UOGIE6Kk3vEK0evQeTKDeCSrMl2AyYYloRcEZPY4QzdcTNkmVuF0Rr16fOUaP/2RWtJde2ilGpLQ+to1+gknM= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=plvision.eu; Received: from VI1P190MB0317.EURP190.PROD.OUTLOOK.COM (2603:10a6:802:38::26) by AM7P190MB0758.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:117::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.20; Thu, 24 Nov 2022 13:58:54 +0000 Received: from VI1P190MB0317.EURP190.PROD.OUTLOOK.COM ([fe80::5912:e2b4:985e:265a]) by VI1P190MB0317.EURP190.PROD.OUTLOOK.COM ([fe80::5912:e2b4:985e:265a%3]) with mapi id 15.20.5834.016; Thu, 24 Nov 2022 13:58:54 +0000 From: Vadym Kochan To: Thomas Petazzoni , Bjorn Helgaas , Lorenzo Pieralisi , Rob Herring , =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= , Krzysztof Kozlowski , linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Elad Nachman , Vadym Kochan , Raz Adashi , Yuval Shaia Subject: [PATCH v2 2/3] PCI: armada8k: Add AC5 SoC support Date: Thu, 24 Nov 2022 15:58:27 +0200 Message-Id: <20221124135829.2551873-3-vadym.kochan@plvision.eu> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221124135829.2551873-1-vadym.kochan@plvision.eu> References: <20221124135829.2551873-1-vadym.kochan@plvision.eu> X-ClientProxiedBy: FR3P281CA0120.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a3::18) To VI1P190MB0317.EURP190.PROD.OUTLOOK.COM (2603:10a6:802:38::26) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI1P190MB0317:EE_|AM7P190MB0758:EE_ X-MS-Office365-Filtering-Correlation-Id: 29010f78-bcd3-432c-ce1c-08dace240653 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0Gbq0uQ0GBzA+anYKIYfMH63IaO4JKOFzVkJVm33PuxTX6FwwpGBlnlxXhHFIbqkW6mOjFZqxhBt58oovKoCU0XgcyvP5cG4TNDiUfyfVfMWQU+tJtHhv2ucNgK43ZUKiX+Zoq98IBD/DKwnznoh4ji4FgvQxWEb49V8Fsjz3ySwi6KC6MS2v0jg0al1r4vpeafE89GKzX6kW8hDK/Lvg4mx6RR8j02rlfQ4y86UVHgKXDiRzrzSpOiPxUSKrSHfW5hZsri0RBnwFCoiiNXaOOktJ6kCCa8GVrobJFj23HfveEECggU41CIRsFDqD2JhtRycZuspR3Nf62hEJvcwO8BS/ffq2B7l70dS9uZW1nF+c/bE2m43xfezEkq750uNIWj9NzbDnYjkvUFASZR9mEtruBWniu+u/Z6N2BXmCJ96jh0sg7TsrHPfeCuM6gzeJ+0gBB6fOx8Y5oijyUp7jdNRuQqZjCP5+ate26Md06dG4qH3RMf3gz/XpeqweqACW3cB67CrXKFcDNNZJzn3K/IBcQL18Bq2POsAqqqJij1F22l0eLIwjqJ/6BFX586NJa3bkdUfd7DpZpccxAinKX32DNVTirkrL67aoGOgoKM2VjBqHIRwKeD3uERKsuV09hR1i4WmfPg5fNXLQ1+Y27oissfh4WOTcaxutH18Y9tqAV4E3w+paEBQeZubjcKsUUuJHGVkFxh6cPVRATeAayJoXoruFl94b+QS4VH4beI= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1P190MB0317.EURP190.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(136003)(39830400003)(34036004)(366004)(346002)(396003)(451199015)(1076003)(8936002)(36756003)(83380400001)(2906002)(2616005)(41300700001)(44832011)(5660300002)(41320700001)(86362001)(921005)(38350700002)(38100700002)(6506007)(110136005)(54906003)(186003)(316002)(6666004)(52116002)(26005)(6512007)(7416002)(508600001)(6486002)(66946007)(8676002)(4326008)(66476007)(66556008)(32563001);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: XjU8RDiPQHCdi3l9hhfHqN3xS8n6YzRkV6hQE/tSShwOLMNW+nirPv5rOQBaW7epBTXRYq9pKH+FqXKmI14qHO6TrNC/X49W+JoS2hlH3ceO2xqzAecsV4k2ykM8tOxFD1J6rpf996mJz3FK60qSDeleSlR0lzcSTQRfpC9BSyQa67+2y803jGqt527ZrVat3pIJAjcyuDOO6TVT7Q4CF2g1dOf3q+F4x4MQUNBonuJGityUcOdm2xah5e1CQn4wWOSBnTDEJfGzW4+AypZM9KcBeoe2q+mu8tefyi9/faGon8xJoy0HTdUGLTWqEwUhKG4tJslhQa5+qnHodMm5Q7Lj8dECkuu5DdbTd3MBSE/qpRxFMpM1r3Ay60DPeu4vK4XL3r8/W3gVtT1MlWuh+J61xLqFkEcGQAclkYUw7Qp3z3K6FsHCy3VJ78beZ6lDs4kl/HaKAhyV4pVnVseJbJOBSGPVffd72V8RkZ7uiyk+UEPXq1rPsvnVyCsnxMFjaJFKnJOgHvNtnUHJiRmg735xILsZIUhaJGxqCr2htQmDJZP7xB0IPpQ9ex5NVbJM6NONVHomKIGKTDnBTA21+0dDuTi+s2tQq98hIzL5Vm8RpZx5V2d8EofVskTqBJ349v6rkarxRZMA3Yz1tM054SlY4Q4DkufhuOcCMOGgA2+toPpaXUT2LEjtgYSrVvFU8yL6X4EkOCD4rcwCHxGO8Ut79oifBWfM5xK/t8Vs8dZF/1wIDNnxyVy3a6pAuOC0292G2Cyo9ng6yzfHGPD91xPpOqgg0du/SmmBV6JCdnV+/mw7vgvQSvueiJJmOmr6Xg4DWGfS5ULYgH13XPKh4sHx4raGyAZIjm0tixrnNt9VB4iuSld6y1QdXfB2SMdnZa22HUevY4tfdt17uUjkyBUfDFf0uV6+ArB4H0EU8lCNdRvEMiQ1+FvBEAWdPC++sp3FU08/R0zO9lW/BjhMgfxFdnAMGDPaftCh31PU0veBy22nOsxZ9o2eu7nb+QIW+HE5SdotwaMonEeM8LUsqUINkFTpImGKGo8ZOrod4RUcK7xtccBkSOb/OxYuFV3115Fbv8tvE0tkQFOx+L2pVnWSYCh4BLw7iE664kR+tNr8VGYyE7SuDw/0zD8bM0QOBhxs1DE0xAg3hcHqZZzWsQUmceqKfB4dg4EIy7rc5DnplQgvQhcxsJ1aXGM/5il/1WvBSsmDNhDGoz/RrKSZl5/gImH9IcA6Fnoixranz5fARRh2EzPEY3QGHztdUiOj4rAmq/coc6Xx0louW+bxXBvBmu8KJtnV04cLeUs4WNinZIzjY4C1fLbQvK00L2mnhleMF13jCLIXW0mHTRC7AmhFyzQAFlG0CoFx9QYUzx+kFCO66YTZfODkAFvq0vbQTP4nvMc1o03bjSt6CibdL87wC9AbCHziqobmu2QnI09Yp2N+Om5fNF1ORlyiOduqrYhlEd0DQrWA39pGD1zfU0QBkciUuCq3bNM87BGNdWLsuKjARFpTuQ3Y2XakNaY9l8MP/sfH/m6dCqExR3g7NnB8Rr51Ld7BvNwjZQ9SqE/yp6mMcDwmNbITvxqdQebBhpRYnpoLkrohYf9VidpoYw== X-OriginatorOrg: plvision.eu X-MS-Exchange-CrossTenant-Network-Message-Id: 29010f78-bcd3-432c-ce1c-08dace240653 X-MS-Exchange-CrossTenant-AuthSource: VI1P190MB0317.EURP190.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2022 13:58:54.7740 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 03707b74-30f3-46b6-a0e0-ff0a7438c9c4 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: OtuIh/UkBizsyZ97i68/aAtIPdurpoYDHjawOBcF0NBpXuQSDGBlh0sfRqqocxbUnAPdx1OCAk183ZbdFagjGq4Q/QZ+MRnEyeql4cWlPTc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7P190MB0758 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS 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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750386455176814730?= X-GMAIL-MSGID: =?utf-8?q?1750386455176814730?= From: Raz Adashi pcie-armada8k driver is utilized to serve also AC5. Driver assumes interrupt mask registers are located in the same address inboth CPUs. This assumption is incorrect - fix it for AC5. Co-developed-by: Yuval Shaia Signed-off-by: Yuval Shaia Signed-off-by: Raz Adashi Signed-off-by: Vadym Kochan --- v2: 1) fix W1 warnings which caused by unused leftover code 2) Use one xlate function to translate ac5 dbi access. Also add mode description in comments about this translation. 3) Use correct name of Raz 4) Use matching data to pass the SoC specific params (type & ops) drivers/pci/controller/dwc/pcie-armada8k.c | 157 ++++++++++++++++----- 1 file changed, 119 insertions(+), 38 deletions(-) diff --git a/drivers/pci/controller/dwc/pcie-armada8k.c b/drivers/pci/controller/dwc/pcie-armada8k.c index 5c999e15c357..bbe9a1750d0d 100644 --- a/drivers/pci/controller/dwc/pcie-armada8k.c +++ b/drivers/pci/controller/dwc/pcie-armada8k.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -26,15 +27,26 @@ #define ARMADA8K_PCIE_MAX_LANES PCIE_LNK_X4 +enum armada8k_pcie_type { + ARMADA8K_PCIE_TYPE_A8K, + ARMADA8K_PCIE_TYPE_AC5 +}; + struct armada8k_pcie { struct dw_pcie *pci; struct clk *clk; struct clk *clk_reg; struct phy *phy[ARMADA8K_PCIE_MAX_LANES]; unsigned int phy_count; + enum armada8k_pcie_type pcie_type; }; -#define PCIE_VENDOR_REGS_OFFSET 0x8000 +struct armada8k_pcie_of_data { + enum armada8k_pcie_type pcie_type; + const struct dw_pcie_ops *pcie_ops; +}; + +#define PCIE_VENDOR_REGS_OFFSET 0x8000 /* in ac5 is 0x10000 */ #define PCIE_GLOBAL_CONTROL_REG (PCIE_VENDOR_REGS_OFFSET + 0x0) #define PCIE_APP_LTSSM_EN BIT(2) @@ -48,10 +60,17 @@ struct armada8k_pcie { #define PCIE_GLOBAL_INT_CAUSE1_REG (PCIE_VENDOR_REGS_OFFSET + 0x1C) #define PCIE_GLOBAL_INT_MASK1_REG (PCIE_VENDOR_REGS_OFFSET + 0x20) +#define PCIE_GLOBAL_INT_MASK2_REG (PCIE_VENDOR_REGS_OFFSET + 0x28) #define PCIE_INT_A_ASSERT_MASK BIT(9) #define PCIE_INT_B_ASSERT_MASK BIT(10) #define PCIE_INT_C_ASSERT_MASK BIT(11) #define PCIE_INT_D_ASSERT_MASK BIT(12) +#define PCIE_INT_A_ASSERT_MASK_AC5 BIT(12) +#define PCIE_INT_B_ASSERT_MASK_AC5 BIT(13) +#define PCIE_INT_C_ASSERT_MASK_AC5 BIT(14) +#define PCIE_INT_D_ASSERT_MASK_AC5 BIT(15) + +#define PCIE_ATU_ACCESS_MASK_AC5 GENMASK(21, 20) #define PCIE_ARCACHE_TRC_REG (PCIE_VENDOR_REGS_OFFSET + 0x50) #define PCIE_AWCACHE_TRC_REG (PCIE_VENDOR_REGS_OFFSET + 0x54) @@ -153,22 +172,11 @@ static int armada8k_pcie_link_up(struct dw_pcie *pci) return 0; } -static int armada8k_pcie_start_link(struct dw_pcie *pci) -{ - u32 reg; - - /* Start LTSSM */ - reg = dw_pcie_readl_dbi(pci, PCIE_GLOBAL_CONTROL_REG); - reg |= PCIE_APP_LTSSM_EN; - dw_pcie_writel_dbi(pci, PCIE_GLOBAL_CONTROL_REG, reg); - - return 0; -} - static int armada8k_pcie_host_init(struct dw_pcie_rp *pp) { u32 reg; struct dw_pcie *pci = to_dw_pcie_from_pp(pp); + struct armada8k_pcie *pcie = to_armada8k_pcie(pci); if (!dw_pcie_link_up(pci)) { /* Disable LTSSM state machine to enable configuration */ @@ -177,32 +185,41 @@ static int armada8k_pcie_host_init(struct dw_pcie_rp *pp) dw_pcie_writel_dbi(pci, PCIE_GLOBAL_CONTROL_REG, reg); } - /* Set the device to root complex mode */ - reg = dw_pcie_readl_dbi(pci, PCIE_GLOBAL_CONTROL_REG); - reg &= ~(PCIE_DEVICE_TYPE_MASK << PCIE_DEVICE_TYPE_SHIFT); - reg |= PCIE_DEVICE_TYPE_RC << PCIE_DEVICE_TYPE_SHIFT; - dw_pcie_writel_dbi(pci, PCIE_GLOBAL_CONTROL_REG, reg); + if (pcie->pcie_type == ARMADA8K_PCIE_TYPE_A8K) { + /* Set the device to root complex mode */ + reg = dw_pcie_readl_dbi(pci, PCIE_GLOBAL_CONTROL_REG); + reg &= ~(PCIE_DEVICE_TYPE_MASK << PCIE_DEVICE_TYPE_SHIFT); + reg |= PCIE_DEVICE_TYPE_RC << PCIE_DEVICE_TYPE_SHIFT; + dw_pcie_writel_dbi(pci, PCIE_GLOBAL_CONTROL_REG, reg); - /* Set the PCIe master AxCache attributes */ - dw_pcie_writel_dbi(pci, PCIE_ARCACHE_TRC_REG, ARCACHE_DEFAULT_VALUE); - dw_pcie_writel_dbi(pci, PCIE_AWCACHE_TRC_REG, AWCACHE_DEFAULT_VALUE); + /* Set the PCIe master AxCache attributes */ + dw_pcie_writel_dbi(pci, PCIE_ARCACHE_TRC_REG, ARCACHE_DEFAULT_VALUE); + dw_pcie_writel_dbi(pci, PCIE_AWCACHE_TRC_REG, AWCACHE_DEFAULT_VALUE); - /* Set the PCIe master AxDomain attributes */ - reg = dw_pcie_readl_dbi(pci, PCIE_ARUSER_REG); - reg &= ~(AX_USER_DOMAIN_MASK << AX_USER_DOMAIN_SHIFT); - reg |= DOMAIN_OUTER_SHAREABLE << AX_USER_DOMAIN_SHIFT; - dw_pcie_writel_dbi(pci, PCIE_ARUSER_REG, reg); + /* Set the PCIe master AxDomain attributes */ + reg = dw_pcie_readl_dbi(pci, PCIE_ARUSER_REG); + reg &= ~(AX_USER_DOMAIN_MASK << AX_USER_DOMAIN_SHIFT); + reg |= DOMAIN_OUTER_SHAREABLE << AX_USER_DOMAIN_SHIFT; + dw_pcie_writel_dbi(pci, PCIE_ARUSER_REG, reg); - reg = dw_pcie_readl_dbi(pci, PCIE_AWUSER_REG); - reg &= ~(AX_USER_DOMAIN_MASK << AX_USER_DOMAIN_SHIFT); - reg |= DOMAIN_OUTER_SHAREABLE << AX_USER_DOMAIN_SHIFT; - dw_pcie_writel_dbi(pci, PCIE_AWUSER_REG, reg); + reg = dw_pcie_readl_dbi(pci, PCIE_AWUSER_REG); + reg &= ~(AX_USER_DOMAIN_MASK << AX_USER_DOMAIN_SHIFT); + reg |= DOMAIN_OUTER_SHAREABLE << AX_USER_DOMAIN_SHIFT; + dw_pcie_writel_dbi(pci, PCIE_AWUSER_REG, reg); + } /* Enable INT A-D interrupts */ - reg = dw_pcie_readl_dbi(pci, PCIE_GLOBAL_INT_MASK1_REG); - reg |= PCIE_INT_A_ASSERT_MASK | PCIE_INT_B_ASSERT_MASK | - PCIE_INT_C_ASSERT_MASK | PCIE_INT_D_ASSERT_MASK; - dw_pcie_writel_dbi(pci, PCIE_GLOBAL_INT_MASK1_REG, reg); + if (pcie->pcie_type == ARMADA8K_PCIE_TYPE_AC5) { + reg = dw_pcie_readl_dbi(pci, PCIE_GLOBAL_INT_MASK2_REG); + reg |= PCIE_INT_A_ASSERT_MASK_AC5 | PCIE_INT_B_ASSERT_MASK_AC5 | + PCIE_INT_C_ASSERT_MASK_AC5 | PCIE_INT_D_ASSERT_MASK_AC5; + dw_pcie_writel_dbi(pci, PCIE_GLOBAL_INT_MASK2_REG, reg); + } else { + reg = dw_pcie_readl_dbi(pci, PCIE_GLOBAL_INT_MASK1_REG); + reg |= PCIE_INT_A_ASSERT_MASK | PCIE_INT_B_ASSERT_MASK | + PCIE_INT_C_ASSERT_MASK | PCIE_INT_D_ASSERT_MASK; + dw_pcie_writel_dbi(pci, PCIE_GLOBAL_INT_MASK1_REG, reg); + } return 0; } @@ -258,9 +275,59 @@ static int armada8k_add_pcie_port(struct armada8k_pcie *pcie, return 0; } -static const struct dw_pcie_ops dw_pcie_ops = { +static u32 ac5_xlate_dbi_reg(u32 reg) +{ + /* Handle AC5 ATU access */ + if ((reg & ~0xfffff) == PCIE_ATU_ACCESS_MASK_AC5) { + reg &= 0xfffff; + /* ATU registers offset is 0xC00 + 0x200 * n, + * from RFU registers. + */ + reg = 0xc000 | (0x200 * (reg >> 9)) | (reg & 0xff); + } else if ((reg & 0xfffff000) == PCIE_VENDOR_REGS_OFFSET) { + /* PCIe RFU registers in A8K are at offset 0x8000 from base + * (0xf2600000) while in AC5 offset is 0x10000 from base + * (0x800a0000) therefore need the addition of 0x8000. + */ + reg += PCIE_VENDOR_REGS_OFFSET; + } + + return reg; +} + +static u32 ac5_pcie_read_dbi(struct dw_pcie *pci, void __iomem *base, + u32 reg, size_t size) +{ + u32 val; + + dw_pcie_read(base + ac5_xlate_dbi_reg(reg), size, &val); + return val; +} + +static void ac5_pcie_write_dbi(struct dw_pcie *pci, void __iomem *base, + u32 reg, size_t size, u32 val) +{ + dw_pcie_write(base + ac5_xlate_dbi_reg(reg), size, val); +} + +static const struct dw_pcie_ops armada8k_dw_pcie_ops = { + .link_up = armada8k_pcie_link_up, +}; + +static const struct dw_pcie_ops ac5_dw_pcie_ops = { .link_up = armada8k_pcie_link_up, - .start_link = armada8k_pcie_start_link, + .read_dbi = ac5_pcie_read_dbi, + .write_dbi = ac5_pcie_write_dbi, +}; + +static const struct armada8k_pcie_of_data a8k_pcie_of_data = { + .pcie_type = ARMADA8K_PCIE_TYPE_A8K, + .pcie_ops = &armada8k_dw_pcie_ops, +}; + +static const struct armada8k_pcie_of_data ac5_pcie_of_data = { + .pcie_type = ARMADA8K_PCIE_TYPE_AC5, + .pcie_ops = &ac5_dw_pcie_ops, }; static int armada8k_pcie_probe(struct platform_device *pdev) @@ -268,9 +335,15 @@ static int armada8k_pcie_probe(struct platform_device *pdev) struct dw_pcie *pci; struct armada8k_pcie *pcie; struct device *dev = &pdev->dev; + const struct armada8k_pcie_of_data *data; struct resource *base; int ret; + data = of_device_get_match_data(dev); + if (!data) + return -EINVAL; + + pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL); if (!pcie) return -ENOMEM; @@ -279,9 +352,10 @@ static int armada8k_pcie_probe(struct platform_device *pdev) if (!pci) return -ENOMEM; + pci->ops = data->pcie_ops; pci->dev = dev; - pci->ops = &dw_pcie_ops; + pcie->pcie_type = data->pcie_type; pcie->pci = pci; pcie->clk = devm_clk_get(dev, NULL); @@ -334,7 +408,14 @@ static int armada8k_pcie_probe(struct platform_device *pdev) } static const struct of_device_id armada8k_pcie_of_match[] = { - { .compatible = "marvell,armada8k-pcie", }, + { + .compatible = "marvell,armada8k-pcie", + .data = &a8k_pcie_of_data, + }, + { + .compatible = "marvell,ac5-pcie", + .data = &ac5_pcie_of_data, + }, {}, }; From patchwork Thu Nov 24 13:58:28 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vadym Kochan X-Patchwork-Id: 25565 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp3420061wrr; Thu, 24 Nov 2022 06:11:13 -0800 (PST) X-Google-Smtp-Source: AA0mqf4ER6umeDx5edR/LiYrUd4k5cSBzTJQv4tfGXh358MARMLFYW5rGZjucNAL3fKsQhmv2wIO X-Received: by 2002:a17:902:f391:b0:186:ac81:2aa9 with SMTP id f17-20020a170902f39100b00186ac812aa9mr14030609ple.95.1669299073551; Thu, 24 Nov 2022 06:11:13 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669299073; cv=pass; d=google.com; s=arc-20160816; b=qVbGumi58WcqyA+JQX7wk6s22EH8sJPqZz017i1wYipcec+1CrjrYWDKVq5jbEs6Xk SUnEkS07A3WQovKAWNrohrnxJM4+OZjW/F/48bHvP747CsG6UQHAdE3bVwMAJv08vfIm lnLyIXDypIXxRqPbpwkR55KOfMgEJdPWxqvqunRsSAkzdrN9VepOIi4BA+6PK7Vj+TRA HJMwijpoKpA7pvuxomJz/KZWNYlbHs00W5NTF0/xpPV0aflbvD7g0RMiUGx3INjI1/hK kQyvkQ90Ci067yGLv3GRd4uiGeMTdPuOVGVOAGeO1Wyo6b0rU0HYZw5XU7FKfLmZCsgk KLaw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=7396+6ZiFBQD4iMFbUA/ppiHVWn/Lc/v6+EqomZUYow=; b=k+E0iWU0MBYK0g4hXroutfgunTvhTgfwO0q7wHmFFHd8hFgl3qlzdP8PSZ/O3Jw64L nBK7PqNrsCa/HXYo87f7+1beaeJKk0Dgks2RnI6SvfQ/LQm4w+Kz+RNznyDNxHyMGi9g CZQXE9cnN1VWIPGFBcIoKrhFolbSlD77MvEQHHwwQKoOc0RHXZFxNA+AYsD94Gumg7+R 8icmSY+7Fa367j6AfYRLR/iPRX5zlPtHePrQJixKNm0uId+qbps2j4b85n9b9B9Un2Nj 09rHkgqI2eMiPHgjpSPnBHzTOJtk6QBXL8uLDb8seDw9q5mjntF/IHMAJ6Syua9W4Q1Y Bsyg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@plvision.eu header.s=selector2 header.b="VGyC/Q2D"; arc=pass (i=1 spf=pass spfdomain=plvision.eu dkim=pass dkdomain=plvision.eu dmarc=pass fromdomain=plvision.eu); 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=plvision.eu Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b7-20020a170902650700b00186897fb90dsi1073205plk.233.2022.11.24.06.10.56; Thu, 24 Nov 2022 06:11:13 -0800 (PST) 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; dkim=pass header.i=@plvision.eu header.s=selector2 header.b="VGyC/Q2D"; arc=pass (i=1 spf=pass spfdomain=plvision.eu dkim=pass dkdomain=plvision.eu dmarc=pass fromdomain=plvision.eu); 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=plvision.eu Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230168AbiKXOC5 (ORCPT + 99 others); Thu, 24 Nov 2022 09:02:57 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60474 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229724AbiKXOCa (ORCPT ); Thu, 24 Nov 2022 09:02:30 -0500 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2107.outbound.protection.outlook.com [40.107.20.107]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8960ECE18; Thu, 24 Nov 2022 05:59:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PNNrGGPzPZr+1uAH0Qa1C4L7iFUhukH+jpIzRakLl2/P9FYL7SQeOb7xiLwHfd4Ji+M8jTnGLcU3t80061BiXAQXyEOYUL4swA601BtRDlAcyVVMpgv2Z4Yaf3YJBoO+rtpf38GGDFbTVUifrdT3tBH+AVdzcUSiQkcy/068ESSL9ACfR2FiTaMEEq4zU25f5ntjSc19xZccyuXvfvjzZ8ifhg4hrtmDSsHllztTdqMwEzeYcNJ0NQT9GIuZICgmFVmYpF5s7bFdYW/HSKRX5vj2sRXR2/Y4iWLUx3DZbTS0kS5XagUk/2VKMzME8Hin6zGUwCcG4lMh6FOORGi73A== 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=7396+6ZiFBQD4iMFbUA/ppiHVWn/Lc/v6+EqomZUYow=; b=AXSQmEG8q5uhJ+iE6NJrIrwhekWZKDxzgvW8xXKZpJScTlrotkTnL6iJz/ZkKmPtzrZtx9Y1UPQ86Qv+13R5xVvhVComXlg4mc/YBw9ZKp4chfn6yDOqsgpR7EB09tzmq4L33Pf/9qxSfoAAmgky0ApoAFCuMJxsV+HhUcto0bqc/RGOSsb8MTGQPL72qE9Z7jIrtxdFt80CttgwlUzACMBHvvy0DfcQeZBLZ+txPjeJtiA3FuiynX27+A/QBcMoZOKywFzbmZBGt4JGdSbSoVRP68Q25fNCtQ4HGMHeugwPN89L66U/tG2G8Ll/98HcANP/ahtmm65Jim+C7lOxeA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=plvision.eu; dmarc=pass action=none header.from=plvision.eu; dkim=pass header.d=plvision.eu; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=plvision.eu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7396+6ZiFBQD4iMFbUA/ppiHVWn/Lc/v6+EqomZUYow=; b=VGyC/Q2DyYUItCCQZwrJJyto3K1zLxzjdVUv6Q6HWscFT2MpswbE+9NLUTWmW0bebxka3XbYsdjKQQ0CQPuASVYVYxfr9Gq2WVe7I9pCL0EAblz1cakWatJD0cT/bu2TcnWWsd8z93/GqF0echc8ltPxDj4VcLlaLc09x4uiA8U= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=plvision.eu; Received: from VI1P190MB0317.EURP190.PROD.OUTLOOK.COM (2603:10a6:802:38::26) by AM7P190MB0758.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:117::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.20; Thu, 24 Nov 2022 13:58:56 +0000 Received: from VI1P190MB0317.EURP190.PROD.OUTLOOK.COM ([fe80::5912:e2b4:985e:265a]) by VI1P190MB0317.EURP190.PROD.OUTLOOK.COM ([fe80::5912:e2b4:985e:265a%3]) with mapi id 15.20.5834.016; Thu, 24 Nov 2022 13:58:56 +0000 From: Vadym Kochan To: Thomas Petazzoni , Bjorn Helgaas , Lorenzo Pieralisi , Rob Herring , =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= , Krzysztof Kozlowski , linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Elad Nachman , Vadym Kochan , Yuval Shaia Subject: [PATCH v2 3/3] PCI: armada8k: Add MSI support for AC5 SoC Date: Thu, 24 Nov 2022 15:58:28 +0200 Message-Id: <20221124135829.2551873-4-vadym.kochan@plvision.eu> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221124135829.2551873-1-vadym.kochan@plvision.eu> References: <20221124135829.2551873-1-vadym.kochan@plvision.eu> X-ClientProxiedBy: FR3P281CA0120.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a3::18) To VI1P190MB0317.EURP190.PROD.OUTLOOK.COM (2603:10a6:802:38::26) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI1P190MB0317:EE_|AM7P190MB0758:EE_ X-MS-Office365-Filtering-Correlation-Id: 779bcf49-8303-42fe-c21b-08dace24070d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ubqmJQpNQP3QDbkOs+bYzvBRIw60pqOMTVjj0J/GcvKHNl570gLs+vINCScH8k+i/nR2mXE0nqTS6qp58vRr3dKx8RwXXyiNFz2Zd5il//YX/humGcfobYR7ARXDr6bgobTb3JBeTpXnVhjJCLFTMbP8ClGE18ULV9+xgIznSjdwaNwgH6SBEG2DsC/2JkvhuIIR53Cf1t3WjJCHZ7xtSegzQO5N1+1HzPl4fPz3GsJghmov6Joi8VzR2AoPbkUXVc+jFi9VMiA+lcGgiLfDBHTkMGWKY2IFVvT0BXuVBszi9AeloV9+awJkrSt9Wdrrtyu7HRW4rxAV0Cr2gF9v+Z+5BPr630wxEz5oQVGNMwD0DTHS4nuxbUdXH3qZu8e3j/LgxiDzOAHqzcZRFbOQIGdsvwpEqg5ouUJbnTN+Fnqo4dXsWgK+v9tvzn6SwbsF+FYzgM6FfFu+EGTGh4ECLosrrXtawQMhLjt7HVxYzaodmnM23tS1VMyd7A7D8IecAFSOg8MCyHAeXztngPXyBma/92xgoVQEiu5nDn8+iwJ4D363npT+Uei2Lv1NUIffsXktOk/k5W4fIB7Mo9FmCC5Leupi6Veo0j7cYIX7l3nNIyUWLmrFOobwb4TryC82sbtgyjuBqiR1hTFrJQ10tdfa9kybsoeFAPD1guQAK0yFgvP7IPVhnua97N5mwWMiZWp8BNg1YhndkA6xLba1Kt7p29OmUc6ySQXt7/ZDU8M= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1P190MB0317.EURP190.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(136003)(39830400003)(34036004)(366004)(346002)(396003)(451199015)(1076003)(8936002)(36756003)(83380400001)(2906002)(2616005)(41300700001)(44832011)(5660300002)(41320700001)(86362001)(921005)(38350700002)(38100700002)(6506007)(110136005)(54906003)(186003)(316002)(6666004)(52116002)(26005)(6512007)(7416002)(508600001)(6486002)(66946007)(8676002)(4326008)(66476007)(66556008)(32563001);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: jT9o6Icc5JjNxVYmz9Wu0qTWQxpiTKb4onx2/brrnWbMh74wWw7MTeOvCyohT2bFlQgngx5uHZi3YcRDifCe//WpMLniKC9aV4fWR4jrMU5tqnStN+Qv7HgKXEdAbj7MpzCsqI5Bw9ywdFsSFWQ16QmkXB68smyYflX6i9O73SfuuVOVshy+6hC4ADErwem0+Z+Q+HiU0OPCtPhOFkz477e14NcEjVKWQSyDn4vpESHMYH1WiZSlB9NgSSyy1+P3OBWBoOUQUhPHN8KpDN/F4k2jFZNRaAbSEQPt8qKfORsTcBC+K0QqncQ8rSBhap381pJNdOrbpZDFbHH5nH8JVMliiA/B2htm6MuwkN+Hu7VSmYnpNBGq+D4SFGkMetPeBOBf16MtcDj2+Qaa0VEAclXJVOL5jV4JoVUjqBvTabRzAdmt8KHHJGHsw/9jdNxnjHUVNbOeSeSORjz6RXyrf7opw//gLhjqPFBGQaR/K3jubShQnXjKqltbguyZEbK0bRCp2IZqkch+2XOm3oFFa79ofVfYiYQNbDCp7qV3oxsgf1X/IA7USdurUINrMAprp5l2tYfDlexRsFo9ApN+SEVye9qfXbiEhpuy/w3FeUfL3WAtbjR4fiPGpIJnd4/Tg2UMtZ6Nmth2W4hP0wCuzC8FZSR/wzu1D4mB9RYliprgVps2WKKQJphfffd2f6RjcJnRkWMI8p+k3iYeejI0zqG9PvWJIyh28+afi7K2l/oOBREQn03U1/yUcl8DzK9nXsyVsyQAcS9vrtoD65kUVFUTm9/jdBKK+68FMxeklSRSSkDTwp1PrK2mJV6dx46wXCLUlPj36zKvlGA8hi7dd8pKYEAoiry0sA+QOB4+r2Gt1xigHzsqkjHBjQD2angHWWBl4Q17wu3uSNegKvoilI+3SuhYkCb/ffMe4Dov8VQk8OG0RahlN3ZjwXXoO18u9ZO7XFHk95FH4CcrLPg0DyThEqUyS2dTaNlwYOFKDWNiK8mzb10LQALQaOI2PnNfgFxXgNWqIfTnlC7JKlNHR8qWZwhxrPodBXniKACRWVw7jyW7kS5W7JOHinMmrQY9b1BUPEVr8YKcQBVp0R3S0i9BCvFiw+Um66C+E5rL+rrsEpO+k81ffxRrEXGYsVY5K3+6Ufuqry1PgyFQwGu8XI7y4FC3q5oGaREwmnXwOqDP5w9j7ptp3Eo238prnZv3gOKAyBg8rg2PPasiLxZUE5ETmsHnsQEoRUa3UxtgtKSMmh0qkTRR8jApd9wwv+8ExJhTiiz/zmioyPPM2MC8PgSlSS3zAF/B9gHynDTR0lGPOs036J4GCw/jlCyYS9x0XbOZFhyMCterUu4bxUo/gAa2WprFhsh37vi5Nl4a+eMtL/9vrFMkGRfvbTSTdWCetHz8dRgHgOof5uR5l//kA42/f3e/DA+JlFCSEqxKDK+y0X1tLFbVwMEZrEjiZt4vDyi29og1W7ToQh4+JcHOsRWV68cw4onwop2hIBnU3u0xGc8maYTsP8FQfYOIpe5iy00vat24C0ku/7pehGFifQb1hoJWXMnHlRgpCI3lxSBRhq19ytWDycQvnb9XMYzfZU2IEXGHbcuPZLwyCbDvGw== X-OriginatorOrg: plvision.eu X-MS-Exchange-CrossTenant-Network-Message-Id: 779bcf49-8303-42fe-c21b-08dace24070d X-MS-Exchange-CrossTenant-AuthSource: VI1P190MB0317.EURP190.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2022 13:58:56.6488 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 03707b74-30f3-46b6-a0e0-ff0a7438c9c4 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: xKOD06exHN/wcvrRXOotE+/jRWNYF7LzYZtcYDrWoSfvz6iTaO5JT3wNQtu+Tbm82/YBAnV7sXxRW/eVII1Cxj+C2cfXrnBdUoRcjQ9tfGs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7P190MB0758 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS 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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750386945659362384?= X-GMAIL-MSGID: =?utf-8?q?1750386945659362384?= From: Yuval Shaia AC5 requires different handling for MSI as with armada8k. Fix it by: 1. Enabling the relevant bits in init phase 2. Dispatch virtual IRQ handlers when MSI interrupts are received Also enable/disable PCIE_APP_LTSSM for AC5. Signed-off-by: Yuval Shaia Signed-off-by: Vadym Kochan --- v2: 1) fix W1 warnings which caused by unused leftover code 2) fix type in "requieres" word in the description drivers/pci/controller/dwc/pcie-armada8k.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/drivers/pci/controller/dwc/pcie-armada8k.c b/drivers/pci/controller/dwc/pcie-armada8k.c index bbe9a1750d0d..7e02eddaeac0 100644 --- a/drivers/pci/controller/dwc/pcie-armada8k.c +++ b/drivers/pci/controller/dwc/pcie-armada8k.c @@ -50,6 +50,7 @@ struct armada8k_pcie_of_data { #define PCIE_GLOBAL_CONTROL_REG (PCIE_VENDOR_REGS_OFFSET + 0x0) #define PCIE_APP_LTSSM_EN BIT(2) +#define PCIE_APP_LTSSM_EN_AC5 BIT(24) #define PCIE_DEVICE_TYPE_SHIFT 4 #define PCIE_DEVICE_TYPE_MASK 0xF #define PCIE_DEVICE_TYPE_RC 0x4 /* Root complex */ @@ -69,6 +70,7 @@ struct armada8k_pcie_of_data { #define PCIE_INT_B_ASSERT_MASK_AC5 BIT(13) #define PCIE_INT_C_ASSERT_MASK_AC5 BIT(14) #define PCIE_INT_D_ASSERT_MASK_AC5 BIT(15) +#define PCIE_MSI_MASK_AC5 BIT(11) #define PCIE_ATU_ACCESS_MASK_AC5 GENMASK(21, 20) @@ -172,6 +174,16 @@ static int armada8k_pcie_link_up(struct dw_pcie *pci) return 0; } +static void ac5_pcie_msi_init(struct dw_pcie *pci) +{ + u32 val; + + /* Set MSI bit in interrupt mask */ + val = dw_pcie_readl_dbi(pci, PCIE_GLOBAL_INT_MASK1_REG); + val |= PCIE_MSI_MASK_AC5; + dw_pcie_writel_dbi(pci, PCIE_GLOBAL_INT_MASK1_REG, val); +} + static int armada8k_pcie_host_init(struct dw_pcie_rp *pp) { u32 reg; @@ -181,7 +193,10 @@ static int armada8k_pcie_host_init(struct dw_pcie_rp *pp) if (!dw_pcie_link_up(pci)) { /* Disable LTSSM state machine to enable configuration */ reg = dw_pcie_readl_dbi(pci, PCIE_GLOBAL_CONTROL_REG); - reg &= ~(PCIE_APP_LTSSM_EN); + if (pcie->pcie_type == ARMADA8K_PCIE_TYPE_AC5) + reg &= ~(PCIE_APP_LTSSM_EN_AC5); + else + reg &= ~(PCIE_APP_LTSSM_EN); dw_pcie_writel_dbi(pci, PCIE_GLOBAL_CONTROL_REG, reg); } @@ -221,6 +236,9 @@ static int armada8k_pcie_host_init(struct dw_pcie_rp *pp) dw_pcie_writel_dbi(pci, PCIE_GLOBAL_INT_MASK1_REG, reg); } + if (IS_ENABLED(CONFIG_PCI_MSI) && (pcie->pcie_type == ARMADA8K_PCIE_TYPE_AC5)) + ac5_pcie_msi_init(pci); + return 0; } @@ -237,6 +255,8 @@ static irqreturn_t armada8k_pcie_irq_handler(int irq, void *arg) */ val = dw_pcie_readl_dbi(pci, PCIE_GLOBAL_INT_CAUSE1_REG); dw_pcie_writel_dbi(pci, PCIE_GLOBAL_INT_CAUSE1_REG, val); + if ((PCIE_MSI_MASK_AC5 & val) && (pcie->pcie_type == ARMADA8K_PCIE_TYPE_AC5)) + dw_handle_msi_irq(&pci->pp); return IRQ_HANDLED; }